Quantcast
Channel: Cadence Technology Forums
Viewing all 62649 articles
Browse latest View live

Forum Post: RE: Running a SKILL script from Command Line

$
0
0
Hi Karam, No, not unless you construct all the connectivity yourself in the code too (which is potentially quite difficult). It rather depends on what you're doing as to how hard this would be. Note you could make the virtuoso startup quicker by using "virtuoso -nocdsinit -nograph -restore code.il" Andrew.

Forum Post: RE: Running a SKILL script from Command Line

$
0
0
Hello Andrew, Thanks for the tip. What is the added value from -restore? The -help line looks quite vague to me "Specifies the session file to restore". Does restore run the SKILL file? Best regards, Karam

Forum Post: RE: Convert Digital Bus to an Integer value - Calculator Viva

$
0
0
FYI, i failed to get either of the suggestions in the following solution to work: How to get the decimal value of a digital bus at a given time point

Forum Post: RE: Running a SKILL script from Command Line

$
0
0
Hi Karam, It's like doing load("code.il") after virtuoso has started. So yes, it runs the code in the file. It's different from doing -replay (-replay strictly expects a replay file although it does work without the extra tags at the beginning of each line). Using -restore however tends not to have issues with UI code getting a bit confused - so I always tend to use -restore. Regards, Andrew.

Forum Post: RE: Create new Y-axis in plot ViVA using OCEAN

$
0
0
Hi Andrew, That solved it, thanks a lot. yNumber doesn't look to be in the documentation on IC 6.1.7. I'll add for anyone who reads this that for multiple plotted values with a single call to plot, yNumber must be a list. In this case Andrew's example would be plot(v("net24") v("net25") ?yNumber (list 1 2))

Forum Post: RE: Convert Digital Bus to an Integer value - Calculator Viva

$
0
0
Hi Faisal, Can you give more details of what went wrong trying the above solution? I just tried using expr numConv(value(VT("a ") 400n ) "dec" t) and it works fine for me. How your expression looks like and what kind of error you get if any? If it's an eval error you can probably do RMB->Job Log to get more details. Regards, Dimitra

Forum Post: RE: Create new Y-axis in plot ViVA using OCEAN

$
0
0
Hi Matthew, Looks like a straightforward mistake. For a while (back in IC614/IC615 timeframe) the ?yNumber argument was not working with plot after we changed the graph infrastructure. There was a CCR to ask for the argument to be removed, but it wasn't restored with the functionality was fixed. ocnHelp('plot) still lists it, and I've asked tech pubs to put it back into the documentation. Regards, Andrew.

Forum Post: RE: cannot pass uvm_sequence_item to send_to_dut

$
0
0
The uvm_driver has a class variable "req" whose type you specify when you created your own driver class. In my_driver, you said it was type "my_transaction" when you specified "...extends uvm_driver #(my_transaction):". However, in your virtual method declaration, you declared an input argument of type "uvm_sequence_item". For the default send_to_dut, "req" is referring to the class variable of type my_transaction. So it has a field load_val. In your specialized send_to_dut method, your argument "my_req" is declared to be of the vanilla type uvm_sequence_item. That does not have a field of type load_val. Either typecast the sequence_item handle: virtual task send_to_dut (uvm_sequence_item my_req); my_transaction send_req; $cast(send_req,my_req); dut_vi.i_load_val = send_req.load_val; Or, change your argument type: virtual task send_my_trans_to_dut ( my_transaction my_req ); ...

Forum Post: RE: Convert Digital Bus to an Integer value - Calculator Viva

$
0
0
Hi Dimitra, i modified your expression to the following = numConv(value(VT("/vin ") 0) "dec" t) i get the following output in CIW = expression evaluation failed: val is not legal. expression evaluation failed: numConv(value(VT("/vin ") 0) "dec" t) ("Exception" 1 t nil ("*Error* Exception: SKILL ERROR" nil)) FYI, the value() returns correctly but the numConv does NOT. also im using the 617 with latest hotfixes

Forum Post: RE: Convert Digital Bus to an Integer value - Calculator Viva

$
0
0
Hi Faisal, What value(VT("/vin ") 0) returns? Regards, Dimitra

Forum Post: RE: Convert Digital Bus to an Integer value - Calculator Viva

$
0
0
Hi Dimitra, it returns a list of analog values for each bit vin 0 vin 1.2 etc ..

Forum Post: RE: Convert Digital Bus to an Integer value - Calculator Viva

$
0
0
Faisal, That's because your bus is an analog bus. If I convert it to digital, it works for me: numConv(value(awvCreateBus("opBus" list(awvAnalog2Digital(leafValue(VT("/op ") "bit" "/op ") nil nil 0.6 nil "centre") awvAnalog2Digital(leafValue(VT("/op ") "bit" "/op ") nil nil 0.6 nil "centre") awvAnalog2Digital(leafValue(VT("/op ") "bit" "/op ") nil nil 0.6 nil "centre") awvAnalog2Digital(leafValue(VT("/op ") "bit" "/op ") nil nil 0.6 nil "centre") awvAnalog2Digital(leafValue(VT("/op ") "bit" "/op ") nil nil 0.6 nil "centre") awvAnalog2Digital(leafValue(VT("/op ") "bit" "/op ") nil nil 0.6 nil "centre") ) "Binary") 0) "dec" t) The expression is a bit like War and Peace because it needs to take the analog bus, pull out the individual member (using leafValue) for each bit, and then use awvAnalog2Digital to convert it into a digital bus. I then find the value of this at time 0, and then use numConv to convert to decimal. For me I used bussetp and set the bus to 23 and the above expression also gives me 23. I didn't write the above expression by hand. I plotted VT("/op ") and then selected the 6 member bits in the graph, and did Measurements->Analog to Digital, set my threshold, made sure the bits are in the right order, and said I wanted to make a bus. Then having done that, I selected the digital bus and sent it to the calculator and used value and numConv on the result. Regards, Andrew.

Forum Post: Flex PCB - Zones Definition in Gerbers

$
0
0
I"m having difficulty finding any documentation on the best way to communicate flex pcb zones in my gerber files to the manufacturer. I'm thinking I might create another film and just add the zone information to it. Does anybody have any suggestions on the proper way to do this?

Forum Post: why dbCreateHierProp does not work for objectIds

$
0
0
Hello Experts, I was trying to create a hierProp on a view, for example view = ddGetObj("testlib" "test_props" "schematic") dd:0x22211498 bag = dbOpenBag(view "a") db:0x169bc79a dbCreateProp(view "newStrProp" "string" "NEWSTRINGPROP") db:0x169bc71c dbCreateHierProp(view "newHierProp") nil In the example above dbCreateProp worked as expected but not dbCreateHierProp. Is this expected or a bug, I am using IC617. Thanks in advance for you help.

Forum Post: Only include PDF export properties

$
0
0
Hey Everyone, There is a nifty feature in Capture CIS 17.2 that exports PDF (File > Export > PDF) with properties of the component like part numbers, manufacturer, voltage, etc. But there is only an "Exclude properties" option, Capture has a bunch of properties I would like to exclude but I would rather simply only include the ones I want instead. Is that a possibility? Thx, Aric

Forum Post: RE: why dbCreateHierProp does not work for objectIds

$
0
0
According to the documentation, this should work. It used to work in CDB, but doesn't work in OA (at least in IC617 - I didn't check back versions). I did find some internal CCRs relating to their being some problems but these were a long time ago and prior to IC610 being released. As a workaround you can use: hp=dbCreateHierProp(bag "newHierProp") (in other words, use the bag rather than the view directly; all the view would do is internally open the bag anyway). You might want to contact customer support on this to get it fixed. Worst case, we should at least update the documentation to make it clear how you workaround this. Regards, Andrew.

Forum Post: Consistent Pcell naming scheme for strmout

$
0
0
Hi, I'm currently on ICADV12.3-64b and I'm looking for a way to generate a gds file such that the instance names for Pcells(or any other cells that do not have unique names) are the same(e.g suffix is a counter which counts up for every instance encountered) each time I strmout a gds. So far, I've tried options such as "flatten PCells" and "flatten Vias" when exporting the gds, but the results of the fastxor run do not seem to match the fastxor run where I select "create gdsii"(let fastxor create the two gds's). I need this so that I can run fastxor on a list of cells that exist in multiple libraries through the command line. Thanks.

Forum Post: Import a layout from Encounter to Virtuoso

$
0
0
After I get my layout from SoC Ecnounter, I wanna import it in Cadence Virtuoso to run Calibre DRC, LVS, PEX and so on. So firstly I import my std cell library (I use Nangate 45nm) then I import the Stram (my gds file) and write the library name (NangateOpenCellLibrary) and attach ASCII Tech File (technology.tf) then I hit translate. When I go to the library to open the layout, I face this message; [There are 209 undefined packets found. Most likely, the display resource file (display.drf) for a library was not merged. To merge a display.drf file use CIW ->Tools->Display->Resource Manager->Merge Command]. What should I merge that (display.drf) with?

Forum Post: Script for adding extra wires in Encounter

$
0
0
I added wires between certain fixed placed instances in my SoC encounter Layout manually from the gui by (Add wire "force special" ). These wires are close to each other by minimum drc separation to cause intentional crosstalk. I ask how to do the same by tcl script not manually? I tried to use RoutePointToPoint command but it didn't work with me. So how to do it or what commands shall I use?

Forum Post: RE: Consistent Pcell naming scheme for strmout

$
0
0
Not sure you really mean instance names since stream format doesn't normally store instance names. Perhaps you mean the structure (cell) names used for each variant of the pcell that's used? You can turn off the timestamp part of the mapped cell name by going to More Options->General and then turning on "Ignore current timestamp". Perhaps that's what you want? Andrew.
Viewing all 62649 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>