<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.cadence.com/cfs-file/__key/system/syndication/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Verification</title><subtitle type="html" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/atom</id><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv" /><link rel="self" type="application/atom+xml" href="https://community.cadence.com/cadence_blogs_8/b/fv/atom" /><generator uri="http://telligent.com" version="12.1.4.24841">Telligent Community (Build: 12.1.4.24841)</generator><updated>2026-05-01T10:00:00Z</updated><entry><title>From Pacemakers to ADAS: Verifying Systems Before Tapeout</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/from-pacemakers-to-adas-verifying-systems-before-tapeout" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/from-pacemakers-to-adas-verifying-systems-before-tapeout</id><published>2026-07-07T14:30:00Z</published><updated>2026-07-07T14:30:00Z</updated><content type="html">&lt;p&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt="Pacemaker to ADAS" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/8132.Pacemaker_5F00_to_5F00_ADAS_5F00_2.png" /&gt;&lt;/p&gt;
&lt;p&gt;Imagine discovering a critical bug in a heart pacemaker, not after deployment, not during final qualification testing, but months before the chip itself exists.&lt;/p&gt;
&lt;p&gt;At first glance, that sounds impossible. After all, how can engineers validate a system that has not yet been manufactured? Yet this question sits at the center of modern semiconductor development, where the challenge is no longer simply building silicon. Increasingly, the real challenge is proving that the software, algorithms, interfaces, and system behavior will function correctly long before the first wafer reaches the fab.&lt;/p&gt;
&lt;p&gt;As systems become more software-defined, the traditional development model is being pushed to its limits. Medical devices, automotive safety systems, and intelligent robotics platforms all depend on increasingly sophisticated SoCs that integrate hardware, firmware, operating systems, communication stacks, sensors, and application software. Waiting for first silicon before beginning meaningful validation is no longer practical. Development cycles are too short, software stacks are too large, and the cost of finding problems late in the process is simply too high.&lt;/p&gt;
&lt;p&gt;This shift is driving a new approach to verification: one that enables software bring-up, system validation, and large-scale testing months before physical hardware is available. Platforms such as Cadence Palladium Emulation System and Protium Enterprise Prototyping System are helping engineering organizations make that transition by allowing teams to validate complex systems earlier, iterate faster, and reduce risk throughout development.&lt;/p&gt;
&lt;h2 id="mcetoc_1jstdv7is6"&gt;Different Industries. The Same Verification Challenge.&lt;/h2&gt;
&lt;p&gt;A pacemaker.&lt;/p&gt;
&lt;p&gt;An ADAS controller.&lt;/p&gt;
&lt;p&gt;A humanoid robot.&lt;/p&gt;
&lt;p&gt;At first glance, they seem to have little in common.&lt;/p&gt;
&lt;p&gt;One monitors heart rhythms.&lt;/p&gt;
&lt;p&gt;Another helps prevent vehicle accidents.&lt;/p&gt;
&lt;p&gt;The third navigates the physical world through sensors, perception, and motion control.&lt;/p&gt;
&lt;p&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt="Silicon Nodes in Mission critical devices" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/0207.Silicon_5F00_Nodes_5F00_in_5F00_Devices.png" /&gt;&lt;/p&gt;
&lt;p&gt;Yet beneath the surface, they share the same engineering reality. All three depend on increasingly sophisticated SoCs that combine hardware, firmware, operating systems, communication interfaces, sensor processing, and application software.&lt;/p&gt;
&lt;p&gt;And all three must answer the same question:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do you validate system behavior before the hardware exists?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Traditional simulation remains essential, but as designs grow larger and software stacks become more complex, simulation alone often becomes the bottleneck. Teams need environments that can execute real workloads, run longer test scenarios, and support software development months before first silicon arrives.&lt;/p&gt;
&lt;p&gt;That is where hardware-assisted verification changes the equation.&lt;/p&gt;
&lt;h2 id="mcetoc_1jstdvpd37"&gt;When a Pacemaker Needs Years of Confidence&lt;/h2&gt;
&lt;p&gt;&lt;img class="align-left" style="float:left;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/4812.Image_5F00_Medical_5F00_V01.png" /&gt;Consider a modern implantable cardiac device. The algorithms inside these systems continuously analyze physiological signals and make decisions that directly impact patient safety. Testing them is not simply a matter of running a handful of unit tests. Engineers must evaluate thousands of signal variations, operating conditions, and edge cases to build confidence that the system will behave correctly over years of operation. For many organizations, the challenge is compounded by the fact that relatively small hardware teams must support large, globally distributed software organizations working on multiple product variants simultaneously.&lt;/p&gt;
&lt;p&gt;In these environments, the bottleneck is often not engineering expertise but access to realistic hardware platforms. Cloud-based prototyping environments help remove that constraint by allowing software teams to begin algorithm validation, firmware development, and long-duration testing long before silicon becomes available. Instead of compressing validation into the final stages of development, teams can start earlier, test longer, and uncover issues when they are far less expensive to fix.&lt;/p&gt;
&lt;h2 id="mcetoc_1jstdul2e1"&gt;ADAS: Where &amp;quot;Almost Correct&amp;quot; Is Not Good Enough&lt;/h2&gt;
&lt;p&gt;&lt;img class="align-left" style="float:left;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/2364.Automotive.png" /&gt;The automotive industry faces a different but equally demanding challenge. Advanced Driver Assistance Systems (ADAS) must interact reliably with sensors, communication networks, safety mechanisms, and vehicle control systems while operating under strict functional safety requirements. Here, verification is not simply about proving that software runs correctly. It is about proving that the entire system behaves correctly under realistic operating conditions.&lt;/p&gt;
&lt;p&gt;A software model may suggest everything is working as intended, but real-world behavior is often influenced by interface timing, protocol interactions, and system-level effects that only emerge when hardware and software execute together. This is why many automotive teams use emulation platforms to perform large-scale hardware verification and regression testing before transitioning to hardware-accurate prototyping environments for software validation. The goal is not merely faster execution. It is confidence that the complete system will behave as expected when exposed to real interfaces, real workloads, and real operating conditions.&lt;/p&gt;
&lt;h2 id="mcetoc_1jstdul2e2"&gt;Accelerating the Learning Loop in Robotics&lt;/h2&gt;
&lt;p&gt;&lt;img class="align-left" style="float:left;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/5078.Robotics.png" /&gt;Robotics introduces yet another layer of complexity. Every movement a robot makes depends on a constant stream of data flowing through sensors, vision systems, accelerometers, motion controllers, and software algorithms. What appears effortless from the outside is the result of thousands of iterative development cycles. A robot attempts a movement, fails, the software is adjusted, and the process repeats. Innovation depends on how quickly teams can complete that loop.&lt;/p&gt;
&lt;p&gt;Traditional simulation often becomes a bottleneck because realistic robotics workloads require long-running execution and continuous interaction between hardware and software. Hardware-assisted verification environments allow engineers to run larger workloads, validate software against realistic hardware behavior, and iterate faster without waiting for physical silicon. The result is not simply accelerated verification, it is accelerated learning, which often becomes the difference between a promising concept and a viable product.&lt;/p&gt;
&lt;h2 id="mcetoc_1jstdul2e3"&gt;The Bigger Shift: Verification Is Becoming a Continuous Workflow&lt;/h2&gt;
&lt;p&gt;Across all three industries, the most important transformation is not technological. It is organizational. Historically, software teams waited for hardware. Today, software development often begins months before silicon arrives. Historically, validation happened late in the project schedule. Today, it starts much earlier and continues throughout development. Historically, verification resources were tied to physical labs and limited infrastructure. Today, cloud-enabled environments allow globally distributed teams to access sophisticated verification platforms from virtually anywhere.&lt;/p&gt;
&lt;p&gt;This shift is changing how engineering organizations operate. Small hardware teams can support much larger software organizations. Verification scales more effectively with growing design complexity. Development no longer stalls while teams wait for physical hardware to arrive. Most importantly, organizations gain confidence earlier in the lifecycle, when design changes are easier to make and risks are easier to manage.&lt;/p&gt;
&lt;h2 id="mcetoc_1jstdul2e4"&gt;Why This Matters More Than Ever&lt;/h2&gt;
&lt;p&gt;As semiconductor systems continue to grow in complexity, this capability is becoming increasingly important. Medical devices are becoming smarter. Vehicles are becoming more autonomous. Robots are becoming more capable. Every advancement introduces more software, more interfaces, more sensors, and more opportunities for failure. The traditional approach of waiting for silicon before validating complete system behavior simply cannot keep pace.&lt;/p&gt;
&lt;p&gt;The organizations pulling ahead are not necessarily those building the most advanced chips. They are the ones finding ways to validate reality earlier. They are reducing iteration cycles, enabling hardware and software teams to work in parallel, and creating development environments that closely mirror real-world operation long before tapeout.&lt;/p&gt;
&lt;p&gt;That is why hardware-assisted verification platforms such as Palladium and Protium matter. They are not simply tools for running tests faster. They are helping redefine when validation happens, how teams collaborate, and how confidence is built throughout the development process.&lt;/p&gt;
&lt;h2 id="mcetoc_1jstdul2e5"&gt;Final Takeaway&lt;/h2&gt;
&lt;p&gt;The most compelling lesson from mission-critical semiconductor development is surprisingly simple: the earlier you can validate reality, the fewer surprises you encounter later. Whether the product is a pacemaker, an ADAS controller, or a humanoid robot, the objective remains the same: find issues earlier, validate longer, and move faster without sacrificing confidence.&lt;/p&gt;
&lt;p&gt;For engineering leaders navigating increasingly complex SoC development, that may be one of the most important competitive advantages emerging in modern verification.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Want to hear the full discussion?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Click &lt;a href="https://events.cadence.com/hub/events/65e9ed9e-9b69-4c45-a097-430307ecd86a/sessions/8d8442f7-8902-471e-bae8-d06e092364ac?autoPlay=true"&gt;here&lt;/a&gt; to listen to the complete discussion by &lt;em&gt;Lance Tamura, product management director&lt;/em&gt; and see how leading teams are accelerating software and system validation before first silicon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364236&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Reela Samuel</name><uri>https://community.cadence.com/members/reela-samuel</uri></author><category term="Automotive" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Automotive" /><category term="Protium" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Protium" /><category term="Palladium" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Palladium" /><category term="medical" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/medical" /><category term="robotics" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/robotics" /><category term="verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/verification" /></entry><entry><title>DFI 6.0 Key Highlights of the Latest DFI Specification</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/dfi-6-0-key-highlights-of-the-latest-dfi-specification" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/dfi-6-0-key-highlights-of-the-latest-dfi-specification</id><published>2026-07-07T09:23:00Z</published><updated>2026-07-07T09:23:00Z</updated><content type="html">&lt;p&gt;The &lt;strong&gt;DDR PHY Interface (DFI)&lt;/strong&gt; protocol specifies the signals, timing parameters, and configurable options necessary for the transfer of command information and data across the DFI, facilitating communication between the DDR memory controller (MC) and the DDR PHY (PHY). Programmable parameters are system-defined or provided by either the MC or PHY and are set within the MC an&lt;img class="align-right" style="float:right;max-height:231px;max-width:441px;" alt=" " src="https://community.cadence.com/resized-image/__size/882x462/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/pastedimage1783365587181v1.png" /&gt;d/or PHY as required. The DFI 6 protocol is applicable to DDR5, DDR5 RDIMM, DDR5 LRDIMM, DDR5 MRDIMM, LPDDR5, LPDDR6, and HBM4 DRAM technologies.&lt;/p&gt;
&lt;p&gt;DFI 6.0.1 (also referred to as &lt;strong&gt;DFI 6.0&lt;/strong&gt; in the rest of the blog) is the latest standard of the DFI specification. It removes support for earlier DDR/LPDDR generations, adds support for LPDDR6 and HBM4, adds/modifies low-power features, reorganizes WCK and memory-error handling, removes the disconnect protocol, and adds support for 1:3 and 1:6 DFI ratios.&lt;/p&gt;
&lt;p&gt;Highlights of the DFI 6.0 standard (as compared to DFI 5.2):&lt;/p&gt;
&lt;h2&gt;Supported Memory Standards&lt;/h2&gt;
&lt;p&gt;DFI 6.0 narrows the legacy scope and re-centers the specification on newer memories, while adding explicit support for LPDDR6 and HBM4. DFI 6.0 also removed DDR/2/3/4 and LPDDR/2/3/4 support that were supported until DFI 5.2 specification.&lt;/p&gt;
&lt;p&gt;DFI 6.0 includes LPDDR6 and HBM4 while describing various DFI bus operations like CA bus mapping, functional-use sections, and figures for specific device timing.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Command Bus Signal Naming Change&lt;/h2&gt;
&lt;p&gt;The command/address signaling was updated in DFI 6.0 from a dfi_address in v5.2 to a dfi_cmdaddr to better align with the current protocols. There is no functional impact of this change. While DFI 5.2 describes CA mapping onto the dfi_address&amp;nbsp;bus, including detailed mapping text for LPDDR2/3/4/5 and DDR5,&amp;nbsp;in DFI 6.0, the contents and functional timing examples refer to mapping the CA bus to the dfi_cmdaddr&amp;nbsp;bus, and the LPDDR6 timing figures explicitly use dfi_cmdaddr&amp;nbsp;fields such as dfi_cmdaddr_p0[3:0]&amp;nbsp;and dfi_cmdaddr_p1[3:0].&amp;nbsp;DFI 6.0 also adds command bus enable dfi_cmd_en, to allow selective command sampling that can be used for runtime power optimization for command path.&lt;/p&gt;
&lt;h2&gt;Disconnect Protocol Removed&lt;/h2&gt;
&lt;p&gt;DFI 5.2&amp;nbsp;includes support for the &amp;ldquo;disconnect protocol&amp;rdquo; that can be used to break up a handshake between two DFI signals. This information is conveyed through the dfi_disconnect_error signal. DFI 6.0 doesn&amp;rsquo;t have any explicit &amp;ldquo;disconnect protocol&amp;rdquo;. However, DFI6.0 does allow using existing handshake signals in a different way to allow for ending early.&lt;/p&gt;
&lt;h2&gt;Error Handling Reorganized and Expanded&lt;/h2&gt;
&lt;p&gt;DFI 6.0 presents error reporting in a more explicit memory-oriented structure than DFI 5.2.&amp;nbsp; DFI 5.2 specification includes an &amp;ldquo;error interface&amp;rdquo; and an &amp;ldquo;error signaling&amp;rdquo; section.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In DFI 6.0, the contents include &amp;ldquo;memory errors/interrupts&amp;rdquo; under the command interface and a dedicated &amp;ldquo;memory error/interrupt reporting&amp;rdquo; chapter with explicit examples for dfi*errmode = 0&amp;nbsp;and dfi*errmode = 1, as well as command, write-data, and read-data error timing parameters.&lt;/p&gt;
&lt;h2&gt;Low-Power and Sleep Enhancements&lt;/h2&gt;
&lt;p&gt;The DFI 6.0 added and modified low-power features. DFI 6.0&amp;nbsp;adds explicit top-level status and functional use sections for sleep, including &amp;ldquo;sleep request protocol,&amp;rdquo; and specifically calls out corrections to the frequency change and sleep protocols.&amp;nbsp;DFI 6.0 also removed the disconnect protocol from all handshakes&lt;/p&gt;
&lt;p&gt;By contrast, 5.2&amp;nbsp;has low-power-control handshaking and frequency-change sections, but it does not have a standalone top-level sleep section in the table of contents.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Frequency Ratio Support Expanded&lt;/h2&gt;
&lt;p&gt;DFI 5.2 matched-frequency and frequency-ratio systems include 1:2, 1:4, or 1:8 ratios, and their figures show 1:2 and 1:4 phase definitions.&amp;nbsp;DFI 6.0 added support for 1:3 and 1:6 DFI ratios. All ratios are optional, and what is supported is an implementation decision.&lt;/p&gt;
&lt;h2&gt;Data Path Extensions&lt;/h2&gt;
&lt;p&gt;DFI 6.0 adds new capabilities to data path, which includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Write data parity (HBM4)&lt;/li&gt;
&lt;li&gt;Read data parity along with valid separation (HBM4)&lt;/li&gt;
&lt;li&gt;Data severity signaling (rddata_sev) (HBM4)&lt;/li&gt;
&lt;li&gt;Expanded ECC coverage (HBM4 + LPDDR6)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These improvements align with the reliability requirements for HBM4 and LPDDR6-based memory subsystems.&lt;/p&gt;
&lt;h2&gt;Legacy 3DS Content Removed with Older DDR Support&lt;/h2&gt;
&lt;p&gt;DFI 5.2&amp;nbsp;contains a dedicated &amp;ldquo;3DS stack support&amp;rdquo; section, including &amp;ldquo;3DS addressing with dfi_cid and dfi_cs for DDR3&amp;rdquo; and &amp;ldquo;for DDR4.&amp;rdquo;&amp;nbsp; DFI&amp;nbsp;6.0 no longer supports&amp;nbsp;&lt;span&gt;dfi_cid and dfi_cs pins as the standard&amp;nbsp;&lt;/span&gt;removes DDR3 and DDR4 support.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is a tabular &lt;strong&gt;summary&lt;/strong&gt; of the differences between &lt;strong&gt;DFI 5.2 vs DFI 6.0&lt;/strong&gt; standard:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;Feature&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;DFI 5.2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;DFI 6.0&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;3DS stack pin support&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;No (no separate dfi_cid)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;Frequency ratio support&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;include 1:2, 1:4, or 1:8 ratios&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;include 1:2, 1:3, 1:4, 1:6 and 1:8 ratios&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;Power states&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;No sleep support but does support low-power-control handshaking and frequency-change&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;adds Sleep Protocol Support&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;Error handling&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;Basic&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;PHY error + data/command split + severity&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;Data reliability&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;ECC/CRC/DBI&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;Added HBM4 Parity/severity&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;Command bus signal naming change&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;dfi_address-centric description&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;dfi_cmdaddr-centric description&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="208"&gt;
&lt;p&gt;Supported memory standards&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;No support for LPDDR6 and HBM4. Supports DDR/2/3/4/5 and LPDDR/2/3/4/5.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208"&gt;
&lt;p&gt;Added LPDDR6 and HBM4 support and dropped DDR/2/3/4 and LPDDR/2/3/4 support.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Cadence provides DFI Memory Controller, PHY, and monitor Verification IP for all generations of DFI standards that work with all of the recent generation of DRAM devices like LPDDR4/LPDDR5/LPDDR6, DDR4/DDR5/DDR5 DIMM, HBM3/HBM4, and GDDR6/GDDR7. Cadence also offers industry-leading VIPs for all generations of DRAMs and non-volatile (Flash/cards) memory solutions.&lt;/p&gt;
&lt;p&gt;Reach out to&amp;nbsp;Cadence Verification IP experts at&amp;nbsp;&lt;a href="mailto:talk_to_vip_expert@cadence.com"&gt;talk_to_vip_expert@cadence.com&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;More information on Cadence DFI VIPs is available at &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/memory-models/dram/dfi.html"&gt;Cadence VIP DFI VIP Website&lt;/a&gt;, and Cadence&amp;#39;s offered memory models can be found at &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/memory-models.html"&gt;Cadence Memory Model Website&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364235&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Shyam Sharma</name><uri>https://community.cadence.com/members/shyam-sharma</uri></author><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="memory controller" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/memory%2bcontroller" /><category term="PHY" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/PHY" /><category term="VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/VIP" /><category term="hbm4" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/hbm4" /><category term="DFI" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/DFI" /><category term="DRAM" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/DRAM" /><category term="DFI 5.2" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/DFI%2b5-2" /><category term="DFI 6.0" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/DFI%2b6-0" /><category term="memory models" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/memory%2bmodels" /><category term="Lpddr6" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Lpddr6" /></entry><entry><title>UALink Under the Hood: Why Full-Stack Verification Wins</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/ualink-under-the-hood-why-full-stack-verification-wins" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/ualink-under-the-hood-why-full-stack-verification-wins</id><published>2026-07-06T06:52:00Z</published><updated>2026-07-06T06:52:00Z</updated><content type="html">Inside the UALink stack: How 640 bytes travel from intent to wire, and why full-stack verification catches what layer testing misses.(&lt;a href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/ualink-under-the-hood-why-full-stack-verification-wins"&gt;read more&lt;/a&gt;)&lt;img src="https://community.cadence.com/aggbug?PostID=1364231&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Sandeep Grover</name><uri>https://community.cadence.com/members/sandeep-grover</uri></author><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="UAL" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/UAL" /><category term="verification strategy" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/verification%2bstrategy" /><category term="System Design and Verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/System%2bDesign%2band%2bVerification" /><category term="VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/VIP" /><category term="UALink" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/UALink" /><category term="verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/verification" /></entry><entry><title>NVMe 2.0 Explained: What’s New and Why It Matters</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/nvme-2-0-explained-what-s-new-and-why-it-matters" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/nvme-2-0-explained-what-s-new-and-why-it-matters</id><published>2026-07-01T11:18:00Z</published><updated>2026-07-01T11:18:00Z</updated><content type="html">&lt;p&gt;&lt;span&gt;Non-Volatile Memory Express (NVMe)&lt;/span&gt; has become the dominant protocol for high-performance storage across client SSDs, enterprise drives, and hyperscale data centers. With NVMe 2.0, the specification expands beyond traditional block-based SSD access with new command sets, broader media support, improved transport organization, and enhancements for modern deployments. This post explores what is new in NVMe 2.0, why these additions matter, and how they impact storage architects, implementers, and verification teams.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:326px;max-width:600px;" alt="Diagram showing NVMe 2.0 modular specification architecture with Base Specification at the center, connected to three Command Sets (NVM Block, ZNS, KV) and three Transports (PCIe, RDMA, TCP), alongside NVMe-MI for management. Four key enhancements are highlighted: Simple Copy, Rotational Media, Vendor Command Sets, and Persistent Memory Region. A Who Benefits section lists Cloud/Hyperscale, Database/KV, Storage Vendors, Enterprise IT, and Automotive/Edge." src="https://community.cadence.com/resized-image/__size/1200x652/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/4846.NVMe2_5F00_Cadence_5F00_Blog_5F00_640px.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jr8222um0"&gt;Why Was NVMe 2.0 Needed?&lt;/h2&gt;
&lt;p&gt;NVMe 1.4, while powerful, centered on &lt;strong&gt;a largely monolithic base specification&lt;/strong&gt;&amp;nbsp;- a single large document covering the PCIe transport, queuing model, admin and I/O commands, and command-set behavior together. As the ecosystem expanded beyond SSDs into new domains (computational storage, key-value stores, zoned namespaces), the single-spec model became unsustainable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Specification bloat:&lt;/strong&gt; Adding every new feature to one document made it unwieldy for implementers who only needed a subset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New transport needs:&lt;/strong&gt; NVMe was no longer PCIe-only. Fabric transports such as RDMA and TCP had grown important enough to require separate, dedicated NVMe transport specifications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diverse command sets:&lt;/strong&gt; As NVMe evolved, emerging command sets such as Zoned Namespaces (ZNS) and Key-Value (KV) storage required independent specifications and lifecycle management rather than being maintained as extensions within a single evolving specification family.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Industry velocity:&lt;/strong&gt; Cloud, edge, automotive, and AI/ML workloads demanded faster iteration on specific features without revising the entire specification.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jr8222un1"&gt;Some Key Enhancements in NVMe 2.0&lt;/h2&gt;
&lt;h3 id="mcetoc_1jr8222un2"&gt;1.&amp;nbsp;Modular Specification Architecture&lt;/h3&gt;
&lt;p&gt;NVMe 2.0 breaks the monolithic spec into a family of focused documents:&lt;/p&gt;
&lt;table border="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="background-color:#182f57;"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;"&gt;Document&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="background-color:#182f57;"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;"&gt;Purpose&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NVMe Base Specification&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Core architecture, admin commands, queuing model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NVMe Command Set Specifications&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;NVM (block), ZNS, KV command sets - each independent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NVMe Transport Specifications&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PCIe, RDMA, TCP - each independent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NVMe Management Interface (NVMe-MI)&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Out-of-band device management&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; An implementer building a ZNS SSD over TCP can focus primarily on the Base specification, ZNS command set, and TCP transport specification instead of navigating one large monolithic document. Under NVMe 1.4, a single errata or feature addition required revising the entire specification, coordinating across all stakeholders. &lt;br /&gt;Under 2.0:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A new transport&lt;/strong&gt; can be standardized as an independent document instead of being folded into one monolithic specification.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A new command set&lt;/strong&gt;, such as computational storage or other emerging models, can evolve through its own specification.&lt;/li&gt;
&lt;li&gt;Spec revisions are &lt;strong&gt;scoped&lt;/strong&gt; - a change to ZNS doesn&amp;#39;t require re-review of the NVM command set or TCP transport.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jr8222un3"&gt;2. Zoned Namespaces (ZNS) -&amp;nbsp;Independent Command Set&lt;/h3&gt;
&lt;p&gt;ZNS evolved through the NVMe technical proposal process and became an independent command set specification in the NVMe 2.0 family.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Exposes the internal zone structure of flash to the host.&lt;/li&gt;
&lt;li&gt;Reduces write amplification and over-provisioning.&lt;/li&gt;
&lt;li&gt;Gives the host direct control over data placement.&lt;/li&gt;
&lt;li&gt;Result: Higher endurance, reduced write amplification, more predictable latency, and potentially lower cost per GB for suitable workloads.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jr8222un4"&gt;3. I/O Command Set Independence and Namespace Types&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NVMe 2.0 formalizes the concept of I/O command sets as independent, pluggable modules.&lt;/li&gt;
&lt;li&gt;Each namespace is now associated with a specific command set identifier (NVM, ZNS, KV).&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Controllers can advertise support for multiple command sets simultaneously.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Enables future command sets to be added without revising the base specification.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jr8222un5"&gt;4. Simple Copy Command&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enables offloaded data copy within a namespace without host-side data movement.&lt;/li&gt;
&lt;li&gt;Reduces host CPU and memory usage during copy-heavy tasks such as garbage collection, deduplication, and snapshots.&lt;/li&gt;
&lt;li&gt;The device performs the copy operation without requiring the host to read and rewrite the payload data across PCIe.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jr8222un6"&gt;5. Rotational Media Support&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NVMe 2.0 broadens the architecture so that rotational media such as HDDs can be represented within the NVMe ecosystem.&lt;/li&gt;
&lt;li&gt;Helps enable a more common NVMe-based command interface across flash and rotational media.&lt;/li&gt;
&lt;li&gt;Helps simplify software stacks by using a more consistent NVMe-based interface across different media types.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jr8222un7"&gt;6. Vendor-Specific I/O Command Sets&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NVMe 2.0&amp;rsquo;s command set model provides a cleaner path for vendor-specific or future command-set extensions.&lt;/li&gt;
&lt;li&gt;Vendors can introduce proprietary capabilities while maintaining alignment with the broader NVMe architecture.&lt;/li&gt;
&lt;li&gt;Keeps the ecosystem open while allowing differentiation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jr8222un8"&gt;7. Persistent Memory Region (PMR) Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NVMe 2.0 carries forward and refines Persistent Memory Region support.&lt;/li&gt;
&lt;li&gt;Defines clearer behavior for host access to controller-side persistent memory.&lt;/li&gt;
&lt;li&gt;PMR can be used by software designed to exploit controller-resident persistent memory for applications such as metadata acceleration, journaling, or write-ahead logging.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jr8222un9"&gt;Who Benefits from NVMe 2.0?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cloud and hyperscalers:&lt;/strong&gt; ZNS reduces TCO through lower write amplification and over-provisioning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database and KV Stores:&lt;/strong&gt; Native KV command support reduces unnecessary block-layer translation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storage vendors:&lt;/strong&gt; Modular spec allows focused implementation and faster time-to-market.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise IT:&lt;/strong&gt; Modular specifications and command-set flexibility simplify the adoption of new NVMe capabilities while maintaining long-term scalability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automotive and edge:&lt;/strong&gt; Leaner implementations by adopting only the needed command set and transport.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jr8222una"&gt;Verification Challenges&lt;/h2&gt;
&lt;p&gt;NVMe 2.0 adds verification complexity because the protocol is no longer tied to one monolithic specification or one block-oriented command model. A controller may support different combinations of base functionality, command sets, namespace types, transports, multipath behavior, and optional features, so verification must cover both individual features and their interactions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Command set selection:&lt;/strong&gt; Ensuring the controller correctly advertises and enables supported I/O command sets such as NVM, ZNS, and vendor-specific command sets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Namespace association:&lt;/strong&gt; Verifying that each namespace is mapped to the correct command set identifier and that unsupported commands are rejected with the appropriate status.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ZNS behavior:&lt;/strong&gt; Checking zone state transitions, sequential write rules, zone append handling, reset behavior, and error cases for invalid zone operations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feature interaction:&lt;/strong&gt; Covering combinations such as Simple Copy, PMR behavior, and rotational media support across different controller configurations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cadence&amp;rsquo;s NVMe Verification IP addresses these challenges with configurable host and subsystem models, protocol checkers, constrained-random traffic, error injection, coverage, and debug support. The VIP helps teams validate NVMe 2.0 features such as command set independence, namespace management, ZNS behavior, PRP/SGL handling, and transport-specific scenarios across IP, SoC, and system-level environments. In addition, the NVMe VIP testsuite provides reusable building blocks that make it easier for users to create targeted verification scenarios, configure traffic patterns, exercise feature-specific behavior, and inject error conditions as needed for their environment. As NVMe evolves toward modular, workload-specific storage architectures, comprehensive verification support is essential for compliance, interoperability, and faster time-to-market.&lt;/p&gt;
&lt;p&gt;More information on Cadence NVMe Verification IP is available at &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/pcie/nvme.html" rel="noopener noreferrer" target="_blank"&gt;Simulation VIP for NVMe | Cadence&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Reach out to Cadence Verification IP experts at &lt;a href="mailto:talk_to_vip_expert@cadence.com" rel="noopener noreferrer" target="_blank"&gt;talk_to_vip_expert@cadence.com&lt;/a&gt;&amp;nbsp;with any questions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364202&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Vishal Patel</name><uri>https://community.cadence.com/members/vishal-patel</uri></author><category term="NVMe 2.0" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/NVMe%2b2-0" /><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="non-volatile memory" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/non_2D00_volatile%2bmemory" /><category term="NVM Express" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/NVM%2bExpress" /><category term="NVMe" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/NVMe" /><category term="Non-Volatile Memory Express" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Non_2D00_Volatile%2bMemory%2bExpress" /><category term="VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/VIP" /><category term="Zoned Namespaces" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Zoned%2bNamespaces" /><category term="NVMe Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/NVMe%2bVerification%2bIP" /><category term="NVMe specification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/NVMe%2bspecification" /><category term="ZNS" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/ZNS" /></entry><entry><title>Understanding USB4 Retimers and Their Role in Gen2 and Gen3 - Link Training</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/understanding-usb4-retimers-and-their-role-in-gen2-and-gen3---link-training" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/understanding-usb4-retimers-and-their-role-in-gen2-and-gen3---link-training</id><published>2026-07-01T04:30:00Z</published><updated>2026-07-01T04:30:00Z</updated><content type="html">&lt;p&gt;USB4 systems rely on retimers to enable reliable high-speed communication across complex topologies where maintaining signal integrity over extended channels is a significant challenge. Retimers act as intermediate elements that restore signal quality at each hop by performing clock and data recovery (CDR) and retransmitting a clean, regenerated signal.&lt;/p&gt;
&lt;p&gt;The USB4 link bring-up process follows a structured sequence from initial connectivity to high-speed operation. The process begins with lane initialization, where routers establish connectivity with the link partner through sideband communication. During this phase, the required parameters for link operation are exchanged and configured. Once initialization is complete, the router drives the transition into link training, where the link progresses toward stable high-speed communication.&lt;/p&gt;
&lt;p&gt;The retimer operates based on its channel state machine, which follows router lane initialization and link training and performs corresponding state transitions based on link conditions on both sides.&lt;/p&gt;
&lt;h2 id="mcetoc_1jq8iuqon1"&gt;Router: Lane Initialization&lt;/h2&gt;
&lt;p&gt;USB4 lane initialization is divided into five phases, where routers control link configuration and parameters synchronization across the topology.&lt;/p&gt;
&lt;p&gt;&lt;img style="display:block;height:371px;margin-left:auto;margin-right:auto;max-height:371px;max-width:383px;" alt=" " height="371" src="https://community.cadence.com/resized-image/__size/766x742/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/pastedimage1780552368190v2.png" width="382" /&gt;&lt;/p&gt;
&lt;h5 style="text-align:center;"&gt;Figure 1: Five-stage lane initialization&lt;/h5&gt;
&lt;ul&gt;
&lt;li style="text-align:left;"&gt;Phase 1 and Phase 2 &amp;ndash; Electrical Initialization: Sideband signaling is used to establish USB4 mode, lane orientation, polarity, and electrical readiness. Retimers forward these signals to maintain continuity across the link.&lt;/li&gt;
&lt;li style="text-align:left;"&gt;Phase 3 &amp;ndash; Capability Exchange (Router Controlled): Routers exchange capability information such as supported link speeds, lane bonding configuration, and adapter capabilities. During this phase, the retimer does not actively participate in protocol decision-making and remains transparent, forwarding sideband transactions without modification.&lt;/li&gt;
&lt;li style="text-align:left;"&gt;Phase 4 &amp;ndash; Parameter Distribution (Broadcast RT): Routers distribute final link parameters using Broadcast RT transactions, including link speed and lane configuration. Retimers update their internal configuration based on these broadcasts and propagate them across their upstream and downstream ports to ensure consistency across the topology. When a Retimer detects an LT_Resume Transaction on any USB4 Port, it shall transition to phase 5.&lt;/li&gt;
&lt;li style="text-align:left;"&gt;Phase 5 &amp;ndash; Equalization (TxFFE Negotiation): Equalization is performed using addressed RT transactions between directly connected link partners. TxFFE parameters are negotiated independently for each segment, allowing per-hop optimization before high-speed training.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Retimers detect the receiver SLOS symbol and begin transmitting CL_WAKE1.X using a local clock once Rx Active is detected. After completing training across all segments and meeting the required clock switch conditions, the retimer transitions from the local clock to the recovered clock. It then stops generating training symbols and begins forwarding the received bit stream, moving the link into steady-state data operation.&lt;/p&gt;
&lt;h2 id="mcetoc_1jq8j4u6j2"&gt;Retimers: Channel State Machine&lt;/h2&gt;
&lt;p&gt;The retimers follow a channel state machine that aligns with the router-driven link initialization and training flow, tracking receiver activity and adapting as the link progresses. They align with the incoming signal and transition toward stable data transfer as training completes. As shown in the figure below, this sequence ensures proper synchronization before steady-state data forwarding.&lt;/p&gt;
&lt;p&gt;&lt;img style="display:block;height:331px;margin-left:auto;margin-right:auto;max-height:331px;max-width:413px;" alt=" " height="331" src="https://community.cadence.com/resized-image/__size/826x662/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/pastedimage1780552508002v3.png" width="412" /&gt;&lt;/p&gt;
&lt;h5 style="text-align:center;"&gt;Figure 2: Retimer channel state machine&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;CLd (Channel Detect): State where retimers wait for receiver activity and detect the presence of a valid signal on the channel.&lt;/li&gt;
&lt;li&gt;Bit Lock: Retimers enter this state once activity is detected on the receiver side. In this state, the receiver achieves clock/data recovery (CDR) and ensures reliable sampling of the incoming data, enabling proper Rx equalization and further link training progression.&lt;/li&gt;
&lt;li&gt;Bit Forwarding: In this state, retimers use the recovered clock and forward the received bit stream directly from receiver to transmitter without modifying the data.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jq8j7nd53"&gt;Training Sequence Flow: Retimers&lt;/h2&gt;
&lt;p&gt;The table illustrates the packet flow during link initialization and transition into link training between two routers with two retimers present in the path.&lt;/p&gt;
&lt;table border="1" width="403" height="218"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Step&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Router A&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Retimer 1&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Retimer 2&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Router B&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Broadcast RT-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Update-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Update-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-Update&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-Update&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-Broadcast RT&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;LT_Resume-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Forward-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Forward-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Detect&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Detect&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-Forward&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-Forward&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-LT_Resume&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;SLOS1 -&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;CL_WAKE1.1-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;CL_WAKE1.2-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-CL_WAKE1.2&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-CL_WAKE1.1&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-SLOS1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;CL_WAKE1.2-&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;8&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-CL_WAKE1.2&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;9&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;SLOS1 -&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;SLOS1 -&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;SLOS1 -&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;SLOS1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-SLOS1&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-SLOS1&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-SLOS1&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&amp;lt;-SLOS1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;11&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Link Training&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;(forwarding state)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Link Training&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;(forwarding state)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Link Training&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;(forwarding state)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;Link Training&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;(forwarding state)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h5&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Table 1: Packet flow in retimers&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Steps 1 &amp;ndash; 2 (RT Broadcast and Update propagation): Router A initiates link bring-up by broadcasting RT packets. Retimers receive these packets and update the information before propagating it toward Router B. The same update flow is mirrored back from Router B toward Router A.&lt;/li&gt;
&lt;li&gt;Steps 3 &amp;ndash; 4 (LT_Resume handshake and detection): Router A sends LT_Resume to trigger link initialization. Retimers transparently forward this signal, enabling Router B to detect link activity. The acknowledgment follows the reverse path through retimers.&lt;/li&gt;
&lt;li&gt;Steps 5 &amp;ndash; 8 (CL_WAKE exchange through retimers): CL_WAKE ordered sets are generated by the retimer with each retimer, sending CL_WAKE1 corresponding to its retimer index. This stage ensures link partners are synchronized before progressing further.&lt;/li&gt;
&lt;li&gt;Steps 9 &amp;ndash; 10 (SLOS1 exchange): SLOS1 ordered sets are transmitted and propagated across both retimers without modification. At this stage, retimers primarily act in forwarding mode, maintaining the integrity of training sequences.&lt;/li&gt;
&lt;li&gt;Step 11 (Transition to Link Training): Once ordered set exchanges are complete, all components (routers and retimers) transition into link training. Retimers operate in forwarding mode, directly passing received bits to the transmitter without alteration.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jq8jcpgm4"&gt;Verification Challenges for the Retimers&lt;/h2&gt;
&lt;p&gt;Verification of USB4 retimer topologies presents challenges in ensuring the correct propagation of training sequences across multiple segments. Each retimer must receive, regenerate, and forward sequences while maintaining signal integrity and timing alignment.&lt;/p&gt;
&lt;p&gt;Retimer identification and topology discovery ensure correct mapping of logical indices across the chain. Any mismatch can lead to incorrect targeting of training transactions.&lt;/p&gt;
&lt;p&gt;Lack of proper verification of retimer behavior can lead to link instability or failure in multi-retimer topologies. If such issues are identified post-silicon, time-to-market is impacted due to the additional effort required for debug and re-verification.&lt;/p&gt;
&lt;p&gt;Cadence has a mature verification IP solution for the verification of various topologies of retimers in a USB4 design, with verification capabilities provided to do a comprehensive verification of these topologies.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more about &lt;a href="https://community.cadence.com/cadence_blogs_8/b/fv/archive/2026/06/04/understanding-usb4-retimers-and-their-role-in-gen2-and-gen3---link-training/edit/Simulation%20VIP"&gt;Simulation VIP&lt;/a&gt; or reach out to our &lt;a href="mailto:talk_to_vip_expert@cadence.com"&gt;Cadence Verification IP experts&lt;/a&gt; for further information.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364188&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>SS202605248717</name><uri>https://community.cadence.com/members/ss202605248717</uri></author><category term="USB4 VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/USB4%2bVIP" /><category term="usb4" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/usb4" /><category term="retimers" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/retimers" /></entry><entry><title>The Infineon Automotive Ecosystem Summit 2026</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/the-infineon-automotive-ecosystem-summit-2026" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/the-infineon-automotive-ecosystem-summit-2026</id><published>2026-06-30T17:30:00Z</published><updated>2026-06-30T17:30:00Z</updated><content type="html">The 2026 &lt;a href="https://www.infineon.com/our-stories/ecosystem-summit"&gt;Infineon Automotive Ecosystem Summit&lt;/a&gt; took place in late June at the Infineon headquarters at am Campeon in Munich. The event brought together the ecosystem around &lt;a href="https://www.infineon.com/applications/automotive"&gt;Infineon&amp;#39;s automotive microcontrollers&lt;/a&gt;, with a particular emphasis on software...(&lt;a href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/the-infineon-automotive-ecosystem-summit-2026"&gt;read more&lt;/a&gt;)&lt;img src="https://community.cadence.com/aggbug?PostID=1364226&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>JEngblom</name><uri>https://community.cadence.com/members/jengblom</uri></author><category term="Automotive" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Automotive" /><category term="Infineon" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Infineon" /><category term="vlab" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/vlab" /><category term="Digital Twins" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Digital%2bTwins" /></entry><entry><title>Demystifying Address Translation Services (ATS) in PCIe 6.0</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/demystify-address-translation-services-ats-in-pcie-6-0" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/demystify-address-translation-services-ats-in-pcie-6-0</id><published>2026-06-23T10:50:00Z</published><updated>2026-06-23T10:50:00Z</updated><content type="html">&lt;p&gt;Address Translation Services (ATS) is one of the toughest verification problems to solve as it is the fast lane for PCIe memory access, cutting delays by caching address translations directly on the device. It keeps software behavior consistent across both PCIe Devices and RC Integrated Endpoints, making performance gains simple to adopt.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;&lt;u&gt;Key Features updated for ATS&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Translation Agent (TA)&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Central entity&lt;span&gt;,&lt;/span&gt; which is responsible for translating virtual addresses to physical addresses that validates and returns translated addresses to requesting devices&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Address Translation Cache (ATC)&lt;/strong&gt;: Cache within a PCIe Function to store translated addresses&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Address Translation and Protection Table (ATPT)&lt;/strong&gt; &amp;ndash; Optional feature contains the set of address translations accessed by a TA to process PCIe requests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AT Field in TLPs&lt;/strong&gt;: Indicates whether a memory address in a transaction is translated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support for Multi-Function Devices&lt;/strong&gt;: ATS can be implemented per Function
&lt;ul&gt;
&lt;li&gt;Shared ATC resources must behave consistently with independent ATCs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shadow Functions&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;ATS supports Shadow Functions, which share ATC and translation resources with a main Function&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;Here is a diagram illustrating the interaction flow of Address Translation Services (ATS) in PCI Express:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:193px;max-width:408px;" alt=" " height="193" src="https://community.cadence.com/resized-image/__size/816x386/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/pastedimage1782191803911v2.png" width="408" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Translation Request /Completion exchange &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Address translation and caching are performed with the help of Memory Request transmitted from ATC to TA. Upon reception of the Translation Request, TA determines whether the translation can be provided to the function and indicates the success or failure of the request by generating a translation completion with the right response status.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Invalidate Request/Completion exchange&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When a translation changes, the TA sends an Invalidation Request, so the ATC stays in sync with the ATPT. This request is a MsgD transaction that tells the ATC to remove specific address-range entries.&lt;/p&gt;
&lt;p&gt;The Invalidate Completion message includes tags from the original request, so the TA can identify which function finished the invalidate operation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Page Request/PRG Response message exchange&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Page Request helps a PCIe endpoint (like a storage device) to request a page in a specific virtual memory address by transmitting a Msg TLP to RC. To notify a Function that the page request(s) associated with the corresponding PRG has (have) been satisfied with a PRG Response Message is a PCIe Message Request that is Routed by ID back to the requesting Function.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;&lt;u&gt;Basic Rules and Requirements&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Translation Validity&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;A Function must not issue TLPs with the AT field set unless the address was obtained via ATS. ATC entries must only be populated using the ATS protocol&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ordering and Routing&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;ATS Translation Requests follow standard PCIe routing and ordering rules&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Access Permissions&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Translated addresses must have appropriate permissions (Read, Write)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistency&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Shared ATC implementations must behave as if each Function has an independent ATC. Shadow Functions must be treated identically to their main Function by the TA&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;&lt;u&gt;Advance requirements with other features&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;ATS and PASID (Process Address Space ID)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ATS works with PASID to translate a process&amp;rsquo;s virtual addresses into physical addresses. An ATS Translation Request can carry a PASID to identify the target process address space. The ATS response then returns both the translation and the allowed access rights (Read, Write, Execute) for that PASID.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ATS and IDE (Integrity and Data Encryption)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ATS interacts with IDE to ensure that address translations and memory access remain secure by following all rules mentioned in the IDE section.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Key Interactions:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IDE TLPs and ATS&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;ATS must ensure that translations used in IDE TLPs are valid and not tampered with&lt;/li&gt;
&lt;li&gt;IDE Streams must be configured to reject TLPs with invalid or misrouted translations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security Enforcement&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;ATS must comply with IDE&amp;rsquo;s security model, especially when used with&amp;nbsp;Selective IDE Streams, which allow TLPs to pass through switches&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;ATS and segments&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;All standard segment rules apply to ATS-related TLPs. This is especially important for Invalidate Request/Completion and Page Request/PRG Response TLPs, since they are Msg TLPs with OHC-A4 and include a destination segment. If these TLPs are IDE encrypted, it must also follow Requester Segment rules, and IDE-specific Segment Base rules.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;strong&gt;&lt;u&gt;Randomization considerations&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Randomization testing always helps to catch corner case scenarios. The main parameters that can be tested are:&lt;/p&gt;
&lt;table width="672"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="90"&gt;
&lt;p&gt;Parameter&lt;/p&gt;
&lt;/td&gt;
&lt;td width="582"&gt;
&lt;p&gt;Description / Validation Consideration&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="90"&gt;
&lt;p&gt;Address&lt;/p&gt;
&lt;/td&gt;
&lt;td width="582"&gt;
&lt;p&gt;Overlapping address ranges or duplicate Requester IDs can lead to undefined behavior.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="90"&gt;
&lt;p&gt;Size&lt;/p&gt;
&lt;/td&gt;
&lt;td width="582"&gt;
&lt;p&gt;Translation Requests can be random in size, so ATC and ATPT should be initially implemented with sufficient capacity to accommodate variability.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="90"&gt;
&lt;p&gt;TLP types&lt;/p&gt;
&lt;/td&gt;
&lt;td width="582"&gt;
&lt;p&gt;Validation should test MRd Translation Requests and Translated Requests of type MWr, MRd, UIOMWr, and UIOMRd.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="90"&gt;
&lt;p&gt;Exe, Priv&lt;/p&gt;
&lt;/td&gt;
&lt;td width="582"&gt;
&lt;p&gt;Permissions can be randomly assigned and determine how the responder returns data for a request.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="90"&gt;
&lt;p&gt;Ordering&lt;/p&gt;
&lt;/td&gt;
&lt;td width="582"&gt;
&lt;p&gt;Translation Requests can be transmitted with random ordering; corresponding responses must follow specification-defined ordering rules.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="90"&gt;
&lt;p&gt;PASID&lt;/p&gt;
&lt;/td&gt;
&lt;td width="582"&gt;
&lt;p&gt;ATS Requests/Completions may include PASID, which can take random values.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;&lt;strong&gt;&lt;u&gt;ATS verification challenges and solutions&lt;/u&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;table width="642"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="198"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="228"&gt;
&lt;p&gt;Verification approach&lt;/p&gt;
&lt;/td&gt;
&lt;td width="216"&gt;
&lt;p&gt;Challenge&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="198"&gt;
&lt;p&gt;ATS coexistence with other capabilities (e.g., IDE optional)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="228"&gt;
&lt;p&gt;Verify ATS behavior remains consistent with and without optional capabilities enabled.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="216"&gt;
&lt;p&gt;Requires multiple test environments/configurations.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="198"&gt;
&lt;p&gt;ATS testing with and without PASID&lt;/p&gt;
&lt;/td&gt;
&lt;td width="228"&gt;
&lt;p&gt;Execute ATS flows for each TLP type with PASID off/on and randomized PASID values; check all PASID-related rules.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="216"&gt;
&lt;p&gt;Rule space increases significantly with PASID combinations.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="198"&gt;
&lt;p&gt;Reset scenarios clearing ATC (Detect, HotReset, FLR, etc.)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="228"&gt;
&lt;p&gt;Prove ATC is correctly invalidated after each reset type.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="216"&gt;
&lt;p&gt;Carefully monitor system behavior before and after reset.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="198"&gt;
&lt;p&gt;Random Completion Count (TC/VC mapping)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="228"&gt;
&lt;p&gt;Validate completion distribution/count correctness under randomized TC/VC mappings.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="216"&gt;
&lt;p&gt;Randomization can make debug harder unless seed/logging is strong.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="198"&gt;
&lt;p&gt;Negative scenarios marked &amp;ldquo;undefined behavior&amp;rdquo;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="228"&gt;
&lt;p&gt;Define practical verification strategy for undefined-behavior cases.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="216"&gt;
&lt;p&gt;It is difficult to assert deterministic expected result from spec.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Cadence PCIe VIP verification test suite is built to solve challenges like the ones described above, by delivering a verification solution in terms of test cases and coverage model. It provides a golden reference that can fully verify any specification defined feature by applying randomization and cross feature verification. Our test suite includes self-checks or protocol checks, error injections, checker evaluation, callback verification, user configurable parameters and coverage model to make sure the feature is thoroughly verified. Cadence test suite eliminates the verification gap, and customers can effectively validate their design by using the provided test suite.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;PCIe Express VIP Verification testbench architecture&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;&amp;nbsp;&lt;img style="max-height:157px;max-width:329px;" alt=" " height="157" src="https://community.cadence.com/resized-image/__size/658x314/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/pastedimage1782191629750v1.png" width="329" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; More information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For more info on how Cadence PCIe Verification IP and TripleCheck VIP enable users to confidently verify PCIe 6.0, see our&amp;nbsp;&lt;a href="https://ip.cadence.com/ipportfolio/verification-ip/simulation-vip/pci-express/pci-express-gen6-simulation-vip"&gt;VIP for PCI Express&lt;/a&gt;,&amp;nbsp;&lt;a href="https://ip.cadence.com/ipportfolio/verification-ip/simulation-vip/pci-express/vip-for-compute-express-link-cxl"&gt;VIP for Compute Express Link&lt;/a&gt; and&amp;nbsp;&lt;a href="https://ip.cadence.com/ipportfolio/verification-ip/productivity-tools"&gt;TripleCheck for PCI Express&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;See the PCI-SIG website for more details on PCIe in general and the different PCI standards.&lt;/li&gt;
&lt;li&gt;For more details, connect directly with Cadence Verification IP experts at&amp;nbsp;&lt;a href="mailto:talk_to_vip_expert@cadence.com"&gt;talk_to_vip_expert@cadence.com&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364215&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Anupriya K</name><uri>https://community.cadence.com/members/anupriya-k</uri></author><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/VIP" /><category term="PCIe 6.0" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/PCIe%2b6-0" /><category term="ATS" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/ATS" /><category term="verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/verification" /></entry><entry><title>Enhancing Ethernet Security with MACsec</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/enhancing-ethernet-security-with-macsec" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/enhancing-ethernet-security-with-macsec</id><published>2026-06-22T05:13:00Z</published><updated>2026-06-22T05:13:00Z</updated><content type="html">&lt;div&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Understanding MACsec in Today&amp;rsquo;s Ethernet World&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Today, Ethernet is being widely adopted across domains ranging from high-performance computing (HPC) and cloud data centers to automotive systems, where security has become a critical requirement. If network security is compromised, sensitive data can be modified, intercepted, or stolen, leading to serious reliability and privacy concerns. Ethernet was originally designed for high-speed data transfer and interoperability between devices. However, traditional Ethernet does not provide built-in mechanisms for securing data traffic, such as encryption or authenticity protection. This is where MACsec comes into the picture.&amp;nbsp; Media Access Control Security (MACsec) helps bridge this security gap by identifying and preventing the security threats at Data Link Layer (Layer 2) of Ethernet communication.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;MACsec ensures data confidentiality, integrity, and authenticity for Ethernet communication. MACsec uses the Advanced Encryption Standard with Galois/Counter Mode (AES-GCM), which enables both encryption and integrity protection with high performance. Unlike security protocols such as Transport Layer Security and Internet Protocol Security, which operate at upper layers of the networking stack, MACsec is implemented directly at the Ethernet port level. This allows Ethernet links to be secured transparently at the Data Link Layer without requiring modifications to higher-layer protocols such as IP, TCP, UDP, or application software. MACsec is standardized under IEEE 802.1AE and is widely adopted in systems where secure and reliable Ethernet communication is essential.&lt;/p&gt;
&lt;p&gt;Today, MACsec is widely deployed in environments where both high-speed communication and strong security are essential. In cloud data centers and enterprise networks, MACsec helps secure traffic between switches, routers, and servers against unauthorized access and packet tampering. In 5G infrastructure, MACsec protects fronthaul and backhaul communication carrying massive amounts of network traffic. The growing adoption of Automotive Ethernet has also increased the importance of MACsec, where secure communication between Electronic Control Units (ECUs) is critical for vehicle reliability and safety. Similarly, in HPC systems and secure chip-to-chip communication, MACsec provides hardware-level link security while maintaining high throughput and low latency.&lt;/p&gt;
&lt;div&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;Inside a MACsec Frame&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Before MACsec protection is applied, a standard Ethernet frame contains the Destination MAC address, Source MAC address, EtherType field, payload, and Frame Check Sequence (FCS).&amp;nbsp;&lt;span&gt;As shown below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/6114.Screenshot-2026_2D00_06_2D00_19-160554.png" /&gt;&lt;/p&gt;
&lt;p&gt;When the frame enters the MACsec processing engine, MACsec modifies the frame structure by inserting a Security Tag (SecTAG) after the Source MAC address and appending an Integrity Check Value (ICV) before the frame check sequence (FCS). As shown below.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/6114.Screenshot-2026_2D00_06_2D00_19-160829.png" /&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s first look at the SecTAG. It carries control and security-related information such as the Packet Number (PN), Association Number (AN), Tag Control Information (TCI), Short Length (SL), and optionally the Secure Channel Identifier (SCI). These fields help the receiving device identify the secure channel, detect replay attacks, and process the frame correctly.&lt;/p&gt;
&lt;p&gt;After the SecTAG is inserted, MACsec encrypts the Ethernet payload using AES-GCM. Encryption ensures that sensitive information carried within the Ethernet frame cannot be read by unauthorized devices while traversing the network.&lt;/p&gt;
&lt;p&gt;Once encryption is completed, MACsec generates an Integrity Check Value (ICV), which acts as a cryptographic integrity tag appended near the end of the frame. The receiving device uses the ICV to verify that the frame has not been modified or tampered with during transmission.&lt;/p&gt;
&lt;p&gt;MACsec inserts a dedicated EtherType value of 0x88E5 after the Source MAC address to identify a MACsec‑protected frame, while the original EtherType is preserved inside the encrypted payload.&lt;/p&gt;
&lt;div&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;How MACsec Secures Communication&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Before secure communication begins, both devices must first authenticate each other and establish encryption keys. MACsec uses the MACsec Key Agreement (MKA) protocol to manage this process. MKA authenticates peers using the CAK and derives Secure Association Keys (SAKs) used by MACsec for frame encryption.&lt;/p&gt;
&lt;p&gt;The communicating devices share a secret key called the Connectivity Association Key (CAK), which is used by MKA to authenticate peers. Once authentication is successful, MKA derives and distributes Secure Association Keys (SAKs) that are used by MACsec for frame encryption.&lt;/p&gt;
&lt;p&gt;After the secure connection is established, MACsec starts encrypting Ethernet frames using AES-GCM. Each transmitted frame also carries a Packet Number (PN) inside the SecTAG. When replay protection is enabled, the receiving device validates the Packet Number to detect duplicated or replayed packets.&lt;/p&gt;
&lt;p&gt;That&amp;#39;s how MACsec provides&amp;nbsp;data authenticity, confidentiality, integrity, and replay protection.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;MACsec Verification with Cadence VIP&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;With the availability of the Cadence Verification IP for Ethernet MACsec, adopters can start working with these specifications immediately, ensuring compliance with the standard and achieving the fastest path to IP and SoC verification closure. Incorporating the latest protocol updates, the mature and comprehensive Cadence Verification IP (VIP) for the Ethernet protocol provides a complete bus functional model (BFM), integrated automatic protocol checks, and coverage model. Designed for easy integration in test benches at IP, system-on-chip (SoC), and system levels, the VIP for Ethernet helps you reduce the time to test, accelerate verification closure, and ensure end-product quality. The VIP for Ethernet runs on all major simulators and supports System Verilog and e-verification languages and associated methodologies, including the Universal Verification Methodology (UVM).&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364213&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Harinee Rathod</name><uri>https://community.cadence.com/members/harinee-rathod</uri></author><category term="MACsec Verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/MACsec%2bVerification" /><category term="Ethernet VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Ethernet%2bVIP" /><category term="Ethernet Security" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Ethernet%2bSecurity" /><category term="IEEE 802.1AE" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/IEEE%2b802-1AE" /><category term="VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/VIP" /><category term="Cadence VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Cadence%2bVIP" /><category term="Ethernet" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Ethernet" /><category term="MacSec" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/MacSec" /></entry><entry><title>Ethernet Auto-Negotiation: Enabling Seamless Link Optimization</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/ethernet-auto-negotiation-enabling-seamless-link-optimization" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/ethernet-auto-negotiation-enabling-seamless-link-optimization</id><published>2026-06-19T11:11:00Z</published><updated>2026-06-19T11:11:00Z</updated><content type="html">&lt;p&gt;Ethernet has evolved significantly from 10 Mbps shared media to today&amp;rsquo;s multi-hundred gigabit high-speed links. One foundational feature that has enabled this scalability and ease of deployment is &lt;strong&gt;Auto-Negotiation (AN)&lt;/strong&gt;. Defined in multiple IEEE 802.3 clauses, Auto-Negotiation allows two connected devices to automatically determine the best possible operating parameters for a link, eliminating manual configuration and ensuring optimal performance.&lt;/p&gt;
&lt;h2 id="mcetoc_1jrfp48lv0"&gt;Why Auto-Negotiation Is Required&lt;/h2&gt;
&lt;p&gt;In early Ethernet deployments, link parameters such as speed and duplex mode had to be manually configured on both ends of the link. This approach led to frequent issues, the most common being duplex mismatch, where one device operates in full-duplex and the other in half-duplex, causing severe performance degradation.&lt;/p&gt;
&lt;p&gt;Auto-Negotiation addresses these challenges by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatically selecting the highest common speed and mode: This ensures both devices operate at the best mutually supported configuration&lt;/li&gt;
&lt;li&gt;Avoiding configuration errors: Eliminates manual mismatches that can lead to packet loss and poor throughput&lt;/li&gt;
&lt;li&gt;Supporting feature compatibility: Modern Ethernet requires negotiation of additional capabilities such as:
&lt;ul&gt;
&lt;li&gt;Flow control (pause frames)&lt;/li&gt;
&lt;li&gt;Forward Error Correction (FEC)&lt;/li&gt;
&lt;li&gt;Energy Efficient Ethernet (EEE)&lt;/li&gt;
&lt;li&gt;Link training for high-speed channels&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Providing scalability for future standards: As speeds increase, negotiation becomes essential to decide lane counts, encoding, and error correction mechanisms.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In short, Auto-Negotiation ensures &lt;strong&gt;plug-and-play interoperability&lt;/strong&gt; across diverse devices and generations of Ethernet technology.&lt;/p&gt;
&lt;h2 id="mcetoc_1jrfp48lv1"&gt;Auto-Negotiation Clauses and Applicable Speeds&lt;/h2&gt;
&lt;p&gt;Different IEEE 802.3 clauses define how Auto-Negotiation works for various physical layers and speeds:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Clause&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Applicable Speeds/Media&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Key Characteristics&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Clause 98&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;MultiGig BaseT1&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Classic Auto-Negotiation using Fast Link Pulses (FLPs); negotiates speed and duplex&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Clause 37&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;1000BASE-X (fiber), SGMII&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Uses ordered sets instead of FLPs; supports gigabit links&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Clause 73&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;10G to upto 1.6T (KR/CR/backplane)&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Advanced AN with base + next pages; supports FEC, link training, multi-lane speeds&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Key trend:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lower speeds &amp;rarr; Simple negotiation&lt;/li&gt;
&lt;li&gt;Mid speeds (1G) &amp;rarr; PHY-specific signaling&lt;/li&gt;
&lt;li&gt;High speeds (10G and above) &amp;rarr; Multi-stage negotiation with extended capabilities&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jrfp48lv2"&gt;Top-Level Overview: How Auto-Negotiation Works&lt;/h2&gt;
&lt;p&gt;At a high level, Auto-Negotiation is a structured handshake between two link partners. The process is similar across clauses, with increasing complexity at higher speeds.&lt;/p&gt;
&lt;h2 id="mcetoc_1jrfp48lv3"&gt;Step 1: Capability Advertisement&lt;/h2&gt;
&lt;p&gt;Each device advertises its supported capabilities using a structured data format called a link code word (LCW).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In Clause 98: Sent using fast link pulses&lt;/li&gt;
&lt;li&gt;In Clause 37/73: Sent using encoded ordered sets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Information is exchanged through base/next pages. &lt;span&gt;Base/next page c&lt;/span&gt;ontains core capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supported speeds&lt;/li&gt;
&lt;li&gt;Duplex modes (for lower speeds)&lt;/li&gt;
&lt;li&gt;Link types (e.g., KR, KX)&lt;/li&gt;
&lt;li&gt;FEC support&lt;/li&gt;
&lt;li&gt;Advanced speeds (e.g., 25G, 50G)&lt;/li&gt;
&lt;li&gt;Link training capability&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jrfp48lv4"&gt;Step 2: Acknowledgment Handshake&lt;/h2&gt;
&lt;p&gt;Once a device receives its partner&amp;rsquo;s base page, it sets an ACK bit and continues transmitting its own advertisement.&lt;/p&gt;
&lt;p&gt;Both partners must confirm:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They have received each other&amp;rsquo;s capabilities&lt;/li&gt;
&lt;li&gt;The information is stable (not corrupted)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This ensures synchronization before proceeding further.&lt;/p&gt;
&lt;h2 id="mcetoc_1jrfp48lv5"&gt;Step 3: Extended Capability Exchange (Next Pages)&lt;/h2&gt;
&lt;p&gt;For modern Ethernet (Clause 73), Auto-Negotiation continues with the exchange of next pages.&lt;/p&gt;
&lt;p&gt;These pages are used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Negotiate Forward Error Correction (FEC)&lt;/li&gt;
&lt;li&gt;Indicate support for link training (clause 72)&lt;/li&gt;
&lt;li&gt;Advertise newer speed modes beyond base page limitations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A toggle bit mechanism ensures that new pages are distinguished from retransmissions.&lt;/p&gt;
&lt;h2 id="mcetoc_1jrfp48lv6"&gt;Step 4: Resolution of Link Parameters&lt;/h2&gt;
&lt;p&gt;A deterministic priority resolution function selects the final link mode based on the common capabilities of both devices.&lt;br /&gt;Typical rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Highest speed wins (e.g., 25G over 10G)&lt;/li&gt;
&lt;li&gt;Compatible lane configuration selected&lt;/li&gt;
&lt;li&gt;FEC enabled only if both sides support/request it&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jrfp48lv7"&gt;Key Takeaway&lt;/h2&gt;
&lt;p&gt;Auto-Negotiation is far more than just speed selection is a multi-stage protocol that ensures compatibility, reliability, and optimal operation across Ethernet links. At lower speeds, AN selects which link to use. At higher speeds (clause 73), it also decides how the link operates (FEC, training, lanes).&lt;/p&gt;
&lt;h2 id="mcetoc_1jrfp48lv8"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Auto-Negotiation is a critical feature that underpins Ethernet&amp;rsquo;s flexibility and backward compatibility. From simple duplex selection in early networks to complex multi-parameter negotiation in high-speed systems, AN has evolved to meet the demands of modern communication.&lt;/p&gt;
&lt;p&gt;For engineers working with high-speed Ethernet, especially clause 73, understanding the interplay between base pages, next pages, and the state machine is essential for debugging and ensuring robust link bring-up.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/0638.Designer.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;With the availability of the &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification.html"&gt;Cadence Verification IP&lt;/a&gt; for Ethernet, adopters can start working with these specifications immediately, ensuring compliance with the standard and achieving the fastest path to IP and SoC verification closure. Incorporating the latest protocol updates, the mature and comprehensive Cadence Verification IP (VIP) for the Ethernet protocol provides a complete bus functional model (BFM), integrated automatic protocol checks, and coverage model. Designed for easy integration in test benches at IP, system-on-chip (SoC), and system levels, the VIP for Ethernet helps you reduce the time to test, accelerate verification closure, and ensure end-product quality. The VIP for Ethernet runs on all major simulators and supports SystemVerilog and e-verification languages and associated methodologies, including the Universal Verification Methodology (UVM).&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364212&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Krunal Patel</name><uri>https://community.cadence.com/members/krunal-patel</uri></author><category term="Ethernet 800G" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Ethernet%2b800G" /><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="uvm" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/uvm" /><category term="Ethernet VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Ethernet%2bVIP" /><category term="Functional Verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Functional%2bVerification" /><category term="Ethernet" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Ethernet" /><category term="Ethernet UEC" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Ethernet%2bUEC" /><category term="ethernet 1600G" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/ethernet%2b1600G" /></entry><entry><title>DDR5 MRDIMM: A Transformational Evolution for DDR5 DIMM</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/ddr5-mrdimm-transformational-evolution-for-ddr5-dimm" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/ddr5-mrdimm-transformational-evolution-for-ddr5-dimm</id><published>2026-06-09T18:00:00Z</published><updated>2026-06-09T18:00:00Z</updated><content type="html">&lt;p&gt;DDR5 is the latest generation of DDR server memory capable of supporting data rates of up to 9,200Mbps, which is a huge leap over the previous generation of DDR memories. It is used in a wide variety of applications, with the huge server and data center market being the key driver behind the adoption of DDR5-based memory systems. As systems move towards more CPU cores, bandwidth, and capacity, DDR5 is considered the most widely used DDR memory as compared to the previous generation, DDR4.&lt;/p&gt;
&lt;p&gt;DDR memories are typically used as a part of dual in-line memory (DIMM) cards. DIMMs are a JEDEC-defined standard for increasing density and bus width by connecting several individual DRAM memories&amp;nbsp;to a DIMM card. Traditionally, DIMMs can be categorized as &lt;strong&gt;Small Outline-DIMM/Unbuffered DIMM&lt;/strong&gt; (uses just the DRAM memories), &lt;strong&gt;Registered DIMM&lt;/strong&gt; (uses RCD + the DRAM), and &lt;strong&gt;Load Reduced DIMM&lt;/strong&gt; (uses RCD + DRAM + DB).&lt;/p&gt;
&lt;p&gt;The Registering Clock Driver (&lt;strong&gt;RCD&lt;/strong&gt;) and Data Buffer (&lt;strong&gt;DB&lt;/strong&gt;) help the RDIMM and LRDIMM with better Command/Clock and Data signal quality and help with Electrostatic Overstress (EOS) and electrostatic discharge (ESD) issues. However, even with these, bringing DDR5 LRDIMMs to support higher data rates has become a challenge beyond 4800Mbps due to issues like clock loading.&lt;/p&gt;
&lt;p&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:300px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1010x418/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/pastedimage1780989287080v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;To enable DDR5 DIMM in supporting higher speeds like 12,800Mpbs, JEDEC members have produced a new architecture and a new category of DIMMs called &lt;strong&gt;Multiplexed Rank DIMM (MRDIMM)&lt;/strong&gt;. This is a paradigm shift for the DDR memories that not only enable DDR5 DIMM to support DDR5 SDRAM&amp;#39;s current highest speeds of 9200 but can also allow for higher data rates. Some of the key features for DDR5 MRDIMM Generation 2 are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;For the first time, there will be &lt;strong&gt;two sets of clocks&lt;/strong&gt; within the DIMM, including a Host side clock, which will run at twice the speed of the internal clock on which DRAMs will be operating. This will allow DRAM and DB&amp;#39;s DRAM side interface to only require meeting half-rate operating speed requirements.&lt;/li&gt;
&lt;li&gt;DDR5 MRDIMM will benefit from being able to support &lt;strong&gt;higher densities&lt;/strong&gt; than traditional RDIMM/LR-DIMM, since it will have twice the number of DRAMs. These DRAMs are connected to support two Pseudo Channels for MRDIMMs, doubling the DIMM capacity.&lt;/li&gt;
&lt;li&gt;DDR5 MRDIMM is &lt;strong&gt;pin compatible&lt;/strong&gt; with traditional DIMM, and it can be used in the same DIMM slots that are used for DDR5 RDIMMs.&lt;/li&gt;
&lt;li&gt;There is no change to the DRAMs used for DDR5 MRDIMM. DDR5 MRDIMM Generation 2 cards only require the use of new DDR5 &lt;strong&gt;MRCD&lt;/strong&gt; and DDR5 &lt;strong&gt;MDB&lt;/strong&gt; components and will use the same DDR5 SDRAM components.&lt;/li&gt;
&lt;li&gt;DDR5 MDB has two DRAM side interfaces named as the A and B sides. It &lt;strong&gt;multiplexes DRAM data&lt;/strong&gt; and sends it to the Host in an interleaved pattern at twice the speed at which it is sampling Data from the DRAMs on its A and B sides.&lt;/li&gt;
&lt;li&gt;Unlike traditional DDR5 DIMMs that can only have two Physical Ranks, DDR5 MRDIMM is capable of supporting up to &lt;strong&gt;four physical ranks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;While DDR5 &lt;strong&gt;MRDIMM&lt;/strong&gt; is &lt;strong&gt;pin compatible&lt;/strong&gt; with traditional DDR5 &lt;strong&gt;RDIMM&lt;/strong&gt; and follows the same DDR5 protocol. The memory controller and PHY will still need changes to support MRDIMMs, such as changes in the training sequences, handling two sets of DRAMs connected to PS0/PS1, programming of additional RCD/DB Control words, supporting burst with twice the burst lengths, etc.&lt;/li&gt;
&lt;li&gt;DDR5 MRDIMM will have multiple &lt;strong&gt;generations,&lt;/strong&gt; with Generation 2 supporting up to 12.8GT/s and Generation 3 supporting even higher data rates.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;DDR5 MRDIMM is an evolving standard that is still in progress at JEDEC.&lt;/p&gt;
&lt;p&gt;The Cadence memory model for DDR5/DDR5 DIMM aims&amp;nbsp;to support all generations of DDR5 MRDIMM with Cadence DDR5 MRDIMM (including MRCD and MDB) VIPs features tracking JEDEC DDR5 MRDIMM Generation 2 and Generation 3 Specification development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more about Cadence DDR5 MRDIMM VIP at the &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/memory-models.html"&gt;Cadence VIP Memory Models webpages&lt;/a&gt; and reach out to our&amp;nbsp;&lt;a href="mailto:talk_to_vip_expert@cadence.com"&gt;Cadence Verification IP experts&lt;/a&gt; with any questions.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364195&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Shyam Sharma</name><uri>https://community.cadence.com/members/shyam-sharma</uri></author><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="ddr5" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/ddr5" /><category term="DDR5 MRDIMM" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/DDR5%2bMRDIMM" /><category term="VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/VIP" /><category term="JEDEC" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/JEDEC" /><category term="MRDIMM" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/MRDIMM" /><category term="DRAM" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/DRAM" /><category term="Dual In Line Memory" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Dual%2bIn%2bLine%2bMemory" /><category term="DDR5DIMM" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/DDR5DIMM" /></entry><entry><title>Controller Memory Buffer (CMB): NVMe 2.0’s On-Controller Memory Feature</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/controller-memory-buffer-cmb-nvme-2-0-s-on-controller-memory-feature" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/controller-memory-buffer-cmb-nvme-2-0-s-on-controller-memory-feature</id><published>2026-06-08T05:18:00Z</published><updated>2026-06-08T05:18:00Z</updated><content type="html">Non-volatile Memory Express (NVMe) has become the dominant interface protocol for high-performance storage devices. As workloads demand ever-lower latencies, the NVMe specification has evolved with features that reduce data-path overhead. One such fe...(&lt;a href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/controller-memory-buffer-cmb-nvme-2-0-s-on-controller-memory-feature"&gt;read more&lt;/a&gt;)&lt;img src="https://community.cadence.com/aggbug?PostID=1364189&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Rajan Jani</name><uri>https://community.cadence.com/members/rajan-jani</uri></author><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="Functional Verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Functional%2bVerification" /><category term="NVMe" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/NVMe" /><category term="VIP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/VIP" /><category term="verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/verification" /></entry><entry><title>Inside Akeana and Cadence’s Secret Sauce for Faster RISC-V Chip Verification</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/inside-akeana-and-cadence-secret-sauce-for-faster-risc_2d00_v-chip-verification" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/inside-akeana-and-cadence-secret-sauce-for-faster-risc_2d00_v-chip-verification</id><published>2026-05-26T23:00:00Z</published><updated>2026-05-26T23:00:00Z</updated><content type="html">&lt;h2 id="mcetoc_1jp0jrbej5"&gt;The Nightmare of Chip Testing (And How to Fix It)&lt;/h2&gt;
&lt;p&gt;Let&amp;#39;s be real: designing ambitious new RISC-V chips is cool, but testing them is an absolute nightmare. When you are building crazy complex pipelines and custom instructions, you eventually hit a massive brick wall. Your designs are brilliant, but traditional simulators are too slow to run actual software on them. To catch every glitch before making the physical chip, you need trillions of test cycles. Who has the time to wait around for that while the launch deadline creeps closer?&lt;/p&gt;
&lt;p&gt;The crew at Akeana hit this exact roadblock. Instead of crying into their coffee, they teamed up with Cadence Palladium Cloud to speed things up. Here is how they turned a scheduling nightmare into a massive win.&lt;/p&gt;
&lt;h2 id="mcetoc_1jp0jrbej6"&gt;The Backstory and The Big Problem&lt;/h2&gt;
&lt;p&gt;In just four years, Akeana built a massive tech portfolio. We are talking about everything from tiny edge microcontrollers and smart car brains to data center AI chips. They do way more than basic processor cores; they build the heavy-duty system infrastructure like cache controllers, data highways, and advanced AI engines. But mixing and matching all these parts creates a giant puzzle. Testing individual blocks is easy. Testing how they all interact when running actual operating systems and AI software? That is a different beast. Traditional testing methods could not keep up. Akeana needed a way to test everything at scale without blowing their budget or burning out their engineers.&lt;/p&gt;
&lt;h2 id="mcetoc_1jp0jrbej7"&gt;Enter Cadence Palladium Cloud&lt;/h2&gt;
&lt;p&gt;Instead of just buying a mountain of expensive new servers, Akeana upgraded their strategy by moving to Cadence Palladium Cloud. This gave them instant access to top-tier hardware acceleration in the cloud, allowing them to subscribe massive emulation computing power exactly when they needed it. No huge upfront hardware costs and no new IT infrastructure to build up. Their engineers just code securely on-site, push the massive workloads to the cloud, and let it rip. Even better, they aligned their emulation models so they could run massive system checks every single night with zero drama.&lt;/p&gt;
&lt;p&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/1854.image_5F00_1779827780302564.png_2D00_640x480.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jpj8bvq20"&gt;The Results: Working Like Tech Giants&lt;/h2&gt;
&lt;p&gt;This partnership turned Akeana into a speed machine, giving them the kind of agile development power usually reserved for trillion-dollar tech giants.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Supercharged tuning:&lt;/strong&gt; They managed 10 to 15 performance upgrade iterations per month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Two-day turnaround:&lt;/strong&gt; They cut the time between writing code and getting system feedback down to just two days.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Running real AI workloads:&lt;/strong&gt; They ran continuous AI data tests to prove their hardware handles real-world software without breaking a sweat.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trillions of cycles:&lt;/strong&gt; By running 24/7 in the cloud, they ran trillions of test cycles. When customers get their tech, it is already battle-tested.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;quot;Using Cadence Palladium Cloud was critical for Akeana to get to high-quality product readiness in a short time. The platform enabled fast development and debug cycles... and provided a cost-effective way to scale.&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1jp0jrbej9"&gt;Your Turn!&lt;/h2&gt;
&lt;p&gt;If your engineering team is losing its mind trying to validate massive AI workloads or complex chip architectures, stop waiting on traditional simulators. &lt;strong&gt;Reach out to the &lt;a title="Cadence Sales Support Team" href="https://www.cadence.com/en_US/home/company/contact-us.html"&gt;Cadence Sales Support Team&lt;/a&gt; to see how Palladium Cloud can save your timeline.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364152&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>HSV Marketing</name><uri>https://community.cadence.com/members/hsv-marketing</uri></author><category term="cadence" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/cadence" /><category term="System Design and Verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/System%2bDesign%2band%2bVerification" /><category term="Emulation" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Emulation" /><category term="verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/verification" /></entry><entry><title>Cadence Announces PCIe 8.0 Verification IP Availability at PCI‑SIG US</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/cadence-announces-pcie-gen8-verification-ip-availability-at-pci-sig-usa" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/cadence-announces-pcie-gen8-verification-ip-availability-at-pci-sig-usa</id><published>2026-05-18T05:17:00Z</published><updated>2026-05-18T05:17:00Z</updated><content type="html">&lt;p&gt;&lt;span data-contrast="auto"&gt;At the recent &lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;PCI&lt;/span&gt;&lt;/b&gt;&lt;span&gt;‑&lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;SIG Developers Conference&amp;nbsp;US&amp;nbsp;held&amp;nbsp;on&amp;nbsp;May 6-7,2026&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast="auto"&gt;, Cadence announced the availability of its &lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;PCIe 8.0 Verification IP (VIP)&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast="auto"&gt;&amp;mdash;taking another significant step in enabling early, confident adoption of the PCI Express roadmap.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;As PCIe continues to evolve to meet the growing demands of AI accelerators,&amp;nbsp;high&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;performance&amp;nbsp;computing, and hyperscale data centers, the complexity of verification grows alongside bandwidth. With PCIe Gen8 VIP, Cadence equips customers with a&amp;nbsp;production&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;ready&amp;nbsp;verification solution aligned with&amp;nbsp;emerging&amp;nbsp;specifications, helping translate evolving standards into reliable silicon implementations.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/Image-_2800_1_2900_.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1joveb9k70"&gt;Built on a Proven, Scalable VIP Architecture&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;PCI Express&amp;nbsp;remains&amp;nbsp;the backbone interconnect for modern&amp;nbsp;compute&amp;nbsp;platforms, delivering scalable performance while preserving backward compatibility across generations. Each new generation introduces architectural advances that require equally advanced verification capabilities.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Cadence PCIe Gen8 VIP is built on the same &lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;C/C++&lt;/span&gt;&lt;/b&gt;&lt;span&gt;‑&lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;based VIP architecture&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast="auto"&gt; that has been widely adopted across&amp;nbsp;previous&amp;nbsp;PCIe generations and complementary interconnect standards. This architecture delivers a consistent user experience across protocols and verification environments, while enabling reuse from&amp;nbsp;IP&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;level&amp;nbsp;verification through full SoC integration.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The VIP supports both serial and&amp;nbsp;PIPE&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;based&amp;nbsp;architectures and&amp;nbsp;maintains&amp;nbsp;protocol behavior consistency across transaction, data link, and physical layers&amp;mdash;allowing verification teams to adopt Gen8 with minimal disruption to existing flows.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1joveb9k71"&gt;Supporting&amp;nbsp;System‑Level&amp;nbsp;Verification at Extreme Speeds&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;PCIe Gen8 extends the PCIe architecture to support significantly higher data rates while preserving core concepts introduced in earlier generations, such as PAM4 signaling,&amp;nbsp;FLIT&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;based&amp;nbsp;transfers, and&amp;nbsp;low&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;power&amp;nbsp;states. Cadence PCIe Gen8 VIP is designed to&amp;nbsp;validate&amp;nbsp;these capabilities across realistic system configurations.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The VIP supports verification of &lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;root complexes, endpoints, switches, and&amp;nbsp;retimers&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast="auto"&gt;,&amp;nbsp;along with&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;monitor components for serial, pipe&amp;nbsp;interface, and switch topologies,&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;enabling customers to&amp;nbsp;validate&amp;nbsp;complex topologies and interoperability scenarios.&amp;nbsp;Integration&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;friendly&amp;nbsp;building blocks, configurable checking, and&amp;nbsp;coverage&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;driven&amp;nbsp;flows help verification teams scale from focused IP validation to&amp;nbsp;full&amp;nbsp;system&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;level&amp;nbsp;verification.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1joveb9k72"&gt;Enhancing Debug and Productivity&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;As PCIe speeds increase, observability and debug efficiency become critical. Cadence PCIe Gen8 VIP provides rich debug visibility through&amp;nbsp;protocol&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;aware&amp;nbsp;packet tracking,&amp;nbsp;waveform&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;based&amp;nbsp;transaction views, and&amp;nbsp;trace&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;file&amp;nbsp;correlation across layers.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Complemented by Cadence&amp;rsquo;s verification ecosystem&amp;mdash;including&amp;nbsp;GUI&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;based&amp;nbsp;configuration, reusable test suites, and automated verification planning&amp;mdash;the Gen8 VIP helps reduce&amp;nbsp;bring&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;up&amp;nbsp;time and accelerates convergence toward verification closure.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1joveb9k73"&gt;Moving the PCIe Ecosystem Forward&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The announcement of PCIe Gen8 VIP at &lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;PCI&lt;/span&gt;&lt;/b&gt;&lt;span&gt;‑&lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;SIG US&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast="auto"&gt; reflects Cadence&amp;rsquo;s continued role in advancing the PCIe ecosystem&amp;mdash;from early standards participation through&amp;nbsp;customer&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;ready&amp;nbsp;verification solutions.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;With its combination of early availability, architectural consistency, and&amp;nbsp;system&lt;/span&gt;&lt;span&gt;‑&lt;/span&gt;&lt;span data-contrast="auto"&gt;level&amp;nbsp;verification focus, &lt;/span&gt;&lt;b&gt;&lt;span data-contrast="auto"&gt;Cadence PCIe VIP continues to set the benchmark for PCI Express verification&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast="auto"&gt;, empowering customers to innovate with confidence as the industry transitions into the PCIe Gen8 era.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Symbol" data-listid="1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;For more info on how Cadence PCIe Verification IP and&amp;nbsp;TripleCheck&amp;nbsp;VIP enable users to confidently verify PCIe designs, see our product pages on&lt;/span&gt;&lt;span data-contrast="auto"&gt; &amp;nbsp;&lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/pcie/pcie.html"&gt;VIP for PCI Express&lt;/a&gt; &lt;/span&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;and&lt;/span&gt;&lt;span data-contrast="auto"&gt; &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/vip-tools/triplecheck-test-suite.html"&gt;Triplecheck&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li data-font="Symbol" data-listid="1" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Refer to the &lt;a href="https://pcisig.com/"&gt;PCI-SIG website&lt;/a&gt; for more details on PCIe in general and upcoming revisions on PCIe 8.0&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li data-font="Symbol" data-listid="1" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Reach out to&amp;nbsp;Cadence Verification IP experts at&amp;nbsp;&lt;/span&gt;&lt;a href="mailto:talk_to_vip_expert@cadence.com"&gt;&lt;span data-contrast="none"&gt;talk_to_vip_expert@cadence.com&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364143&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Sangeeta Soni</name><uri>https://community.cadence.com/members/sangeeta-soni</uri></author><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="Functional Verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Functional%2bVerification" /><category term="pcie 8.0" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/pcie%2b8-0" /></entry><entry><title>VLAB at the MATLAB Expo Japan 2026</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/vlab-at-the-matlab-expo-japan-2026" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/vlab-at-the-matlab-expo-japan-2026</id><published>2026-05-06T22:05:00Z</published><updated>2026-05-06T22:05:00Z</updated><content type="html">&lt;p&gt;The Cadence VLAB team will be part of the Cadence team present at the &lt;a href="https://www.matlabexpo.com/jp/2026.html?s_tid=expo_gateway_jp_expo26"&gt;MATLAB Expo Japan&lt;/a&gt; on May 26 in Tokyo. We will be demonstrating how MATLAB and Simulink models can be used to co-simulate with VLAB virtual development machines (VDMs), allowing software to be tested in a &lt;strong&gt;virtual hardware-in-the-loop environment&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:480px;max-width:1200px;" alt=" " src="https://community.cadence.com/resized-image/__size/2400x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/5047.matlab_2D00_vlab_2D00_overview.png" /&gt;&lt;/p&gt;
&lt;p&gt;Virtualized hardware-in-the-loop (HIL), processor-in-the-loop (PIL), and software-in-the-loop (SIL) techniques provide the ease of testing and development agility needed to realize &lt;a href="https://vlabworks.com/sia-cesa-2025-it-is-sdv-you-have-to-change-your-mindset/"&gt;software-defined vehicles&lt;/a&gt; (SDV). &lt;a href="https://vlabworks.com/sdv-europe-2025-virtualization-and-collaboration/"&gt;Virtualization&lt;/a&gt; provides developers and automated continuous integration and deployment (CI/CD) systems with instant access to any amount of hardware, avoiding the need to queue up tests for execution on limited physical test rigs.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://vlabworks.com/vdm-catalogue/"&gt;VLAB VDM&lt;/a&gt; typically runs the complete software stack from the target system&amp;mdash;applications, operating system, and drivers. The software is compiled for the target system, with no need for a special simulation variant. The VDM contains models of various input and output devices, both digital and analog. Sometimes it is as simple as a GPIO pin being driven in pulse-width modulated (PWM) mode. But it can also be analog signals or high-current drivers on a separate board, whatever is in the hardware.&lt;/p&gt;
&lt;p&gt;&lt;img style="height:auto;max-width:1200px;" alt=" " src="https://community.cadence.com/resized-image/__size/2400x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/3480.mbse_2D00_into_2D00_vlab.png" /&gt;&lt;/p&gt;
&lt;p&gt;From a VLAB perspective, it does not matter if the software being tested is written manually or generated from MATLAB/Simulink models. The software running on the VDM can be debugged and tested using standard software tools. It can be subjected to faults injected by VLAB scripts. This makes it possible to test the system under conditions like faulty sensors and actuators, exploring system stability and error handling. And, of course, challenging physical conditions can be simulated by the MATLAB/Simulink side.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more about Cadence&amp;#39;s&lt;/strong&gt; &lt;a href="https://vlabworks.com/"&gt;&lt;strong&gt;VLAB&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and&lt;/strong&gt; &lt;a href="https://www.cadence.com/en_US/home/solutions/automotive-solution.html"&gt;&lt;strong&gt;automotive&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; solutions&lt;/strong&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364123&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>JEngblom</name><uri>https://community.cadence.com/members/jengblom</uri></author><category term="Automotive" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Automotive" /><category term="Simulink" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Simulink" /><category term="vlab" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/vlab" /><category term="MBSE" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/MBSE" /><category term="Testing" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Testing" /><category term="event" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/event" /><category term="verification" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/verification" /><category term="Matlab" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Matlab" /></entry><entry><title>Unraveling Precision Time Measurement (PTM)</title><link rel="alternate" type="text/html" href="https://community.cadence.com/cadence_blogs_8/b/fv/posts/unraveling-precision-time-measurement-ptm" /><id>https://community.cadence.com/cadence_blogs_8/b/fv/posts/unraveling-precision-time-measurement-ptm</id><published>2026-05-01T17:00:00Z</published><updated>2026-05-01T17:00:00Z</updated><content type="html">&lt;h2 id="mcetoc_1jnas9b712"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Precision Time Measurement (PTM) is an optional capability for communicating precise timing information between components. PTM enables precise coordination of events across multiple components with independent local time clocks. Such precise coordination is difficult, given that individual time clocks have differing notions of the value and rate of change of time. PTM is used in links/domains where the system needs its devices to have precise coordination. Good examples of systems that may take advantage of PTM include media processing, telecommunications, and scientific instrumentation.&lt;/p&gt;
&lt;h2 id="mcetoc_1jnas9vu43"&gt;PTM Theory and Operation&lt;/h2&gt;
&lt;p&gt;PTM enables components to calculate the relationship between their local times and a shared PTM Master Time: an independent time domain associated with a PTM Root.&lt;/p&gt;
&lt;p&gt;Each Upstream Port initiates PTM dialogs to establish the relationship between its local time and the PTM Master Time provided by the Root Port.&lt;/p&gt;
&lt;p&gt;PTM-capable components can make their PTM context available for inspection by software, enabling software to translate timing information between local times and the PTM Master Time. In turn, this capability enables software to coordinate events across multiple components with very fine precision.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PTM Requester&lt;/strong&gt; - A Function capable of using PTM as a consumer associated with an Endpoint or an Upstream Port.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PTM Responder&lt;/strong&gt; - A Function capable of using PTM to supply the PTM Master Time associated with a Port or an RCRB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time Source&lt;/strong&gt; - A local clock associated with a PTM Responder.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PTM Root&lt;/strong&gt; - The source of PTM Master Time for a PTM Hierarchy. A PTM Root must also be a Time Source and is typically also a PTM Responder.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1jnasbqa14"&gt;PTM Link Protocol&lt;/h2&gt;
&lt;p&gt;A PTM dialog is defined as a matched pair of messages consisting of a PTM Request and the corresponding PTM Response or PTM ResponseD message.&lt;/p&gt;
&lt;p&gt;The timestamps captured during the PTM dialogs enable the calculation of the timing relationship between the PTM Requester and PTM Responder (please see the image below for reference). The value (t3-t2) measures the time consumed by the PTM Responder for a given PTM dialog. The time (t4-t1) is the time from request to response. Therefore, ((t4 - t1) - (t3 - t2)) effectively gives the round-trip message transit time between the two components, and that quantity divided by 2 approximates the Link delay - the time difference between t1 and t2.&lt;/p&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/2021.pastedimage1777407423831v1.png" /&gt;&lt;br /&gt;PTM Link Protocol&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;A PTM Requester must update its stored t1 timestamp when transmitting a PTM Request Message, even if that transmission is a replay.&lt;/li&gt;
&lt;li&gt;A PTM Responder must update its stored t2 timestamp when receiving a PTM Request Message, even if the received TLP is a duplicate.&lt;/li&gt;
&lt;li&gt;A PTM Responder must update its stored t3 timestamp when transmitting a PTM Response or ResponseD Message, even if that transmission is a replay.&lt;/li&gt;
&lt;li&gt;A PTM Requester must update its stored t4 timestamp when receiving a PTM Response Message, even if the received TLP is a duplicate.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The PTM Master Time field is a 64-bit value containing the value of PTM Master Time at the receipt of the PTM Request Message for the current PTM Dialog. In the shared image, for the 2nd PTM dialog, this is the PTM Master Time at time t2&amp;#39;.&lt;/p&gt;
&lt;p&gt;The Propagation Delay field is a 32-bit value containing the interval between the receipt of the PTM Request Message and the transmission of the PTM Response Message for the previous PTM dialog. In the shared image, for the second PTM dialog, this is the time interval between t2 and t3 captured during the first PTM dialog.&lt;/p&gt;
&lt;p&gt;In NFM, Timestamps must be based on the STP Symbol or Token that frames the TLP, as if observing the first bit of that Symbol or Token at the Port&amp;#39;s pins. The image below shows the PTM Request and Response Messages for Non-Flit Mode:&lt;/p&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/2021.pastedimage1777407467096v2.png" /&gt;PTM Request/Response Message - Non-Flit Mode&lt;/h5&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/5635.pastedimage1777407476646v3.png" /&gt;&lt;br /&gt;PTM ResponseD Message - Non-Flit Mode&lt;/h5&gt;
&lt;p&gt;In Flit Mode, timestamps for PTM messages are measured at the Flit level rather than at the TLP level. There is the bit &amp;quot;PTM Message contained in this Flit&amp;quot; in the Flit_Marker field, which signals the presence of a non-nullified PTM Message inside the Flit. The PTM timestamps must be based on the Flit_Marker field.&lt;/p&gt;
&lt;p&gt;The images below show the PTM Request and Response Messages for Flit Mode, and the Flit_Marker indicator:&lt;/p&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/5635.pastedimage1777407486115v4.png" /&gt;PTM Request/Response Message - Flit Mode&lt;/h5&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/8358.pastedimage1777407519017v5.png" /&gt;PTM ResponseD Message - Flit Mode&lt;/h5&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/8358.pastedimage1777407530491v6.png" /&gt;Flit_Marker&lt;/h5&gt;
&lt;h2 id="mcetoc_1jnastumg6"&gt;PTM Extended Capability Structure&lt;/h2&gt;
&lt;p&gt;The Extended Capability structure is required for any port of the Root-Complex that supports PTM and in only one function of the Endpoint. The images below show the PTM Capability and Control registers:&lt;/p&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/8358.pastedimage1777407539964v7.png" /&gt;PTM Capability Register&lt;/h5&gt;
&lt;h5 style="text-align:center;"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-11/7701.pastedimage1777407546427v8.png" /&gt;PTM Control Register&lt;/h5&gt;
&lt;p&gt;Enhanced Precision Time Measurement (ePTM) places additional requirements on PTM Devices. It must be implemented in all PTM devices that support Flit-Mode. Support for ePTM is indicated by the ePTM Capable bit.&lt;/p&gt;
&lt;h2 id="mcetoc_1jnasuir47"&gt;PTM Verification Challenges and Solutions&lt;/h2&gt;
&lt;p&gt;The PTM feature introduces the PTM Request and Response Messages, whose proper utilization requires careful coordination between the devices. The new Messages may be checked to avoid any violation of the reserved fields, time accuracy, and data precision. &lt;br /&gt;The PTM Extended Capability structure brings a new set of configuration registers. Verifiers must guarantee that the device&amp;#39;s capability register correctly indicates&amp;nbsp;feature support, that the control register is configured with the proper value, and that the feature is not enabled before the system is ready. Users can take advantage of VIP&amp;#39;s error messages to identify Spec&amp;#39;s violations more efficiently.&lt;/p&gt;
&lt;p&gt;Verifying the PTM dialog can be really challenging. The PCIe specification defines the exact gathering point for the timestamp values. But at the same time, the devices may hold a small to moderate delay for processing incoming data, which may compromise the timestamp gathering value. The PTM dialog verification requires precise timing analysis.&lt;/p&gt;
&lt;p&gt;Please refer to the VIP PCIe User Guide for more information on VIP PTM implementation and configuration.&lt;/p&gt;
&lt;h2 id="mcetoc_1jnat85ce8"&gt;Learn More&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;For more information on how Cadence PCIe Verification IP and TripleCheck VIP enable users to confidently verify IDE, see our &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/pcie/pcie.html"&gt;VIP for PCI Express&lt;/a&gt;, &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/pcie/cxl.html"&gt;VIP for Compute Express Link&lt;/a&gt;, and &lt;a href="https://www.cadence.com/en_US/home/tools/system-design-and-verification/verification-ip/simulation-vip/vip-tools/triplecheck-test-suite.html"&gt;TripleCheck for PCI Express&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;For more information on PCIe in general, and on the various PCI standards, see the &lt;a href="https://pcisig.com/"&gt;PCI-SIG website&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you have more feedback or need more information, reach out to us at &lt;a href="mailto:talk_to_vip_expert@cadence.com"&gt;talk_to_vip_expert@cadence.com&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.cadence.com/aggbug?PostID=1364110&amp;AppID=11&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>Igor Krause</name><uri>https://community.cadence.com/members/igor-krause</uri></author><category term="Verification IP" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/Verification%2bIP" /><category term="PCIe 6.0" scheme="https://community.cadence.com/cadence_blogs_8/b/fv/archive/tags/PCIe%2b6-0" /></entry></feed>