Hi, I'm trying to delete a dimension that is not associated with an object. I have tried using the Dimension Environment and the Delete Dimensions select from the drop down, but it will not delete. Any ideas on what I can do to make this go away? Thanks! Susan
↧
Forum Post: Deleting a Dimension "WARNING: Dimension point at (375.00 5600.00) is unassociated with an object."
↧
Forum Post: Assura LVS Parameter Mismatch Error
Hi All, I'm using Virtuoso Layout XL 617 and Assura 415, with TSMC mixed-mode 130nm PDK. I included a multi-fingered NMOS moscap into the layout, using the generated parameterized cell. The Cap has 5 fingers, W=L=20um for each, with top&bottom plate connection, and top poly contact head. The cell looked like that above. However, when running assura lvs, I got the following error: Schematic Instance: C0 nmos1v Layout Instance: avD10_1 N w 2e-05 vs 0.0001 differs by 400% Layout Instance is the merged result of: avD10_1 avD10_2 avD10_3 avD10_14 avD10_15 While clearly the device has five fingers totaling 100um, ASSURA says it's only 20um. It works only when just 1 finger is used. Is there an explanation to this weird behavior of ASSURA? Thank you very much. -Tony
↧
↧
Forum Post: RE: [IC6.1.7] Simulating VHDL-AMS
Hi Andrew, Thank you for your response. I was indeed using Spectre as simulator. With the ams Simulator and the config view it works now. Thank you for this hint.
↧
Forum Post: How to use auto-abutment in custom Pcells
Hello, Can somebody tell me how the auto-abutment works, and how to introduce it into my own Pcells? Thanks
↧
Forum Post: ADE XL Job Policy Setup -> Max. Jobs - automatic set after start
Default value Max.Jobs afte start always = 1 I saved setting via "Save Jobpolicy" But the initial setting is still = 1. What variable should I set in .cdsenv or load via .cdsinit for initial setting.
↧
↧
Forum Post: RE: Deleting a Dimension "WARNING: Dimension point at (375.00 5600.00) is unassociated with an object."
Hi Susan, Make your schematic page bigger than 5600.00 wide using a custom page size. You will then be able to zoom out then zoom in to the coordinates 375.00 5600.00...You ought to then be able to see the object causing the error & delete it. regards, Dave
↧
Forum Post: RE: Deleting a Dimension "WARNING: Dimension point at (375.00 5600.00) is unassociated with an object."
Hi Dave, So sorry I forgot to mention this is a Layout issue. I'm running 16.6. I did a dimension, realized I wanted the decimal place to be 3 instead of 2, changed the design perimeters to match what I wanted. Clicked on it to delete it and now stuck with it still at 2 decimal places, all others changed to 3 as I intended. I can't delete it, I can run down the list and show the properties on it and it says it isn't attached to anything. Thank you for your help! Susan
↧
Forum Post: RE: Deleting a Dimension "WARNING: Dimension point at (375.00 5600.00) is unassociated with an object."
Hi Dave, Must have been delirious with fatigue last night when I was trying this. It worked this morning with a double click. Clickity, clickity, clickity this program I tell you! Thanks for such quick response to help, I can always count on this forum to learn from! Best Regards, Susan
↧
Forum Post: Maintain "Persistence" of Find after done command is completed while routing.
Hi. When in EtchEdit mode or general edit mode for routing I notice that when routing is finished by selecting "Done" the settings in the find dialog settings get blown out. I am trying to maintain the relationship between adding etch with find after the fact. In other words after etch is added to the canvas I want the find dialog to retain ( Cline Segs, Pins, Nets, Rats T etc ) so that those items are selectable for either info or basic editing after the fact. Is there any way to accomplish this other than creating a macro for find entities ?. Basic idea is to have find pre-checked for a given command such as routing etc. Something like a "IF Done" at the macro level would be helpful too though I do not know if something like that is supported ? , Like execute the macro, after done is selected as an action then the macro runs the part to check find dialog items. Thanks Paul.
↧
↧
Forum Post: RE: Maintain "Persistence" of Find after done command is completed while routing.
Paul, I believe that the intended use model (and how I've been using the application modes) is to not necessarily use the commands. And then, your find filter is retained as it switches to the different application mode. I tend to leave all objects selected in each application mode, When you do this, in Etch Edit, it knows that if you hover over a pin and click on it, it knows that you want to add connect. Similarly, if you are in placement edit mode and you click on the same pin, it knows that you want to move the component. This way, I eliminate the notion of picking my action first and then picking where I want to apply that action. I still pick the application mode first, but now the list of available actions is greatly reduced (mostly add connect and slide in etch edit). Once you are outside of getting all of your standard etch, and placements and shapes, then I go back into General Edit mode and continue to operate as we used to back before the application modes were a thing. If for example I want to focus in on one particular thing (e.g. moving text only in placement edit), then I will use the super filter. The super filter then selects just that one type of object. It's available from the right-click menu and you don't have to go find it over in the window pane. The 'super filter' is not retained as you switch between application modes and is also overridden if you select a command within an application mode. I guess I'm saying, leave the find filter for all application modes, use the application modes to inherently drive your find filter, then utilize super filter when it makes sense and if all else fails, go to General Edit and use the find filter in a 'legacy' manner. That's at least what I've been using, and it's been working well. Granted, it's been very difficult to shake old habits, but when I remember to use the tool that way, it does work pretty well. ~ Pat
↧
Forum Post: RE: Maintain "Persistence" of Find after done command is completed while routing.
I'd like to add to the above that by using the Tab key on the keyboard it will cycle through the elements that you have enabled in the find filter Example While in an app mode mode hover over a pin and you will see the datatip on the element that would be selected. Use the tab key and a different datatip will be shown and the tool would then act on that element Use the tab key again to get the next element in the list
↧
Forum Post: RE: Maintain "Persistence" of Find after done command is completed while routing.
Hi Rik, Indeed The tab selection is actually really good provided you have "Find Objects Checked" such as cline segs etc. The Issue is making sure those objects are checked. Thanks Paul
↧
Forum Post: RE: Maintain "Persistence" of Find after done command is completed while routing.
Pat, What I did is went to each mode without invoking any commands and set the find filter for the objects of interest. So right now I have different find options for both General Edit Mode and etch edit mode. When in etch edit and selecting done after a trace has been routed, the Find filter does indeed retain the settings I gave it. This is what I was after So it is interesting though not really obvious that you would have to set find for each mode in advance. You have me wondering now if those find settings get retained on a config file or are they on a database by database basis ? If by a database retention only then a little macro should be an ez fix, Or save out a brd as a template for new designs. Rick had pointed out about using the tab key too as a method to cycle the find objects. I had configured the data tips earlier and it is all working very well. I really like how Allegro is handling etch, it is extremely fluid. To automate things a bit I configured two strokes, One for adding clines and one to delete them. This thing is just working great and it is fast too. I don't even have to touch a menu for those items now... it is pretty cool. I was looking for a way to include the "toggle" option so it would remain checked always while routing, that mode just seems better to me than the unchecked default, anyway I incorporated that into the stroke command and Success ! Yay !. I guess the secret if you will is in the prep. Thanks for the help and a really good tip on this, thanks to Rick too. All the best Paul.
↧
↧
Forum Post: RE: How to use auto-abutment in custom Pcells
Hello RVERP, I would begin by reading the Virtuoso Layout Suite XL User Guide , Chapter 5, Device Abutment. Then I would give it a go on my own. When (not "if") I needed to debug further, I'd check out the Virtuoso Parameterized Cell Reference , Chapter 7, Debugging SKILL Pcells , paying particular attention to the information about debugging abutment. Good luck, --tom
↧
Forum Post: How to invoke the geSaveAllForm?
I work on a team that generates test pattern layouts in Virtuoso programmatically with SKILL. We have found that new users to Virtuoso are regularly surprised that, when they run DRC, what they see in the Virtuoso Layout Editor window doesn't always match what Calibre DRC sees in the GDS! When this happens (and it happens to everyone eventually), I have to explain to them that Virtuoso is not WYSIWYG : streaming out to GDS uses what's on the disk , not what's on the screen , so one must remember to dbSave all of one's layouts before running verification, lest one experience "ghost markers" in Calibre RVE; i.e. DRC error markers that don't have any relevant shapes under them. Since this behavior regularly surprises people, as most applications are of course WYSIWYG nowadays, my fellow CAD support engineers and I decided that we should try to come up with an automated solution--some way to warn users when the layout they are about to stream out contains one or more modified-but-unsaved cellviews. I noticed that, in this situation, the XStream Out GUI brings up exactly the kind of form I am looking for after the Translate button is pressed, listing the modified-but-unsaved cellviews for the current design being streamed out only (I verified that it does not include extraneous modified-but-unsaved layout cellviews, which is excellent), and allowing the user to select some cellviews to save just before streaming out. I noticed that this same form is also used in the ciwHiExit command (which explains why it says, "Save the following data before closing ", which is not entirely applicable in the context of XStream Out, but nobody reads those forms that closely anyway, right? :)). I can see from the log that the form of interest is called geSaveAllForm , and I can see in the Virtuoso Design Environment SKILL Reference that there is a function called geRegSaveAllTrigger to set the trigger callback for that form (though when exactly one would want to do that is not entirely clear to me...?), but I can't figure out how to actually invoke the geSaveAllForm from my own code! Any ideas? --tom
↧
Forum Post: RE: Maintain "Persistence" of Find after done command is completed while routing.
For delete, I might be inclined to add the following to my env file funckey d "prepopup; pop dyn_option_select @:@Delete" when in the design you hover over a cline, segment, text, shape, via and use the "d" key. No mouse involved. Toggle I might do something like: alias t2 set toggle on alias t1 set toggle off funckey t 'settoggle CMD t1 t2;$CMD' Then, using the t key, you can enable or disable the toggle command.
↧
Forum Post: How to corrupt a GDS with dbCreateParamInst
Recently one of our new SKILL programmers (lets call him Obi Wan ) discovered a way to update a pcell such that it streams out "successfully" (i.e. 0 errors), but the resulting GDS cannot be opened by Calibre DRC/DRV. (I did not attempt to stream it back in to Virtuoso, but presumably that would have failed as well.) After careful debugging, he narrowed the problem down to this line: dbCreateParamInst( pcCellView cvDbShapeStaggered nil origin "R0" 2 pcellParamList ) Obi Wan had copied this pcell code from another pcell so that he could make a small change. In the original pcell (which streams out without issue), the corresponding line is the same, save for one tiny detail: dbCreateParamInst( pcCellView cvDbShapeStaggered nil origin "R0" 1 pcellParamList ) I.e. the "numInst" parameter was 1 in the working pcell, and accidentally setting it to 2 broke streamout! That mysterious " numInst " parameter to dbCreateInst , dbCreateParamInst , etc. has always bothered me. What does it do, exactly? Apparently, if you dare to set it to something other than 1, it silently corrupts your GDS! :P The documentation doesn't say what's supposed to happen when numInst > 1 (do I get two instances on top of each other?), but it does say it works with the instance name (e.g. " I3 "), so I'm guessing this parameter is meaningful for schematics, but not for layouts? Anyway, it's troubling that XStreamOut generated a garbage GDS without throwing an error, or even a warning about it! Can anyone from Cadence reproduce this on their end, or would you like a testcase?
↧
↧
Forum Post: RE: Maintain "Persistence" of Find after done command is completed while routing.
Rik, indeed that works well and also allows one to tab key select based on the find option before deleting. You can also do a window select as well and take out everything in one go. I used to use funckey d "delete; pick_to_grid -cursor; done" but have replaced it with yours. To help with routing and in particular for on the fly routing width changes I added in to the env file funckey x "prepopup ; pop dyn_option_select 'Options@:@Line width@:@New...' ;setwindow form.new_item" Seems to work good. Right now I have a function that just combines the toggle with adding a cline but will give your suggestion a try out. funckey w "add connect; toggle; etch length" In 17.2 I noticed cadence has extended the UI menus so that a user can assign their own options via a right click Icon. It is kind of handy and can save a trip to the main menus. Only thing is it is based on available commands as far as I can see. It would be cool if there was something like having custom macros assignable to physical Icons in the UI. My thinking is to do this now you kind of have to go the Skill road. I may try combine your good example of toggle with something like the cursors. It would be neat to be able to toggle through all of them just using one key without having to go to user preferences.
↧
Forum Post: How is the netlisting done in ADE
Hello All, How is the netlisting done generally. I want to understand for example , an ams netlist will have instantiation of components in Verilog format. From where these ports for the models are picking up. I can see in the model files for each component there are some parameters like length , width etc. In the netlist these are passed in Verilog format while instantiating that model using "analogmodel". Thanks in advance
↧
Forum Post: RE: how to create the filled shape for selected Finger?
Thanks leonlee! Actually the polygon is not created for finger code1: axlSetFindFilter(?enabled `("noALL" "fingers") ?onButtons `("noALL" "fingers")) axlSelect() Finger = car(axlGetSelSet()) axlPolyFromDB(Finger) W- *WARNING* (axlPolyFromDB): No match for subclass name - "ETCH/TOP" code2: axlSetFindFilter(?enabled `("noALL" "fingers") ?onButtons `("noALL" "fingers")) axlSelect() Finger = axlGetSelSet() axlPolyFromDB(Finger) W- *WARNING* (axlPolyFromDB): Invalid database id argument - (dbid:247648312)
↧