Hi Lawrence, Firstly: thanks for your detailed reply. Secondly: you are right about setting the calculations i need inside ADE GUI then save the ocean script. Thirdly: about the "ipcBeginProcess" to start the simulation from inside the PERL script or what? Thanks Regards, Inas
↧
Forum Post: RE: Integrating Perl with Ocean
↧
Forum Post: RE: LSF batch jobs are killed on closing ADEXL window
Kamran, No, that's not what I said. If you use this env var (set to t), then the jobs will continue if the parent virtuoso crashes. You can then look at the results later when they've finished as usual. Andrew.
↧
↧
Forum Post: RE: A few questions regarding using PSS for rectifier design
Menghan, I suspect you would be better off contacting customer support - it's hard to answer all your questions particularly without knowing quite what your circuit looks like. Some broad answers (to some of the questions): I'm not sure why you think HB is "more stable". If the circuit is a highly nonlinear circuit (or is a switching circuit) then generally shooting is preferable to harmonic balance, because it naturally follows sharp edges rather than relying on the solution being accurately found by specifying enough harmonics. With shooting the number of harmonics doesn't (significantly) affect the accuracy, whereas with harmonic balance the number of harmonics strongly affects the accuracy. The oversampling factor is a way to increase the number of points in the period where the frequency domain solution is converted back into the time domain. This can increase the accuracy when you have sharp transitions in the waveform and is not as expensive as increasing the number of harmonics. More harmonics increases the size of the solution, but oversample of 2 (say) means that you are sampling at twice the number of points you would have got by the harmonics alone (2*harms+1). You still need enough harmonics to be able to reasonably represent the solution though. Typically I would use (if needed) oversample of 2 or 4 but rarely much higher than that. I suggest you ensure you have a good understanding of this rather than throwing random values at the problem (that's a good way of slowing down the simulation with little benefit) maxiters is unlikely to improve accuracy. Most of the time I leave this alone. The main way to improve accuracy is the errpreset setting, and then tightening reltol (a little further) if needed. For harmonic balance, the number of harmonics is also very important for accuracy. multithreading is supported for PSS (shooting and harmonic balance). You have to enable APS for this (on the Setup->High Performance form) and you can control the number of threads. I have no way of knowing why you're not getting the correct results - this is why you should contact customer support. You asked earlier about the port element - you don't have to use the port element - you can use vsource/isource too. Also, the port element can provide power with reference to whatever impedance you like. You can specify a complex impedance (when using harmonic balance) - there's a "harmonic port" option which allows you to specify different complex impedances at different harmonics. This can't be done in the time domain (shooting) because it's not physical - the impedance can't be discrete complex values at different impedances. Regards, Andrew.
↧
Forum Post: RE: Tcl script, for library manipulation
So regarding the force pin what value need to be passed...? Thanks in advance.
↧
Forum Post: RE: Tcl script, for library manipulation
Check through the rest of the script ... "if {$force!="force"}" is the only check
↧
↧
Forum Post: RE: Tcl script, for library manipulation
thank you so much... please help me in "set prev [DboTclHelper_sMakeCString ]" and "DboTclHelper_sGetConstCharPtr" functions?
↧
Forum Post: How to prevent automatically opening spectre.out in ViewFile-Window when running a simulation?
Hi, I am using ICADV12.2 ADE Assembler. Every time I run a simulation, a ViewFile-Window opens showing the spectre.out file. How can I prevent this? I do not want to show this file every time I run a simulation. Kind regards Sascha
↧
Forum Post: RE: Enabling UVM debug in simvision
Well not really a tcl script. I thought there was a possibility to enable some menu items in simivision to debug uvm enviroment. Will this tcl script actually display somethings in the waveform window? If yes then it may be good enough. How should this tcl script be invoked? Is it a input file for irun? Thanks,
↧
Forum Post: RE: Enabling UVM debug in simvision
Can these things be done in simvision after the simulation is completed 1>Capture classes in the wave database and show them in the waveform window 2>Objects and their members in the wave database 3>Follow class handle “pointers” to other objects 4>Sequence items that hits the driver Basically debug complete class based transaction system in a gui Thanks
↧
↧
Forum Post: RE: Enabling UVM debug in simvision
You can explore the SimVision Debug Video Series. There is a video on using the SimVision UVM Toolbar. Other useful links: Debugging Nested UVM Sequences using Incisive Sequencer Transactions ( Video ) Using the Incisive Register Viewer to debug UVM Register Models ( Video ) Documentation on the UVM Sequence Viewer These are available on the support.cadence.com site
↧
Forum Post: RE: Enabling UVM debug in simvision
Thank you so much. These links will really help.
↧
Forum Post: Extracted simulation not working properly - netlist problem...?
Hello everyone, PROBLEM EXPLANATION I am facing a strange problem. First of all, I am using ICFB (a very old version). I have a very simple cell made of 4 transistor. This cell has a schematic view, a layout and an extracted view. I can do simulations with the schematic view (everything work as expected) using ADE and Spice. Then, the DRC and LVS on the layout give no error. At this point, I want to run the exact same simulation on the extracted view. In order to do so, I go to Setup->Environment and in the Switch View List I insert "extracted" as the first element. I then run the simulation and the result is the _exact opposite waveform_ at the output. (the block is supposed to act as a "digital" block, so I really mean that where I expect to see a "1" I get "0" and viceversa). Now, if I check the netlists that are produced after the schematic and extracted simulations (in ADE, I go to Simulation -> Netlist -> Display Final) they don't exactly match: ====== Schematic Netlist ====== M4 NET4 B 0 0 NCH M3 Y A NET4 0 NCH M1 Y B NET15 VDD! PCH M0 NET15 A VDD! VDD! PCH ======= Extracted netlist ======== M3 Y B 2 4 PCH M5 4 A 2 4 PCH M6 8 B 1 8 NCH M9 Y A 1 8 NCH NB: I omitted information about device size because those info are correct. =========================== As you may notice, in the extracted netlist the GND! and VDD! connection are not recognized correctly. The devices have the correct number of terminals connected to the same node (node "4" for the PCH, and node "8" for the NCH) BUT they are not explicitly connected to VDD! and GND! respectively. Notice, however, that the signal levels I see in the simulation are correct (between 0 and 2.5 V). FIRST PROPOSED SOLUTION A colleague suggested that I add manually pins on the layout; the point is that the pins are there both in the layout and in the extracted view. With this, I mean that if I open the extracted view, I can select the net, and the net is correctly connected to VDD! (same goes for gnd!) SECOND PROPOSED SOLUTION Searching on google, I found someone suggesting that I put explicitly the VDD and GND pins in my symbol, so that I can connect them explicitly. I might try this, but this is not an acceptable solution for me because it would mean a redesign of a huge amount of cells. Plus, it is an already existing design, so all these simulations were done before. Any idea where I might look into to find a solution? Thanks a lot for any help! Francesco
↧
Forum Post: RE: Integrating Perl with Ocean
Hi Inas, The ipcBeginProcess() command is for you to be able to start an external process from Virtuoso and be able to communicate with it (e.g. get results back from it). This was suggested so that you could call your Perl script from Ocean/Virtuoso. However it really does sound as though you should do all of the calculations etc. in SKILL/Ocean and control any subsequent simulations that way. Going back to your original question it seems that you have (or should have) some design variables in the design (schematic) that may be dependent on some calculations; in Ocean you can perform calculations and then use the desVar() command to set each design variable prior to simulation. Hope this clarifies things. Regards, Lawrence.
↧
↧
Forum Post: RE: Tcl script, for library manipulation
See the short section in the "TclTk Extensions" document, "String type conversion", on string conversion between the "plain text" string type that TCL uses and the CString object type that the Capture database functions require. One makes a CString object from a "string" and the other converts a CString object to a "string".
↧
Forum Post: RE: Extracted simulation not working properly - netlist problem...?
Hi Francesco, Unless you have some indication on the layout (pins or labels - it depends on which LVS and extraction tool you're using; you didn't say) as to where the power and ground connections are, this is hardly surprising. So your first proposal is almost certainly the solution. Adding pins on the symbol, or inherited connections on the schematic as an alternative, won't solve the problem unless there is some pin on the layout to indicate the supply connections. Regards, Andrew.
↧
Forum Post: RE: How to prevent automatically opening spectre.out in ViewFile-Window when running a simulation?
Sascha, You can use this: envSetVal("adexl.gui" "showSimLogForOnePointSim" 'boolean nil) to turn off the log file display (it only happens with single point simulations anyway). Regards, Andrew.
↧
Forum Post: RE: How to prevent automatically opening spectre.out in ViewFile-Window when running a simulation?
Perfect, thank you!
↧
↧
Forum Post: RE: Extracted simulation not working properly - netlist problem...?
Hi Andrew, thanks for the answer. I will try to give some more details. - to do DRC, LVS and Extraction: I open the layout with Virtuoso Layout and then I find everything under "Verify". DRC is using a file called divaDRC.rule, LVS is using divaLVS.rul and the Extractor is using divaEXT.rul...so, I assume I am using DIVA :) - the pins are located on M1 - pn. I attached two images here looking at their properties: There is only that "Net Status" option that seems a bit odd to me, but for the rest it looks like the net is recognized as being a global net with the correct name (the same applies for the gnd! net, which I didn't show here). Obviously, below this M1-pn layer, there is a M1-dg layer that draws the "physical" net. This is why I say that I don't understand the first proposed solution: to me it seems that the pin is already there. Thanks a lot for the help! Francesco
↧
Forum Post: RE: Extracted simulation not working properly - netlist problem...?
Hi Francesco, Can you contact customer support ? If you're from a University, maybe you can contact whoever your support channel is (e.g. if you're at a European University, then it would be Europractice, probably). It's going to be hard to figure out without seeing the data - there's just too many variables - it depends on how the rules are set up, it depends on how exactly it's failing. Debugging via screenshots in a forum works sometimes, but it's going to be difficult (and time consuming). Regards, Andrew.
↧
Forum Post: RE: Extracted simulation not working properly - netlist problem...?
Hi Andrew, well, if YOU tell me this, then I will definitely try to involve the higher level of support! Unfortunately, I am using a really old setup (I am the only one in my University using it), which has next to zero support from the IT section and zero people with working knowledge of it. Sorry, not your problem, but it feels good to vent a bit :) thanks again Francesco
↧