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

Forum Post: RE: auto sim with multiple dspf files for the same block

$
0
0
Hi Kevin, I had hoped that it would be possible in ADE XL to do this via setting up a variable for the DSPF file name on the test editor Setup->Simulation Files form, filling in the DSPF file as (say) VAR("DSPFFILE") and then setting the variable DSPFFILE to be "file1.dspf","file2.dspf". Even with a single file name it doesn't work though (gives a syntax error during netlisting). This is probably a bug that needs fixing - you could contact customer support about this. Alternatively we've recently introduced the ability to have DSPF views in your library under each cell. However, there was not support for multiple such views initially and via CCR 1661606 this will be fixed in IC617 ISR10. Then you could have a config view to specify one of them, and through the ADE XL feature of being able to do "Add Config Sweep" (right mouse button menu over global variables) you could sweep the view. Regards, Andrew.

Forum Post: RE: Cadence virtuoso tool related

$
0
0
Sir, I am using the measurement tool for spectrum available with Cadence Virtuoso ADE. I am not doing the PSS analysis. After running the transient simulation, transient domain waveform can be given to the spectrum with proper start/stop time, sample count/freq, selecting the window type as rectangular, we can plot the FFT. It will display the SNR, SINAD, ENOB, SFDR etc.. I have applied a sinusoidal input from AnalogLib_hspice with amplitude 1V, frequency (100MHz * 8191/16384). Run for FFT is plotted with start/stop time of 0/163.84u. screenshot is inserted with this reply.

Forum Post: RE: Add an item ADE-XL results tab (when right clicking on a test result)

$
0
0
Ok, I understand. Point is that the option I'm trying to add to the right click menu will run an external (non-Cadence) tool on the data files and I need to know how they are called. Now, I'm parsing the logFile, looking at the dataFile field of all analysisInst entries and filtering out those that don't match selected analyses. Thank you for everything and best regards, Patrik

Forum Post: Delete an object at a given distance from a figure

$
0
0
Hello, I generate many rod object on a area, I seek to delete some of them which are at a given distance from another shapes drawing by a specific layer Thank you for your help. here my code: procedure(delObjRulesSpac(cv rodList metalLayer spacingRule) let((direction rst) direction = '("top" "bottom" "right" "left") foreach(dir direction foreach(elem rodList when(rodIsObj(elem) when(elem~>dbId~>prop~>name == '("myProp") && elem~>dbId~>layerName == metalLayer rst = dbGetNeighbor(cv elem~>dbId~>bBox dir elem~>dbId~>layerName) when(rst dist = car(rst) when(dist dbId) ) ) ) ) ) ) ) ) 1) Init situation 2) my result 3) reslut hope

Forum Post: how to dump XXX.il from cadence virtuoso CIW

$
0
0
I want to check a skill file in /opt/ a.il . but i do not have the access right now. but the virtuoso could access this file because it invoke this a.il file from .cdsnit. so how can i dump this skill from CIW through commend line just like I used to dump the layout skill code by typing : dbid = dbOpenCellViewByType("test_PDK" "pmos" "layout" "maskLayout") dbDumpPcDefinePcell( dbid "/home/pmos.il") thanks in advance!

Forum Post: How do you get the prop.xx file when creating a techlib in nograph mode?

$
0
0
I am creating a new techlib and compiling an ascii techfile into it using the core code of ddCreateLib(), techOpenTechFile(), and tclLoadTechFile() from the attached solution. However, I get very many warnings about the prop.xx file missing when opening the final layout in graphics mode. The solution description says explicitly that it does not create the prop.xx file and to copy it from somewhere. Where should the prop.xx file be copied from if it is not specific to a techlibrary? Since prop.xx binary, the contents are unknown, to confirm a random copy from another library is ok. Alternatively, is there another way to create a new techlib and compile a techfile in nograph mode that would generate the prop.xx file? support.cadence.com/.../ArticleAttachmentPortal ;pageName=ArticleContent&sq=005d0000001T5b7AAC_2017111103018741

Forum Post: RE: PGtext in nograph mode

$
0
0
Correction, my PGtext.il actually does include Terry Maness' name, but not as one of the original procedure authors. In any case, if it is helpful at all to others, the old PGtext SKILL code uses the vertex coordinate list of a polygon (create your own library of polygon characters and capture their point lists). Operating in nograph mode, use dbOpenCellViewByType(), and dbCreatePolygon(), passing the point list as an argument to create the polygon. The PGtext scripts and forms offer additional means of creating character strings, magnification factors etc. I am just updating mask issue level characters for this application, so dumbed my code down to the 2 listed db commands using existing point lists to create a single polygon shape.

Forum Post: RE: How do you get the prop.xx file when creating a techlib in nograph mode?

$
0
0
There is no need to have a prop.xx (or data.dm if OA) at the library level if you have a library with its own technology database (as is the case in this article). That article is a bit odd - I can't imagine why you'd ever copy it with a system() call. If you really wanted to copy it from another library, you really should use the ccp functions, but even then I don't see why you'd necessarily need to unless you need the specific properties. Without knowing what messages you're getting, I'm not sure I can advise you more... Regards, Andrew.

Forum Post: ADEXL Test Setup using Skill and asiGetSession Failure

$
0
0
I'm trying to setup an adexl cellview with a single test. However everytime I load the script shown below the asiGetSession on line 7 often returns nil and its not clear why that is the case. Any ideas as to what is causing it to fail to get the session? Is there a better way to setup the state of that test using SKILL (not ocean)? ddGetObj("pk1126_sky77366_5_CR_mayberc" "pk1126_01_TB" "adexl" "data.sdb" nil "w") sessionName = strcat("mysession" (sprintf nil "%d" random())) axlSession = axlCreateSession(sessionName) sdb = axlSetMainSetupDBLCV( axlSession "pk1126_sky77366_5_CR_mayberc" "pk1126_01_TB" "adexl") ;---------- Test "IDAC_SWEEP_MAIN" ------------- testSession = asiGetSession( 'IDAC_SWEEP_MAIN ) dc_analysis = asiGetAnalysis(testSession, 'dc) asiSaveState(testSession ?name "IDAC_SWEEP_MAIN" ?option 'dir ?stateDir "/prj/pk1126_sky77366_5_CR/work_libs/mayberc/cds/design/pk1126_01_TB/adexl/test_states" ?description "IDAC_SWEEP_MAIN" ) htest = axlPutTest( sdb "IDAC_SWEEP_MAIN" "ADE") axlSetTestToolArgs( htest list( list("lib" "pk1126_sky77366_5_CR_mayberc") list("cell" "pk1126_01_TB") list("view" "config") list("path" "/prj/pk1126_sky77366_5_CR/work_libs/mayberc/cds/design/pk1126_01_TB/adexl/test_states") list("state" "IDAC_SWEEP_MAIN_active") list("sim" "spectre"))) ;====================== Save Setup ============================================ axlSaveSetup(axlSession) axlCommitSetupDB( sdb ) axlCloseSetupDB( sdb )

Forum Post: RE: How do you get the prop.xx file when creating a techlib in nograph mode?

$
0
0
Hi Andrew, more specifically I am getting these warning messages when streaming out from a layout view, and they do not show up in my log file - just in the CIW. The message is: *WARNING* dbOpenBag: Failed to open prop. bag for 'mytechfile' in 'r' mode, file not found

Forum Post: RE: ADEXL Test Setup using Skill and asiGetSession Failure

$
0
0
I rearranged it so that the test is created in adexl session first to define 'IDAC_SWEEP_MAIN. However now I can't seem to save the ADE L session. The call to asiSaveState gives the error below. I have tried several paths to save the ADE L State and all of them give the same error. Any ideas about what is causing the error? Is there a better way to point the test to the ADE L state? Updated Script: ddGetObj("pk1126_sky77366_5_CR_mayberc" "pk1126_01_TB" "adexl" "data.sdb" nil "w") sessionName = strcat("mysession" (sprintf nil "%d" random())) axlSession = axlCreateSession(sessionName) sdb = axlSetMainSetupDBLCV( axlSession "pk1126_sky77366_5_CR_mayberc" "pk1126_01_TB" "adexl") ;---------- Test "IDAC_SWEEP_MAIN" ------------- htest = axlPutTest( sdb "IDAC_SWEEP_MAIN" "ADE") testSession = asiGetSession( 'IDAC_SWEEP_MAIN ) dc_analysis = asiGetAnalysis(testSession, 'dc) ;asiSaveState(testSession ?name "IDAC_SWEEP_MAIN" ?option 'dir ?stateDir "/prj/pk1126_sky77366_5_CR/work_libs/mayberc/cds/design/pk1126_01_TB/adexl/test_states" ?description "IDAC_SWEEP_MAIN" ) asiSaveState(testSession ?name "IDAC_SWEEP_MAIN" ?option 'dir ?stateDir "/prj/pk1126_sky77366_5_CR/doc/pk1126_01_TB/adexl/test_states" ?simulator "spectre" ?description "IDAC_SWEEP_MAIN" ) axlSetTestToolArgs( htest list( list("lib" "pk1126_sky77366_5_CR_mayberc") list("cell" "pk1126_01_TB") list("view" "config") list("path" "/prj/pk1126_sky77366_5_CR/doc/pk1126_01_TB/adexl/test_states") list("state" "IDAC_SWEEP_MAIN_active") list("sim" "spectre"))) ;====================== Save Setup ============================================ axlSaveSetup(axlSession) axlCommitSetupDB( sdb ) axlCloseSetupDB( sdb ) Error: *Error* Could not create directory: /results. *Error* Could not create directory: /results.

Forum Post: RE: Finding of polygons SKILL.

$
0
0
I have solved the problem, but in the other way. First of all i flat all cell by hierarchy, and then use your cod to find out the center. But on a big layout with a hierarchy level near 7 including pcells it doesnt work. After runing my script the ciw window does not respond. On the small layouts it works perfect. Can you help to find the solution ? Here is my cod: procedure( Myflat(libName cellName ) let( (cv topInstList ) if( ddGetObj( libName cellName "layout" ) then cv = dbOpenCellViewByType( libName cellName "layout" "maskLayout" "a") ) topInstList = cv~>instances ;get a list of all instances in the cellview foreach(inst topInstList if(inst~>mosaic then leFlattenInst( inst~>mosaic 31 t nil nil ) ;flatten the mosaic instance );if leFlattenInst( inst 31 t nil nil ) );foreach );let );procedure

Forum Post: RE: auto sim with multiple dspf files for the same block

$
0
0
Thanks Andrew for the reply. I tried the 2nd method as you mentioned. Not exactly sure what should be placed in the dspf view, I simply put the path to my dspf.gz file and it doesn't seem working. There's netlist error: ERROR (OSSHNL-381): Missing or corrupt .oa file in cellview 'lib_A/cell_A/dspf_rcworst'. The OSS netlister can only process cellviews that have a valid .oa file. This file can be created by either importing the cellview using tools like 'Verilog In' or 'VHDL IN', or by opening and writing the text file in the Library Manager. Also, in setup->sim files, I often specify port order = spf, buf delimiter ="<> []", how should these be included into the dspf view? Thanks, Kevin

Forum Post: Highlighting a group of nets which match a particular regular expression

$
0
0
Hi, Is it possible to highlight a group nets in Virtuoso schematic editor which matches a particular pattern? Lets say the group of nets has "monitor" in them, is there an option where I can enter *monitor* and the tool highlights all of these nets. Thanks

Forum Post: RE: Virtuoso Schematic - Enviroment - "move/copy" Snap mode

$
0
0
Hi Andrew, Thank U for the info... that works :) Regards, Ionut

Forum Post: Basics of PDK

$
0
0
I'm a newbie here. Could someone explain to me the difference between a PDK and a flow?

Forum Post: RE: Verilog Netlister compatible net-separator in OA ?

$
0
0
Adding another point wrt to the patch-cell application: as the resulting netlist in my example results in the assign-statement, it reveals a bug in the behavioural modeling for such a circuit. Herein, the assign statement is uni-directional, but the connected instance pins are "inputOutput". For such a topology, a bidirection element is required, and it is a bug to resolve it to assign-statement. I've tested this behaviour for verilog and systemVerilog netlisters, including IC 617 ISR 8. I am checking now, if the replacement by res_short cell could be a solution. Do you have any comments on these points ?

Forum Post: Programmatically set y-axis in VIVA in Log Scale

$
0
0
Hi there, I want to plot the input referred noise of an instance. I enter in the Calculator / ADE Outputs getData("in" ?result "noise") By default, y-axis, that is expressed in V/rt(Hz), is in linear scale. It would be much more interesting and intuitive to have it visualized in log scale. Of course, one can right-click on the y-axis label, and select "Log Scale". Is there a way to to this programmatically? In particular, I would like not to use any SKILL function, I would like to just change the expression in the Calculator / ADE Outputs. Thank you! Paolo --

Forum Post: RE: How do you get the prop.xx file when creating a techlib in nograph mode?

$
0
0
I don't know which version you're using. I'm guessing it's an IC5141 version (since you're talking about prop.xx) - what does getVersion(t) return? I just tried reproducing this with the final hotfix of IC5141 (5.10.41.500.6.151 from November 2011). I don't get any such warnings, and I don't have any prop.xx files anywhere in the library, and I used the SKILL code in the solution to create the library. I did find CCR 228872 (filed in 2005) which talked about these warnings; it was never marked fixed, but I'm guessing it may have been resolved in a later hotfix. Anyway, those warnings are benign - it certainly is not required to have a property bag, and the CCR also reiterates that. If it really bothers you, you can do: bag=dbOpenBag(ddGetObj("mylib") "a") dbSaveBag(bag) dbCloseBag(bag) where "mylib" is whatever your library name is called. Regards, Andrew

Forum Post: RE: Basics of PDK

$
0
0
A PDK is a "Process Design Kit" - it's a set of libraries and associated data (model files, physical verification rule files, control files for various tools) to allow you to design in a particular technology. A flow is far more generic than that - it could mean many things. Generally it means the preferred way of navigating through a particular task. Regards, Andrew.
Viewing all 63289 articles
Browse latest View live


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