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

FPGA Design Fundas 0.5: Ignoring FPGA Synthesis Tool Warnings

What are your thoughts on ignoring tool warnings generated by FPGA synthesis tools like Vivado? I have come across clients, from one end of spectrum, in the name of prototype development, opted to completely ignore all warnings generated by the tool, to the other end of spectrum where I helped develop a comprehensive log parser …
Continue reading FPGA Design Fundas 0.5: Ignoring FPGA Synthesis Tool Warnings

FPGA Design Fundas 0.4: Vivado Revision Control & Automation

Lets tackle the bull by its horns! So what is a revision control? It is fundamentally a method to keep track of source file changes, such that one can revert to a certain point in the past, combine multiple source changes into a release, fork into a design with different features, aid conflict resolution and …
Continue reading FPGA Design Fundas 0.4: Vivado Revision Control & Automation

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

FPGA Design Fundas 0.3: The Real Cost of Skipping Simulation Verification!

Many industries developing FPGA based electronic products choose to carry out inadequate or almost no simulation verification while resorting to only performing ad-hoc lab testing for debugging, verification and integration testing. Some of the common given reasons for this attitude towards simulation are, “there is no budget allocated in the project for simulation verification”, “there is …
Continue reading FPGA Design Fundas 0.3: The Real Cost of Skipping Simulation Verification!

FPGA Design Fundas 0.2: The Need For Simulation Verification & Integration Testing

Many industries developing FPGA based electronic products choose to carry out inadequate or almost no simulation verification while resorting to only performing ad-hoc lab testing for debugging, verification and integration testing. Some of the common given reasons for this attitude towards simulation are, “there is no budget allocated in the project for simulation verification”, “there is …
Continue reading FPGA Design Fundas 0.2: The Need For Simulation Verification & Integration Testing