re DDR5 12.8Gbps MRDIMM IP: Powering the Future of AI, HPC, and Data Centers By community.cadence.com Published On :: Mon, 26 Aug 2024 06:44:00 GMT The demand for higher-performance computing is greater than ever. Cutting-edge applications in artificial intelligence (AI), big data analytics, and databases require high-speed memory systems to handle the ever-increasing volumes and complexities of data. Advancements in cloud computing and machine virtualization are stretching the limits of current capabilities. AI applications hosted in the cloud rely on fast access and reduced latency in memory systems, which is amplified by an increasing number of CPU and GPU cores. Introducing the DDR5 Multiplexed Rank DIMM (MRDIMM), the next-generation memory module technology designed to meet the needs of high-performance computing (HPC) and AI in cloud applications. By leveraging existing DDR5 DRAM memory devices, MRDIMM modules not only double the DRAM data rate but also maintain the RAS capabilities of the industry-proven RDIMM modules, setting a new precedent for memory module performance. Let’s compare RDIMM and MRDIMM modules using the same DRAM parts. Today, high-speed production DDR5 RDIMM modules run at 5600Mbps. Those modules use DDR5 DRAM parts, which also run at 5600Mbps. An MRDIMM module using the same DDR5 5600Mbps DRAM parts will run at a blazing 11.2Gbps. One key metric for best-in-class performance, low bit error rate (BER), and ease of adoption is the eye diagram. The eye diagram illustrates at-speed system margin and accurately represents DDR system quality when captured with a pseudo-random binary sequence (PRBS)-like pattern. The diagram below illustrates Cadence’s 3nm silicon write eye diagram for DDR5 MRDIMM IP running at 12.8Gbps. Cadence 3nm DDR5 MRDIMM 12.8Gbps test chip write eye diagram, design kit is available today The eye diagram is captured using a PRBS-like pattern, incorporating a package and system board representative of a typical MRDIMM channel. Using PRBS-like patterns is crucial for capturing accurate eye diagrams. Repetitive clock-like data patterns create deceptively “open eyes” that do not reflect the real system performance. Effects like intersymbol interference, simultaneous switching, reflections, and crosstalk are not accurately reflected in the eye diagrams for parallel interfaces like DDR using non-random data streams. Relying on improperly captured eye diagrams inevitably leads to a significantly worse real system BER than conveyed by that eye diagram. Doubling the DDR5 RDIMM data rate is challenging. Achieving high performance while optimizing for area and power requires multiple design techniques. Feed-forward equalization (FFE), decision feedback equalization (DFE), continuous-time linear equalization (CTLE), and T-coils are required to reach 12.8Gbps MRDIMM data rates in multi-channel systems. Building a production-worthy 12.8Gbps DDR5 MRDIMM IP requires engineering expertise that comes from many generations of memory interface design and production experience. Cadence has developed this expertise through multiple DDR5/4, LPDDR5X/5, and GDDR6 designs in different technology nodes and foundries. For instance, Cadence’s GDDR6 IP is available in three foundries and ten process nodes, with mass production at speeds exceeding 22Gbps. For your next project, consider DDR5 12.8Gbps MRDIMM, a technology that not only doubles the bandwidth of DDR5 RDIMM but also promises rapid proliferation into next-generation AI, data center, HPC, and enterprise applications. With its cutting-edge capabilities, the Cadence DDR5 12.8Gbps MRDIMM IP is ready to power the future of computing. Full Article ddr5 Design IP IP gddr6 PHY 3nm MRDIMM GDDR memory IP Denali Design IP and Verification IP DDR
re Locking When Emulating Xtensa LX Multi-Core on a Xilinx FPGA By community.cadence.com Published On :: Mon, 30 Sep 2024 16:00:00 GMT Today's high-performance computing systems often require the designer to instantiate multiple CPU or DSP cores in their subsystem. However, the performance gained by using multiple CPUs comes with additional programming complexity, especially when accessing shared memory data structures and hardware peripherals. CPU cores need to access shared data in an atomic fashion in a multi-core environment. Locking is the most basic requirement for data sharing. A core takes the lock, accesses the shared data structure, and releases the lock. While one core has the lock, other cores are disallowed from accessing the same data structure. Typically, locking is implemented using an atomic read-modify-write bus transaction on a variable allocated in an uncached memory. This blog shares the AXI4 locking mechanism when implementing an Xtensa LX-based multi-core system on a Xilinx FPGA platform. It uses a dual-core design mapped to a KC705 platform as an example. Exclusive Access to Accomplish Locking The Xtensa AXI4 manager provides atomic access using the AXI4 atomic access mechanism. While Xtensa's AXI manager interface generates an exclusive transaction, the subordinate's interface is also expected to support exclusive access, i.e., AXI monitoring. Xilinx BRAM controller's AXI subordinate interface does not support exclusive access, i.e., AXI monitoring: AXI Feature Adoption in Xilinx FPGAs. Leveraging Xtensa AXI4 Subordinate Exclusive Access The Xtensa LX AXI subordinate interface supports exclusive access. One approach is to utilize this support and allocate locks in one of the core's local data memories. Ensure that the number of external exclusive managers is configured, typically to the number of cores (Figure 1). Figure 1 Note that the Xtensa NX AXI subordinate interface does not support exclusive access. For an Xtensa NX design, shared memory with AXI monitoring is required. In Figure 2, the AXI_crossbar#2 (block in green) routes core#0's manager AXI access (blue connection) to both core's local memories. Core#1's manager AXI (yellow connection) can also access both core's local memories. Locks can be allocated in either core's local data memory. In-Bound Access on Subordinate Interface On inbound access, the Xtensa AXI subordinate interface expects a local memory address, i.e., an external entity needs to present the same address as the core would use to access local memory in its 4GB address space. AXI address remap IP (block in pink) translates the AXI system address to each core's local address. For example, assuming locks are allocated in core#0's local memory, core#1 generates an AXI exclusive to access a lock allocated in core#0's local memory (yellow connection). AXI_crossbar#2 forwards transaction to M03_AXI port (green connection). AXI_address_remap#1 translates the AXI system address to the local memory address before presenting it to core#0's AXI subordinate interface (pink connection). It is possible to configure cores with disjoint local data memory addresses and avoid the need for an address remap IP block. But then it will be a heterogeneous multi-core design with a multi-image build. An address remap IP is required to keep things simple, i.e., a homogeneous multi-core with a single image build. A single image uses a single memory map. Therefore, both cores must have the same view of a lock, i.e., the lock's AXI bus address must be the same for both. Figure 2 AXI ID Width Note Xtensa AXI manager interface ID width=4 bits. Xtensa's AXI subordinate interface ID width=12 bits. So, you must configure AXI crossbar#2 and AXI address remap AXI ID width higher than 4. AXI IDs on a manager port are not globally defined; thus, an AXI crossbar with multiple manager ports will internally prefix the manager port index to the ID and provide this concatenated ID to the subordinate device. On return of the transaction to its manager port of origin, this ID prefix will be used to locate the manager port, and the prefix will be truncated. Therefore, the subordinate port ID is wider in bits than the manager port ID. Figure 3 shows the Xilinx crossbar IP AXI ID width configuration. Figure 3 Software Tools Support Cadence tools provide a way to place locks at a specific location. For more details, please refer to Cadence's Linker Support Packages (LSP) Reference Manual for Xtensa SDK. .xtos.lock(green) resides in core#0's local memory and holds user-defined and C library locks. The lock segment memory attribute is defined as shared inner (cyan) so that L32EX and S32EX instructions generate an exclusive transaction on an AXI bus. See Figure 4. The stack and per-core Xtos and C library contexts are allocated in local data memory (yellow). …………..LSP memory map………….BEGIN dram00x40000000: dataRam : dram0 : 0x8000 : writable ; dram0_0 : C : 0x40000400 - 0x40007fff : STACK : .dram0.rodata .clib.percpu.data .rtos.percpu.data .dram0.data .clib.percpu.bss .rtos.percpu.bss .dram0.bss;END dram0…………………BEGIN sysViewDataRam00xA0100000: system : sysViewDataRam0 : 0x8000 : writable, uncached, shared_inner; lockRam_0 : C : 0xA0100000 - 0xA01003ff : .xtos.lock;END sysViewDataRam0………….. Figure 4 Please visit the Cadence support site for more information on emulating Xtensa cores on FPGAs. Full Article AXI Tensilica Xtensa FPGA
re The Future of Driving: How Advanced DSP is Shaping Car Infotainment Systems By community.cadence.com Published On :: Tue, 08 Oct 2024 15:40:00 GMT As vehicles transition into interconnected ecosystems, artificial intelligence and advanced technologies become increasingly crucial. Infotainment systems have evolved beyond mere music players to become central hubs for connectivity, entertainment, and navigation. With global demand for comfort, convenience, and safety rising, the automotive infotainment market is experiencing significant growth. Valued at USD14.99 billion in 2023, it is projected to grow at a compound annual growth rate (CAGR) of 9.9% from 2024 to 2030. To keep pace with this evolution, infotainment systems must accommodate a range of workloads, including audio, voice, AI, and vision technologies. This requires a flexible, scalable Digital Signal Processor (DSP) solution that acts as an offload engine for the main application processor. Integrating a single DSP for varied functions offers a cost-effective solution for high-performance, low-power processing, which aligns well with the needs of Electric Vehicles (EVs). If you missed the detailed presentation by Casey Ng, Product Marketing Director at Cadence at CadenceLIVE 2024, register at the CadenceLIVE On-Demand site to access it and other insightful presentations. Stay ahead of the curve and explore the future of innovative electronics with us. Cadence Infotainment Solution: Leading the Charge Cadence Tensilica HiFi DSPs play a crucial role in enhancing audio capabilities in vehicle infotainment systems. They support applications like voice recognition, hands-free calling, and deliver immersive audio experiences. This technology is also paramount for features such as active noise control, which reduces road and cabin noise, and acoustic event detection for identifying unusual sounds like broken glass. One notable innovation is the "audio bubble," enabling personalized audio zones within the vehicle, ensuring passengers enjoy distinct audio settings. Cadence HiFi DSP technology enriches the driving experience for electric vehicles by mimicking traditional engine sounds, while its advanced audio processing ensures optimal performance across various digital radio standards. It significantly contributes to noise reduction, hence improving the cabin experience. Integrating a Double Precision Floating Point Unit (FPU) stands out, as it upgrades audio performance and Signal-to-Noise Ratio (SNR) through efficient 64-bit processing, allowing control over numerous speakers without hitches. These advancements distinguish the DSP as an essential tool in evolving infotainment systems, offering unmatched performance and adaptability. Tensilica HiFi processors, crucial to advanced infotainment SoCs, serve as efficient offload processors, augmenting real-time execution and energy efficiency. Cadence’s ecosystem, with over 200 codecs and software partnerships, propels the evolution of innovative infotainment systems. Introducing the HiFi 5s DSP marks a new era in connected car experiences, setting the stage for groundbreaking advancements. Exploring Tomorrow with HiFi 5s DSP Technology The HiFi 5s represents the apex of audio and AI digital signal processing performance. Built on the Xtensa LX8 platform, it introduces capabilities like auto-vectorization, which allows standard C code to be automatically optimized for performance. This synergy of hardware and software co-design marks a significant step forward in DSP technology. By leveraging its extended Single Instruction, Multiple Data (SIMD) capabilities alongside features like a double-precision floating-point unit (DP_FPU), the HiFi 5s delivers unparalleled precision and speed improvements in signal and audio processing tasks. Equally notable are its branch prediction and L2 cache enhancements, which optimize system performance by refining the control code execution and recognizing codec efficiency. The application of such enhancements are particularly beneficial in real-world scenarios. AI-Powered Audio Cadence's focus on AI integration with the HiFi 5s demonstrates significant improvements in audio clarity through AI-powered solutions. AI models learn from real-world data and adapt dynamically, while classic DSP algorithms rely on fixed rules. AI can be fine-tuned for specific scenarios, whereas classic DSP lacks flexibility. AI handles extreme and marginal noise patterns better, generalizes well across different environments, and is robust against varying noise characteristics. Cadence's dedication to artificial intelligence marks a pivotal shift in audio processing. Traditional DSP algorithms, bound by rigid rules, are eclipsed by AI's ability to learn dynamically from real-world data. This adaptability equips AI models to tackle challenging noise patterns and offer unmatched clarity even in noisy environments, making them ideal for automotive and consumer audio applications. Realtime AI-Optimized Speech Enhancements by OmniSpeech and ai|coustics OmniSpeech Our partner, OmniSpeech, has advanced AI-based audio processing that enhances the performance of audio software, specifically for omnidirectional and dipole microphones. Impressively, their technology operates with less than 32MHz and requires only 418kB of memory. Test results show that background noise is significantly reduced when AI employs a single omnidirectional microphone, outperforming non-AI solutions. Additionally, when using a dipole microphone with AI, there is a 3.5X improvement in the weighted Signal-to-Noise Ratio (SNR) and more than a 28% increase in the Global Mean Opinion Score (GMOS) across various background noise. ai|coustics ai|coustics, a Cadence partner specializing in advanced audio technologies, utilizes real-time AI-optimized speech enhancement algorithms. They leverage an extensive speech-quality dataset containing thousands of hours and 100 languages to transform low-quality audio into studio-grade audio. Their process includes: De-reverb, which eliminates room resonances, echoes, and reflections Removing artifacts from downsampling and codec compression Dynamic and adaptive background noise removal Reviving audio materials with analog and digital distortions Providing support for all languages, accents, and a variety of speakers Applications include: Automotive: Enhances clarity of navigation commands and communication for driver safety Consumer audio: Improves voice clarity for better dialogue understanding in TV programs. Optimizes speech intelligibility in communication for both uplink and downlink audio streams Smart IoT: Boosts voice command detection and response quality Performance Enhancements The advancements in branch prediction and L2 cache integration have significantly boosted performance metrics across various systems. With HiFi 5s, branch prediction increases codec efficiency by an average of 5%, reaching up to 16% in optimal conditions. L2 cache improvements have drastically enhanced system-level performance, evidenced by a 2.3X boost in EVS decoder efficiency. Adding MACs and imaging ISA in imaging use cases has led to substantial advancements. When comparing HiFi 5s to HiFi 5, imaging ISA performance improvements range with >60% average performance improvements. The Crescendo of the Future As Cadence continues to blaze trails in DSP technology, the HiFi 5s emerges as the quintessential solution for consumer and automotive audio use cases. With a robust framework for auto-vectorization, an unmatched double-precision FPU, AI-driven audio solutions, and comprehensive system enhancements, Cadence is orchestrating the next era of audio processing, where every note is clearer, every sound richer, and every experience more engaging. It is not just the future of audio—it's the future of how we experience the world around us. Discover how Cadence Automotive Solutions can transform your business today! Full Article Automotive DSP infotainment Tensilica HiFi 5s
re How to create multiple shapes of same port in innovus? By community.cadence.com Published On :: Tue, 23 Apr 2024 13:28:46 GMT LEF allows the same port with multiple shape definitions. Does anybody know if innovus can create multiple duplicate shapes associated with the same port? Assume they are connected outside the block with perfect timing synchronization. Thank you! Full Article
re How to see placement reasons of cells? How to highlight timing start/end points? By community.cadence.com Published On :: Tue, 23 Apr 2024 13:37:57 GMT I am working with innovus on a huge design. I found some cells are placed far away from both timing start points and timing end points. I suspect some other timing paths may be near-critical that results in this sub-optimal cell placement; or innovus has to place the cell far away due to congestion of placement or routing. Is there a way to see why innovus places/moves the cell during place_opt_design or ccopt_design? Also, is there a way to highlight all timing start points or timing end points that go through a cell? There may be thousands of timing paths through this cell. I tried using report_timing and timing debugger but it is very painful to click the highlight box and highlight the timing paths one by one. Thank you for your help! Full Article
re removing cdn_loop_breaker from the genus synthesis netlist By community.cadence.com Published On :: Wed, 12 Jun 2024 04:54:24 GMT I am trying to remove the cdn_loop_breaker cells from the netlist. When I tried the below 2 things, genus synthesis tool removing the cdn_loop_breaker cells but while connecting the cdn_loop_breaker cell input to its proper connection, its somehow misleading the connectionsThings i tried:1. remove_cdn_loop_breaker -instances *cdn_loop_breaker*then i just ran remove_cdn_loop_breaker comand without the -instances switch2. remove_cdn_loop_breaker both of the above things are not providing the proper connections after removing the loop_breaker_cellscan anyone suggest the best possible workaround for this please? Full Article
re Beta feature innovusClockOptFlow? By community.cadence.com Published On :: Wed, 26 Jun 2024 13:29:28 GMT Hi all, I have been following the tutorial "Innovus Block Implementation with Stylus Common UI", version 23.1. While I was doing the clock tree synthesis, the tutorial calls for a command clock_opt_design But my tool tells me this is a beta feature which needs to be enabled. Warning: clock_opt_design requires beta feature innovusClockOptFlow enabled. Can I ask how do I enable this beta feature? My version of Innovus is v21.35-s114_1, is it because of the version incompatibility? Many thanks Full Article
re Tempus ECO initial setup summary not matching timing report results By community.cadence.com Published On :: Sat, 29 Jun 2024 01:51:01 GMT We are currently setting up the Tempus flow and have ran into some mismatched data regarding ECO and timing reports. I generated a timing report before running ECO and saw six total setup violations. When running opt_signoff -setup, the initial setup summary that was printed in the shell only showed one violation. I can see that violation from the initial setup summary in my pre-ECO timing report and it is not the worst path. Upon further investigation, I forced the tool to try to fix setup on one of the other five violations from the timing report using the opt_signoff_select_setup_endpoints attribute and the tool said that the endpoint had positive slack and would be ignored. Has anyone experienced something like this before? Full Article
re Tool to create *.lib and *.db files for designs made in Innovus By community.cadence.com Published On :: Thu, 26 Sep 2024 15:58:12 GMT Hi all, I have made a custom cell in Innovus that I will be instantiating into a bigger block, which I will also be using Innovus to do the Place & Route. I understand that I can generate a *.lef file and a *.lib file using Innovus. However, I need to also create a *.db file (these format of files are often used in DC Compiler synthesis tool). Is there a way to create the *.db file from Innovus? Or, is there a tool that I can use to create this *.db file? Thank you for your time. Full Article
re How to import different input combination to the same circuit to get max, min, and average delay, power dissipation and area By community.cadence.com Published On :: Wed, 16 Oct 2024 02:47:12 GMT Hi everyone. I'm very a new cadence user. I'm not good at using it and quite lost in finding a way to get the results. With the topic, I would like to ask you for some suggestions to improve my cadence skills. I have some digital decision logic. Some are combinational logic, some are sequential logic that I would like to import or generate random input combination to the inputs of my decision logic to get the maximum, minimum, and average delay power dissipation and area when feeding the different input combination. My logic has 8-bit, 16-bit, and 32-bit input. The imported data tends to be decimal numbers. I would like to ask you: - which tool(s) are the most appropriate to import and feed the different combination to my decision logic? - which tool is the most appropriate to synthesis with different number of input? - I have used Genus Synthesis Solution so far. However with my skill right now I can only let Genus synthesize my Verilog code one setup at a time. I'm not sure if I there is anyway I can feed a lot of input at a time and get those results (min, max, average of delay, power dissipation and area) - which language or scripts I should pick up to use and achieve these results? -where can I find information to solve my problem? which information shall I look for? Thank you so much for your time!! Best Regards Full Article
re IC 23.1 installation configuration failure on RHEL 9 By community.cadence.com Published On :: Fri, 11 Oct 2024 13:34:00 GMT I am trying to install IC231 on RHEL 8 using installscape, however configuring keeps failing. I tried to run the configuration file manually as suggested in one of the previous posts and it gives me following errors: sh batch_configure.sh /home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not foundcat: ncvhdl23.03-d103lnx86_101124125631.stat: No such file or directoryrm: cannot remove 'ncvhdl23.03-d103lnx86_101124125631.stat': No such file or directory/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not foundcat: ncvhdl64b23.03-d103lnx86_101124125631.stat: No such file or directoryrm: cannot remove 'ncvhdl64b23.03-d103lnx86_101124125631.stat': No such file or directory/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not foundcat: oaRedist22.61-p003lnx86_101124125631.stat: No such file or directoryrm: cannot remove 'oaRedist22.61-p003lnx86_101124125631.stat': No such file or directory/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not foundcat: amsEnv64b23.10-p043lnx86_101124125631.stat: No such file or directoryrm: cannot remove 'amsEnv64b23.10-p043lnx86_101124125631.stat': No such file or directory/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not foundcat: ihdl64b23.10-p043lnx86_101124125631.stat: No such file or directoryrm: cannot remove 'ihdl64b23.10-p043lnx86_101124125631.stat': No such file or directoryI am not very well versed with Linux at the moment but trying. Could any one suggest something or point to what is missing? Full Article
re How to have sub trees for sub trees By community.cadence.com Published On :: Wed, 16 Oct 2024 04:10:07 GMT I want to create sub tree of sub trees how can i do that? I want to create another tree for the Sub parameter also. ; create a root tree indexTree=hiCreateTree('index11) hiTreeAppendItem(indexTree hiCreateTreeItem('dow11 list("Parameter 1"))) ; create two sub-trees dowTree11=hiCreateTree('dows11) hiItemInsertTree(dow11 dowTree11) nasTree11=hiCreateTree('nass11) hiItemInsertTree(nas11 nasTree11) hiTreeAppendItem(dowTree11 hiCreateTreeItem('ibm list("Sub Parameter 2" ))) ibm11=hiCreateTree('ibsm) hiItemInsertTree(dowTree11 ibm11) hiTreeAppendItem(ibm11 hiCreateTreeItem('cdn111 list("Sub Parameter 1" "tb1_par1" "tb2_par1"))) Full Article
re Is there a skill command for "Assign Layout Instance terminals"? By community.cadence.com Published On :: Thu, 17 Oct 2024 18:36:39 GMT Is there a skill command for "Assign Layout Instance terminals", this form appears when i click on define device correspondence and Bind the devices.Also, Problem Statement : i have a schematic with a couple of transistor symbols and and i alos have a corresponding layout view with respective layout transistors but they all are inside a pCell(created by me) i.e layout transistor called inside a custom Pcell. Now i have multiple symbols in schematic view and a single instance(pCell) in layout view. Is there a way how i can bind these schematic symbols with layout symbols inside the pCell(custom)? Even if i have to use cph commands i'm fine with it. need help here. The idea here is to establish XL connectivity between the schematic symbols and corresponding layout transistors(inside the pCell). Thanks, Shankar Full Article
re adexl remove test By community.cadence.com Published On :: Fri, 25 Oct 2024 07:38:19 GMT Hi,all I want to remove some Tests form adexl automatically,there have any function to achieve that? Full Article
re Refer instances and vias to technology library during importing By community.cadence.com Published On :: Sun, 27 Oct 2024 04:30:15 GMT Hi, My query is regarding importing of layout. After importing, we see that the imported transistor instances and vias are all referring to the library in which they are imported, instead of referring to the technology library. Please let me know how we can refer them to the technology library. Will surely provide more details if my query is unclear. Thanks, Mallikarjun. Full Article
re How to create draw region button like the one used in the Area and Density calculator By community.cadence.com Published On :: Mon, 28 Oct 2024 23:47:16 GMT Hello, I would like to create a button for my form that prompts the user to click on a cellview and draw a rectangle bounding box, exactly like the one used in the Area and Density Calculator. Can someone please help me with this? Thanks! Beto Full Article
re Error ASSEMBLER-1600 when running script with two different MC simulations By community.cadence.com Published On :: Tue, 29 Oct 2024 08:59:49 GMT Hello Community, I have encountered an issue that is a mystery to me and hope somebody could give me a clue about what is happening in Cadence and maybe even a solution? I am running a test scripted in a SKILL file that sequentially opens two different projects with MC analyses and in between I get an error message box and also multiple logs in CIW with exactly the same text. Both projects run a simulation with a call like this: historyName = maeRunSimulation(?session sessionName ?waitUntilDone t) After this the script closes the current project, opens the next project and executes the same line with maeRunSimulation() for the second project. Then immediately this error message happens, and also is logged repeatedly in the CIW window The message box looks like this: The logs I get in CIW: nilhiCancelProgressBox(_axlNetlistCreateProgressBar)nilhiCancelProgressBox(_axlUILoadForm)nilwhen(dwindow('axlDataViewessWindow1) hiMapWindow(dwindow('axlDataViewessWindow1)))twhen(dwindow('axlRunSummaryessWindow1) hiMapWindow(dwindow('axlRunSummaryessWindow1)))tERROR (ASSEMBLER-1600): Cannot find an active session named fnxSession0.You can only modify an ADE Assembler session that is active.Perhaps the session name was misspelled or has not yet been created. Verify the session name matches an existing ADE Assembler session. 1> ERROR (ASSEMBLER-1600): Cannot find an active session named fnxSession0.You can only modify an ADE Assembler session that is active.Perhaps the session name was misspelled or has not yet been created. Verify the session name matches an existing ADE Assembler session. *WARNING* hiDisplayAppDBox: modal dbox 'adexlMessageDialog' is already displayed!ERROR (ASSEMBLER-1600): Cannot find an active session named fnxSession0.You can only modify an ADE Assembler session that is active.Perhaps the session name was misspelled or has not yet been created. Verify the session name matches an existing ADE Assembler session. *WARNING* hiDisplayAppDBox: modal dbox 'adexlMessageDialog' is already displayed!ERROR (ASSEMBLER-1600): Cannot find an active session named fnxSession0.You can only modify an ADE Assembler session that is active.Perhaps the session name was misspelled or has not yet been created. Verify the session name matches an existing ADE Assembler session. Full Article
re SKILL regex pattern matching By community.cadence.com Published On :: Fri, 01 Nov 2024 08:30:50 GMT Hi, I have a string "[@global_vddi:%:vddi!]" which I need to process to remove "@[]" chars. The desired result is "global_vddi:%:vddi!". I tried the following in CIW netExpr = "[@global_vddi:%:vddi!]"rexCompile("\([a-zA-Z0-9_:!%]+\)")trexExecute(netExpr)trexSubstitute( "\0" )"global_vddi:%:vddi!" and I achieved the desired value. I added the same code to my script but it didn't work. In my script rexExecute returns 't' but rexSubstitute returns 'nil' Here is the snippet from my script netExpr = dbGetTermNetExpr(term) if(netExpr then rexCompile("\([a-zA-Z0-9_:!%]+\)") rexExecute(netExpr) netExpr1 = rexSubstitute( "\0" ) ... . ..) and trace log showing the variable values as the code executes stopped before evaluating dbGetTermNetExpr(term)after evaluating dbGetTermNetExpr(term)==> "[@global_vddi:%:vddi!]"after evaluating (netExpr = dbGetTermNetExpr(term))==> "[@global_vddi:%:vddi!]"stopped before evaluating if(netExpr then rexCompile("\([a-zA-Z0-9_:!%]+\)") rexExecute(netExpr) (netExpr1 = rexSubstitute("\0")) ... )stopped before evaluating rexCompile("\([a-zA-Z0-9_:!%]+\)")after evaluating rexCompile("\([a-zA-Z0-9_:!%]+\)")==> tstopped before evaluating rexExecute(netExpr)after evaluating rexExecute(netExpr)==> tstopped before evaluating (netExpr1 = rexSubstitute("\0"))stopped before evaluating rexSubstitute("\0")after evaluating rexSubstitute("\0")==> nil|[2]netExpr1 set to nil, was nil Any help or suggestions as to why the code executes differently in CIW and when called from a SKILL script file will be much appreciated. I also tried a different approach using rexReplace instead of rexSubstitute but couldn't get the regex pattern correct. The code I tried in CIW using rexReplace is as follows a = "[@global_vddi:%:vddi!]""[@global_vddi:%:vddi!]"rexCompile("\([@\[\]]*\)")trexReplace(a "" 0)"global_vddi:%:vddi!]" Only '@[' get replaced and ']' is still present. The regex pattern contains '\]' to match the closing square bracket yet it is not replaced. Please let me know what I'm missing in these 2 scenarios. Any help is much appreciated!! Regards, Confused SKILL user Full Article
re can't resize window by mouse By community.cadence.com Published On :: Sun, 03 Nov 2024 13:36:50 GMT Hi guys, I see that inside VNC I can’t resize window boxes by mouse. While pressing the arrow at the box edge and dragging it nothing happens: is it a bug, or setup change require? Noted, it only happens when trying to resize window box from left and right side.. Thx Full Article
re How to restrict the variable's data type of procedure with @key By community.cadence.com Published On :: Fri, 08 Nov 2024 02:37:35 GMT Hi, I want to define a procedure that with @key, and I also want to restrict the variable's datatype, I tried with folloing but I received error in CIW procedure(tt(handler @key str1 str2 "ssS") printf("handler: %L " handler)) tt('test) The error is like: *Error* tt: argument for keyword ?str1 should be a symbol (type template = "ssS") at line 11 of file Thanks, James Full Article
re Destructive form of "cons" - efficiently prepending an item to a procedure's argument which is a list By community.cadence.com Published On :: Tue, 12 Nov 2024 18:20:40 GMT Hello, I was looking to destructively and efficiently modify a list that was passed in as an argument to a procedure, by prepending an item to the list. I noticed that cons lets you do this efficiently, but the operation is non-destructive. Hence this wouldn't work if you are trying to modify a function's list parameter in place. Here is an example of trying to add "0" to the front of a list: procedure( attempt_to_prepend_list(l elem) l = cons(elem l) ) a = list(1 2 3) ==> (1 2 3)attempt_to_prepend_list(a 0)==> (0 1 2 3)a==> (1 2 3) As we can see, the original list is not prepended. Here is a function though which achieves the desired result while being efficient. Namely, the following function does not create any new lists and only uses fast methods like cons, rplacd, and rplaca procedure( prepend_list(l elem) ; cons(car(l) cdr(l)) results in a new list with the car(l) duplicated ; we then replace the cdr of l so that we are now pointing to this new list rplacd(l cons(car(l) cdr(l))) ; we replace the previously duplicated car(l) with the element we want rplaca(l elem) ) a = list(1 2 3) ==> (1 2 3)prepend_list(a 0)==> (0 1 2 3)a==> (0 1 2 3) This works for me, but I find it surprising there is no built-in function to do this. Am I perhaps overlooking something in the documentation? I know that tconc is an efficient and destructive way to append items to the end of a list, but there isn't an equivalent for the front of the list? Full Article
re New Training Courses for RF/Microwave Designers Featuring Cadence AWR Software By community.cadence.com Published On :: Mon, 03 Oct 2022 03:00:00 GMT Cadence AWR Design Environment Software Featured in Multiple Training Course Options: Live and Virtual Starting in October(read more) Full Article featured AWR Design Environment microwave design
re μWaveRiders: Cadence AWR Design Environment V22.1 Software Release Highlights By community.cadence.com Published On :: Wed, 26 Oct 2022 13:59:00 GMT The Cadence AWR Design Environment V22.1 production release is now available for download at Cadence Downloads with design environment, AWR Microwave Office, AWR VSS, AWR Analyst, and other enhancements.(read more) Full Article RF RF Simulation AWR Analyst Circuit simulation AWR Design Environment awr EDA AWR AXIEM RF design Circuit Design AWR V22.1 release microwave office Visual System Simulator (VSS)
re Training Webinar: Microwave Office - Comprehensive RF and Microwave Design Creation By community.cadence.com Published On :: Tue, 13 Jun 2023 04:56:00 GMT A training webinar on Microwave Office will be given June 27, 2023. The emphasis will be on EM simulation.(read more) Full Article RF RF Simulation awr EM simulation webinar AWR AXIEM RF design AWR Microwave Office microwave office
re Unlock Your RF Engineering Potential with a Cadence AWR Free Academic Trial! By community.cadence.com Published On :: Tue, 04 Jun 2024 09:47:00 GMT Are you ready to revolutionize your RF design experience? Look no further! Cadence AWR software is your gateway to mastering the intricacies of Radio Frequency (RF) circuit design, and now, you can explore its power with our exclusive Free Academic T...(read more) Full Article Cadence Academic Network AWR Design Environment awr TRIAL AWR training RF design
re Constraining some nets to route through a specific metal layer, and changing some pin/cell placements and wire directions in Cadence Innovus. By community.cadence.com Published On :: Fri, 03 Feb 2023 22:13:10 GMT Hello All: I am looking for help on the following, as I am new to Cadence tools [I have to use Cadence Innovus for Physical Design after Logic Synthesis using Synopsys Design Compiler, using Nangate 45 nm Open Cell Library]: while using Cadence Innovus, I would need to select a few specific nets to be routed through a specific metal layer. How can I do this on Innovus [are there any command(s)]? Also, would writing and sourcing a .tcl script [containing the command(s)] on the Innovus terminal after the Placement Stage of Physical Design be fine for this? Secondly, is there a way in Innovus to manipulate layout components, such as changing some pin placements, wire directions (say for example, wire direction changed to facing east from west, etc.) or moving specific closely placed cells around (without violating timing constraints of course) using any command(s)/.tcl script? If so, would pin placement changes and constraining some closely placed cells to be moved apart be done after Floorplanning/Powerplanning (that is, prior to Placement) and the wire direction changes be done after Routing? While making the necessary changes, could I use the usual Innovus commands to perform Physical Design of the remaining nets/wires/pins/cells, etc., or would anything need modification for the remaining components as well? I would finally need to dump the entire design containing all of this in a .def file. I tried looking up but could only find matter on Virtuoso and SKILL scripting, but I'd be using Innovus GUI/terminal with Nangate 45 nm Open Cell Library. I know this is a lot, but I would greatly appreciate your help. Thanks in advance. Riya Full Article
re read from text file with two values and represent that as voltage signals on two different port a and b By community.cadence.com Published On :: Fri, 24 Feb 2023 00:33:01 GMT i want to read from text file two values on two ports , i wrote that code, and i have that error that shown in the image below . and also the data in text file is shown as screenshot module read_file (a,b); electrical a,b;integer in_file_0,data_value, valid, count0,int_value; analog begin @(initial_step) begin in_file_0 = $fopen("/home/hh1667/ee610/my_library/read_file/data2.txt","r"); valid = $fscanf (in_file_0, "%b,%b" ,int_value,count0); end V(a) <+ int_value; V(b) <+ count0; end endmodule Full Article
re Stream in gds to virtuoso from directory other than where cds.lib exists By community.cadence.com Published On :: Fri, 31 Mar 2023 16:35:39 GMT I am scripting gds streamin using 'strmin', which works fine so far. But, as it apparently doesn't have an option to specify where the cds.lib file is, I have to run it from the directory where the cds.lib file is, or I guess I could create a dummy one to source that one. Is there a way to tell strmin where the cds.lib file is? Full Article
re Request information on Tools By community.cadence.com Published On :: Wed, 02 Aug 2023 05:48:04 GMT We are looking for suitable tools that could be used for RTL design, IP-XACT based integration (third party IP) and RTL design verification ( SV / UVM based methodology). Request to share details on the different Cadence tools that is most suitable for these activities. Full Article
re How to generate "Sheet Name" column in a pin report? By community.cadence.com Published On :: Wed, 08 Nov 2023 03:52:26 GMT Hi everyone, Is there any method to generate "Sheet" column for a pin report like table below? The column "Name.Pin" & "Signal" can be generated easily, but I have no idea to generate the column of "Sheet Name". The software using here are Allegro Design Entry HDL, OrCAD Capture and Allegro PCB Editor. Can these 3 software generate "Sheet Name" data? Name.Pin Signal Sheet Name C1_1.1 N301321 SITE1_1 C1_1.2 GND_ANA_1 SITE1_1 C1_2.1 N180243 SITE2_1 C1_2.2 GND_ANA_2 SITE2_1 Thank you. Full Article
re Regarding the loading of waveform signals in the waveform windown using the tcl command By community.cadence.com Published On :: Mon, 26 Feb 2024 09:26:52 GMT Hello, I am trying to load some of the signals of the design saved in the signals.svwf to the waveform windown via the tcl file, I am using the following commands but nothing works, Can you please help -submit waveform loadsignals -using "Waveform 2" FB1.svwf but it gives me the below error -submit waveform new -reuse -name Waveforms Full Article
re how to tell conformal to ignore certain combination of input By community.cadence.com Published On :: Thu, 04 Apr 2024 10:35:38 GMT hi How can I tell the LEC tool to ignore a combination of Primary input bus in both Golden and revised. For example in both Golden and revised there is input [3:0] data_in I want LEC not to check the case that data_in[3:0] == 4'b1000 Full Article
re removing cdn_loop_breakers from netlist By community.cadence.com Published On :: Wed, 12 Jun 2024 04:49:49 GMT I was trying to remove the cdn_loop_breaker cells from the netlist. When I tried the below 2 things, it removing the cdn_loop_breaker cells but while connecting the cdn_loop_breaker cell input to its proper connection, its somehow misleading the connectionsThings i tried:1. remove_cdn_loop_breaker -instances *cdn_loop_breaker*then i just ran remove_cdn_loop_breaker comand without the -instances switch2. remove_cdn_loop_breaker both of the above things are not providing the proper connections after removing the loop_breaker_cells Full Article
re Asking for a software suggestion. By community.cadence.com Published On :: Tue, 15 Oct 2024 23:05:41 GMT Hi. I'm a very new learner on Cadence. I want to synthesis my logic design for the maximum, minimum and an average results of delay, power dissipation and area under varying multiple inputs of different data. The different data will be exported from other software results. I'm lost on the steps/processes I should do. Could anyone suggest me on which software and/or function or scripts I should use to achieve these results? Full Article
re Quest for Bugs – The Constrained-Random Predicament By community.cadence.com Published On :: Tue, 14 Jun 2022 14:54:00 GMT Optimize Regression Suite, Accelerate Coverage Closure, and Increase hit count of rare bins using Xcelium Machine Learning. It is easy to use and has no learning curve for existing Xcelium customers. Xcelium Machine Learning Technology helps you discover hidden bugs when used early in your design verification cycle.(read more) Full Article compression throughput machine learning Hard to Hit Bin Coverage Closure Regression simulation
re Automotive Revolution with Ethernet Base-T1 By community.cadence.com Published On :: Thu, 07 Jul 2022 14:11:00 GMT The automotive industry revolutionized the definition of a vehicle in terms of safety, comfort, enhanced autonomy, and internet connectivity. With this trend, the automotive industry rapidly adopted automotive Ethernet such as 10Base-T1, 100Base-T1, and in some cases, 1000Base-T1. Faster Speed (than CAN-FD), Scalability, embedded security protocols (like MacSec), cost and energy efficiency, and simple yet redundant network made Ethernet an obvious choice over CAN(FD) and FlexRay. Ethernet 10Base-T1 10BASE-T1S is defined under IEEE with 802.3cg. The S in 10BASE-T1S stands for a short distance. 10BASE-T1S uses a multidrop topology, where each node connects to a single cable. Multidrop topology eliminates the need for switches and, as a result, fewer cables/less cost. The primary goal of 10BASE-T1S is a deterministic transmission on a collision-free multidrop network. 10BASE-T1S cables use a pair of twisted wires. As per IEEE, at least eight nodes can connect to each, but more connections are feasible. The Physical Layer Collision Avoidance [PLCA] protocol ensures that it uses the entire 10 Mbps bandwidth. In 10BaseTs, Reconciliation Sublayer provides optional Physical Layer Collision Avoidance (PLCA) capabilities among participating stations. Using PLCA-enabled Physical Layers in CSMA/CD half-duplex shared-medium networks can provide enhanced bandwidth and improved access latency under heavily loaded traffic conditions. The working principle of PLCA is that transmit opportunities on a mixing segment are granted in sequence based on a node ID unique to the local collision domain (set by the management entity). 10BASE-T1S also supports an arbitration scheme that guarantees consistent node access to the media within a predefined time. The 10BASE-T1S PHY is intended to cover the low-speed/low-cost applications in the industrial and automotive environment. A large number of pins (16) required by the MII interface is one of the significant cost factors that must be addressed to fulfill this objective. The 10BASE-T1S "Transceiver" solution is suited for embedded systems where the digital portion of the PHY is fully integrated, e.g., into an MCU or an Ethernet switch core, leaving only the analog portion (the transceiver) into a separate IC. Ethernet 100Base-T1/1000Base-T1 100Base-T1 and 1000Base-T1 can be used for audio/video information. With Higher bandwidth capacity, 100Base-T1/ 1000Base-T1 paired with AVB (Audio video bridging) can be used for car infotainment systems. 100Base-T1/1000Base-T1 paired with time-sensitive networking [TSN] protocol can be used to fulfill the automotive industry's mission-critical, time-sensitive, and deterministic latency needs. PTP Over MacSec With today's automotive network, all the Electronic Control Units connected require timing accuracy and network synchronization, Precision Time Protocol (PTP), defined in IEEE 1588, provides synchronized clocks throughout a network. While maintaining the timing accuracy for mission-critical applications, protecting the vehicle network from vulnerable threats is mandatory, and PTP over MacSec provides the consolidated solution. With the availability of the Cadence Verification IP for 10/100/1000BaseT1 and TSN, adopters can start working with these specifications immediately, ensuring compliance with the standard and achieving the fastest path to IP and SoC verification closure. The 10/100/1000GBaseT1 and TSN provide a full-stack solution, including support to the PHY, MAC, and TSN layers with a comprehensive coverage model and protocol checkers. Ethernet BaseT1 and TSN VIP covers all features required for complete coverage verification closure. More details are available in the Ethernet Verification IP portfolio. Krunal Full Article Automotive Verification IP PTPOverMacSec 100BaseT1 uvm Ethernet VIP Functional Verification Cadence VIP portfolio VIP Automotive Ethernet 10BaseT1 e Ethernet TSN PTP BaseT1 1000BaseT1 Ethernet PHYs MacSec verification
re Cadence in Collaboration with Arm Ensures the Software Just Works By community.cadence.com Published On :: Tue, 12 Jul 2022 01:02:00 GMT The increase in compute and data-intensive applications and the need for lower power consumption have resulted in a rapidly growing number of Arm-based devices in various market segments; this requires fast time to market (TTM) and support for off-t...(read more) Full Article SBSA Emulation Pre Silicon compliance Testing Arm SystemReady
re Stay Ahead of Competition with Real-Time Cross-Team Collaborations By community.cadence.com Published On :: Tue, 26 Jul 2022 05:21:00 GMT To stay ahead in competition in chip design real-time collaborations ensure traceability, speedy innovations at reduced the cost.(read more) Full Article collaboration Palladium verification management Traceability vManager
re Coalesce Xcelium Apps to Maximize Performance by 10X and Catch More Bugs By community.cadence.com Published On :: Tue, 02 Aug 2022 04:30:00 GMT Xcelium Simulator has been in the industry for years and is the leading high-performance simulation platform. As designs are getting more and more complex and verification is taking longer than ever, the need of the hour is plug-and-play apps that ar...(read more) Full Article performance SoC apps xcelium simulation verification
re TSN-PTP: A Real-Time Network Clock Synchronizing Protocol By community.cadence.com Published On :: Mon, 12 Sep 2022 06:45:00 GMT In a network containing multiple nodes, the need for synchronization between the various nodes is not just instrumental but also a complicated and highly complex process. This process becomes even more tricky if we synchronize the clocks between the Manager and the Peripheral. As we know, in a real-time network, some of the nodes would behave like Managers while some would be a Peripheral. If we must make the communication process smooth, then the local clocks of these nodes must be synchronized. The problem with this synchronization is that we have the clock running in the Manager as well. If we send the value of the Manager clock to the Peripheral, the synchronization doesn’t happen as we have a propagation delay of the messages, along with the propagation delay of the electronic circuits of Manager and the Peripheral. The cherry on the cake is that these electronic circuit propagation delays are not random and remain constant, so we can add a time offset to it to match the clock. To tackle this challenge, IEEE has come up with a protocol named “Precision Timing Protocol.” Operation of PTP: To synchronize the clocks, a Sync message is sent by the Manager to the Peripheral, which then timestamps the receiving time of the same. Following this, a ‘Follow up’ message is issued by the Manager stating the timestamp at which the Sync message was sent. The Peripheral then finds the difference between the two values and adds this to its current time. After this, the time difference between the Manager and the Peripheral narrows down to only the propagation delay of the messages. To overcome this, the Peripheral issues a ‘Delay Request’ to the Manager, and the Manager, in turn, issues a ‘Delay Response.’ Both these messages have the timestamp of when they were issued. The time at which they are received is then noted. Since two messages are sent, one from the Peripheral and the other from the Manager, there are two propagation delays. Then half of this value is our propagation delay. The Peripheral then adds this propagation delay to its clock, and hence the clock gets synchronized. Advantages of PTP: It provides accurate time stamping. It is a well-known clock synchronization protocol. It provides intensified security inside the premises. It provides the possibility of setting coordinated actions and synchronized communication. There are various versions of PTP that have been developed over time, namely PTPv1, PTPv2, PTPv2_1, and the latest PTP-AS. Cadence Verification IP for Ethernet is available to support the newer version of PTP, allowing simulation of the device for efficient IP, SoC, and system-level design verification. Semiconductor companies can start using it to fully verify their controller design and achieve functional verification closure on it within no time. Full Article Verification IP uvm 5G Network Ethernet VIP Functional Verification Cadence VIP portfolio VIP Automotive Ethernet Ethernet TSN PTP precision timing protocol verification
re OrCAD X – The Anytime Anywhere PCB Design Platform By community.cadence.com Published On :: Mon, 26 Aug 2024 10:08:00 GMT OrCAD X is the next-generation integrated PCB design platform. It brings to you a powerful cloud-enabled design solution that includes design and library data management integrated with the proven PCB design and analysis product portfolio of Cad...(read more) Full Article PCB OrCAD X Capture innovation PSpiceA/D PSPICE Layout PCB design OrCAD X Presto OrCAD X Constraints simulation Schematic
re DesignCon Best Paper 2024: Addressing Challenges in PDN Design By community.cadence.com Published On :: Tue, 17 Sep 2024 19:40:00 GMT Explore Impacts of Finite Interconnect Impedance on PDN Characterization Over the past few decades, many details have been worked out in the power distribution network (PDN) in the frequency and time domains. We have simulation tools that can analyze the physical structure from DC to very high frequencies, including spatial variations of the behavior. We also have frequency- and time-domain test methods to measure the steady-state and transient behavior of the built-up systems. All of these pieces in our current toolbox have their own assumptions, limitations, and artifacts, and they constantly raise the challenging question that designers need to answer: How to select the design process, simulation, measurement tools, and processes so that we get reasonable answers within a reasonable time frame with a reasonable budget. Read this award-winning DesignCon 2024 paper titled “Impact of Finite Interconnect Impedance Including Spatial and Domain Comparison of PDN Characterization.” Led by Samtec’s Istvan Novak and written with a team of nine authors from Cadence, Amazon, and Samtec, the paper discusses a series of continually evolving challenges with PDN requirements for cutting-edge designs. Read the full paper now: “Impact of Finite Interconnect Impedance Including Spatial and Domain Comparison of PDN Characterization.” Full Article featured DesignCon PDN signal integrity analysis Signal Integrity PDN Analysis Sigrity
re Accelerate PCB Documentation in OrCAD X Presto with Live Doc By community.cadence.com Published On :: Fri, 18 Oct 2024 10:05:00 GMT Live Doc is an advanced automated PCB documentation generation tool integrated with OrCAD X Presto designed to streamline the creation of PCB documentation. By automating the generation of PCB fabrication and assembly drawings, Live Doc significantly...(read more) Full Article digital badge Cadence Design Systems Live Doc PCB manufacturing Allegro X PCB Editor 3dx SPB PCB design Training Insights OrCAD X Presto OrCAD X 23.1 PCB fabrication OrCAD Experts PCB Documentation online training 23.1-2023 PCB Gerber
re Allegro X APD: SPB 23.1 release —Your freedom to design boldly! By community.cadence.com Published On :: Thu, 16 Nov 2023 11:33:14 GMT Cadence is super excited to announce SPB 23.1 release —Your freedom to design boldly! These tools help engineers build better PCBs faster with the new 3D engine and optimized interface. We have been hard at work to bring you this release and believe that it will help you take control of the PCB design process with the powerful new features in Allegro X APD like: Packaging Support in 3DX Canvas 3DX Wire DRCs Aligning Components by Offset Text Wizard Enhancements Device File Reuse for Existing Components for Netlist and Logic Import Watch this space to know all about What’s New in SPB 23.1. Regards Team PCBTech Cadence Design System For individuals, small businesses, or teams, START YOUR FREE TRIAL. Full Article
re Relative delay analysis is impacted by pbar By community.cadence.com Published On :: Thu, 23 Nov 2023 21:32:03 GMT Does anyone know how to not include a pbar in a constraint manager analysis? I have some relative delay constraints applied on a group of differential nets. When I analyze the design these all show an error. If I delete the plating bar from the design they are all passing. The plating bar gets generated on the Substrate Geometry / Plating_Bar class. I understand that I could just delete the plating bar to verify the constraint but the issue is when I archive this design I would like it to be clean meaning it is in the final state for manufacturing AND passing all constraints according to design reviews. Anyone have an idea? Thank you! Full Article
re Multiple touch points for bond wires on a die pin By community.cadence.com Published On :: Mon, 27 Nov 2023 21:46:03 GMT Does anyone know whether it is possible to have multiple contact points for a bond wire on a large die pad? Note: This is different from adding multiple wires which I will also be doing. I need to add multiple bond connections to the same large die pad for redundancy connections to each pad for each wire. I have a large die pad which I need to have 5 wires with each wire having 3 bond connections to the same die pad. Full Article
re How to reuse device files for existing components By community.cadence.com Published On :: Thu, 07 Dec 2023 11:09:26 GMT Have you ever encountered ERROR(SPMHNI-67) while importing logic? If yes, you might already know that you had to export libraries of the design and make sure that paths (devpath, padpath, and psmpath) include the location of exported files. Starting in SPB23.1, if you go to File > Import > Logic/Netlist and click on the Other tab, you will see an option, Reuse device files for existing components. After selecting this option, ERROR(SPMHNI-67) will no longer be there in the log file, because the tool will automatically extract device files and seamlessly use them for newly imported data. In other words, SPB_23.1 lets you reuse the device / component definitions already in the design without first having to dump libraries manually. An excellent improvement, don’t you think? Full Article
re How to add wirebond profile to a die pin? By community.cadence.com Published On :: Thu, 21 Dec 2023 14:15:52 GMT Starting SPB 23.1, a new pin property, WIREBOND_PROFILE_NAME is introduced. This property can be used to define a wirebond profile to a die pin. When adding a wirebond, the pin will use the profile defined in the WIREBOND_PROFILE_NAME property associated to the die pin. Assign the WIREBOND_PROFILE_NAME property to the die pin using Edit > Properties and set the desired wirebond profile name in the Value field. The following image displays the WIREBOND_PROFILE_NAME property assigned to the pin and wire profile of the Wire Bond for that pin. Full Article
re Creating Power and Ground rings in Allegro X Package Designer Plus By community.cadence.com Published On :: Fri, 31 May 2024 13:19:12 GMT Power and Ground rings are exposed rings of metal surrounding a die that supply power/ground to the die and create a low-impedance path for the current flow. These rings ensure stable power distribution and reduce noise. Allegro X Package Designer Plus has a utility called Power/Ground Ring Generator which lets you define and place one or more shapes in the form of a ring around a die. To run the PWR/GND Generator Wizard, go to Route > Power/Ground Ring Generator or type "pring wizard" in the APD command window to invoke the Wizard. This Wizard lets you define and place one or more shapes in the form of a ring around a die. The Power/Ground Ring Wizard creates up to 12 rings (shapes) at a time. If you require more rings, you can run the Power/Ground Ring Wizard as many times as needed. This command displays a wizard in which you can specify: The number of rings to be generated The creation of the first ring as a die flag (Die flag is the boundary of the die like the power ring.) If you create a die flag and the first ring is the same net as the flag, you can enter a negative distance to overlap the ring and the die flag. Multiple options for placement of the rings with respect to: Origination point Distance from the edge of the die Distance from the nearest die pin on each die side The reference designator of the die with which the rings will be used The distance between rings The width of each ring The corner types on each ring (arc, chamfer, and right-angle) An assigned net name for each ring A label for each ring The rings are basic in nature. For other shape geometries or split rings, choose Shape > Polygon or Shape > Compose/Decompose Shape from the menu in the design window. Depending on the options selected, the Power/Ground Ring Wizard UI changes, representing how the rings will be created. Verify the Wizard settings to ensure that the rings are created as intended. When the Power/Ground Ring Wizard appears, set the number of rings to 2, accept the other defaults, and click Next. You can set Create first ring as die flag to create a basic die flag. 2. Define Ring 1 and the net associated with it. a) Browse and choose Vss in the Net Names dialog box. b) Click OK. c) Specify the label as VSS. d) Click Next. The first ring should appear in your design. It is associated with the proper net; in this case, VSS. For the second ring, choose the net as Vdd and specify the label as VDD. Click Next. Click Finish in the Result Verification screen to complete the process. The completed rings appear as shown below. Now, when you click on Power and Ground Die Pin and add wirebonds, you will see that the wirebonds are placed directly on the Power and Ground rings. Full Article
re Allegro X APD : Tip of the Week: ‘Auto-blank other rats’ feature By community.cadence.com Published On :: Wed, 12 Jun 2024 09:25:34 GMT When working on a complex design, it is common to have very many net ratlines. Quantities like 1000 ratlines are possible. It can result in a cluttered view while routing. Therefore, it is useful to make all other ratlines invisible while routing interactively. You would like to make all ratlines visible again when each route action is completed. You can easily do this by enabling the Auto-blank other rats option during routing. When enabled, all rats other than the primary ones are suppressed during the Add Connect command. Full Article