An example how synthesis can make your “perfect-looking” circuit fail

Make it to the Right and Larger Audience


An example how synthesis can make your “perfect-looking” circuit fail

I have been dealing with an annoying yet interesting issue for a while. A design works perfect at RTL level. I mean no sim issue. But once it is put on Xilinx FPGAs, depending on FPGA types, some FPGAs exhibit weird behavior which can not be explained with RTL design at all. Even worse is with the same FPGA type, if synthesis constraint is changed, sometimes this weird behavior can also show up.


Yes, it does sound like a timing issue. But timing report is clean. End of day when it is root caused, it turns out to be related to combinational logic glitch or reconvergence.  By reconvergence, I mean something like below. A signal, called “in”, goes through two different paths, A and B, and eventually drives the same output “out”.


Let’s dive into details.


The following is site premium content.
Use points to gain access. You can either purchase points or contribute content and use contribution points to gain access.
Highlights: 672 words, 4 images
Author brief is empty

1 Comment
  1. AGhosal 2 years ago

    Good article. Didn’t realize glitch free design can be synthesized into a glitchy circuit.
    Thanks for sharing


Contact Us

Thanks for helping us better serve the community. You can make a suggestion, report a bug, a misconduct, or any other issue. We'll get back to you using your private message ASAP.



Forgot your details?