Some Simple Clock-Domain Crossing Solutions
In many ways, metastability is the big boogeyman within FPGA design. It is hard to see when desk-checking a design, it doesn’t show up on all simulations (certainly not with Verilator), your synthesis tool can’t solve it, and timing analysis often just gets in the way of dealing with it. Metastability, though, can make your design unreliable. If your design has a problem with metastability, then it might never work. It might work today and not tomorrow. It might work perfectly for months, and then have a fatal flaw.
In many ways, metastability is the big boogeyman within FPGA design. It is hard to see when desk-checking a design, it doesn’t show up on all simulations (certainly not with Verilator ), your synthesis tool can’t solve it, and timing analysis often just gets in the way of dealing with it. Metastability , though, can make your design unreliable. If your design has a problem with metastability , then it might never work. It might work today and not tomorrow. It might work perfectly for months, and then have a fatal flaw. In many ways, metastability problems are the worst of all errors. They are
saved by
related reading
- The fundamentals of timing in logic design01signal.com
- Time, Clocks, and the Ordering of Events in a Distributed Systemlamport.azurewebsites.net
- FPGA, SystemVerilog, Designsmarkharvey.info
- Lab 3: State and Registers | Computer Architecturecomp.anu.edu.au
- How FPGAs work, and why you'll buy oneyosefk.com
- Problem Set 4: Memory Scrambleweb.mit.edu
- AMD Customer Communityadaptivesupport.amd.com
- Bistability - Wikipediaen.wikipedia.org
- Who ordered memory fences on an x86? | Bartosz Milewski's Programming Cafebartoszmilewski.com
- How We Verify Custom Hardwarehudsonrivertrading.com
- SYuRJ1YA94ovfXpxp4SXCDck.pdfframerusercontent.com
- Cadence: Extreme Pipelining with Multiple Concurrent Proposersarxiv.org