I've synthesized my design in DC and optimized for delay. According to the reports, there are no negative slack times, nor any time violations. But when I do the post-synthesis simulation in ModelSim, there are lots of setup and hold time violations.
My design has two clock domains but got separated using flip flops. In some flip-flops, I'm using the negative edge of the clock and in some others, I use the positive edge.
My design has two clock domains but got separated using flip flops. In some flip-flops, I'm using the negative edge of the clock and in some others, I use the positive edge.
The difference is between one output (Q) or the other (not Q). You can take the positive going edge or the negative going edge. (A counter goes down by taking Q from the flip-flops. It counts up by taking not-Q.)
I don't know if this is the cause of your error messages.
I had done it before for smaller designs. But my current design is a processor with lots of flip-flops, connections and state machines. The problem is that the synthesizer's report shows no time violation, but Modelsim does. The funny thing is that with much lower frequency the simulation is okay. But as I increase the frequency (in simulation), it gives setup and hold time violations.
I had done it before for smaller designs. But my current design is a processor with lots of flip-flops, connections and state machines. The problem is that the synthesizer's report shows no time violation, but Modelsim does. The funny thing is that with much lower frequency the simulation is okay. But as I increase the frequency (in simulation), it gives setup and hold time violations.
My first guess is that you are not using SDF files. The fact that increasing the frequency triggers hold violations is very suspicious.
My second issue is that you are using simulation to validate timing. That doesn't scale, we just can't afford to do chip-level netlist simulations anymore.
I do use the SDF file, or the post-synthesis simulation will have no sense.
Why do you say "That doesn't scale, we just can't afford to do chip-level netlist simulations anymore.That doesn't scale, we just can't afford to do chip-level netlist simulations anymore." ?
Why can't we afford to do that?
Post-synthesis simulation is used to validate the design for ASIC synthesis, isn't it?
I do use the SDF file, or the post-synthesis simulation will have no sense.
Why do you say "That doesn't scale, we just can't afford to do chip-level netlist simulations anymore.That doesn't scale, we just can't afford to do chip-level netlist simulations anymore." ?
Why can't we afford to do that?
Post-synthesis simulation is used to validate the design for ASIC synthesis, isn't it?