Dear wgtkan, Thank you for your added comments - I just wanted to verify that the DC operating point was in the high gain region! [quote userid="289980" url="~/cadence_technology_forums/f/custom-ic-design/46633/cmrr-simulation-setup/1369033"]. The last plot seems correct but the earlier one was not right. [/quote] My interpretation of your last plot is that it represents the differential gain of your op-amp versus frequency while the former curve represents the CMRR versus frequency. Am I correct? A concern I have is that it appears you are simulating your op-amp in an open-loop configuration (i.e., without any feedback network). As a result, I am concerned that your CMRR and gain curves are not representative of what you are expecting. If you are intending to use this amplifier in a closed loop configuration, in addition to including the load, I might suggest including the feedback network and then simulating the differential gain and CMRR. I don't think the CMRR curve you generated is meaningful in an open loop configuration to easily extract the CMRR in any given closed loop configuration. If your interests are in the loop gain of your amplifier, I might suggest then adding the appropriate probes and use a stability analysis (differential) in its closed loop configuration rather than running an XF analysis in its open-loop configuration. Does this make sense wgtkan? Shawn
↧
Forum Post: RE: CMRR simulation setup
↧
Forum Post: How to load different .dc file for each corner in single run
Hi, this might not be an urgent issue, but I'm wondering how I can treat corner as a variable, and apply different file reads for each corner. I'm sweeping corners with dc+hb analyses, and SS@-40C has convergence problem at dc. Therefore just for this corner I'm running dc at 25C, and hb at -40C (which is tolerated in my work). The corner setup window will look like this. While keeping this setup, I separately run dc at 25C, save it to a 'spectre_SS_25.dc' file, and load this file when I'm running hb at SS-40. The rest of the corners will follow nominal setup, where dc saves spectre.dc and hb loads spectre.dc in the same directory. My question is, can I do this setup in a single run? Right now I have to run a separate simulation for SSm40. The pseudocode will be something like, if corner==SSm40, readic "spectre_SS_25.dc", else readic "spectre.dc" I'm new to SKILL syntax so I don't know what the right expression is, or if it's allowed at all. Thanks for the help! Joon
↧
↧
Forum Post: How to create Auto Define B/B via by SKILL?
Hi all! if we create Auto Define B/B via, then the vias will set on the Physical set of Constraint Management automatically. I want to create B/Bvia if I execute my code at Allegro PCB Designer. is there any reference code or useful functions? regards.
↧
Forum Post: How to see the Command on the session log vane when I hit the command button?
Hi all, I'd like to create shortcut so I need to know the command information when I click the button. but I forgot the way to see the command log when I hit the command button in my memory, I input something command on the command vane... regards,
↧
Forum Post: RE: Including geometric variations in Montecarlo simulation (ADEXL)
Thanks a lot for your clarification.
↧
↧
Forum Post: Error on invoking Skill IDE
Hi Whenever I invoke the Skill IDE from ciw->Tools->Skill IDE... , I get the following error in the ciw. Though the Skill IDE work as usual without giving any issue. Loading skillide.cxt Loading skillDev.cxt *** Error in routine eval: Message: *Error* eval: unbound variable - __ilgProfilerWindow Entering new debug toplevel due to error: Type (help "debug") for a list of commands or debugQuit to exit the toplevel. I just want to know if there is a way to eliminate this error. Thanks and Regards Saurabh
↧
Forum Post: RE: How to see the Command on the session log vane when I hit the command button?
you can type scriptmode +e in the command line so that you can see the command.
↧
Forum Post: what is major difference between "Symphony Team Design" option and "PCB Team Design" on Allegro PCB Designer?
Hello everybody! I am looking for the co-work design option at allegro PCB Designer. and I found there were two options below. but I don't know which kind of difference they have if you know about these options please explain for me. regards,
↧
Forum Post: Adding menu to Layout WINDOW
Hi All, I am using a legacy skill code that adds a menu when the design in opened in Layout XL but not when it is opened with Layout EXL. In short the custom menu doesn't appear when using Layout EXL , can you please suggest what could be the possible reason ? regards
↧
↧
Forum Post: RE: Adding menu to Layout WINDOW
Your code is presumably using deRegUserTriggers("maskLayoutXL" ...). It would need to also register the same triggers using deRegUserTriggers("maskLayoutEXL" ...). Andrew.
↧
Forum Post: RE: Error on invoking Skill IDE
Saurabh, Which sub-version of Virtuoso are you running? - getVersion(t) will return that. Also, can you repeat the problem and then type where() or stacktrace() at the prompt to show where it is failing? I've had a quick look in current versions and can't see how it could fail this way, and I've not found any reports of the same issue. I can think of a potential workaround to solve this, but I'd like to understand first how this could happen to figure out whether that workaround stands any chance of working or not. Andrew.
↧
Forum Post: RE: Adding menu to Layout WINDOW
Thanks for the reply Andrew. Sorry my bad. I just re-checked. It is not a skill code but part of custom code in .cdsinit file which loads the contexts on virtuoso startup. Can it be the case that context loading is supported only for Layout XL & not EXL ?
↧
Forum Post: RE: unbound variable - device property issue
The error message is pretty clear - report this to the supplier of the PRIMLIB library, which is presumably AMS (given by the callback name)? What it means is that the CDF callback for this field doesn't support variables being used in the length field - most likely they are trying to evaluate the value using evalstring() which won't work and is not safe. Not sure why all the properties would go missing on the edit properties form, but either way you need to take this up with the provider of the PDK. It's their code that is breaking. Andrew.
↧
↧
Forum Post: RE: Error on invoking Skill IDE
Hi Saurabh, Have you tried to launch it through the corresponding Skill commad: _ilgRunSkillIde() Max
↧
Forum Post: RE: Adding menu to Layout WINDOW
Context loading is not specific to the application used - it may of course be that the contexts loaded do the deRegUserTriggers and are not doing so for EXL. Contexts are a binary representation of SKILL code (it's a snapshot of the SKILL Virtual Machine). I don't think I have enough information to really give you advice. If it is a registered menu trigger, you could look at deGetAppInfo("maskLayoutXL")->userMenuTrigList and see what has been registered, and the register them yourself using deRegUserTriggers("maskLayoutEXL" nil thatMenuTrigger ). Of course you may need to also look at the _userPostInstallTrigList for user-postinstall triggers too. If this doesn't help, please contact customer support as it will be much easier to see your setup than to guess. Andrew.
↧
Forum Post: RE: unbound variable - device property issue
Hi Andrew, thanks for your feedback. I will contact with them.
↧
Forum Post: RE: Error on invoking Skill IDE
Hi Andrew I am using the following sub-version: "sub-version IC6.1.8-64b.500.10 " I used the where () command and got the following output. where() >> errorHandler("eval" 0 t nil ("*Error* eval: unbound variable" __ilgProfilerWindow)) (... in __ilgProfilerSearch1CB ...) value = nil __ilgList = nil __ilgListLow = nil _i = nil len = nil tmpstr = nil tmp_list = nil tmp_list_low = nil full = nil form = formStruct@0x24011c20 (... in __ilgProfilerOptionSearchSensitiveCB ...) realValue = t form1 = formStruct@0x24011c20 searchSen = t frame = t form = nil value = nil __ilgProfilerOptionSearchSensitiveCB(t) (... in _ilgSetProfilerOptionsTimeMemCountSearch ...) _ilgScrollRegion = ProfilerOptionsScrollReg __ilgValueTimeMem = "Run Time" __ilgValueCount = t __ilgValueSearch = t (... in _ilgSetProfilerOptions ...) __ilgValueTimeMem = "Run Time" __ilgValueCount = t __ilgValueSearch = t __ilgValueFunc = 1000 __ilgValueSec = 0.0 __ilgValueBytes = 0 __ilgValueCon = "" __ilgValueRE = "" __ilgValuePre = "" _ilgSetProfilerOptions("Run Time" t t 1000 0.0 ... ) (isCallable('_ilgSetProfilerOptions) && _ilgSetProfilerOptions("Run Time" t t 1000 0.0 ... )) (isCallable('_ilgSetProfilerOptions) && _ilgSetProfilerOptions("Run Time" t t 1000 0.0 ... )) (... in _ilgLoadSettings ...) settingsFile = "/homefs3/saurabh/.cadence/skill_ide_hi" __ilgDir = "/homefs3/saurabh/wrk_dir/xt018_1241" f = port:"/homefs3/saurabh/.cadence/skill_ide_hi" expr = (isCallable('_ilgSetProfilerOptions) && _ilgSetProfilerOptions("Run Time" t t 1000 0.0 ... )) __val1 = 9 __val2 = 4 __val3 = nil __field1 = "EditorOptionFontSize" __field2 = "EditorOptionTabStopSize" (... in ilGetIdeSessionWindow ...) __ilgShowMouseBarVal = "Bottom" args = (nil help nil window window:2 ... ) force = t noDebug = nil (... in unknown ...) funobj@0x31618fc0() (... in _ilgRunSkillIde ...) noDebug = nil _ilgRunSkillIde() _insideilparser = t 7 As mentioned by Mbracht, If I use the _ilgRunSkillIde() command in ciw, then I don't get any error. Thanks and Regards Saurabh
↧
↧
Forum Post: RE: what is major difference between "Symphony Team Design" option and "PCB Team Design" on Allegro PCB Designer?
Team Design allows a user to create design partitions on a master board then export these as partition_name.dpf. These can be opened up by individual users in Allegro and worked on. Once they are complete the master board can import the completed partitions to complete the design. You can setup boundaries and ports for the nets that cross these boundaries. Symphony Team design allows a user to start a design and then share this to other users who can remote in and work concurrently on the same design. You'll see when a user adds routing, moves objects etc "live" on screen.
↧
Forum Post: **WARN: (IMPESI-429): No RC available on net xxx in INNOVUS 19.13
Hi, during optDesign postRoute log show a lot of warning IMPESI-429 , what could be the reasons?
↧
Forum Post: Rotating elements in the shape of a circle
Hello everyone. I want to create a PCB in the shape of a semicircle and I want to place LEDs on the edge of the PCB. The problem is that I use side-view LEDs. How can I easily place the to make sure that all of them are headed up. I have 150 LEDs. Is there any easy way out there to do it without worrying about the angle of each diode?
↧