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)
Category:Uncategorised
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