I've been slowly working my way towards making Virtuoso work with everything on a white background. On the layout side I have an issue with instantiated pcells that I'm using (I didn't make them) - they are showing big unsightly black reverse video pin labels that I want to change the color scheme of. I have attached some screenshots. The first is the layout view of the pcell itself and the second is a screenshot of the instantiated pcell (that shows the labels I'm complaining about). As I zoom further and further out these black label boxes don't shrink correspondingly and my layout becomes dominated by those ugly things. The label is actually bound to the drawing layer it is associated with i.e. if I make that layer invisible then the labels go away but so does all of the data in the layer itself (which is obviously no good). I would have thought the labels had a different LPP I could manipulate. The third screenshot is the same as the second only all I did was turn of the visibility of POLY1 i.e. it shows the label and the POLY1 all becoming invisible together. Does anybody know how I can separately control the coloring of the black label boxes? Thanks in advance. (Hmmm - I'm adding the screenshots by dragging them into the editor window as instructed but after doing so they appear as generic boxes with a question mark. Hopefully they appear correctly when I submit the post)
↧
Forum Post: Layout pcell label tinkering
↧
Forum Post: RE: how to enlarge simulation time limit of ncsim?
There is a note about this on the Cadence web site. What causes and how to fix the "xmsim or ncsim: *E,TRTOVF: simulated time overflow" simulation error? Basically, their suggestion is to increase the frequency of the system's clock. If you adjust the clock period from 10ns to 5ns, you can get twice as many simulation cycles thru. Of course, you need to adjust any delay values reported by the simulator for the difference in frequency.
↧
↧
Forum Post: RE: Error about Environment Variable settings
I get nil. I am not familar with the skill language.
↧
Forum Post: Reasons for remaining drv violations: Could not be fixed because there is no usable buffer or delay cell for buffering
After a optDesign -postcts, the tool reports: Reasons for remaining drv violations: Could not be fixed because there is no usable buffer or delay cell for buffering. I'm sure that library have buffer because they have been added during CTS stage. So my question is: why optDesign can't find buffer for drv optimizations ? Using INNOVUS 17.1 thanks
↧
Forum Post: RE: Layout pcell label tinkering
OK, a lot of the controls for this are under the Options->Net Name Display form in Virtuoso Layout Suite XL. This allows you to control the colour of the text, whether the background is drawn or not - or even if it shows the net names at all (it's actually not the pcells that are responsible for this - it's just VLS XL trying to show you the net names as this can be rather useful). There are cdsenv variables too to control much of this - if you search in cdnshelp for netNameDisplayDrawBackground you'll find that env var and see others nearby in the documentation so you can seed your settings. The one thing that is less obvious - if you have chosen to draw with the background (which is the default), how does it decide what colour to draw the background in? Well, the good news is that this is configurable too. It uses a packet name called netNameBackground . If that doesn't exist, it gets created - but if you already have it defined, it will get used. You may also see netNameForeground appear, but this is created automatically from the user foreground colour specified on the Net Display options form and from the corresponding cdsenv. Regards, Andrew.
↧
↧
Forum Post: RE: Error about Environment Variable settings
I suspect you modified the .cdsinit file and changed the getShellEnvVar() line to have the full path rather than "GF_PDK_HOME". I think you may also have set the line that follows it - the strcat. If it had getShellVarVar("GF_PDK_HOME") in the .cdsinit code, you would have needed to do: setenv GF_PDK_HOME /path/to/wherever or export GF_PDK_HOME=/path/to/wherever (first is for csh, second for ksh/bash) before you started virtuoso. Then the getShellEnvVar would get the path from the UNIX environment variable. Regards, Andrew.
↧
Forum Post: RE: Error about Environment Variable settings
well - it means the GF_PDK_HOME env variable is not set which is exactly your problem. Try: setShellEnvVar("GF_PDK_HOME=/home/grps/ef-test/GLF8HP/130HPSIGE-8HP/")
↧
Forum Post: RE: Error about Environment Variable settings
I am using bash and I am still getting the same error. export GF_PDK_HOME=/GLF8HP/130HPSIGE-8HP/V1.8_1.1HP/ and i am putting it above the if statement and still getting the same error. What do you adsvise? Thanks a lot. [quote userid="4936" url="~/cadence_technology_forums/f/custom-ic-skill/40831/error-about-environment-variable-settings/1358132#1358132"]export GF_PDK_HOME=/path/to/wherever[/quote]
↧
Forum Post: RE: Error about Environment Variable settings
What Andrew meant is to set it on the Unix shell - before you launch virtuoso. That way the env variable is then inherited by virtuoso. The setShellEnvVar is a SKILL command which you need to put in your .cdsinit. What I don't understand is that after the export command in the bash you don't see that env variable in virtuoso. You do the export GF...=... before you launch virtuoso don't you?
↧
↧
Forum Post: RE: Device spacing in modgen using SKILL
Thank you very much, Andrew. I tried the following to specify the spacing. memberList = list(list("M48.1" 'inst list(list("horiCustomSpacing" 1.2) list("vertCustomSpacing" 1.2))) list("M48.2" 'inst list(list("horiCustomSpacing" 1.2) list("vertCustomSpacing" 1.2)))) constr_id = ciConCreate ( cache_id 'modgen ?members memberList ?params list( list( "numRows" 1 ) list( "numCols" 1 )) ) It is creating the modgen which is no different from the one that is created when the spacing parameters are not given. constr_id~>members shows the numbers that were set, though: (("M48.1" inst (("bodyContacts" enumset nil) ("bodyContactType" string "") ("bodyContactSep" float 0.0) ("bodyContactRefLayer" int 0) ("bodyContactNetToUse" int -1) ("dummyNetToUse" int -1) ("dummyParamSource" enum "neighbor") ("horiCustomSpacing" float 1.2) ("hCustomSpacingRefLayer" int -1) ("hCustomSpacingRefPurpose" int -1) ("vertCustomSpacing" float 1.2) ("vCustomSpacingRefLayer" int -1) ("vCustomSpacingRefPurpose" int -1) ("dummyParams" string "") ("row" int 0) ("col" int 0) ("abutment" int 0) ("abutType" int -1) ("orient" enum "R0") ("vertAlignment" enum "top") ("horiAlignment" enum "left") ) ) ("M48.2" inst (("bodyContacts" enumset nil) ("bodyContactType" string "") ("bodyContactSep" float 0.0) ("bodyContactRefLayer" int 0) ("bodyContactNetToUse" int -1) ("dummyNetToUse" int -1) ("dummyParamSource" enum "neighbor") ("horiCustomSpacing" float 1.2) ("hCustomSpacingRefLayer" int -1) ("hCustomSpacingRefPurpose" int -1) ("vertCustomSpacing" float 1.2) ("vCustomSpacingRefLayer" int -1) ("vCustomSpacingRefPurpose" int -1) ("dummyParams" string "") ("row" int 0) ("col" int 1) ("abutment" int 0) ("abutType" int -1) ("orient" enum "R0") ("vertAlignment" enum "top") ("horiAlignment" enum "left") ) ) )
↧
Forum Post: RE: Error about Environment Variable settings
I want to put the envirnonemt variable in my .cdsinit file. I did: setShellEnvVar("GF_PDK_HOME=/home/grps/ef-test/GLF8HP/130HPSIGE-8HP/") And in CIW when do: getShellEnvVar("GF_PDK_HOME") It still comes back nil I am getting the same error messages as before. I don't know what I am doing wrong. Thank you so much. I am attaching the copy of my .cdsinit file again. community.cadence.com/.../cdsint.txt
↧
Forum Post: RE: Device spacing in modgen using SKILL
Got it! I need to change "vertAlignment" and "horiAlignment" to "custom" to make it work. Thank you very much, Andrew.
↧
Forum Post: RE: Error about Environment Variable settings
Please pay careful attention to what we're saying. You changed the first line to: if(gfPdkHome = getShellEnvVar("GF_PDK_HOME=/home/grps/ef-test/GLF8HP/130HPSIGE-8HP/") then You're mixing the setShellEnvVar with getShellEnvVar - the getShellEnvVar call you've specified makes no sense. This should be: if(gfPdkHome = getShellEnvVar("GF_PDK_HOME") then I suggest you either set GF_PDK_HOME before you start virtuoso as mentioned before, or add another line before the lines above: setShellEnvVar("GF_PDK_HOME=/home/grps/ef-test/GLF8HP/130HPSIGE-8HP/") That will set it, and then the getShellEnvVar("GF_PDK_HOME") will get the variable value. Andrew
↧
↧
Forum Post: RE: Error about Environment Variable settings
look at your .cdsinit above - you do not(!!) issue a setShellEnvVar(..) - you do if(gfPdkHome = g etShellEnvVar("GF_PDK_HOME=/home/grps/ef-test/GLF8HP/130HPSIGE-8HP/") then... it is supposed to be: setShellEnvVar("GF_PDK_HOME=/home/grps/ef-test/GLF8HP/130HPSIGE-8HP/") if(gfPdkHome = getShellEnvVar("GF_PDK_HOME") then ... And better yet you set it in the bash ever before you launch virtuoso
↧
Forum Post: RE: Device spacing in modgen using SKILL
Sorry - forgot to include those in the list. They were in my example too, but I didn't notice ;-) Glad you got it working. Andrew.
↧
Forum Post: RE: Error about Environment Variable settings
Thank you so much for your help. I get it know.
↧
Forum Post: Updating Net Names in Layout XL
I'm having trouble getting the update components and nets function to work as I expect in Layout XL. I'm creating several flavors of a ring oscillator and instead of starting from scratch I copy the layout over from the previous instance and use the update components and nets function to add my new devices. I insert them in the chain where they appear in the schematic but the final node name doesn't update for some reason. For example the output of the first ring oscillator is named osc . All of the subsequent versions are still labeled osc even after doing a Connectivity->Update->Update Components and Nets with the Update Nets and Instance Name Mismatches Only option. This is really just an annoyance as the cell will LVS/DRC clean but I don't understand why this doesn't work. I'm using IC 6.1.7-64b.
↧
↧
Forum Post: RE: Layout pcell label tinkering
Thanks very much Andrew. My documentation searching was more focused on the word label than name :-/. Anyway, you've fixed my problem yet again and I'm back to work!
↧
Forum Post: RE: Layout pcell label tinkering
Glad to help! The netNameBackground packet name seems to be cunningly hidden (in invisible ink) in the documentation. I'll file a request to get it documented. Regards, Andrew.
↧
Forum Post: RE: Run analogLib/fourier before stop time
Hi, Andrew, Thank you for the suggestion. Do you know off the top of your head what is the Tcl command to read the waveform data? Can I interatively change the strobeperiod from the SimVision Console? TJ
↧