CDC-101.1 Fundamentals of Clock Domain(s)

In digital design, particularly in FPGA development, managing signal transfers across different clock domains is critical. Failure to handle Clock Domain Crossing (CDC) correctly can lead to elusive, non-reproducible bugs that are nearly impossible to debug in post-silicon. This blog post explores the fundamentals of clock domains, when clocks are considered asynchronous, and why CDC …
Continue reading CDC-101.1 Fundamentals of Clock Domain(s)

CDC-101.3: Why You Should Never See Inter-Clock Violations

In a well-constrained FPGA design, Vivado’s timing report should tell a clean story. So, if you’re seeing inter-clock violations, it’s not just a design issue — it’s a constraint failure. This post will focus on the real reason inter-clock violations appear in Vivado: Because you haven’t told Vivado what it shouldn’t be analyzing. Intra-Clock vs …
Continue reading CDC-101.3: Why You Should Never See Inter-Clock Violations

CDC-101.2: The CDC Linter — Catch Clock Domain Issues Early

When it comes to FPGA design, Clock Domain Crossing (CDC) issues are among the most elusive and costly bugs to diagnose. They often appear late — in the lab or on customer hardware — and can be extremely hard to reproduce. What if you could catch them much earlier, without adding third-party tools? Enter Vivado’s …
Continue reading CDC-101.2: The CDC Linter — Catch Clock Domain Issues Early

AMD Vivado™ 2025.1 Adds Full VHDL Code Coverage — Free Mixed-Language Coverage Driven Verification Just Got Real

The 2025.1 release of the Vivado™ Design Suite: ML Standard Edition marks a quiet but significant milestone: VHDL code coverage support has been officially added to the simulator. This enhancement makes Vivado a fully capable, mixed-language, coverage-driven simulation platform — and it’s still completely free. Until now, Vivado supported: With the 2025.1 update, Vivado now …
Continue reading AMD Vivado™ 2025.1 Adds Full VHDL Code Coverage — Free Mixed-Language Coverage Driven Verification Just Got Real

Demystifying SystemRDL: The Unsung Hero of IP Register Design

In the complex world of chip design, it’s easy for register definition — that unglamorous but crucial piece — to be overlooked. Yet, ask any verification engineer or firmware developer, and they’ll tell you: poorly defined registers are a recurring source of delay, bugs, and rework. This is where SystemRDL steps in — not with …
Continue reading Demystifying SystemRDL: The Unsung Hero of IP Register Design

Custom FPGA Board DDR2-SODIMM DQ & DQS Swap Issue

While working on a European Research project called FASTMATCH where the project demonstration was carried out by implementing and intelligent high-speed Intrusion Detection System (IDS). The demonstrator platform was a custom developed 14 layer electronic circuit board comprising of two Xilinx Virtex-5 FPGAs performing real-time line-rate string matching at 10Gbps. During our development, we noticed …
Continue reading Custom FPGA Board DDR2-SODIMM DQ & DQS Swap Issue