Forum Discussion
Altera_Forum
Honored Contributor
15 years agoYou have a loop in the path:
- HSYNC_D value is assigned to HSYNC with registered sync logic, namely at clk edge - HSYNC is assigned to HSYNC_D constantly, through combinatorial logic. You have a hold violation because the delay from combinatorial logic is lower than the register hold requirement, so its status could be undefined. In order to eliminate the timing violations you should add some delay to the combinatorial path.