y 17.4 Design Sync Fails without providing errors By community.cadence.com Published On :: Tue, 14 Dec 2021 14:06:09 GMT As the title suggests I am unable to perform design sync between OrCAD Capture and Allegro. When I add a layout and try to sync to it I am given ERROR(ORCAP-2426): Cannot run Design Sync because of errors. See session log for error details. Session Log [ORPCBFLOW] : Invoking ECO dialog.INFO(ORNET-1176): Netlisting the designINFO(ORNET-1178): Design Name:C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSNNetlist Directory:c:usersddoyledocumentscadenceoards emote power devicelayoutallegroConfiguration File:C:CadenceSPB_17.4 ools/capture/allegro.cfgpstswp.exe - pst - d "C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSN"- n "c:usersddoyledocumentscadenceoards emote power devicelayoutallegro" - c "C:CadenceSPB_17.4 ools/capture/allegro.cfg" - v 3 - l 31 - s "" - j "PCB Footprint" - hpath "HPathForCollision"Spawning... pstswp.exe - pst - d "C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSN"- n "c:usersddoyledocumentscadenceoards emote power devicelayoutallegro" - c "C:CadenceSPB_17.4 ools/capture/allegro.cfg" - v 3 - l 31 - s "" - j "PCB Footprint" - hpath "HPathForCollision"{ Using PSTWRITER 17.4.0 d001Dec-14-2021 at 09:00:49 } INFO(ORCAP-36080): Scanning netlist files ... Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstchip.dat Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstchip.dat Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstxprt.dat Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstxnet.datpackaging the design view...Exiting... pstswp.exe - pst - d "C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSN"- n "c:usersddoyledocumentscadenceoards emote power devicelayoutallegro" - c "C:CadenceSPB_17.4 ools/capture/allegro.cfg" - v 3 - l 31 - s "" - j "PCB Footprint" - hpath "HPathForCollision"INFO(ORNET-1179): *** Done *** This issue started to occur after I changed parts that exist on previously created PCBs. I changed the following leading up to this: 1. Added height in Allegro to many of my components using the Setup->Area->Package Height tool. 2. Changed the reference designator category in OrCAD Capture to TP for several components on board. Any advice here would be most welcome. Thanks! Full Article
y The default location of orCAD Capture library Pin Number is incorrect By community.cadence.com Published On :: Tue, 14 Dec 2021 21:38:21 GMT The default position of the pin number is incorrect. Full Article
y Migrating from files Orcad Layout 16.2 By community.cadence.com Published On :: Wed, 15 Dec 2021 02:55:48 GMT I have managed to convert our old schematic and PCD file to from Layout 16.2 to 17.4 I have exported the footprints and moved them to the correct lib directory. I get no DRC errors and I can build a new netlist file. The problem is I can't get the PCB editor to update using the new netlist and get the following error: I cannot figure out how to fix the Name is too long error. (---------------------------------------------------------------------) ( ) ( Allegro Netrev Import Logic ) ( ) ( Drawing : 70055R2.brd ) ( Software Version : 17.4S023 ) ( Date/Time : Tue Dec 14 18:54:25 2021 ) ( ) (---------------------------------------------------------------------) ------ Directives ------------ Ripup etch: Yes Ripup delete first segment: No Ripup retain bondwire: No Ripup symbols: IfSame Missing symbol has error: No DRC update: Yes Schematic directory: 'C:/AFS/70055 PCB Test 2' Design Directory: 'C:/AFS/70055 PCB Test 2' Old design name: 'C:/AFS/70055 PCB Test 2/70055R2.brd' New design name: 'C:/AFS/70055 PCB Test 2/70055R2.brd' CmdLine: netrev -$ -i C:/AFS/70055 PCB Test 2 -x -u -t -y 2 -h -z -q netrev_constraint_report.xml C:/AFS/70055 PCB Test 2/#Taaaaae57776.tmp ------ Preparing to read pst files ------ Starting to read C:/AFS/70055 PCB Test 2/pstchip.dat Finished reading C:/AFS/70055 PCB Test 2/pstchip.dat (00:00:00.02) Starting to read C:/AFS/70055 PCB Test 2/pstxprt.dat Finished reading C:/AFS/70055 PCB Test 2/pstxprt.dat (00:00:00.00) Starting to read C:/AFS/70055 PCB Test 2/pstxnet.dat Finished reading C:/AFS/70055 PCB Test 2/pstxnet.dat (00:00:00.00) ------ Oversights/Warnings/Errors ------ #1 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_9_SWITCH_OTTO_ALT_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_9_SWITCH_OTTO_ALT_SW DP' has library errors. Unable to transfer to Allegro. #2 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_10_SWITCH_OTTO_LIGHTS_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_10_SWITCH_OTTO_LIGHTS_S' has library errors. Unable to transfer to Allegro. #3 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_7_SWITCH_OTTO_ALT_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_7_SWITCH_OTTO_ALT_SW DP' has library errors. Unable to transfer to Allegro. #4 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_3_SWITCH_OTTO_MASTER_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_3_SWITCH_OTTO_MASTER_SW' has library errors. Unable to transfer to Allegro. #5 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_6_SWITCH_OTTO_LIGHTS_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_6_SWITCH_OTTO_LIGHTS_SW' has library errors. Unable to transfer to Allegro. #6 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_3_SWITCH_OTTO_MASTER_DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_3_SWITCH_OTTO_MASTER_DP' has library errors. Unable to transfer to Allegro. #7 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'CONNECTOR DB15_DSUBVPTM15_CONNECTOR DB15': 'Name is too long.'. ERROR(SPMHNI-170): Device 'CONNECTOR DB15_DSUBVPTM15_CONNE' has library errors. Unable to transfer to Allegro. #8 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'CONNECTOR DB9_DSUBVPTM9_CONNECTOR DB9': 'Name is too long.'. ERROR(SPMHNI-170): Device 'CONNECTOR DB9_DSUBVPTM9_CONNECT' has library errors. Unable to transfer to Allegro. #9 ERROR(SPMHNI-175): Netrev error detected. ERROR(SPMHDB-195): Error processing 'M6': Text line is outside of the extents.. ------ Library Paths ------ MODULEPATH = . C:/Cadence/SPB_17.4/share/local/pcb/modules PSMPATH = . symbols .. ../symbols C:/Cadence/SPB_17.4/share/local/pcb/symbols C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols C:/Cadence/SPB_17.4/share/pcb/allegrolib/symbols C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols PADPATH = . symbols .. ../symbols C:/Cadence/SPB_17.4/share/local/pcb/padstacks C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols C:/Cadence/SPB_17.4/share/pcb/allegrolib/symbols C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols ------ Summary Statistics ------ #10 Run stopped because errors were detected netrev run on Dec 14 18:54:25 2021 DESIGN NAME : '70055R2' PACKAGING ON Nov 2 2021 14:32:04 COMPILE 'logic' CHECK_PIN_NAMES OFF CROSS_REFERENCE OFF FEEDBACK OFF INCREMENTAL OFF INTERFACE_TYPE PHYSICAL MAX_ERRORS 500 MERGE_MINIMUM 5 NET_NAME_CHARS '#%&()*+-./:=>?@[]^_`|' NET_NAME_LENGTH 24 OVERSIGHTS ON REPLACE_CHECK OFF SINGLE_NODE_NETS ON SPLIT_MINIMUM 0 SUPPRESS 20 WARNINGS ON 10 errors detected No oversight detected No warning detected cpu time 0:00:27 elapsed time 0:00:00 Full Article
y Allegro 17.4 always reports new files as created in 17.2 By community.cadence.com Published On :: Wed, 15 Dec 2021 22:17:58 GMT Hello. I am using Cadence 17.4 tools. When I open a package symbol (.dra) or board file (.brd) in Allegro that was created in an older version of the tool I get a message like this one (as expected): "The design created using release 17.2 will be updated for compatibility with the current software..." If I create a symbol or board file from scratch in the 17.4 tool then open it later, I get the same message. (always referring to version 17.2 which is the previous version I was using here). So far this has not caused me any problems, but I would like to understand why it is doing this in case I have something setup incorrectly. I only have version 17.4 installed. I am not exporting to a downrev version when I save (i.e. not using File->Export->Downrev design…) and in User Preferences->Drawing I don’t have anything selected for database_compatibility_mode. What else might I check? FYI here is the tool version information that I see after selecting Help->About Symbol: OrCAD PCB Designer Standard 17.4-2019 S012 [10/26/2020] Windows SPB 64-bit Edition Thanks -Jason Full Article
y How to magnify a board on a film view By community.cadence.com Published On :: Thu, 16 Dec 2021 17:36:00 GMT I have a small board that is not readable even though the document is 11' x 17'. Is there a way I could expand/magnify the board along with the components on them to make them legible? I have created a new film and is displaying the bottom and top side of the board but the board is too small and the components are not legible. Perhaps there is a way to upscale it or expand it?Please note I have other stuff in the document that I am not showing , notes and other things, and I am trying to make just the boards look bigger in some way.I do have a PDF image of the same file where the board appears to be MUCH bigger and is fully legible and I am trying to match that. Thank you all. Full Article
y Noise summary data per sub-block in Maestro output expressions By community.cadence.com Published On :: Tue, 22 Oct 2024 21:56:24 GMT Hi, I have a question about printing noise summary via maestro output expressions. How can I print noise data using output expressions, for multiple levels of the hierarchy? I have found this article which describe the procedure using ocnGenNoiseSummary() function: https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000007MViHEAW&pageName=ArticleContent I see also Andrew Beckett referring to the above mentioned article as a solution to a similar question: community.cadence.com/.../noise-summary-per-instance However, this seems to work only if I'm to extract noise data from a single level of hierarchy. If I have the output expression "ocnGenNoiseSummary(2 ?result 'hbnoise)", it will generate a "noisesummary" directory under results directory for a hierarchy level of 2. If I am to extract data from various hierarchy levels, I should be able to generate multiple noise summary directories, such as noisesummary1, noisesummary2 where they correspond to "ocnGenNoiseSummary(1 ?result 'hbnoise)" & "ocnGenNoiseSummary(2 ?result 'hbnoise)", respectively. However this does not seem to be possible. Can you please advice? Thanks. My Cadence version: IC23.1-64b.ISR7.27 BR, Denizhan Karaca Full Article
y Display Resource Editor: Different Colors for Schematic and Layout Axis By community.cadence.com Published On :: Wed, 23 Oct 2024 06:30:07 GMT Hi In the environment I'm currently working, axes are shown for schematic, symbol, and layout views.For schematics and symbols, I'd prefer a dim gray, such that the axes are just visible but not dominant. For the layout, I'd prefer a brighter color. Is there a way to realize this? So far when I change the color of the 'axis' layer in the display resource editor, the axes in all three views get changed together: Thanks very much for your input! Full Article
y Import LEF file failed due to layermap By community.cadence.com Published On :: Thu, 24 Oct 2024 15:58:52 GMT Hi, I have a LEF file with simple definitions of pad design which uses M8, M9, and AP layers. However, I failed to import the design with CIW > Import > LEF... as I encountered "ERROR: (OALEFDEF-90019): Ignoring the line 30 in the layer map file ... as it contains a syntax error. Each entry in the layer map file must have two values, LEFLayerName and OALayerNumber separated by a blank space." All lines in the file report the same OALEFDEF-90019 error.The tech.layermap file looks like this:# techLayer techPurpose stream# dataType ref drawing 0 0 DNW drawing 1 0 PW drawing 2 0 Full Article
y Error using probe terminal for dspf stb analysis By community.cadence.com Published On :: Wed, 30 Oct 2024 10:02:43 GMT IC 23.1-64b.ISR8.40 Hi all, I'm trying to run an stb analysis in a dspf extracted view via Probe terminal. The instance exist in the dspf and I already prepended the X that is placed in the dspf extraction. Spectre complains with the following error: Error found by spectre during STB analysis `stb'. ERROR (SPECTRE-16408): The probe parameter must be specified to perform stability analysis.Analysis `stb' was terminated prematurely due to an error. What is missing here? Full Article
y Author and library name in sheet border By community.cadence.com Published On :: Thu, 31 Oct 2024 10:05:54 GMT Dear community We would like to have more minimalistic and customized sheet borders for our schematics. I used this guide to create a starting point. Essentially, I made a copy of the US_8ths library and modified the Title symbol to look something like that: Problem 1 The variable ilInst~>libName points to the library of the sheet border symbols, not to the library of the schematic. How do I need to modify this field in order to see the library name of the schematic where the border is instantiated? Problem 2 The function CCSgetCreator() was taken from here. This solution does not seem to work with our management toll (we use VersIC); the function always returns nil as value. What is the simplest way to display the name of the user that created the schematic? A custom field that could be filled manually would also do the job for us; it doesn't need to be something that automatically fetches data from a database system. Thanks for any input. Full Article
y How to use PSpice library in Virtuoso/Spectre? By community.cadence.com Published On :: Thu, 31 Oct 2024 14:02:01 GMT I want to use PSpice model (download from TI) in Virtuoso , but it can not work. Please help me to check the error message, Thanks ADE-> Setup-> simulation files->Pspice Files /TPS628502-Q1_TRANS.LIB Parse error before token ']' in expression '[[STEADY_STATE]*0.6]'. If '[[STEADY_STATE]*0.6]' is a spice expression, quotes are required for the expression. ERROR(SFE-46): An instance of 'TPS628502-Q1_TRANS' can have at most 8 terminals (but has 9). *****************************************************************************.SUBCKT TPS628502-Q1_TRANS COMP_FSET EN FB GND PG SW SYNC_MODE VIN + PARAMS: STEADY_STATE=0 V_U9_V45 U9_N16725824 0 5E_U9_ABM22 U9_N16725392 0 VALUE { V(FREQ)*1e-12 }X_U9_U161 U9_N16849713 U9_N16846056 one_shot PARAMS: T=20 Full Article
y Xcelium/Simvision/xrun running very slow (waiting for SimVision/Verisium Debug to connect...) By community.cadence.com Published On :: Fri, 01 Nov 2024 10:44:24 GMT Hello,I would like to use the simulation software xrun/simvision that comes with XCELIUM. We are currently using classroom licenses and want to disable all ip addresses on the student pcs except the license server ip. We want to make sure that students cannot copy confidential data from the Cadence tools.Problem:When I launch the xrun simulation while all ip addresses are blocked, it starts but the performance is very slow. The GUI starts after 5 minutes and the simulation is ready after 10 minutes. The interesting thing is that when I enable all blocked ip addresses, everything works at a reasonable speed. Terminal Output (execution without internet connection): xrun -gui design.vhd waiting for SimVision/Verisium Debug to connect...Is there a way to run the simulation tools without an Internet connection? Or can you give me the ip addresses that are used by the simulation tools so that I can enable only those specific ips?Regards,Max Full Article
y Colorcoding for low cpk in Yield-View in Assembler By community.cadence.com Published On :: Tue, 05 Nov 2024 13:06:47 GMT Hi, I'm searching for a way to get a quick overview of too low cpk-values after a montecarlo sim. The non-MC results have the spec and thus the easy/understandable red/green/(yellow) colorcoding, but for MC sims I don't get a highlight for high variations inside the limits. Is this possible (besides copying each expression into avg()+3*std()) and ..-..)? It would be really handy to scan through finished sims... (My final application is then to export the table for my reports and documentation...) Regards, leo Full Article
y Force virtuoso (Layout XL) to NOT create warning markers in design By community.cadence.com Published On :: Sat, 09 Nov 2024 08:54:31 GMT Hi I have a rather strange question - is there a way to tell layout XL to NOT place the error/warning markers on a design when I open a cell? I do a lot of my layout by using arrays from placed instances and create mosaics that completely ignore the metadata that Layout XL uses with its bindings with schematic (and instances get deleted etc. but I do like using it to generate all my pins etc.) and it's just really annoying when I open a design that I know is LVS clean and since the connectivity metadata is all screwed up (because I did not use it to actually complete the layout) I have a design that's just blinking at me at every gate, source and drain. I typically delete them at the high level heirarchically but the second I go in and modify something and come back up it places all of them again. I know that if I flatten all the p cells it goes away but sometimes it's nice to have that piece of metadata but that's about it. Is there a way to "break" the features of XL like this? I realize what a weird question this is but it's becoming more of an issue since we moved to IC 23 from IC 6 where there is no longer a layout L that I can use free from these annoyances that can't use any of the connectivity metadata. Thanks Chris Full Article
y How to Set Up a Config View to Easily Switch Between Schematic and Calibre of DUT for Multiple Testbenches? By community.cadence.com Published On :: Tue, 12 Nov 2024 16:22:53 GMT Hello everyone, I hope you're all doing well. I’ve set up two testbenches (TB1 and TB2) for my Design Under Test (DUT) using Cadence IC6.1.8-64b.500.21 tools, as shown in the attached figure. The DUT has multiple views available: schematic, Calibre, Maestro, and Symbol, and each testbench uses the same DUT in different scenarios. Currently, I have to manually switch between these views, but I would like to streamline this process. My goal is to use a single config view that allows me to switch between the schematic and the extracted (Calibre) views. Ideally, I would like to have a configuration file where making changes once would update both testbenches (TB1 and TB2) automatically. In other words, when I modify one config, both testbenches should reflect this update for a single simulation run. I would really appreciate it if you could guide me on the following: How to create a config view for my DUT that can be used to easily switch between the schematic and extracted views, impacting both TB1 and TB2. Where to specify view priorities or other settings to control which view is used during simulation. Best practices for using a config file in this scenario, so that it ensures consistency across multiple testbenches. Please refer to the attached figure to get a better understanding of the setup I’m using, where both TB1 and TB2 include the same DUT with multiple available views. Thank you so much for your time and assistance! Full Article
y vManager crashes when analyzing multiple sessions simultaneously with a fatal error detected by the Java Runtime Environment By community.cadence.com Published On :: Sat, 16 Mar 2024 04:34:41 GMT When analyzing multiple sessions simultaneously Verisium Manager crashed and reported below error messages: # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007efc52861b74, pid=14182, tid=18380 # # JRE version: OpenJDK Runtime Environment Temurin-17.0.3+7 (17.0.3+7) (build 17.0.3+7) # Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (17.0.3+7, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64) # Problematic frame: # C [libucis.so+0x238b74] ...... For more details please refer to the attached log file "hs_err_pid21143.log". Two approaches were tried to solve this problem but neither has worked. Method.1: Setting larger heap size of Java process by "-memlimit" options.For example "vmanager -memlimit 8G". Method.2: Enlarging stack memory size limit of the Coverage engine by setting "IMC_NATIVE_STACKSIZE" environment variable to a larger value. For example "setenv IMC_NATIVE_STACKSIZE 1024000" According to "hs_err_pid*.log" it is almost certain that the memory overflow triggered Java's CrashOnOutOfMemoryError and caused Verisium Manager to crash. There are some arguments about memory management of Java like "Xms, Xmx, ThreadStackSize, Xss5048k etc" and maybe this problem can be fixed by setting these arguments during analysis. However, how exactly does Verisium Manager specify these arguments during analysis? I tried to set them by the form of setting environment variables before analysis but it didn't work in analysis and their values didn't change. Is there something wrong with my operation or is there a better solution? Thank you very much. Full Article
y explain/correct my understanding between average/covered in imc metrics By community.cadence.com Published On :: Wed, 17 Apr 2024 05:36:41 GMT I'm working on the code coverage. Doing a metrics analysis by default we see overall average grade and overall covered. But when i do a block analysis on an instance i see overall covered grade, code covered grade, block covered grade, statement covered grade, expression covered grade, toggle covered grade. As I dont know the difference I started to read the IMC user guide and came to know there are 3 things we come across while doing a code coverage local, covered, average From my understanding local - child instances metrics doesnt reach the parent level. For example, we have an instance Q and its sub instances like Q.a, Q.b. Block Local grade of Q can be 100% even when its instances Q.a and Q.b a block local grades isnt at 100%. In the attached image there is formula The key difference between average and covered is the weights. Average : Mathematically taking the above scenario where Q.a, and Q.b has 10 blocks each. Q.a has covered 8 blocks and q.b has covered 2 blocks. Now if we take the normal average it should be total covered/ totatl number = 8+2/10+10 yielding 50%. But when we add weights saying Q.a is 70% and Q.b is 30% the new number would be (8*0.7+2*0.3) / (10*0.7+10*0.3) resulting 62%. Because of the weights we see 12% bump. Covered: there is no role of weights. Among these 3 metrics i've changed my default view to this in the image to get more realistic picture when i do analyze metrics. Do you guys agree with the approach? Full Article
y How do I create a basic connectivity csv? By community.cadence.com Published On :: Sat, 27 Apr 2024 00:58:07 GMT First time user of JasperGold. Chip level verif. I want to prove that an arbiter and a buffer are connected. I want to use the connectivity app to do that. I see from the user guide, that I should provide a connectivity map, but i have no idea how to construct one.The training videos said use this command: check_conn -generate_template jasper_template.xlsm -xlsmBut that did nothing, or at least it did not produce a file that i could find [<embedded>] % check_conn -generate_template jasper_template.xlsm -xlsmERROR (ESW104): Invalid command formation. Problem occurs with "-generate_template -xlsm". And even if it did, I don't even know what's in the file, and whether it contains the two ips I'm trying to check.I'm hoping someone can give me a bit of a boost here with some knowledge. Full Article
y Is it possible to automatically exclude registers or wires that are not used from toggle coverage? By community.cadence.com Published On :: Wed, 03 Jul 2024 12:04:29 GMT Hello, I have a question about toggle coverage. In my case, there are many unused registers or wires that are affecting the toggle coverage score negatively. Is it possible to automatically exclude registers or wires that are not used from toggle coverage? My RTL code is as follows, Is it possible to automatically disable tb.top1.b and tb.top1.c without using an exclude file? module top1; reg a; reg b; reg [31:0] c; initial begin #1 a=1'b0; #1 a=1'b1; #1 a=1'b0; end endmodule module tb; top1 top1(); endmodule Full Article
y Simvision Array Slicing By community.cadence.com Published On :: Fri, 30 Aug 2024 07:33:33 GMT > reg [63:0] rMem [0:255] signal it can be confirmed by rMem [0:255] in Simvision Is it possible to generate a new rMem1 signal and rMem2 signal by splitting it into 32 bits width through right-click> Create on rMem? Full Article
y Indago stops everytime sees the UVM_ERROR By community.cadence.com Published On :: Sun, 08 Sep 2024 02:56:06 GMT I am running simulation in gui mode using Indago and every time there is UVM_ERROR occur simulation stops. I have to resume it manually. is there any way to disable this feature. Full Article
y Using vManager to identify line coverage from a specific test By community.cadence.com Published On :: Tue, 24 Sep 2024 21:20:52 GMT I have been using the rank feature to identify tests that are redundant in our environment, but then I realized I'd also like to be able to see exactly what coverage goes into increasing the delta_cov value for a given test. If I had a test in my rank report that contributed 0.5% of the delta_cov, how could I got about seeing exactly where that 0.5% was coming from? It seems like that might be part of the correlate function, but I couldn't mange to find a way to see what specific coverage was being contributed for a given test. Full Article
y Archive of Tools Classification Analysis (Xcelium) By community.cadence.com Published On :: Tue, 05 Nov 2024 16:19:01 GMT Hi, Current and valid TCAs for Functional Safety are readily available at the FuSa "one-stop shop". But I have not been able to find any archive repository for access to the obsoleted versions. I would need to have also v1.4 of Xcelum TCA to investigate exact changes wrt previous projects. Anyone knows how to find it? Best regards, Lars Full Article
y Cisco's utilities library donation By community.cadence.com Published On :: Fri, 18 May 2007 16:56:47 GMT Dear users, Cisco has graciously agreed to donate a library of several utilities packages to the e community. Please refer to the LIBRARY_README.txt for general information, and to each of the packages' PACKAGE_README.txt file for more information on each package. The tar file containing the utilities library is attached to this message. The zip file containing informational slides on Cisco's utility library packages is also attached. The zip file is 9 mg so may take a bit to download. The file is too big to fit on this post, so the unzipped files are posted in three separate entries below. For your convenience, we have also extracted the document “Directory Structure.doc” from the csco_base_env/docs location. Note: The library contains the csco_testflow package, adding phases to e's run phase. Cadence strongly encourages Customers to adopt the testflow phases feature that Cadence is releasing in Specman6.2. The new phases in e will be similar to the phases defined in the csco_testflow package, but will be a formal part of the e language. For more information please contact IPCM@cadence.com.Originally posted in cdnusers.org by meirav Full Article
y ce_tools directory no longer shipped with Specman By community.cadence.com Published On :: Tue, 22 Apr 2008 08:59:07 GMT Hello All,starting with version 8.1 the contents of the ce_tools directory will no longerbe shipped with Specman. The directory contains some unsupported AE/R&Dware and has not been updated for several releases (i.e. most of those oldpackages don't work with the latest release). Attached is the contents of this directory. Please read the README beforeusing any of the packages.Regards,-hannesOriginally posted in cdnusers.org by hannes Full Article
y Welcome! Please use this forum to upload your code By community.cadence.com Published On :: Tue, 05 Aug 2008 21:01:43 GMT Please include a brief summary of how to use it. Full Article
y Register Classes for SystemVerilog OVM By community.cadence.com Published On :: Tue, 09 Sep 2008 23:20:24 GMT Hi, I am uploading a register class, which can be used for modeling hardware registers. I am uploading the source code and examples on how to run it. I also have a user guide which has all the APIs listed and explained. The user guide is ARV.pdf in the attached tar file. I have named the class ARV, which stands for Architect's Register View. It has got very good randomization and coverage features. Users have told me that its better than RAL. You can download it from http://verisilica.info/ARV.php. There is a limit of 750KB in this cadence website. The ARV file is 4MB. That is why, I am uploading it at this site. I have a big pdf documentation and a doxygen documentation there. That is the reason for the bigger file size. The password to open the ZIP file is ovm_arv. I hope, everyone will use these classes. Please contact me for any help. Regards ANil Full Article
y Specman Makefile generator utility By community.cadence.com Published On :: Tue, 02 Dec 2008 08:31:45 GMT I've heard lots of people asking for a way to generate Makefiles for Specman code, and it seems there are some who don't use "irun" which takes care of this automatically. So I wrote this little utility to build a basic Makefile based on the compiled and loaded e code.It's really easy to use: at any time load the snmakedeps.e into Specman, and use "write makefile <name> [-ignore_test]".This will dump a Makefile with a set of variables corresponding to the loaded packages, and targets to build any compiled modules.Using -ignore_test will avoid having the test file in the Makefile, in case you switch tests often (who doesn't?).It also writes a stub target so you can do "make stub_ncvlog" or "make stub vhdl" etc.The targets are pretty basic, I thought it was more useful to #include this into the main Makefile and define your own more complex targets / dependencies as required.The package uses the "reflection" facility of the e language, which is now documented since Specman 8.1, so you can extend this utility if you want (please share any enhancements you make). Enjoy! :-)Steve. Full Article
y vr_ad register definition utility By community.cadence.com Published On :: Tue, 13 Jan 2009 06:55:41 GMT Hi All.I put together a small Perl script to generate vr_ad register definitions from SPIRIT (IP-XACT) XML.If you've got not idea what IP-XACT is, have a look here www.spiritconsortium.org/, then start pestering your design manager to use it :-)The script can filter out registers and override R/W access types if needed.An example XML file is included with the package so that you can play with it, and there's a detailed README.txt as well.Here's an example of the generated e code:// Automatically generated from xdmac.xml// DO NOT EDIT, or your changes may be lost<'import vr_ad/e/vr_ad_top;// Component = XDMAC// memoryMap = xdmacextend vr_ad_map_kind : [XDMAC];// addressBlock = dma_ethextend vr_ad_reg_file_kind : [DMA_ETH];extend DMA_ETH vr_ad_reg_file { keep size == 20; keep addressing_width_in_bytes == 4;};// Register = command// Reset = 0x00reg_def COMMAND DMA_ETH 0x0 { // Field resv3 = command[31:29] reg_fld resv3 : uint(bits:3) : R : 0 : cov ; // Field transfer_size = command[28:19] reg_fld transfer_size : uint(bits:10) : RW : 0 : cov ; // Field dma_transfer_target = command[18:14] reg_fld dma_transfer_target : uint(bits:5) : RW : 0 : cov ; // Field resv2 = command[13:10] reg_fld resv2 : uint(bits:4) : R : 0 : cov ; // Field transmit_receive = command[9:9] reg_fld transmit_receive : uint(bits:1) : RW : 0 : cov ; // Field resv1 = command[8:5] reg_fld resv1 : uint(bits:4) : R : 0 : cov ; // Field dest_address_enable = command[4:4] reg_fld dest_address_enable : uint(bits:1) : RW : 0 : cov ; // Field source_address_enable = command[3:3] reg_fld source_address_enable : uint(bits:1) : RW : 0 : cov ; // Field word_size = command[2:0] reg_fld word_size : uint(bits:3) : R : 0 : cov ;};// Register = queue_exec// Reset = 0x00reg_def QUEUE_EXEC DMA_ETH 0x10 { // Field resv = queue_exec[31:1] reg_fld resv : uint(bits:31) : R : 0 : cov ; // Field exec = queue_exec[0:0] reg_fld exec : uint(bits:1) : RW : 0 : cov ;};extend XDMAC vr_ad_map { dma_eth : DMA_ETH vr_ad_reg_file; post_generate() is also { add_with_offset(0x00, dma_eth); dma_eth.reset(); };}'> Any comments, please feed them back to me so I can enhance the script. Note that this forum forces me to post a .zip file rather than .tgz, please be careful to unpack the file under Linux, not Windows, else the DOS linefeeds will corrupt the Perl and XML files. Steve Full Article
y IntelliGen Statistics Metrics Collection Utilility By community.cadence.com Published On :: Thu, 04 Jun 2009 16:24:28 GMT As noted in white papers, posts on the Team Specman Blog, and the Specman documentation, IntelliGen is a totally new stimulus generator than the original "Pgen" and, as a result, there is some amount of effort needed to migrate an existing verification environment to fully leverage the power of IntelliGen. One of the main steps in migrating code is running the linters on your code and adressing the issues highlighted. Included below is a simple utility you can include in your environment that allows you to collect some valuable statistics about your code base to allow you to better gauge the amount of work that might be required to migrate from Pgen to IntelliGen. The ICFS statistics reported are of particular benefit as the utility not only identifies the approximate number of ICFSs in the environment, it also breaks the total number down according to generation contexts (structs/units and gen-on-the-fly statements) allowing you to better focus your migration efforts. IMPORTANT: Sometimes a given environment can trigger a large number of IntelliGen linting messages right off the bat. Don't let this freak you out! This does not mean that migration will be a long effort as quite often some slight changes to an environment remove a large number of identified issues. I recently encountered a situation where a simple change to three locations in the environment, removed 500+ ICFSs!The methods included in the utility can be used to report information on the following:- Number of e modules - Number of lines in the environment (including blanks and comments)- Number and type of IntelliGen Guidelines linting messages- Number of Inconsistently Connected Field Sets (ICFSs)- Number of ICFS contexts and how many ICFSs per context- Number of soft..select overlays found in the envioronment- Number of Laces identified in the environmentTo use the code below, simply load it before/after loading e-code and then you can execute any of the following methods:- sys.print_file_stats() : prints # of lines and files - sys.print_constraint_stats() : prints # of constraints in the environment- sys.print_guideline_stats() : prints # of each type of linting message- sys.print_icfs_stats() : prints # of ICFSs, contexts and #ICFS/context- sys.print_soft_select_stats() : prints # of soft select overlay issues- sys.print_lace_stats() : *Only works for SPMNv6.2s4 and later* prints # of laces identified in the environmentEach of the above calls to methods produces it's own log files (stored in the current working directory) containing relevant information for more detailed analysis. - file_stats_log.elog : Output of "show modules" command- constraint_log.elog : Output of the "show constraint" command- guidelines_log.elog : Output of "gen lint -g" (with notification set to MAX_INT in order to get all warnings)- icfs_log.elog : Output of "gen lint -i" command- soft_select_log.elog: Output of the "gen lint -s" command- lace_log.elog : Output of the "show lace" commandHappy generating!Corey Goss Full Article
y Einstein's puzzle (System Verilog) solved by Incisive92 By community.cadence.com Published On :: Fri, 20 Nov 2009 17:54:07 GMT Hello All,Following is the einstein's puzzle solved by cadence Incisive92 (solved in less than 3 seconds -> FAST!!!!!!) Thanks,Vinay HonnavaraVerification engineer at Keyu Techvinayh@keyutech.com // Author: Vinay Honnavara// Einstein formulated this problem : he said that only 2% in the world can solve this problem// There are 5 different parameters each with 5 different attributes// The following is the problem// -> In a street there are five houses, painted five different colors (RED, GREEN, BLUE, YELLOW, WHITE)// -> In each house lives a person of different nationality (GERMAN, NORWEGIAN, SWEDEN, DANISH, BRITAIN)// -> These five homeowners each drink a different kind of beverage (TEA, WATER, MILK, COFFEE, BEER),// -> smoke different brand of cigar (DUNHILL, PRINCE, BLUE MASTER, BLENDS, PALL MALL)// -> and keep a different pet (BIRD, CATS, DOGS, FISH, HORSES)///////////////////////////////////////////////////////////////////////////////////////// *************** Einstein's riddle is: Who owns the fish? ***************************////////////////////////////////////////////////////////////////////////////////////////*Necessary clues:1. The British man lives in a red house.2. The Swedish man keeps dogs as pets.3. The Danish man drinks tea.4. The Green house is next to, and on the left of the White house.5. The owner of the Green house drinks coffee.6. The person who smokes Pall Mall rears birds.7. The owner of the Yellow house smokes Dunhill.8. The man living in the center house drinks milk.9. The Norwegian lives in the first house.10. The man who smokes Blends lives next to the one who keeps cats.11. The man who keeps horses lives next to the man who smokes Dunhill.12. The man who smokes Blue Master drinks beer.13. The German smokes Prince.14. The Norwegian lives next to the blue house.15. The Blends smoker lives next to the one who drinks water.*/typedef enum bit [2:0] {red, green, blue, yellow, white} house_color_type;typedef enum bit [2:0] {german, norwegian, brit, dane, swede} nationality_type;typedef enum bit [2:0] {coffee, milk, water, beer, tea} beverage_type;typedef enum bit [2:0] {dunhill, prince, blue_master, blends, pall_mall} cigar_type;typedef enum bit [2:0] {birds, cats, fish, dogs, horses} pet_type;class Einstein_problem; rand house_color_type house_color[5]; rand nationality_type nationality[5]; rand beverage_type beverage[5]; rand cigar_type cigar[5]; rand pet_type pet[5]; rand int arr[5]; constraint einstein_riddle_solver { foreach (house_color[i]) foreach (house_color[j]) if (i != j) house_color[i] != house_color[j]; foreach (nationality[i]) foreach (nationality[j]) if (i != j) nationality[i] != nationality[j]; foreach (beverage[i]) foreach (beverage[j]) if (i != j) beverage[i] != beverage[j]; foreach (cigar[i]) foreach (cigar[j]) if (i != j) cigar[i] != cigar[j]; foreach (pet[i]) foreach (pet[j]) if (i != j) pet[i] != pet[j]; //1) The British man lives in a red house. foreach(nationality[i]) (nationality[i] == brit) -> (house_color[i] == red); //2) The Swedish man keeps dogs as pets. foreach(nationality[i]) (nationality[i] == swede) -> (pet[i] == dogs); //3) The Danish man drinks tea. foreach(nationality[i]) (nationality[i] == dane) -> (beverage[i] == tea); //4) The Green house is next to, and on the left of the White house. foreach(house_color[i]) if (i<4) (house_color[i] == green) -> (house_color[i+1] == white); //5) The owner of the Green house drinks coffee. foreach(house_color[i]) (house_color[i] == green) -> (beverage[i] == coffee); //6) The person who smokes Pall Mall rears birds. foreach(cigar[i]) (cigar[i] == pall_mall) -> (pet[i] == birds); //7) The owner of the Yellow house smokes Dunhill. foreach(house_color[i]) (house_color[i] == yellow) -> (cigar[i] == dunhill); //8) The man living in the center house drinks milk. foreach(house_color[i]) if (i==2) // i==2 implies the center house (0,1,2,3,4) 2 is the center beverage[i] == milk; //9) The Norwegian lives in the first house. foreach(nationality[i]) if (i==0) // i==0 is the first house nationality[i] == norwegian; //10) The man who smokes Blends lives next to the one who keeps cats. foreach(cigar[i]) if (i==0) // if the man who smokes blends lives in the first house then the person with cats will be in the second (cigar[i] == blends) -> (pet[i+1] == cats); foreach(cigar[i]) if (i>0 && i<4) // if the man is not at the ends he can be on either side (cigar[i] == blends) -> (pet[i-1] == cats) || (pet[i+1] == cats); foreach(cigar[i]) if (i==4) // if the man is at the last (cigar[i] == blends) -> (pet[i-1] == cats); foreach(cigar[i]) if (i==4) (pet[i] == cats) -> (cigar[i-1] == blends); //11) The man who keeps horses lives next to the man who smokes Dunhill. foreach(pet[i]) if (i==0) // similar to the last case (pet[i] == horses) -> (cigar[i+1] == dunhill); foreach(pet[i]) if (i>0 & i<4) (pet[i] == horses) -> (cigar[i-1] == dunhill) || (cigar[i+1] == dunhill); foreach(pet[i]) if (i==4) (pet[i] == horses) -> (cigar[i-1] == dunhill); //12) The man who smokes Blue Master drinks beer. foreach(cigar[i]) (cigar[i] == blue_master) -> (beverage[i] == beer); //13) The German smokes Prince. foreach(nationality[i]) (nationality[i] == german) -> (cigar[i] == prince); //14) The Norwegian lives next to the blue house. foreach(nationality[i]) if (i==0) (nationality[i] == norwegian) -> (house_color[i+1] == blue); foreach(nationality[i]) if (i>0 & i<4) (nationality[i] == norwegian) -> (house_color[i-1] == blue) || (house_color[i+1] == blue); foreach(nationality[i]) if (i==4) (nationality[i] == norwegian) -> (house_color[i-1] == blue); //15) The Blends smoker lives next to the one who drinks water. foreach(cigar[i]) if (i==0) (cigar[i] == blends) -> (beverage[i+1] == water); foreach(cigar[i]) if (i>0 & i<4) (cigar[i] == blends) -> (beverage[i-1] == water) || (beverage[i+1] == water); foreach(cigar[i]) if (i==4) (cigar[i] == blends) -> (beverage[i-1] == water); } // end of the constraint block // display all the attributes task display ; foreach (house_color[i]) begin $display("HOUSE : %s",house_color[i].name()); end foreach (nationality[i]) begin $display("NATIONALITY : %s",nationality[i].name()); end foreach (beverage[i]) begin $display("BEVERAGE : %s",beverage[i].name()); end foreach (cigar[i]) begin $display("CIGAR: %s",cigar[i].name()); end foreach (pet[i]) begin $display("PET : %s",pet[i].name()); end foreach (pet[i]) if (pet[i] == fish) $display("THE ANSWER TO THE RIDDLE : The %s has %s ", nationality[i].name(), pet[i].name()); endtask // end display endclassprogram main ; initial begin Einstein_problem ep; ep = new(); if(!ep.randomize()) $display("ERROR"); ep.display(); endendprogram // end of main Full Article
y memory leak in ncsim By community.cadence.com Published On :: Fri, 16 Aug 2013 06:32:51 GMT ncsim will consume an increasing ammount of memory when a function has an output port that return an associative array which was not initialized. My simulator version is 12.10-s011.Below is a code example to reproduce the failure. The code is inside a class (uvm_object): function void a_function(output bit ret_val[int]); // empty endfunction : get_coveach time the call is done a small ammount of memory is allocated. I n my case I call this function several (millions of) times during simulation and then I can see the memory leaking. Full Article
y X-FAB's Innovative Communication and Automotive Designs: Powered by Cadence EMX Planar 3D Solver By community.cadence.com Published On :: Sun, 31 Jul 2022 17:01:00 GMT Using the EMX solver, X-FAB design engineers can efficiently develop next-generation RF technology for the latest communication standards (including sub-6GHz 5G, mmWave, UWB, etc.), which are enabling technologies for communications and electric vehicle (EV) wireless applications. (read more) Full Article EM Analysis electromagnetics in-design analysis reference design Electromagnetic analysis PDK foundry
y Japan Aviation Electronics is First to Support IP Protected Models for Cadence Clarity 3D Solver By community.cadence.com Published On :: Tue, 16 Aug 2022 04:08:00 GMT With the latest release (Sigrity and Systems Analysis 2022.1 HF2) of Clarity 3D Solver, support for encrypted component models is now available. With this functionality, vendors that supply 3D components, such as connectors, can now merge their...(read more) Full Article connector EM Clarity 3D Solver Systems Analysis JAE
y BoardSurfers: Training Insights: User Interface Enhancements for Allegro Layout Editors By community.cadence.com Published On :: Fri, 19 Aug 2022 12:03:00 GMT If you have seen any images or demonstrations of the 17.4-2019 release, the GUI may look ...(read more) Full Article digital badge 17.4 BoardSurfers 17.4-2019 Training Insights Allegro PCB Editor online training Allegro
y Clarity Encrypted Connectors! By community.cadence.com Published On :: Mon, 22 Aug 2022 00:25:00 GMT Cadence Clarity 3D Solver supports encrypted component models! Using this functionality, vendors can supply their 3D components, such as connectors, to end customers without revealing the physical IP of these designs. The first connector vendor to take advantage of this functionality is Japan Aviation Electronics (JAE),(read more) Full Article encryption in-design analysis connectors Electromagnetic analysis
y Sigrity and Systems Analysis 2022.1 HF2 Release Now Available By community.cadence.com Published On :: Tue, 23 Aug 2022 17:45:00 GMT The Sigrity and Systems Analysis (SIGRITY/SYSANLS) 2022.1 HF2 release is now available for download at Cadence Downloads. For the list of CCRs fixed in the 2022.1 HF2 release, see the README.txt file in the installation hierarchy.(read more) Full Article Sigrity and Systems Analysis Celsius Thermal Solver Sigrity XcitePI Sigrity PowerSI Sigrity Broadband SPICE Sigrity XtractIM Sigrity PowerDC EM Clarity 3D Solver T2B Clarity 3D Workbench JAE
y Quickchat Video Interview: Introducing Cadence Optimality and OnCloud for Systems Analysis and Signoff By community.cadence.com Published On :: Tue, 30 Aug 2022 15:05:00 GMT Microwaves & RF's David Maliniak interviews Sherry Hess of Cadence about recently announced products of Optimality and OnCloud.(read more) Full Article SaaS in-design analysis optimization multiphysics
y BoardSurfers: Managing Design Constraints Efficiently Using Constraint Sets By community.cadence.com Published On :: Wed, 07 Sep 2022 13:44:00 GMT A constraint is a user-defined property, or a rule, applied to a physical object, such as a net, pin, or via in a design. There are a number of constraints that can be applied to an object based on its type and behavior. For example, you can define t...(read more) Full Article PCB 17.4 BoardSurfers PCB Editor Constraint Manager 17.4-2019 PCB design Constraints Allegro PCB Editor Constraint Set Allegro
y Modern Thermal Analysis Overcomes Complex Electronic Design Issues By community.cadence.com Published On :: Tue, 13 Sep 2022 14:53:00 GMT By combining finite element analysis with computational fluid dynamics, designers can perform complete thermal system analysis using a single tool.(read more) Full Article in-design analysis Thermal Analysis electronic cooling
y Error with launching Python Script Via AWRDE VBA Script By community.cadence.com Published On :: Sun, 11 Feb 2024 03:23:21 GMT Hello Team,I am currently following this AWR script posted on them, to run a python script directly from inside AWR using VBA script. Launching Python from AWRDE VBA Script - AWR Scripts - AWR Knowledgebase Following all the basic steps with no changes to the code. I have Vscode and python-3.12.2 installed in my system. This is the error I am getting while running this code. Thank you for your help Best Regards SID Full Article
y Error when trying to generate SUL license (-8) By community.cadence.com Published On :: Tue, 09 Apr 2024 15:08:36 GMT Hi, newbie here. We are using AWR Design Enviroment in our university and so I have to install it (OS: Arch Linux)I installed it in a Windows 10 VM without problems. When I try to start it prompts "Failed to connect to license server", I guess thats the first problem. After that when trying to generate my SUL License it will prompt Internal Error -8 (see Image) I can't find something on Error -8 :/ and overall the available data to the license topic is quit low :/If someone has a solution for that I would gladly hear about it :) Full Article
y Crystal Oscillators By community.cadence.com Published On :: Thu, 23 May 2024 22:58:45 GMT Hello, Currently i am designing a 96MHZ crystal oscillator using pierce topology and also I use for amplitude gain control circuit for regulation. The problem is when i run a PSS + Pnoise i get these warnings : WARNING (CMI-2375): M2: Vgs has exceeded the oxide breakdown voltage of `vbox' = 6 V. WARNING (CMI-2375): M4: Vgs has exceeded the oxide breakdown voltage of `vbox' = 6 V. WARNING (CMI-2377): M4: Vgd has exceeded the oxide breakdown voltage of `vbox' = 6 V. WARNING (CMI-2377): M3: Vgd has exceeded the oxide breakdown voltage of `vbox' = 6.6 V. and also WARNING (CMI-2682): M5: The bulk-drain junction forward bias voltage (1.38154 V) exceeds VjdmFwd'=851.514mV ,The results are now incorrect because the junction current model has been linearized Note : i am using Supply 1.2 V hence it is not possible to exceed the oxide breakdown. So i am asking why i am getting these warnings , it could be a convergence problem and the Results computed are not corrected. Also when running DC and transient , i don't get these warnings. Full Article
y Measuring DDJ (data dependent jitter). Cross function on eye-diagram By community.cadence.com Published On :: Fri, 31 May 2024 14:18:07 GMT Hi,My Virtuoso and Spectre Version: ICADVM20.1-64b.NYISR30.2I plot an eye diagram using a built in function. I want to see the data-dependent jitter. I want to measure the eye diagram edges at zero crossing (width of that diamond part) shown in the pic by vertical and horizontal markers. I can put a marker and read the numbers there and get what I want. But now I want to run Monte Carlo and I can't do this for all samples. I wish I could write an expression for this. Unfortunately, I see that the function "cross" is not working on the eye diagram. Basically, when I send the eye diagram data to a table, I see that it actually is just the prbs data and not the eye diagram data. Is there a hack that can help me achieve my goal which is: having an expression to measure the edges of the eye diagram at zero crossing?There is a script that Andrew wrote (https://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin%3AViewSolution%3BsolutionNumber%3D11395772). This is a good script but it puts all edges on top of each other. I want to distinguish the two edges. In the attached pic (two-period eye diagram) you can see what I mean by the two edges (diamond shapes). I want to measure each of the two and take the maximum. Having all the edges on top of each other won't give me what I want. All edges together will lso include DCD. I purely want to measure DDJ. DCD is measured separately. I have very little experience with writing scripts and could not modify Andrew's script.Your help is much appreciated. Thank you. Full Article
y PSS Shooting - High Q crystal oscillator - Simulator by mistake detects a frequency divider By community.cadence.com Published On :: Wed, 07 Aug 2024 12:58:28 GMT Hi *, I am simulating a 32kHz high Q crystal oscillator with a pulse shaping circuit. I set up a PSS analysis using the Shooting Newton engine. I set a beat frequency of 32k and used the crystal output and ground as reference nodes. After the initial transient the amplitude growth was already pretty much settled such that the shooting iterations could continue the job. My problem is: In 5...10% of my PVT runs the simulator detects a frequency divider in the initial transient simulation. The output log says: Frequency divided by 3 at node <xxx> The Estimated oscillating frequency from Tstab Tran is = 11.0193 kHz . However, the mentioned node is only part of the control logic and is always constant (but it has some ripples and glitches which are all less than 30uV). These glitches spoil my fundamental frequency (11kHz instead of 32kHz). Sometimes the simulator detects a frequency division by 2 or 3 and the mentioned node <xxx> is different depending on PVT - but the node is always a genuine high or low signal inside my control logic. How can I tell the simulator that there is no frequency divider and it should only observe the given node pair in the PSS analysis setup to estimate the fundamental frequency? I have tried the following workarounds but none of them worked reliably: - extended/reduced the initial transient simulation time - decreased accuracy - preset override with Euler integration method for the initial transient to damp glitches - tried different initial conditions - specified various oscillator nodes in the analysis setup form By the way, I am using Spectre X (version 21.1.0.389.ISR8) with CX accuracy. Thanks for your support and best regards Stephan Full Article
y Cross-coupled oscillator Stability simulation By community.cadence.com Published On :: Thu, 10 Oct 2024 10:21:33 GMT Hello everyone, For my cross-coupled oscillator design, I have a problem with stability analysis. Based on my achieved results which are attached, where is my design problem? Best, https://ibb.co/bgKFP4N https://ibb.co/3FGRLmV https://ibb.co/pwSZDSF Full Article
y Virtuosity: Reliability Analysis Report-Reliable Results Made Interactive By community.cadence.com Published On :: Thu, 09 Jun 2022 07:47:00 GMT Read through this blog to know more about the new Reliability Report view in Virtuoso ADE Assembler and Virtuoso ADE Explorer.(read more) Full Article SQLite Stress Analysis Analog Design Environment ADE Explorer Reliability Report Virtuoso Analog Design Environment Virtuoso Spectre Virtuosity ISR21 Virtuoso Video Diary ICADVM20.1 SQLite Operator aging ISR26 reliability analysis custom reliability data filter Custom IC IC6.1.8 ADE Assembler
y Virtuoso Meets Maxwell: Getting Your Existing SiP File Into Virtuoso RF Solution By community.cadence.com Published On :: Tue, 21 Jun 2022 13:44:00 GMT I have been involved in the Virtuoso RF Solution for the last four years. Most of the customers I work with have a SiP package already in progress. They often ask "How do I get my SiP design into Virtuoso RF Solution?" I am excited about new functionality in the latest ICADVM20.1 ISR25 release. It is a new GUI under the Tools menu called Enablement. (read more) Full Article SiP Enablement GUI Virtuoso Meets Maxwell Virtuoso RF Solution Virtuoso RF Allegro Package Designer Plus Assisted Export System Design Environment RF design SiP Layout Option Custom IC Design Assisted Flows Assisted Import Allegro
y Spectre Tech Tips: Accuracy 101 By community.cadence.com Published On :: Thu, 30 Jun 2022 16:33:00 GMT In this post, we will learn about the most important parameters for the analog simulators that affect the accuracy of the simulation results. We will also understand how each parameter limits the accuracy of the measurements for the DC and transient analyses.(read more) Full Article Analog Simulation accuracy analog vabstol Spectre Simulators iabstol reltol spectre x Spectre X Simulator
y Start Your Engines: AMS Flex – Our Next Generation Architecture Matures By community.cadence.com Published On :: Wed, 06 Jul 2022 05:05:00 GMT An AMS Designer Flex simulation gives you the most immediate access to the latest simulation technology on either side, gets out of the way of the core engines and allows the engine performance to shine while providing access to new features. Check out this blog to know more.(read more) Full Article AMS Designer AMSD Start Your Engines Mixed-Signal AMSD Flex Mode mixed-signal design Cadence Community AMS Flex