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

Forum Post: RE: How to quickly find device category?

$
0
0
Thanks a lot Andrew! It works for me as I expected.

Forum Post: RE: detecting process corner from within verilogA model

$
0
0
You can create a parameter in your veriloga model e.g. parameter real getcorner = 1; . Based on the value of of 'getcorner', you can code the functionality in verilogA model using if/else. Then when you instantiate the model, you can pass it the value of 'corner' (coming from models) as: I0 (x y z) cellA getcorner=corner ahdl_include "/path/to/cellA.va" Regards, Saloni

Forum Post: RE: Bindkey for raising CIW problem

$
0
0
Hi Nicolas, For ADE L you need to explicitly call: hiRegisterBindKeyPrefix("Artist") as described in my article: How to define bindkeys for the ADE L window For me, I tried adding that and then the bindkey works in all four applications (I think ADE XL would have worked anyway). Andrew.

Forum Post: RE: Bindkey for raising CIW problem

Forum Post: RE: detecting process corner from within verilogA model

$
0
0
Hi Saloni, thank you for your reply. Implementing the functionality in the verilogA model using the value of the parameter and if/else is clear. My question is how to pass the value from the "wrapper.scs" to the verilogA model? This is my file "wrapper.scs": library wrapper section NN parameters corner=1 include "gpdk.scs" section=NN endsection NN section FF parameters corner=2 include "gpdk.scs" section=FF endsection FF endlibrary wrapper This is my model "veriloga.va": `include "discipline.h" `include "constants.h" module inv(A, Y); input A; output Y; electrical A, Y; parameter real getcorner=1; // how to pass "corner" from "gpdk.scs" to "getcorner" of "veriloga.va" ??? endmodule When I instantiate the verilogA model (cellview name is "veriloga_read_corner") in the schematic testbench I press Q (properties) and set: CDF Parameter of view veriloga_read_corner getcorner corner But I get following error: nchelp ncelab CUBSPA ncelab/CUBSPA = Assigning a string value to a parameter which is declared to be either real or integer is illegal. In summary, what I am missing is how to pass the parameter value "corner" defined in "wrapper.scs" to the parameter "getcorner" inside the "veriloga.va" model. Thank you very much for your help.

Forum Post: RE: detecting process corner from within verilogA model

$
0
0
I just tried this on a small testcase and here's what I had to do. When you run netlisting from ADE, do you get a design variable called 'corner' added to the state? You can give the default value to 'corner' in ADE state e.g. 1, and then run the simulation. Spectre will then see variable corner being defined more than once, so depending upon your setup, you might get an error for the same parameter being defined twice. To get past that error, you can set Simulation option redefinedparams=warning. The value coming from models will override the value set in ADE. Hope this helps. Regards, Saloni

Forum Post: RE: detecting process corner from within verilogA model

$
0
0
Thank you again Shaloni. Indeed I get the following error: ERROR (SFE-59): ".../models/spectre/wrapper.scs" 9: Parameter `corner' was previously defined. Please try to add `+spice' in command line or option `redefinedparams' in netlist to avoid these type of errors. Following your suggestion I do ADE-L/Simulation/Options/Analog/ Check Tab redefinedparams [x] warning /Apply/ok and this is working as expected. I can see how the parameter "getcorner" inside the veriogA model takes the value given by parameter "corner" inside the "wrapper.scs" model file. Thank you very much for your help!

Forum Post: RE: Cascaded display.drf loading

$
0
0
I'm not sure why you're looking at the align/drawing LPP. As I mentioned in this other post , it's the hilite/drawing layer that matters for selection in the schematic. To find out the packet name (which may be different depending on which technology library your design library is attached to), open a schematic in your design library and then enter: techGetLPPacketName(techGetLP(techGetTechFile(geGetEditCellView()) list("hilite" "drawing"))) This will tell you the packet name for the hilite/drawing layer for that technology. I checked a few PDKs and they are a bit inconsistent about the packet name (even from the foundry you mention). Andrew.

Forum Post: RE: VIVA Table SKILL functions

$
0
0
Ok, is there anyway to use the " awvTableSignals" function to add an expression? The documentation suggests the inputs must be signals. Specifically I would like to add the following expression which is referencing the data of an sp analysis swept over a design variable. dB20(aaSP("/ANT1" "/B71A")) -Curtis

Forum Post: RE: VIVA Table SKILL functions

$
0
0
I just checked and even awvTableSignals is really using the old "print engine" tables (also known as Results Display Window), rather than the true ViVA tables. I did this: mydir="/export/home/myarea/demos/VIVA615/adc_sample_hold/psf" awvTableSignals(list(list(mydir list(list("tran" list("OUTM" "OUTP")))))) If you're OK with this, then expressions can be sent to such a window with: awvPrintWaveform(v("/OUTM" ?result 'tran ?resultsDir mydir)*5) Regards, Andrew.

Forum Post: RE: Cascaded display.drf loading

$
0
0
Thanks for your reply. I did try your command to get that packet name and it yielded "hilite_drawing" (see the attached picture). However, when I go into the Display Resource Editor I can't find it anywhere (also shown that attached picture). The only thing I could find that does make any difference to selected items coloring is align/drawing (packet name = defaultPacket). When I have my display.drf ordering issue, if I select some stuff it all disappears because it colors as white and it's on a white background. I've tried for ages to figure out what's causing that but haven't found the solution.

Forum Post: RE: Cascaded display.drf loading

$
0
0
You are looking at the packet names for that layer purpose with the US_8ths library. What matters is the packet names for the technology library your design library is attached to - i.e. techGetTechFile(geGetEditCellView())~>libName So change the library cyclic choice to the right library name, and then search. Andrew.

Forum Post: RE: How to get a list of all instances that match a cellName in a hierarchical schematic ?

$
0
0
Max & Andrew, Many thanks for your comments. It's much appreciated. However, I've really struggled since yesterday to get something working. I tried to extract what i need from Andrew's CCSschTree() code in addition to other threads but to no avail (eg this or this ). Also couldnt make progress using your "switch view list search" suggestion. Not only am i stuck at traversing the hierarchy, but i cant seem to map between cv~>instances and cv~>instanceMasters in order to get the hierarchical instance name. At this point, I would be eternally grateful for any guidance. Thanks Faisal

Forum Post: is there anyway to prevent Allegro from displaying boundary for shapes?

$
0
0
when you turn on a layer in the visibility tab and turn it off the shape boundaries do not turn off. This is annoying. Is there some way to stop this? I don't want to see the dynamic shape boundaries unless I am editing the boundaries.

Forum Post: RE: is there anyway to prevent Allegro from displaying boundary for shapes?

$
0
0
Make sure Shape Edit is not turned on under Application mode.

Forum Post: RE: is there anyway to prevent Allegro from displaying boundary for shapes?

$
0
0
That'll do it! Thanks for the quick response!

Forum Post: RE: Cascaded display.drf loading

$
0
0
Holy smoke - that was it! Thanks so much. I now have the right selection colours (and notice how I spelled that last word in your honor)(although I didn't spell honor in your honor ;-) )

Forum Post: RE: VIVA Table SKILL functions

$
0
0
Ok, I'll try using the results display, but it will likely be later in the week before I can get to it. I do need the table to have one x-vector column that is common to all the y-vector columns in the table. I also need to be able to save it to a csv file. I don't think the results display has both of those features. From what I remember it always prints both the x and y vectors for each waveform printed. This is an issue since we have many design variants we need to save data from so going through and removing extra columns manually is not a good solution. When I plot a set of outputs and then send it to a VIVA table it always plots and exports the outputs in alphabetical order rather than the order specified in the outputs table so that also does not work and is not as efficient since I would have to plot them first. -Curtis

Forum Post: RE: VIVA Table SKILL functions

$
0
0
Hi Curtis, You can send two waveforms to the results display window and it will share a common x vector if it's common. However, it has all sorts of limitations (including this silly 1900 row limitation). It also doesn't have export to CSV. If you don't necessarily need the table window, then there is this code I posted before that might be useful . I'm not really convinced that the results display window is what you want though - it's effectively been replaced by the tables in ViVA but unfortunately there's no (public) SKILL API to use these (note, I didn't check if there are private APIs - I don't think so though). Regards, Andrew.

Forum Post: RE: Cascaded display.drf loading

$
0
0
Thanks! Thanks too for uploading a picture - as the saying goes, a picture is certainly worth a thousand words! Andrew.
Viewing all 63041 articles
Browse latest View live


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