Altera_Forum
Honored Contributor
12 years agoTiming constraints for output ports
Hi everyone,
I've been puzzled by how to setup a timing constraints for a while now. Current design I am working on is not complicated (as a matter of fact, you may say it's very simple). It's running at very low speed (4.096MHz). So maybe timing constraints are not even necessary. However, as a beginner in FPGA design, I would like to do things the proper way. So I am posting here to ask the experts in the FPGA world how to constrain the timing for several IO ports. I've tried to read several documents and got more and more confused about what should I do. Anyway, I have attached a .pdf file to this post to describe my overall hardware and the FPGA functionality in block diagram. Also, in the .pdf file, I illustrated the idea input/output and some basic function waveforms. I've been trying to constrain the ports in this design and have the following constrains setup. So please comments on if I am doing the right thing or not. If not, please explain the correct approach. ..... create_clock -name P2_Clk -period 30.518 [get_ports {P2}] # This is the 32.768MHz clock from the external CDR derive_pll_clocks derive_clock_uncertainty set_clock_groups -asynchronous -group {} \ # some other clock group -group {} \ # some other clock group -group {P2_Clk inst5|altpll_component|auto_generated|pll1|clk[0]} # IO constrains create_clock -name P2_Clk_ext -period 30.518 # As suggested by Ryan, created virtual clock for input set_input_delay -clock P2_Clk_ext -max 0.0 [get_ports {P1}] # Need to determine the max and min for the data input on this port set_input_delay -clock P2_Clk_ext -min 0.0 [get_ports {P1}] create_clock -name P4_ext -period 488.281 # This is basically the 2.048MHz sampling clock provided by FPGA to the HDB3 encoder set_output_delay -clock P4_ext -max -0 [get_ports P5] # The HDB3 encoder has a setup/hold time min requirment of 40 ns from the falling edge (chip is sampling on the falling edge) set_output_delay -clock P4_ext -min 0 [get_ports P5] .... When I compile the design, Quartus is complaining that some path failed. Please see the attached word file. Looking at the waveform, I don't think I've constrains the output properly for Quartus to understand my design. Any help is deeply welcomed! Thanks