Altera_Forum
Honored Contributor
14 years agoConfusion about Source-Synchronous constraints
Hi, everyone:
I use FPGA to capture the output data of ADC. The ADC output timing is as follows: https://www.alteraforum.com/forum/attachment.php?attachmentid=3894 In Altera's "AN 433 Constraining and Analyzing Source-Synchronous Interfaces", it says source-synchronous interfaces have two branches on Clock and Data Relationship -- edge-aligned and center-aligned, which is shown as follows: https://www.alteraforum.com/forum/attachment.php?attachmentid=3895 https://www.alteraforum.com/forum/attachment.php?attachmentid=3896 So the ADC output timing is center-aligned. It seems that I can directly use COUT to capture the data DAB. am i right here? Then I turned to http://www.altera.com/support/examples/timequest/exm-tq-ca_ss_in.html for helps on the constraints. But the Sample SDC File on the page contains the shifted clock constraint. This tells FPGA to shift COUT about 90 degree. am i right here? If all my personal hypothesis is right, FPGA first shift COUT then use the shifted clock to latch DAB, which may causes hold timing issue. Can anyone help me with this idea? I am really confused about it and thank you in advance! ===== PS: On page 5 of "Best Practices for the Quartus II TimeQuest Timing Analyzer", there's a figure: https://www.alteraforum.com/forum/attachment.php?attachmentid=3898 The corresponding constraint example: --- Quote Start --- #create base clock for the design create_clock -period 10 -name clk_in [get_ports clk_in] # create the virtual clock for the external register create_clock -period 20 -name virt_clk -waveform {0 10} # set the output delay referencing the virtual clock set_output_delay -clock virt_clk -max 1.5 [get_ports data_out] --- Quote End --- Since data_out port is within external device, I think the blackened line is to constrain the output timing of external device. Is it an amazing function or some small neglect?