science and technology IC Packagers: Five Steps to IC-Driven Package Design By feedproxy.google.com Published On :: Thu, 05 Mar 2020 17:23:00 GMT They say Moore's law is slowing. It may be slowing but it is still running - it has not stopped! And, it has been running at full throttle for quite a few decades now. The net result of this run? Well, you can't design ICs in isolation from the...(read more) Full Article Allegro Package Designer
science and technology IC Packagers: The Different Types of Mirrors By feedproxy.google.com Published On :: Tue, 10 Mar 2020 15:19:00 GMT I’m not talking about carnival funhouse mirrors, but rather the different options for mirroring symbols, vias, and bond fingers in your IC Package layout. The Allegro Package Designer Plus and SiP Layout tools have two distinct styles of m...(read more) Full Article Allegro Package Designer
science and technology IC Packagers: Design Element Label Management By feedproxy.google.com Published On :: Wed, 18 Mar 2020 13:46:00 GMT A few weeks ago, we talked about template text labels for design-specific information. There, we were focused on labels that are specific to the design as a whole: revision information, dates, authors, etc. Today, we’re looking at a diff...(read more) Full Article Allegro Package Designer Allegro PCB Editor
science and technology IC Packagers: Identify Your Components By feedproxy.google.com Published On :: Tue, 24 Mar 2020 14:19:00 GMT We’ve all seen bar codes and the more modern QR codes. They’re everywhere you go – items at the grocery store, advertisements and posters, even on websites. Did you know that, with the productivity toolbox in Allegro Package Designe...(read more) Full Article Allegro Package Designer Allegro PCB Editor
science and technology IC Packagers: Don’t Get Stranded on Islands, Delete Them! By feedproxy.google.com Published On :: Tue, 31 Mar 2020 14:44:00 GMT No, this isn’t a Hollywood movie. We’re talking about pieces of plane shapes with no connections to them, not an idyllic private oasis in the Caribbean (sorry). Removing shape islands is something you’ve always been able to do in th...(read more) Full Article Allegro Package Designer Allegro PCB Editor
science and technology IC Packagers: A New Option in Bond Finger Solder Mask Openings By feedproxy.google.com Published On :: Tue, 07 Apr 2020 14:17:00 GMT If you design wire bond packages, you’re familiar with the need for the bond fingers and rings on the package substrate layers to be exposed through the solder mask layer. If they aren’t, it becomes… rather difficult… to bon...(read more) Full Article Allegro Package Designer
science and technology IC Packagers: Time-Saving Alternatives to Show Element By feedproxy.google.com Published On :: Tue, 14 Apr 2020 15:04:00 GMT In the Allegro back-end layout products like Allegro Package Designer Plus, it would be reasonable to assume that the most often used command is none other than “show element” (shortcut key F4). This command, runnable at nearly any t...(read more) Full Article Allegro Package Designer Allegro PCB Editor
science and technology IC Packagers: You Can Leave Your (Molding) Cap On… By feedproxy.google.com Published On :: Tue, 21 Apr 2020 14:27:00 GMT Molding caps aren’t something we talk about too frequently around here. We all know they exist, and they serve an important purpose of protecting the delicate die from potentially harsh environmental conditions. They impact how well heat can be...(read more) Full Article Allegro Package Designer
science and technology IC Packagers: Shape Connectivity in the Allegro Data Model By feedproxy.google.com Published On :: Tue, 28 Apr 2020 13:14:00 GMT Those who work in the IC Packaging design space have some unique challenges. We bridge between the IC design world (90/45-degree traces with rectangular and octagonal pins) and the PCB domain (any-angle routing, filled planes, and a multitude of pad ...(read more) Full Article Allegro Package Designer Allegro PCB Editor
science and technology IC Packagers: Advanced In-Design Symbol Editing By feedproxy.google.com Published On :: Wed, 06 May 2020 14:09:00 GMT We have talked about aspects of the in-design symbol edit application mode in the past. This is the environment specific to the Allegro Package Designer layout tools allowing you to work on symbol definitions directly in the context of your layout de...(read more) Full Article Allegro Package Designer
science and technology S2P file format By feedproxy.google.com Published On :: Sat, 25 Apr 2020 18:54:08 GMT How to generate the S2P file format from the power SI tool? https://biif.in/ Full Article
science and technology allegro schematic Hierarchy By feedproxy.google.com Published On :: Mon, 27 Apr 2020 07:19:15 GMT Hello, I need to ask a question regarding hierarchy in allegro schematic. I have created one but now i need to make changes to one section so that its not reflected into the other? Full Article
science and technology Capture - Net name from port name By feedproxy.google.com Published On :: Mon, 27 Apr 2020 13:53:21 GMT Is there a setting for automatically naming nets from port names in a hierarchical design? That is, when creating a netlist for Allegro in Capture. Full Article
science and technology Production files generation By feedproxy.google.com Published On :: Mon, 27 Apr 2020 14:02:10 GMT I have a question regarding the production files of a PCB. I have added two cutouts on my PCB.When I generate my drill file these do not appear, only the holes of the tracks and the insert components appear. What do I need to do to make cutouts appear in my drill file? Full Article
science and technology Why the Autorouter use Via to connect GND and VCC pins to Shape Plane By feedproxy.google.com Published On :: Mon, 27 Apr 2020 17:33:29 GMT Here are two screen capture of Before and After Autorouting my board. Padstacks have all been revised and corrected. The Capture Schematic is correct. All Footprints have been verified after Padstack revision. a new NETLIST generation have been done after some corrections made in Capture. I have imported the new Logic. I revised my Layout Cross Section as such: TOP, GND, VCC, BOTTOM. Both VCC and GND shapes have been assigned to their respective logical GND and VCC Nets (verified). Yet, I still have the Autorouter to systematically use extra vias to make GND and VCC connections to the VCC and GND planes. Where a simple utilisation of the part padstack inner layer would have been indicated. What Im I missing ? Full Article
science and technology Multiple parts for single reference designator By feedproxy.google.com Published On :: Tue, 28 Apr 2020 15:34:37 GMT Variants seem to be defined as present or not present. Is there a variant that can assign different parts to the same reference designator? i.e. R17 can be either 0 ohm 0805 jumper or 12k ohms 0805 resistor. The simplest way I can think of is to use two parts with the same footprint and overlay them. Is there a more functional way of doing this? So that the variant would put the correct part in the BOM and the parts would of course have the same identical footprint. Full Article
science and technology Capture Constraint Man anger By feedproxy.google.com Published On :: Tue, 28 Apr 2020 16:15:55 GMT Is anyone else using Constraint Manager within Capture? This is my first time using it. I'm finding that it is occasionally changing some of my constraint values in Allegro. It seems random. Full Article
science and technology Strange Dot on final Footprint ? By feedproxy.google.com Published On :: Wed, 29 Apr 2020 00:24:57 GMT Picture 1 show a Shape created in Allegro PCB Editor 16.6, file LTshape.ssm The Shape Origin is dead center of the outline 565X400 mils. This Shape is utilized in the PadStack Editor to create a special Pin for a custom Footprint. Picture 2 show the PadStack Editor first page with drill size and offset. File LTshape16.pad Picture 3 show the PadStack Editor page 2 with that LTshape utilized as the BEGIN LAYER for copper area. Picture 4 show the actual Package (footprint) finished with Outline, padstacks for pin 1,2,4,5 and that special Pin 3 LTshape. Its origin is also dead center, same as LTshape.ssm Notice the round dot at the bottom of Pin 3. It only appear in the Package drawing, not in the original Picture 1, the actual LTshape.ssm or LTshape.dra Picture 5 shows that same Footprint in the final board in PCB Editor. That same dot, now pink, is still there and cannot be selected separately. When using the Find Option and selecting each object separately, the only way to select Pin 3 is when Option > Pin is selected. Then I can hover on the dot near Pin 3 and the whole LTshape lights up as pin 3, but not the pink dot. There is absolutely no way I can select that dot as an object. There is no way to know the existence of that dot except by looking at it. Cannot be deleted, cannot be selected, can only be invisible if I use the Color Visibility manager and disable all 4 layers, TOP GND VCC BOTTOM. If I turn On TOP then the dot becomes pink. With GND On the dot is green, VCC On will get a Red dot, BOTTOM On will not show the dot but Pin 3 turn On since LTshape is the actual Net connected. This Net is not GND nor VCC, it is N357726. Where is this dot coming from and why is it not a selectable object ? Why can I not delete it ? Full Article
science and technology Placement by Schematic Page Problem (Not Displaying All Page) By feedproxy.google.com Published On :: Wed, 29 Apr 2020 02:30:24 GMT I am using PCB Editor v17.2-2016. I tried to do placement by schematic page but not all pages are displayed. Earlier, I successfully do the placement by schematic pages and it was showing all the pages. But then I decided to delete all placed components and to do placement again. When I try to do placement by schematic page again, I noticed that only the pages that I have successfully do all the placement previously are missing. Full Article
science and technology Easy way to add "charging pads" to PCB/Case Assembly By feedproxy.google.com Published On :: Wed, 29 Apr 2020 23:22:57 GMT Hi everyone! I'm working on a small battery powered PCB which will fit inside a small plastic "hockey puck" container. A number of these "pucks" will be sold together with a "charging doc" which will store and charge the pucks when not in use. I'm trying to work out the best way to charge the battery. I'm thinking of having metal "pads" on the rr.com puck that pass through the puck's plastic shell and then make contact with the PCB on the inside, and having a similar system on the charging dock. I'm thinking of having SMD "contact sprints" mounted to the underside of the PCB and have these mate against metal pins that protrude through the puck, but it's the later of which I'm struggling to find. For a visual, think about "restaurant pagers" and how they charge. Full Article
science and technology Error: CMFBC-1 The schematic and the layout constraints were not synchronized By feedproxy.google.com Published On :: Thu, 30 Apr 2020 06:47:16 GMT Hi, I am in the middle of a design and had no problem going back and forth between schematics and layout. Now I am getting the error message below. I am using Cadence 17.2. ERROR: Layout database has probably been reverted to an earlier version than that, which was used in the latest flow or the schematic database was synchronized with another board. The basecopy file generated by the last back-to-front flow not found. ERROR: Layout database has probably been reverted to an earlier version than that, which was used in the latest flow or the schematic database was synchronized with another board. The basecopy file generated by the last back-to-front flow not found. Error: CMFBC-1: The schematic and the layout constraints were not synchronized as the changes done since the last sync up could not be reconciled. Syncing the current version of the schematic or layout databases with a previous version would result in this issue. The constraint difference report is displayed. Continuing with "changes-only" processing may result in incorrect constraint updates. Thanks for your input Claudia Full Article
science and technology Why a new Package update generate DRC error after waiving ? By feedproxy.google.com Published On :: Thu, 30 Apr 2020 20:36:10 GMT I've redesigned a custom TO220FLAT Package First I created a TO220shape.ssm with PCB Editor. Then I created a surface mount T220build.pad in Padstack Editor using TO220shape.ssm. Then I created a TO220FLAT.psm in PCB Editor. I placed 3 Connect pins and 9 Mechanical pins for the TO220 TAB, using standard through-hole pads for better current handling. Adding those Mechanical pins created many DRC errors caused by the proximity of those pads attached to the TO220shape. Thru Pin to SMD Pin Spacing (-200.0 0.0) 5 MIL OVERLAP DEFAULT NET SPACING CONSTRAINTS Mechanical Pin "Pad50sq30d" Pin "T220build, 2" I corrected the situation (so I though) by Waiving those DRC errors, thinking that they could not cause any problem and because that’s what I want, i.e.: 9 through-holes under the TO220 device. The idea being that when this device is mounted flat on the PCB it could carry lots of current via 9 pads that could make a good high current conductor to inner layers. I then saved the Package and updated all related footprint schematic parts in Capture. Created a new Netlist. Then I imported the new logic into PCB Editor to reflect that change. When the File > Import > Logic is finished I get no feedback error! (which, for me is a substantial achievement in itself) Now, in the Design Window I see all those DRC errors popping up again, despite the fact that I waived those DRCs back in the Padstack edition. If I run a Design Rule Check (DRC) Report I will see all those DRC listed again. Now, I understand that I can go ahead and waive all those DRCs (100 in total) but I’m thinking there is got to be a better way of doing this. Please, any advise is welcome. Thanks Full Article
science and technology Soldermask and Pastemask Layers By feedproxy.google.com Published On :: Thu, 30 Apr 2020 20:58:41 GMT Hi All, I've just about to finish my first PCB layout, and I want to understand some 2 issues better: 1. Soldermask layer: when exactly do we want to define for some SMT pad (say at Pad Designer tool), to have soldermask top and when we want to define solermask bottom? if it's a TH pad, I guess we always want to define both layers soldermask (top, bottom), because the pads are crossing all the layers. However, if it's a SMT pad, which SM we want? 2. Pastemask layer: is this layer necessary for the gerber files generation, when we have SMT components in our circuit? And again, when we define for a TH/SMT pads pastemask top, and when Pastemask bottom? Thanks! Full Article
science and technology Advance Annotation error By feedproxy.google.com Published On :: Thu, 30 Apr 2020 21:54:45 GMT Hello all, We are designing a backplane and in the design we are using some custom prefixes using the Advance Annotation tool. When annotating the occurances I get the following error: ERROR(ORDBDLL-1224): The total number of components for prefix J0C exceeds the range supplied for it.Increase the End value of the range. Thanks in advance for the help --Tom Full Article
science and technology ORCAD 17.2 Win 10 Install Error By feedproxy.google.com Published On :: Thu, 30 Apr 2020 23:08:37 GMT I'm trying to re-install ORCAD 17.2 in a PC from a DVD which I have upgraded from Win 7 to Win 10 and now has a new 500GB SSD. While installing I got a Windows Application Error 0xc000007b. When I try to run ORCAD I get the same Error. Looking for ways to fix this problem. Full Article
science and technology New comer, need help with VIA drill size change By feedproxy.google.com Published On :: Fri, 01 May 2020 17:29:22 GMT Greeting to all: I am new in this tool, only 2 weeks. Trying to create a new Via with smaller size drill hole from exiting 13 mils size to 10 mils size. I got the message as imaged below. Any advise what to do? Thanks in advance. Full Article
science and technology Is it possible to find or create a Pspice model for the JT3028, LD7552 components? By feedproxy.google.com Published On :: Fri, 01 May 2020 21:35:59 GMT I would like to add these components to the component bank in ORCAD simulation. Even an accessible or free course that explained how to create these components. Full Article
science and technology Create a new Constraint Group or Constraint Class ? By feedproxy.google.com Published On :: Sun, 03 May 2020 16:46:55 GMT When in Constraint Manager, Physical Domain, one can create a new Physical Constraint Class defining specific attributes for a custom rule set. One can then assing this new rule set to a set of nets. To do that it is instructed to create a new Net Class with menu Objects > Create > Net Class. Also on that same menu is available Net Group. Both options create a group that appear in the Constraint Manager Objects Name Column. I have triied both options and cant really see the difference. The Question: What is the difference between creating a Net Class and a Net Group ? What are the implications ? Thanks for your help. Full Article
science and technology OrCAD PCB Designer Pro w/ PSpice, Design Object Find Filter Greyed Out By feedproxy.google.com Published On :: Mon, 04 May 2020 20:25:24 GMT Hello All, I'm currently using OrCAD PCB Designer Professional w/ PSpice (version 16.6-2015). In the 'Design Object Find Filter' side bar, all options are grayed out and unselectable. I did attempt to 'Reset UI to Cadence Default' without any luck. A colleague has no issues with the identical file on his computer. Any guidance would be much appreciated. Thanks! George Full Article
science and technology Custom pad shape and symbol, when placed on pcb pad locations move. By feedproxy.google.com Published On :: Mon, 04 May 2020 23:12:41 GMT Hi everybody, I've created a symbol with custom pad shapes. Everything looks correct in the symbol editor. And the 3d view looks correct (upside down to show placement) But when I try to place it on the pcb the 2 "T" shaped pads aren't in the correct location. I have the pad shape centered on the pad... with no offset on the padstack editor. Does anybody know how to fix this? Thank you! Full Article
science and technology Allegro PDF By feedproxy.google.com Published On :: Tue, 05 May 2020 19:39:53 GMT What are folks doing to create PDFs that include artwork (shapes and routes) with Allegro? Everything I tried results in a terrible quality pdf. "Export PDF" resulted in awesome pdfs, but since that went away I've been struggling. I do a lot of work with die attachment and I need a lot of detail. We are currently stuck with Nuance for a pdf tool. I do not have admin rights, so I don't have the luxury of downloading and trying out different tools. Is Cadence going to add the PDF export option back any time soon? Thanks Full Article
science and technology Allegro design entry DHL, pin swaps , export without exporting constraints, back annotate. By feedproxy.google.com Published On :: Wed, 06 May 2020 14:49:01 GMT Hi, I have a new customer that uses Allegro Design entry HDL for the schematic and have a few questions. 1. How do you get pin/gate swaps into the symbols in the schematic ? 2. How do you transfer them to the pcb editor ? 3. How do you back annotate the swaps from the pcb editor to the schematic ? 4. How do you stop the export/Import physical from updating the constraints in the pcb file ? Full Article
science and technology Capture BOM wrong By feedproxy.google.com Published On :: Wed, 06 May 2020 19:54:33 GMT Hi i have generated a BOM of my design and one of the parts is showing wrong information than what I specified in the database. I can see that in CIS database that part has been specified a correct information but when I exported it to bom it shows wrong values. Full Article
science and technology Orcad CIS Variant Bom Missing By feedproxy.google.com Published On :: Thu, 07 May 2020 09:15:22 GMT Hi There, The variant bom I set gone dissapear. Is there any way to recover this back from the old design file? This is the second time it happen to me. Not really sure what could cause this. Thanks, Pornchai Full Article
science and technology trace ends from round to square? By feedproxy.google.com Published On :: Fri, 08 May 2020 15:18:24 GMT Is it possible to change trace ends from round to square? Allegro PCB Designer 17.2 (basic) Thanks Full Article
science and technology ce_tools directory no longer shipped with Specman By feedproxy.google.com Published On :: Tue, 22 Apr 2008 08:59:07 GMT Hello All,starting with version 8.1 the contents of the ce_tools directory will no longerbe shipped with Specman. The directory contains some unsupported AE/R&Dware and has not been updated for several releases (i.e. most of those oldpackages don't work with the latest release). Attached is the contents of this directory. Please read the README beforeusing any of the packages.Regards,-hannesOriginally posted in cdnusers.org by hannes Full Article
science and technology Welcome! Please use this forum to upload your code By feedproxy.google.com Published On :: Tue, 05 Aug 2008 21:01:43 GMT Please include a brief summary of how to use it. Full Article
science and technology Register Classes for SystemVerilog OVM By feedproxy.google.com Published On :: Tue, 09 Sep 2008 23:20:24 GMT Hi, I am uploading a register class, which can be used for modeling hardware registers. I am uploading the source code and examples on how to run it. I also have a user guide which has all the APIs listed and explained. The user guide is ARV.pdf in the attached tar file. I have named the class ARV, which stands for Architect's Register View. It has got very good randomization and coverage features. Users have told me that its better than RAL. You can download it from http://verisilica.info/ARV.php. There is a limit of 750KB in this cadence website. The ARV file is 4MB. That is why, I am uploading it at this site. I have a big pdf documentation and a doxygen documentation there. That is the reason for the bigger file size. The password to open the ZIP file is ovm_arv. I hope, everyone will use these classes. Please contact me for any help. Regards ANil Full Article
science and technology Specman Makefile generator utility By feedproxy.google.com Published On :: Tue, 02 Dec 2008 08:31:45 GMT I've heard lots of people asking for a way to generate Makefiles for Specman code, and it seems there are some who don't use "irun" which takes care of this automatically. So I wrote this little utility to build a basic Makefile based on the compiled and loaded e code.It's really easy to use: at any time load the snmakedeps.e into Specman, and use "write makefile <name> [-ignore_test]".This will dump a Makefile with a set of variables corresponding to the loaded packages, and targets to build any compiled modules.Using -ignore_test will avoid having the test file in the Makefile, in case you switch tests often (who doesn't?).It also writes a stub target so you can do "make stub_ncvlog" or "make stub vhdl" etc.The targets are pretty basic, I thought it was more useful to #include this into the main Makefile and define your own more complex targets / dependencies as required.The package uses the "reflection" facility of the e language, which is now documented since Specman 8.1, so you can extend this utility if you want (please share any enhancements you make). Enjoy! :-)Steve. Full Article
science and technology vr_ad register definition utility By feedproxy.google.com Published On :: Tue, 13 Jan 2009 06:55:41 GMT Hi All.I put together a small Perl script to generate vr_ad register definitions from SPIRIT (IP-XACT) XML.If you've got not idea what IP-XACT is, have a look here http://www.spiritconsortium.org/, then start pestering your design manager to use it :-)The script can filter out registers and override R/W access types if needed.An example XML file is included with the package so that you can play with it, and there's a detailed README.txt as well.Here's an example of the generated e code:// Automatically generated from xdmac.xml// DO NOT EDIT, or your changes may be lost<'import vr_ad/e/vr_ad_top;// Component = XDMAC// memoryMap = xdmacextend vr_ad_map_kind : [XDMAC];// addressBlock = dma_ethextend vr_ad_reg_file_kind : [DMA_ETH];extend DMA_ETH vr_ad_reg_file { keep size == 20; keep addressing_width_in_bytes == 4;};// Register = command// Reset = 0x00reg_def COMMAND DMA_ETH 0x0 { // Field resv3 = command[31:29] reg_fld resv3 : uint(bits:3) : R : 0 : cov ; // Field transfer_size = command[28:19] reg_fld transfer_size : uint(bits:10) : RW : 0 : cov ; // Field dma_transfer_target = command[18:14] reg_fld dma_transfer_target : uint(bits:5) : RW : 0 : cov ; // Field resv2 = command[13:10] reg_fld resv2 : uint(bits:4) : R : 0 : cov ; // Field transmit_receive = command[9:9] reg_fld transmit_receive : uint(bits:1) : RW : 0 : cov ; // Field resv1 = command[8:5] reg_fld resv1 : uint(bits:4) : R : 0 : cov ; // Field dest_address_enable = command[4:4] reg_fld dest_address_enable : uint(bits:1) : RW : 0 : cov ; // Field source_address_enable = command[3:3] reg_fld source_address_enable : uint(bits:1) : RW : 0 : cov ; // Field word_size = command[2:0] reg_fld word_size : uint(bits:3) : R : 0 : cov ;};// Register = queue_exec// Reset = 0x00reg_def QUEUE_EXEC DMA_ETH 0x10 { // Field resv = queue_exec[31:1] reg_fld resv : uint(bits:31) : R : 0 : cov ; // Field exec = queue_exec[0:0] reg_fld exec : uint(bits:1) : RW : 0 : cov ;};extend XDMAC vr_ad_map { dma_eth : DMA_ETH vr_ad_reg_file; post_generate() is also { add_with_offset(0x00, dma_eth); dma_eth.reset(); };}'> Any comments, please feed them back to me so I can enhance the script. Note that this forum forces me to post a .zip file rather than .tgz, please be careful to unpack the file under Linux, not Windows, else the DOS linefeeds will corrupt the Perl and XML files. Steve Full Article
science and technology OVM transactions in simvision By feedproxy.google.com Published On :: Tue, 24 Mar 2009 08:27:22 GMT Hi,I'm using OVM transaction level tracing in SV. I was wondering if I can have simvision render different types of transactions with different colors e.g. based on a transaction attribute. I know how to do it at signal level using mnemonics but I haven't succeeded doing this at transaction level. Anyone? -Joep Full Article
science and technology e-code: Macro example code for Team Specman blog post By feedproxy.google.com Published On :: Mon, 27 Apr 2009 07:11:19 GMT Hi everybody, The attached package is a tiny code example with a demo for an upcoming Team Specman blog post about writing macros. Hilmar Full Article
science and technology IntelliGen Statistics Metrics Collection Utilility By feedproxy.google.com Published On :: Thu, 04 Jun 2009 16:24:28 GMT As noted in white papers, posts on the Team Specman Blog, and the Specman documentation, IntelliGen is a totally new stimulus generator than the original "Pgen" and, as a result, there is some amount of effort needed to migrate an existing verification environment to fully leverage the power of IntelliGen. One of the main steps in migrating code is running the linters on your code and adressing the issues highlighted. Included below is a simple utility you can include in your environment that allows you to collect some valuable statistics about your code base to allow you to better gauge the amount of work that might be required to migrate from Pgen to IntelliGen. The ICFS statistics reported are of particular benefit as the utility not only identifies the approximate number of ICFSs in the environment, it also breaks the total number down according to generation contexts (structs/units and gen-on-the-fly statements) allowing you to better focus your migration efforts. IMPORTANT: Sometimes a given environment can trigger a large number of IntelliGen linting messages right off the bat. Don't let this freak you out! This does not mean that migration will be a long effort as quite often some slight changes to an environment remove a large number of identified issues. I recently encountered a situation where a simple change to three locations in the environment, removed 500+ ICFSs!The methods included in the utility can be used to report information on the following:- Number of e modules - Number of lines in the environment (including blanks and comments)- Number and type of IntelliGen Guidelines linting messages- Number of Inconsistently Connected Field Sets (ICFSs)- Number of ICFS contexts and how many ICFSs per context- Number of soft..select overlays found in the envioronment- Number of Laces identified in the environmentTo use the code below, simply load it before/after loading e-code and then you can execute any of the following methods:- sys.print_file_stats() : prints # of lines and files - sys.print_constraint_stats() : prints # of constraints in the environment- sys.print_guideline_stats() : prints # of each type of linting message- sys.print_icfs_stats() : prints # of ICFSs, contexts and #ICFS/context- sys.print_soft_select_stats() : prints # of soft select overlay issues- sys.print_lace_stats() : *Only works for SPMNv6.2s4 and later* prints # of laces identified in the environmentEach of the above calls to methods produces it's own log files (stored in the current working directory) containing relevant information for more detailed analysis. - file_stats_log.elog : Output of "show modules" command- constraint_log.elog : Output of the "show constraint" command- guidelines_log.elog : Output of "gen lint -g" (with notification set to MAX_INT in order to get all warnings)- icfs_log.elog : Output of "gen lint -i" command- soft_select_log.elog: Output of the "gen lint -s" command- lace_log.elog : Output of the "show lace" commandHappy generating!Corey Goss Full Article
science and technology ctags for e code, Vim compatible By feedproxy.google.com Published On :: Mon, 13 Jul 2009 17:56:07 GMT In a nutshell, tags allows you to navigate through program code distributed over multiple files effectively. e.g if you see a function call or a struct in e-code and want to "jump" to the definition (which may be in a different file) then you just hit CTRL+] in Vim! Pressing CTRL+t will take you back where you came from. Check out http://vim.wikia.com/wiki/Browsing_programs_with_tags#Using_tags if you want to learn more about how to use tags with Vim.This utility can generate tags file for your e files. It can either walk through e import order, a directory recursively or all directories on SPECMAN_PATH recursively! The tags file will have tags for struct, unit, types, events, defines, fields, variables, etc.For help and some examples, just run ctags4e -help. Full Article
science and technology latest Specman-Matlab package By feedproxy.google.com Published On :: Tue, 15 Sep 2009 05:56:14 GMT Attached is the latest revision of the venerable Specman-Matlab package (Lead Application Engineer Jangook Lee is the latest to have refreshed it for a customer in Asia to support 64 bit mode. Look for a guest blog post from him on this package shortly.)There is a README file inside the package that gives a detailed overview, shows how to run a demo and/or validate it’s installed correctly, and explains the general test flow. The test file included in the package called "test_get_cmp_mdim.e" shows all the capabilities of the package, including:* Using Specman to initialize and tear down the Matlab engine in batch mode* Issuing Matlab commands from e-code, using the Specman command prompt to load .m files, initializing variables, and other operational tasks.* Transfering data to and from the Matlab engine to Specman / an e language test bench* Comparing data of previously retrieved Matlab arrays* Accessing Matlab arrays from e-code without converting them to e list data structure* Convert Matlab arrays into e-listsHappy coding!Team Specman Full Article
science and technology Einstein's puzzle (System Verilog) solved by Incisive92 By feedproxy.google.com Published On :: Fri, 20 Nov 2009 17:54:07 GMT Hello All,Following is the einstein's puzzle solved by cadence Incisive92 (solved in less than 3 seconds -> FAST!!!!!!) Thanks,Vinay HonnavaraVerification engineer at Keyu Techvinayh@keyutech.com // Author: Vinay Honnavara// Einstein formulated this problem : he said that only 2% in the world can solve this problem// There are 5 different parameters each with 5 different attributes// The following is the problem// -> In a street there are five houses, painted five different colors (RED, GREEN, BLUE, YELLOW, WHITE)// -> In each house lives a person of different nationality (GERMAN, NORWEGIAN, SWEDEN, DANISH, BRITAIN)// -> These five homeowners each drink a different kind of beverage (TEA, WATER, MILK, COFFEE, BEER),// -> smoke different brand of cigar (DUNHILL, PRINCE, BLUE MASTER, BLENDS, PALL MALL)// -> and keep a different pet (BIRD, CATS, DOGS, FISH, HORSES)///////////////////////////////////////////////////////////////////////////////////////// *************** Einstein's riddle is: Who owns the fish? ***************************////////////////////////////////////////////////////////////////////////////////////////*Necessary clues:1. The British man lives in a red house.2. The Swedish man keeps dogs as pets.3. The Danish man drinks tea.4. The Green house is next to, and on the left of the White house.5. The owner of the Green house drinks coffee.6. The person who smokes Pall Mall rears birds.7. The owner of the Yellow house smokes Dunhill.8. The man living in the center house drinks milk.9. The Norwegian lives in the first house.10. The man who smokes Blends lives next to the one who keeps cats.11. The man who keeps horses lives next to the man who smokes Dunhill.12. The man who smokes Blue Master drinks beer.13. The German smokes Prince.14. The Norwegian lives next to the blue house.15. The Blends smoker lives next to the one who drinks water.*/typedef enum bit [2:0] {red, green, blue, yellow, white} house_color_type;typedef enum bit [2:0] {german, norwegian, brit, dane, swede} nationality_type;typedef enum bit [2:0] {coffee, milk, water, beer, tea} beverage_type;typedef enum bit [2:0] {dunhill, prince, blue_master, blends, pall_mall} cigar_type;typedef enum bit [2:0] {birds, cats, fish, dogs, horses} pet_type;class Einstein_problem; rand house_color_type house_color[5]; rand nationality_type nationality[5]; rand beverage_type beverage[5]; rand cigar_type cigar[5]; rand pet_type pet[5]; rand int arr[5]; constraint einstein_riddle_solver { foreach (house_color[i]) foreach (house_color[j]) if (i != j) house_color[i] != house_color[j]; foreach (nationality[i]) foreach (nationality[j]) if (i != j) nationality[i] != nationality[j]; foreach (beverage[i]) foreach (beverage[j]) if (i != j) beverage[i] != beverage[j]; foreach (cigar[i]) foreach (cigar[j]) if (i != j) cigar[i] != cigar[j]; foreach (pet[i]) foreach (pet[j]) if (i != j) pet[i] != pet[j]; //1) The British man lives in a red house. foreach(nationality[i]) (nationality[i] == brit) -> (house_color[i] == red); //2) The Swedish man keeps dogs as pets. foreach(nationality[i]) (nationality[i] == swede) -> (pet[i] == dogs); //3) The Danish man drinks tea. foreach(nationality[i]) (nationality[i] == dane) -> (beverage[i] == tea); //4) The Green house is next to, and on the left of the White house. foreach(house_color[i]) if (i<4) (house_color[i] == green) -> (house_color[i+1] == white); //5) The owner of the Green house drinks coffee. foreach(house_color[i]) (house_color[i] == green) -> (beverage[i] == coffee); //6) The person who smokes Pall Mall rears birds. foreach(cigar[i]) (cigar[i] == pall_mall) -> (pet[i] == birds); //7) The owner of the Yellow house smokes Dunhill. foreach(house_color[i]) (house_color[i] == yellow) -> (cigar[i] == dunhill); //8) The man living in the center house drinks milk. foreach(house_color[i]) if (i==2) // i==2 implies the center house (0,1,2,3,4) 2 is the center beverage[i] == milk; //9) The Norwegian lives in the first house. foreach(nationality[i]) if (i==0) // i==0 is the first house nationality[i] == norwegian; //10) The man who smokes Blends lives next to the one who keeps cats. foreach(cigar[i]) if (i==0) // if the man who smokes blends lives in the first house then the person with cats will be in the second (cigar[i] == blends) -> (pet[i+1] == cats); foreach(cigar[i]) if (i>0 && i<4) // if the man is not at the ends he can be on either side (cigar[i] == blends) -> (pet[i-1] == cats) || (pet[i+1] == cats); foreach(cigar[i]) if (i==4) // if the man is at the last (cigar[i] == blends) -> (pet[i-1] == cats); foreach(cigar[i]) if (i==4) (pet[i] == cats) -> (cigar[i-1] == blends); //11) The man who keeps horses lives next to the man who smokes Dunhill. foreach(pet[i]) if (i==0) // similar to the last case (pet[i] == horses) -> (cigar[i+1] == dunhill); foreach(pet[i]) if (i>0 & i<4) (pet[i] == horses) -> (cigar[i-1] == dunhill) || (cigar[i+1] == dunhill); foreach(pet[i]) if (i==4) (pet[i] == horses) -> (cigar[i-1] == dunhill); //12) The man who smokes Blue Master drinks beer. foreach(cigar[i]) (cigar[i] == blue_master) -> (beverage[i] == beer); //13) The German smokes Prince. foreach(nationality[i]) (nationality[i] == german) -> (cigar[i] == prince); //14) The Norwegian lives next to the blue house. foreach(nationality[i]) if (i==0) (nationality[i] == norwegian) -> (house_color[i+1] == blue); foreach(nationality[i]) if (i>0 & i<4) (nationality[i] == norwegian) -> (house_color[i-1] == blue) || (house_color[i+1] == blue); foreach(nationality[i]) if (i==4) (nationality[i] == norwegian) -> (house_color[i-1] == blue); //15) The Blends smoker lives next to the one who drinks water. foreach(cigar[i]) if (i==0) (cigar[i] == blends) -> (beverage[i+1] == water); foreach(cigar[i]) if (i>0 & i<4) (cigar[i] == blends) -> (beverage[i-1] == water) || (beverage[i+1] == water); foreach(cigar[i]) if (i==4) (cigar[i] == blends) -> (beverage[i-1] == water); } // end of the constraint block // display all the attributes task display ; foreach (house_color[i]) begin $display("HOUSE : %s",house_color[i].name()); end foreach (nationality[i]) begin $display("NATIONALITY : %s",nationality[i].name()); end foreach (beverage[i]) begin $display("BEVERAGE : %s",beverage[i].name()); end foreach (cigar[i]) begin $display("CIGAR: %s",cigar[i].name()); end foreach (pet[i]) begin $display("PET : %s",pet[i].name()); end foreach (pet[i]) if (pet[i] == fish) $display("THE ANSWER TO THE RIDDLE : The %s has %s ", nationality[i].name(), pet[i].name()); endtask // end display endclassprogram main ; initial begin Einstein_problem ep; ep = new(); if(!ep.randomize()) $display("ERROR"); ep.display(); endendprogram // end of main Full Article
science and technology vr_ad_reg_file multiple instance By feedproxy.google.com Published On :: Mon, 30 Aug 2010 11:47:13 GMT Hello All, I have a situation where i want to implement 8 instance of some particular reg_file which all have many reg_def and reg_fld. For example : I have 8 instance of one DUT module (TEST0, TEST1,TEST2... TEST8), since its all are the instance so all the instance will have the sets of registers.. so to implement reg for one instance i can write code like.. extend vr_ad_reg_file_kind : [TEST0]; extend TEST0 vr_ad_reg_file { keep size == 256; }; reg_def EX_REG_TX_DATA TEST0 8’h00 { // name : type : mask : reset value reg_fld data : uint(bits:8) : RW : 0; }; But now the issue is inside 1 instance i have around 256 registers, and i need to implement for all the 8 instance.... so can anyone suggest me how we can make instance for vr_ad_reg_file, otherwise i have to write same code for all the 8 instance. Thanks Full Article
science and technology error in output waveform By feedproxy.google.com Published On :: Fri, 01 Jul 2011 03:08:55 GMT hi,i am doing a project on synchronous fifo design using verilog. below written is my coding. after simulation the waveform is showing error regarding its not giving value of rdata_valid and is showing a red line in waveform and due to it address is also not being taken.i have attached the waveform also. the logic for write logic is also not accepting the address(no change occurs while changing value of read_ptr). i have attached my file with it so plz refer to it.plz help me out in this. your guidance and solns will help me in completing my project work.thank youlov sareen Full Article
science and technology Sudoku solver using Incisive Enterprise Verifier (IEV) and Assertion-Driven Simulation (ADS) By feedproxy.google.com Published On :: Tue, 13 Dec 2011 17:29:21 GMT Just in time for the holidays, inside the posted tar ball is some code to solve 9x9 Sudoku puzzles with the Assertion-Driven Simulation (ADS) capability of Incisive Enterprise Verifier (IEV). Enjoy! Joerg Mueller Solutions Engineer for Team Verify Full Article
science and technology Simvision - Signal loading By feedproxy.google.com Published On :: Fri, 04 May 2012 04:59:11 GMT Hi all Good day.Can anyone tell me whether it is possible to view the signals once it is modified from its previous values without closing the simvision window. If possible kindly let me know the command for it(Linux). Is it possible to view the schematic for the code written?? Kindly instruct me. Thanks all.S K S Full Article