Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17260 Discussions

Timing requirement not met?

Altera_Forum
Honored Contributor II
4,163 Views

Could anyone tell me what causes this happen to my code? 

After compilation, I got clk Slack -4.076 and End Point TNS -73.368; 

All the stuff under the minimum Pulse width:'clk' report is in red...also the same thing for setup summary. 

 

Thanks in advance... 

 

module memory(clk,mem_oe,mem_rw,addr,mem_data); input clk,mem_oe,mem_rw; //mem_oe=1 for memory output enable, mem_oe=0 output=ZZZZ... //mem_rw=0 for read, mem_rw=1 for write input addr; inout mem_data; wire mem_data; reg ram; reg data_out; //integer i; assign mem_data = (!mem_rw&&mem_oe) ? data_out : 18'bz; always@(posedge clk) begin if(!mem_rw) // read from the memory begin data_out<=ram; end else // write to the memory begin ram <= mem_data; end end endmodule
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
2,373 Views

by the way, in the simulation, this circuits does work. 

And im quite confused about this kind of timing requirements warnings.
0 Kudos
Altera_Forum
Honored Contributor II
2,373 Views

How long are mem_rw and mem_oe pulses? 

If they are asserted more than one clock period you simply need to define a multicycle path.
0 Kudos
Altera_Forum
Honored Contributor II
2,373 Views

This does not look like a problem with the code. 

 

It looks like you're imposing a too high clock frequency to your design. 

Which is the clock frequency that you impose to your design? 

 

Do things work if you reduce the clock frequency to very small value?
0 Kudos
Altera_Forum
Honored Contributor II
2,373 Views

 

--- Quote Start ---  

This does not look like a problem with the code. 

 

It looks like you're imposing a too high clock frequency to your design. 

Which is the clock frequency that you impose to your design? 

 

Do things work if you reduce the clock frequency to very small value? 

--- Quote End ---  

 

 

Hi, 

I don't know if i did impose any clock frequency to my design. Is there like a default 

clock frequency that's imposed when compilation?
0 Kudos
Altera_Forum
Honored Contributor II
2,373 Views

After the compile, run TimeQuest. Double click "Report Clocks" and make sure your clock frequency is what you specified it to be. You can also run "Report Unconstrained Paths" and if your clock is not constrained, it will show up there. I am assuming you constrained your clock. If you did not, create a .sdc file to constrain the clock.

0 Kudos
Altera_Forum
Honored Contributor II
2,373 Views

 

--- Quote Start ---  

After the compile, run TimeQuest. Double click "Report Clocks" and make sure your clock frequency is what you specified it to be. You can also run "Report Unconstrained Paths" and if your clock is not constrained, it will show up there. I am assuming you constrained your clock. If you did not, create a .sdc file to constrain the clock. 

--- Quote End ---  

 

 

Hi, 

 

I assume that you run the simulation with your RTL code. This simulation did not take into account any delay which you will have later on when the design is implemented in the FPGA. What you test with this simulation is the function of your design. But in the FPGA you will delays between your registers ( routing delay and cell delay). These delays limits 

the maximum frequency which you can use running your design. You always constraint your clocks, because Quartus needs this for opitimizing your design in the right way. 

 

Kind regards 

 

GPK
0 Kudos
Altera_Forum
Honored Contributor II
2,373 Views

Hi, 

if you do not create any clock, Timequest automatically creates a clock with a frequency of 1GHz and analyzes timings with this clock.
0 Kudos
Altera_Forum
Honored Contributor II
2,373 Views

Got it. Thanks for you guys.

0 Kudos
Reply