si Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer: Pt. 2 By community.cadence.com Published On :: Wed, 26 Jun 2024 20:00:00 GMT At a bustling Cadence event, we met Adrian, an intern at a startup who immerses himself in Cadence tools for his research and work. Adrian was enthusiastic about the innovative technologies at his disposal but faced a significant challenge: internet access was limited to a single machine for new joiners, forcing interns to wait in line for their turn to use online resources. Adrian's excitement soared when he discovered a game-changing solution: Doc Assistant. The cloud-based help viewer, Doc Assistant, ships with all Cadence tools, enabling Adrian to access help resources offline from any machine equipped with the software. This meant Adrian could continue his research and work seamlessly, irrespective of internet availability! Meeting Cadence users and customers at such events has given us the opportunity to showcase how they can benefit from the diverse features that Doc Assistant offers. With that note, welcome back to our Doc Assistant A-Z blog series! In Part 1, we explored key features and benefits that our innovative viewer brings to the table. Today, in Part 2, we'll dive deeper into the advanced functionalities and customization options that make Doc Assistant indispensable for its users. Whether you're looking to streamline your workflow or enhance your user experience, this blog will provide the insights you need to fully leverage the capabilities of our documentation viewer. Let’s get started! What Makes Doc Assistant Stand Out? Here are a few (more) cool features of Doc Assistant! History and Bookmarks: Want to refer to the topic you read last week? Of course, you can! Doc Assistant stores your browsing activity as History. You can also bookmark topics and revisit them later. Indexing Capabilities: Looking for seamless search capabilities? The advanced indexing capabilities of Doc Assistant enhance the accessibility and manageability of documents. Doc Assistant automatically creates a search index if it is missing or broken. Jump Links: Worried about scrolling through lengthy topics? Fret no more! Use the jump links in each topic to quickly navigate to different sections within the same topic or across topics. Jump links reduce the need for excessive scrolling and let you access relevant content swiftly. Just-in-Time Notifications: Looking for alerts and messages? That’s supported. Doc Assistant displays notifications about important events, including errors, warnings, information, and success messages. Keyword-Based Search Suggestions: You somewhat know your search keyword, but not quite sure? No worries. Just start typing what you know. Keyword and page suggestions are displayed dynamically as you type, providing a more sophisticated and intuitive search experience. Library-Switch Support: Want to view documents from other libraries? Doc Assistant, by default, displays documents for the currently active release in your machine. You can access documents from other releases by configuring the associated documentation libraries. Multimedia Support: Want to view product demos? Multimedia support in Doc Assistant lets you play videos, listen to audio, and view images without opening any external application. Navigation Made Easy: Worried that you’ll get lost in an infinite doc loop? Not at all. The intuitive navigation controls in Doc Assistant are designed to provide you with a fluid and efficient experience. The Doc Assistant user interface is clean and logically organized, with easy-to-access documentation links. That's not all. We have more coming your way. Until next time, take care and stay tuned for our next edition! Want to Know More? Here's a video about Doc Assistant Visit the Doc Assistant web page Read the Doc Assistant FAQ document For any questions or general feedback, write to docassistant.support@cadence.com. Subscribe to receive email notifications about our latest Custom IC Design blog posts. Happy reading! -Priya Sriram, on behalf of the Doc Assistant Team Full Article In-Tool Help user documentation in-built help Cloud-Based Help Doc Assistant
si Knowledge Booster Training Bytes - Writing Physical Verification Language Rules By community.cadence.com Published On :: Wed, 03 Jul 2024 08:56:00 GMT Have you ever wanted to write a DRC rule deck to check for space or width constraints on polygons? Or have you wondered how the multiple lines of an LVS rule deck extract and conduct a comparison between the schematic and layout? Maybe you've been curious about the role of rule deck writers in creating high-quality designs ready for tape-out. If any of these questions interest you, there is good news: the latest version (v23.1) of the Physical Verification Rules Writer (PVLRW) course is designed to teach you rule deck writing. This free 16-hour online course includes audio and labs designed to make your learning experience comfortable and flexible. Whether you are new to the concept or an experienced CAD/PDK engineer, the course is structured to enhance your rule deck writing skills. The PVLRW course covers six core modules: Layer Processing, DRC Rules, Layout Extraction, ERC and LVS Rules, Schematic Netlisting, and Coloring Rules. There are also three optional appendix sections. Each module explains relevant rules with syntax, concepts, graphics, examples, and case studies. This course is based on tool versions PEGASUS231 and Virtuoso Studio IC231. Pegasus Input and Output Pegasus is a cloud-ready physical verification signoff solution that enables engineers to support faster delivery of advanced-node integrated circuits (ICs) to market. Pegasus requires input data in the form of layout geometry, schematic netlists, and rules that direct the tool operation. The rules fall into two categories: those that describe the fabrication process and those that control the job-specific operation. Pegasus provides log and report files, netlists, databases, and error databases as output. Overview of Pegasus Rule File The rule decks written in Physical Verification Language (PVL) work for the Cadence PV signoff tools Pegasus and PVS (Physical Verification System). The PVL rules are placed in a file that gets selected in a run from the GUI or the command line, as the user directs. PVL rules may be on separate lines within the file and can also be contained in named rule blocks. Each line of code starts with a PVL rule that uses prefix type notation. It consists of a keyword followed by options, input layer or variable names, and output layer or variable names. A rule block has the format of the keyword rule, followed by a rule name you wish to give it, followed by an opening curly brace. You enter the rules you wish to perform, followed by a closing curly brace on the last separate line. Sample Rule deck with individual lines of code and rule blocks. DRC Rules The first step in a typical Pegasus flow is a Design Rule Check (DRC), which verifies that layout geometries conform to the minimum width, spacing, and other fabrication process rules required by an IC foundry. Each foundry specifies its own process-dependent rules that must be met by the layout design. There are three types of DRC rules: layer definition rules, layer derivation rules, and DRC design check rules. Layer definition rules identify the layers contained in the input layout database, and layer derivation rules derive additional layers from the original input layers, allowing the tool to test the design against specific foundry requirements using the design check rules. A sample DRC Rule deck A layout view displaying the DRC violations LVS Rules The Pegasus Layout Versus Schematic (LVS) tool compares the layout netlist with the schematic netlist to check for discrepancies. There are two essential LVS rule sets: LVS extraction rules and comparison rules. LVS extraction rules help extract drawn devices and connectivity information from the input layout geometry data and outputs into a layout netlist. The LVS extraction rule set also includes the layer definition, derivation, extraction, connectivity, and net listing rules. LVS comparison rules are associated with comparing the extracted layout netlist to a schematic netlist. A sample LVS Rule deck. TCL, Macros, and Conditional commands Tcl is supported and used in various Pegasus functionalities, such as Pegasus rule files and Pegasus configurator. Macros are functional templates that are defined once and can be used multiple times in a rule file. Conditional Commands are used to process or skip specific commands in the rule file. Do You Have Access to the Cadence Support Portal? If not, follow the steps below to create your account. On the Cadence Support portal, select Register Now and provide the requested information on the Registration page. You will need an email address and host ID to sign up. If you need help with registration, contact support@cadence.com. To stay up to date with the latest news and information about Cadence training and webinars, subscribe to the Cadence Training emails. If you have questions about courses, schedules, online, public, or live onsite training, reach out to us at Cadence Training. For any questions, general feedback, or future blog topic suggestions, please leave a comment. Related Resources Product Manuals Cadence Pegasus Developers Guide Rapid Adoption Kits Running Pegasus DRC/LVS/FILL in Batch Mode Training Byte Videos What Is the Run Command File? How to Run PVS-Pegasus Jobs in GUI and Batch modes? PVS DRC Run From - Setup Rules What Is PVS/Pegasus Layer Viewer? PVL Coloring Ruledecks with Docolor and Stitchcolor PLV Commands: dfm_property with Primary & Secondary Layer PVS Quantus QRC Overview Online Courses Pegasus Verification System PVS (Physical Verification System) Virtuoso Layout Design Basics About Knowledge Booster Training Bytes Knowledge Booster Training Bytes is an online journal that relays information about Cadence Training videos, online courses, and upcoming webinars in the Learning section of the Cadence Learning and Support portal. This blog category brings you direct links to these videos, courses, and other related material on a regular basis. Subscribe to receive email notifications about our latest Custom IC Design blog posts. Full Article Virtuoso Studio Routing Layout Suite Cadence training training bytes Circuit Design Cadence Education Services Custom IC Design online training
si Virtuoso Studio IC 23.1: Using Net Tracer for Design Review By community.cadence.com Published On :: Tue, 06 Aug 2024 09:18:00 GMT This blog explores how Virtuoso Studio Net Tracer can help you perform a design review. We’ll use the net connectivity option, which allows the user to get a clean highlighted net. You can use the Net Tracer tool to highlight the nets. You can find the Net Tracer command under the connectivity pulldown menu in the layout window. Trace manager and the ability to display different islands on the same net with other colors, you can identify and connect the unconnected islands as you wish. The Net Tracer utility traces the nets in the physical view (layout). The trace is a highlighted net, which is a non-selectable object. The Net Tracer utility is available from Virtuoso Layout Suite XL onwards. You can use this utility based on your specific needs and preferences. For a better understanding of the Net Tracer feature, let’s see one scenario between the circuit designer and layout engineer for a layout design review. Circuit designer: Can we go through the routed input nets “inm” and “inp”? Layout engineer: From the below layout view where they are highlighted using the XL connectivity, today I will use Net Tracer utility for the design review. Circuit designer: I have never heard of this feature. Let's see how it works. Layout engineer: Sure, now we turn on the Net Tracer toolbar using the below option. You see the Net Tracer options form here: As you can see on my screen, I have opened the layout view and engaged the Net Tracer utility. Net Tracer allows shapes to be traced on a net in two tracing modes, namely, physical and logical, where shapes on the same net are physically or logically connected. Physical tracing gathers all the shapes physically connected on the same net. Logical tracing gathers all the shapes assigned to the same net. It highlights the net as in the source design (schematic). It will highlight shapes on the same net, even if they are isolated shapes that are not physically connected. For this scenario, let us use physical tracing for input nets “inm” and “inp." Highlighted nets are shown below: Net “inm” Net “inp” Nets “inm” and “inp” Net Tracer has features like physical and logical tracing, preview, step-by-step mode, ease of tracing a net on a shape out of multiple underlying shapes, and so on. Let us explore logical tracing for output nets “outm” and “outp”: Here, you can see how to enable true color and halo before enabling logical tracing to identify the metal route. After enabling the true color halo, enable the logical trace. Here, I am opening the trace manager to search “outm” and “outp” and click trace. That will trace the particular nets as shown. Net Tracer has a preview feature, which is helpful in terms of the number of previewed objects. This preview capability hints at how the trace would appear when you create it. This useful feature in Virtuoso Studio highlights both completed and incomplete nets, helping the user better understand the status of the highlighted nets. Circuit designer: Thanks for the design review. You have done good work. Net Tracer clearly shows both types of tracing, and it was even easy for the circuit designer to understand. Layout engineer: Let me share the link to the Net Tracer RAK, where other layout engineers can explore many more amazing features of the Net Tracer. Do You Have Access to the Cadence Support Portal? If not, follow the steps below to create your account. On the Cadence Support portal, select Register Now and provide the requested information on the Registration page. You will need an email address and host ID to sign up. If you need help with registration, contact support@cadence.com. To stay up to date with the latest news and information about Cadence training and webinars, subscribe to the Cadence Training emails. If you have questions about courses, schedules, online, public, or live onsite training, reach out to us at Cadence Training. For any questions, general feedback, or future blog topic suggestions, please leave a comment. Become Cadence Certified Cadence Training Services now offers digital badges for this training course. These badges indicate proficiency in a certain technology or skill and give you a way to validate your expertise to managers and potential employers. You can highlight your expertise by adding these digital badges to your email signature or any social media platform, such as Facebook or LinkedIn. To become Cadence Certified, you can find additional information here. Related Resources Videos Invoking the MarkNet, Net Tracer command and its options Net Tracer Features Video: Net Tracer saving and loading saved trace, neighboring shapes of trace Net Tracer: Physical Tracing – Step mode Net Tracer: Physical and Logical Tracing Video: Net Tracer show preview option, from net and display options, shape count in trace Video: Net Tracer using a constraint group with different display mode settings and using the Trace Manager GUI RAK Introduction to Net Tracer Product manual Virtuoso Layout Suite XL: Connectivity Driven Editing User Guide IC23.1 About Knowledge Booster Training Bytes Knowledge Booster Training Bytes is an online journal that relays information about Cadence Training videos, online courses, and upcoming webinars that are available in the Learning section of the Cadence Learning and Support portal. This blog category brings you direct links to these videos, courses, and other related material on a regular basis. Sandhya. On behalf of the Cadence Training team Full Article IC 23.1 Analog Design Environment Cadence blogs Virtuoso Studio custom/analog cadence review design review analog Virtuoso RF Layout EXL training Layout Suite Virtuoso Analog Design Environment training bytes Layout Virtuoso design Virtuoso Video Diary Analog Layout Automation Analog Layout Custom IC Design Net Tracer Virtuoso Layout Suite Custom IC blog
si Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer Part 3 By community.cadence.com Published On :: Tue, 01 Oct 2024 05:16:00 GMT Welcome back to the Doc Assistant A-Z blog series! Since the launch of Doc Assistant, we've been gathering feedback and input from our customers regarding their experiences with our latest documentation viewer. My interaction with Ralf was particularly useful and interesting. Ralf is a design engineer who works on complex schematics and intricate layouts. For each release, he is challenged with the task of verifying the tool and feature changes across multiple releases. He shared with me that he has been using Doc Assistant’s capabilities to help him achieve this. Ralf explained that he utilizes Doc Assistant to open and compare documents from different releases side-by-side, seamlessly tracking updates across multiple releases and verifying those updates in his Cadence tools. Additionally, in Doc Assistant’s online mode, he compares documents across previous tool versions, ensuring a thorough review of any changes. Finally, he was happy to share with me that Doc Assistant features have helped him significantly reduce the time he spends on identifying such changes. You, of course, can also achieve such productivity gains using several Doc Assistant features designed to help simplify such tasks! In previous editions of this blog series, we looked at some key features and benefits of Doc Assistant. If you've missed these editions, I would highly recommend that you read them: Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer: Part 1 Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer: Part 2 In this third installment, we're diving into some more of Doc Assistant's key capabilities. Open Multiple Documents Want to refer to multiple docs at the same time? That’s easy! Open each doc on a separate tab in Doc Assistant. Personalized Content Recommendations Is it a hassle to navigate through all docs each time? You don’t have to. You can tailor your Doc Assistant preferences to match your content requirements. PDF Support Do you prefer downloading and reading a PDF instead of an HTML? That’s also supported. Quick Access to Relevant Search Results Are you pressed for time, and yet want to run a comprehensive doc search? You’re covered. In online mode, search runs on all available product documentation, and the results are listed from multiple sources. Resource Links Looking for more information about a topic you’ve just read? That’s handy. Look out for content recommendations! Share Content Want to share a useful doc with the rest of your team? That’s easy. With a single click, Doc Assistant lets you share content with one or more readers. Submit Feedback Your feedback is important to us. Use the Submit Feedback feature to share your comments and inputs. To learn more about how to use the above features, check out the Doc Assistant User Guide. These are just a few of the productivity gain features in Doc Assistant. We’ll cover more in the next blog in the series. Want to Know More? Here's a video about Doc Assistant Visit the Doc Assistant web page Read the Doc Assistant FAQ document If you have any feedback on Doc Assistant or would like to request more information or a demo, please contact docassistant.support@cadence.com. Subscribe to receive email notifications about our latest Custom IC Design blog posts. Happy reading! - Priya Sriram, on behalf of the Doc Assistant Team Full Article In-Tool Help user documentation in-built help Cloud-Based Help Doc Assistant
si Orcad PCB (allegro) not using GPU over USB By community.cadence.com Published On :: Mon, 13 Dec 2021 16:19:21 GMT Hi, I have a monitor plugged to my laptop using a HDMI to USB adapter. When using this adapter, Allegro runs very slowly. It seems that it is not using my video card. Is this a known issue with a workaround I can try? Thanks, Michael Full Article
si datasheets for difference of Allegro PCB and OrCAD Professional By community.cadence.com Published On :: Tue, 14 Dec 2021 09:08:17 GMT Hi All I am looking for the functions which are different about OrCAD Professional and Allegro tier. is there any resource? regard Full Article
si 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
si Allegro PCB Design Link issue By community.cadence.com Published On :: Wed, 15 Dec 2021 09:02:56 GMT Hi All I followed tutorial video below for using Design link https://www.youtube.com/watch?v=f9JmFF8lqA0 and I followed the video with embedded board design file which should be same one on video I did every set. but at 2:55 of video, Steve have the tabs of both design names on top of Constraint Manager in video but my one didn't exist them which one would be different? there was some comment on command windows but I think they would not be problem here regard Full Article
si Version upgrade 17.2 to 17.4 - Cadance orcad capture By community.cadence.com Published On :: Tue, 21 Dec 2021 10:49:08 GMT hello, We have a number of workstations with version 17.2 that work on a floating license server We want to know if it can be upgraded to version 17.4 If so, should the floating license server be upgraded as well? In addition, how can you know where the license was purchased from? Thanks! Full Article
si 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
si Netlisting error when doing parametric sweep on transient simulation By community.cadence.com Published On :: Wed, 23 Oct 2024 10:13:32 GMT Dear all, I defined two design variables in ADE Assembler, say V1 and V2, that define the voltage 1 and voltage 2 of a "vpulse" voltage source in my schematic. Then, I define V1 = 1.0, and V2 = 2.0, run a transient simulation, and everything is as expexcted. The source provides pulses between 1.0 V and 2.0 V. Next, I set V1 = 1.0:0.5:1.5, thereby creating a parametric sweep with 1.0 V and 1.5 V for V1. I keep V2 at 2.0 V. Then the simulation fails, and all I get is "netl err" in my Output Expressions and an error message that the results directory does not exist and nothing can be plotted: This is reasonable, as the results directory is deleted on starting a new simulation, and as there is no simulation result, none of my output expressions can be plotted. WARNING (OCN-6040): The specified directory does not exist, or the directory does not contain valid PSF results. Ensure that the path to the directory is correct and the directory has a logFile and PSF result files.WARNING (ADE-1065): No simulation results are available.ERROR (WIA-1175): Cannot plot waveform signals because no waveform data is available for plotting.One of the possible reasons can be that 'Save' check box for these signals are not selected in the Outputs Setup pane. Ensure that these check boxes are selected before you run the simulation. Normally, this kind of para,metric sweep is not a problem, I have done this many times before. There must be something special in THIS PARTICULAR test bench or simulator setup. The trouble is, I don't get any useful error messages. Does anyone know what might be the problem here OR where to find useful information to investigate further (log files stored somewhere)? Thank you! Regards, Volker P.S. Using Corners instead does not help either. Running it through all values by hand works, though. Full Article
si A problem with setup when Monte Carlo simulation starts By community.cadence.com Published On :: Thu, 24 Oct 2024 17:50:42 GMT Hi, When I try to run Monte Carlo it gives me a 3 items message for possible failure: 1. It says the machine selected in the current job setup policy isnot reachable 2. The Cadence hierarchy is not detected, not installed properly. or 3. Job start script (with a path and a name like swiftNetlistService#) is not found on the remote machines. Any recommendation on how to fix this? Full Article
si Cannot access individual noise contributions using SpectreMDL By community.cadence.com Published On :: Tue, 29 Oct 2024 12:21:23 GMT I have tried replicating the setup described in a previous post (here), with the proposed solution. The MDL measurements return a value of 0 for all exported result but the first. Using Viva I can actually see the correct value for each contribution. I am using :- Spectre 23.1.0.538.isr10- Viva IC23.1-64b.ISR8.40 What should I do differently? Thanks! ***** test.scs ***** r1 (1 0) res_model l=10e-6 w=2e-6 r2 (2 1) res_model l=15e-6 w=2e-6 vr (2 0) vsource dc=1.0 mag=1 model res_model resistor rsh=100 kf=1e-20*exp(dkf) parameters dkf=0 statistics { process { vary dkf dist=gauss std=0.5 } } noi (1 0) noise freq=1 /***** test.mdl *****/ alias measurement noi_test { run noi; export real noi_total=noi_test:out; export real r1_total=r1:total; export real r1_flicker=r1:fn; export real r1_thermal=r1:rn; export real r2_total=r2:total; export real r2_flicker=r2:fn; export real r2_thermal=r2:rn; } run noi_test **** test.measure **** Measurement Name : noi_testAnalysis Type : noisenoi_total = 6.9282e-06 r1_flicker = 0 r1_thermal = 0 r1_total = 0 r2_flicker = 0 r2_thermal = 0 r2_total = 0 Full Article
si 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
si How can I place stacked vias with the size exact same cut width without metals around? By community.cadence.com Published On :: Wed, 30 Oct 2024 12:40:16 GMT How can I place stacked vias with the size exact same cut width without metals around?As the red part only in the image below? Full Article
si 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
si Transient Simulation waveform abnormal By community.cadence.com Published On :: Sat, 02 Nov 2024 14:23:52 GMT Hello Everybody Recently, I want to design a high output Power Amplifier at 2.4GHz using TSMC 1P6M CMOS Bulk Process. I use its nmos_rf_25_6t transistor model to determine the approximate mosfet size I use the most common Common-Source Differential Amplifier topology with neutralizing capacitor to improve its stability and power gain performance Because I want to output large power, the size of mosfet is very large, the gate width is about 2mm, when I perform harmonic balance analysis, everything is alright, the OP1dB is about 28dBm (0.63Watt) But When I perform Transient simulation, the magnitude of voltage and current waveform at the saturation point is too small, for voltgae, Vpeaking is about 50mV, for current, Ipeaking is about 5mA I assume some reasons: the bsim4 model is not complete/ the virtuoso version is wrong (My virtuoso version is IC6.1.7-64b.500.21)/the spectre version is wrong (spectre version is 15.1.0 32bit)/the MMSIM version is wrong/Transient Simulation setting is wrong (the algorithm is select gear2only, but when I select other, like: trap, the results have no difference), the maxstep I set 5ps, minstep I set 2ps to improve simulation speed, I think this step is much smaller than the fundamental period (1/2.4e9≈416ps) I have no idea how to solve this problem, please help me! Thank you very very much! Full Article
si Characterization of Full adder that use transmission gates using liberate By community.cadence.com Published On :: Mon, 04 Nov 2024 17:59:38 GMT Hello,I'm trying to characterize a full adder that use transmission gate.Unfortunately, the power calculation are wrong for the cell are always negative.Is there any method or commands that can can help in power calculation or add the power consumption by the input pins to the power calculation ?Another question, Is liberate support the characterization or transmission gate cells as standard cells or I should use liberate AMS for these type of cells ?Thanks in advance,Tareq Full Article
si 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
si AMS simvision cannot load big psf.trn By community.cadence.com Published On :: Mon, 11 Nov 2024 18:27:49 GMT Hello all, I have run a simulation with a lot of instnaces extraction and the psf.trn is >= 200 Gb, I tried to load it with simvision and it just breaks. I would like to ask if there is a way to open this file, e.g. if I could read only some time window e.g. from 10us -> 15us. getVersion(t) "sub-version ICADVM20.1-64b.500.34 " XCELIUMMAIN23.03.001 thank you in advance Full Article
si 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
si Tagging uvm_errors in waveform file for post-processing By community.cadence.com Published On :: Thu, 08 Feb 2024 11:45:04 GMT Hi, Do anyone know if it's possible in simvision waveform viewer to see a timestamp of where uvm_errors/$errors occurred in a simulation via post-processing? Cheers, Antonio Full Article
si Using Xcelium, xrun -nogui option, where are the simulation results By community.cadence.com Published On :: Thu, 29 Feb 2024 18:23:56 GMT I'm completely new to Cadence. I've been able to run a very simple simulation with the -gui option. Simvision opens, I add the variables to the waveform viewer, and press run. All is good. I don't understand the flow when using the -nogui option. It appears that the simulation runs and returns control to the OS. When I launch Simvision, is there a database or file that I can open to display the already-simulated data? My command is of the form: xrun -gui -64bit -sv -access +rwc -top tb_top.sv <src files> Full Article
si UVM debugging: How to save and load signals during an interactive session in Simvision By community.cadence.com Published On :: Thu, 07 Mar 2024 23:18:50 GMT Hello, I am aware of command script .svcf file that saves signals and loads them in while opening Simvision. I am wondering, if there is a way for saving signals while we are in an interactive session and loading them next time when we open Simvision interactively. Any ideas on how to do this? Thank you in advance. Swetha. C Full Article
si Using Vmanager Pre-Script to launch a timed script By community.cadence.com Published On :: Thu, 07 Mar 2024 23:32:05 GMT I would like to send an update about a vmanager regression status x days after the regression has been run. In the current environment, the vmanager regression is creating a new filepath for logs automatically based on regression name/date, so I can't use a cron job to gather logs, as the log location is not known. I tried to use the pre session script to launch a detached shell script that would run after a delay, but when the pre_script runs, it waits until everything is completed before finishing and moving on to starting the regression. Here is the test pre_script I am using: #!/bin/sh echo "pre_script start" delay_script "FIRST" 1nohup delay_script "SECOND" 30 & disowndelay_script "THIRD" 1 echo "pre_script end"exit 0 Here is the test delay_script I am using: #!/bin/sh echo "Starting $1" sleep $2 echo "Ending $1" Here is the script output when run from terminal. After the "pre_script end", I get control back. Here is the script output when run from vmanager. There is no "nohup", and the pre_session phase doesn't complete until all the delay scripts complete. My question is, is there a better way to achieve my goal here? (The goal being to run a script from the vmanager log directory automatically x days after the regression). I think I could use the pre_script to send directory information for an auxiliary cron job to pick up, but I would prefer to not have to have extra cronjobs needed for this. Full Article
si 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
si 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
si [Xcelium][xrun] Simulate with multiple builds By community.cadence.com Published On :: Sun, 05 May 2024 06:21:52 GMT I want to do a 2-step build->simulate as follow: 1. Make multiple builds using xrun -elaborate [other options]. The purpose is to create multiple builds with different compile-time macros (+define+MACROA +define+MACROB=ABC). Each build is located in a different directory. 2. Run simulation with xrun -r. This is where I need help. How do I specify which build to simulate? Also, I need the simulation directory (with log files, …) to be different than the build directory. Has anyone been able to achieve this or similar solutions? Full Article
si xcelium - CSI: *F,INTERR: INTERNAL EXCEPTION By community.cadence.com Published On :: Sun, 19 May 2024 10:06:24 GMT I just completed the setup of xcelium and I am trying to test a very simple vhdl file - I got " CSI: *F,INTERR: INTERNAL EXCEPTION" without any further explanation. Could someone point me to how to investigate this error further? csi-xmelab - CSI: Command line: xmelab -f /home/cadadmin/test/xcelium.d/run.lnx86.23.03.d/xmelab.args -ACCESS +r -no_analogsolver -MESSAGES andgate -XLMODE ./xcelium.d/run.lnx86.23.03.d -RUNMODE -CDSLIB ./xcelium.d/run.lnx86.23.03.d/cds.lib -HDLVAR ./xcelium.d/run.lnx86.23.03.d/hdl.var -WORK worklib -IRUNHASTOP -CHECK_VERSION TOOL: xrun 23.03-s001 -LOG_FD 4 csi-xmelab - CSI: *F,INTERR: INTERNAL EXCEPTION-----------------------------------------------------------------The tool has encountered an unexpected condition and must exit.Contact Cadence Design Systems customer support about thisproblem and provide enough information to help us reproduce it,including the logfile that contains this error message. TOOL: xmelab 23.03-s001OPERATING SYSTEM: Linux 4.18.0-513.9.1.el8_9.x86_64 #1 Elaboration of package STD.STANDARD----------------------------------------------------------------- csi-xmelab - CSI: Cadence Support Investigation, recording detailscsi-xmelab - CSI: investigation complete took 0.000 secs, send this file to Cadence Support Full Article
si 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
si Xcelium: dump coverage information in the middle of a simulation By community.cadence.com Published On :: Fri, 23 Aug 2024 10:25:15 GMT Hi, I'm using the xcelium simulator to simulate a testbench, in which I first stimulate my design to do something (part "A") and then do a direct follow-up test on the design (part "B"). I need two things from this testbench: the results of the test (part "B", passed/failed) and coverage information, but the coverage information should only include part A and explicitly not part B. I could do the following: run the testbench with part A and B, get the "passed/failed" result of the test and then follow up another simulator run with another testbench, that only includes part A and get the coverage information from that simulation run. Is there a way to force xcelium to give me the coverage information of only a part of the simulation? Ideally, I would like to write the verilog code of my testbench to look something like this: do A dump coverage information do B But maybe there is another way to tell xcelium to consider only part of the testbench for the coverage information. I did have a look at the manual, but was not able to find something useful for this problem. Any ideas? Full Article
si 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
si Collecting Coverage using Vmanager By community.cadence.com Published On :: Mon, 02 Sep 2024 16:13:36 GMT Hi, I am running a regression in order to collect the coverage. However I have an issue. I am setting a signal to 0 when reset is de-asserted then this signal takes a fixed value when the reset is asserted. if(!rst_n) init_val= 'b0; else init_val= 31'h34013FF7 the issue is that I got 0% coverage for the init_value since we only have a rising edge and the signal is not toggling during the simulation. is there an option to collect coverage when there is a rising edge or a falling edge? Full Article
si 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
si Auto-Coloring Waves in Simvision? By community.cadence.com Published On :: Wed, 25 Sep 2024 22:09:53 GMT Hello, First, I had something working that broke in the past few versions that I've been meaning to get working again. There was some setting I recall in the GUI that allowed me to have inputs be placed in the waveform viewer with yellow traces, and output signals with orange traces to match the name colors. How can I set this to happen in the .simvisionrc file? Second, I would like to add something to my .simvisionrc file to go through foreach signal and depending on key locations based on the signal's Path.Name (mainly the model and design areas) such that if the path contains "mon", then to auto-set the trace and name colors to something such as cyan. I'd like to have loops for various key areas of the design to color-code the signals. Third, I am interested if there is a possibility of coloring names/traces foregound colors to based on which position they are in the waveform viewer to make banding, ideally such that every three (or whatever) are one color (or a color mutation, adding some gray to signals colorized by the auto-coloring mentioned already, etc) that allows for the signal names/traces to be colorized along with the built-in optional black/gray background banding. Thanks in advance Full Article
si 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
si Using "add net constraints" command in Conformal By community.cadence.com Published On :: Thu, 01 Mar 2007 08:37:14 GMT Hi I have tried using "add net constraints" command to place one-cold constraints on a tristate enable bus. In the command line we need to specify the "net pathname" on which the constraints are to be enforced. The bus here is 20-bit. How should the net pathname be specified to make this 20-bit bus signals one_hot or one_cold. The bus was declared as follows: ten_bus [19:0] The command I used was add net constraints one_hot /ren_bus[19] What would the above command mean? Should we not specify all the nets' pathnames on the bus? Is it sufficient to specify the pathname of one net on the bus? I could not get much info regarding the functionality of this command. I would be obliged if anyone can throw some light. Thanks Prasad. Originally posted in cdnusers.org by anssprasad Full Article
si 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
si Simvision - Signal loading By community.cadence.com Published On :: Fri, 04 May 2012 04:59:11 GMT Hi all Good day.Can anyone tell me whether it is possible to view the signals once it is modified from its previous values without closing the simvision window. If possible kindly let me know the command for it(Linux). Is it possible to view the schematic for the code written?? Kindly instruct me. Thanks all.S K S Full Article
si Hold violation at post P&R simulation By community.cadence.com Published On :: Mon, 08 Oct 2012 04:28:27 GMT Hello, I am working in a digital design. The functional, post synthesis and post P&R without IO pads are all working fine, i.e., functionally and with clean timing reports "no setup/hold violations". I just added the IO pads to the same design, I had to change the timing constraints a bit for the synthesis but I have a clean design at SOC Encounter, i.e., clean DRC and clean timing reports "no setup/hold violations". However, when I perform simulation using the exported net-list from SOC Encounter together with SDF exported from the same tool, I got a lot of hold violations. Consequently, the design is not funcitioning. Why and how I can overcome or trobleshoot this issue?In waiting for your feedback and comments.Regards. Full Article
si 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
si SI/PI Simulation and Measurement Correlation Forum By community.cadence.com Published On :: Thu, 28 Jul 2022 04:13:00 GMT Join this insightful on-demand webinar event "SI/PI Simulation and Measurement Correlation Forum" available through Signal Integrity Journal that features industry expert presentations ranging from chip to package to complex board designs.(read more) Full Article electromagnetics Power Integrity in-design analysis Signal Integrity
si 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
si Overcoming Thermal Challenges in Modern Electronic Design By community.cadence.com Published On :: Tue, 09 Aug 2022 14:24:00 GMT Melika Roshandell talks with David Malinak in a Microwaves & RF QuickChat video about the thermal challenges in today’s complex electronic designs and how the Celsius solver uniquely addresses them.(read more) Full Article 3D-IC in-design analysis Thermal Integrity Thermal Analysis electronic systems
si 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
si 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
si BoardSurfers: Managing Silkscreen Data Using Allegro 3D Canvas By community.cadence.com Published On :: Wed, 24 Aug 2022 13:30:00 GMT The silkscreen layer plays a crucial role in the assembly, repair, and testing of a PCB. You can add a variety of information to this layer, such as the location of the components, polarity, component orientation, on-off switches, LEDs, and testpoint...(read more) Full Article 17.4 BoardSurfers 3D Canvas 17.4-2019 Allegro PCB Editor silkscreen Allegro
si 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
si 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
si 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