Altera_Forum
Honored Contributor
12 years agoConstrain SDR and DDR interface on the same interface
Hello,
I have an IC that is outputting a databus with a center aligned clock. Depending on its mode, it is outputting in single data rate (up to 200MHz) or in dual data rate (up to 100MHz). I find it difficult to constrain this. What I have now: - First I created a clock with the SDR frequency and a second one with the DDR frequency on the same port (with the create_clock -add option). I also specified the waveform (180° shifted for SDR and 90° for DDR). The logic uses this clock, no PLL is used. - Then I created the same clock but virtual (no port assignment) and not shifted (data aligned). So far so good. But when I want to apply set_input_delay on the databus once with the SDR virtual clock and once with the DDR virtual clock, I get following warnings from Quartus : Warning (332054): Assignment set_input_delay is accepted but has some problems at Project.sdc(211): Set_input_delay/set_output_delay has replaced one or more delays on port "DATA[5]". Please use -add_delay option. I don't want to -add_delay because it's either this mode or the other mode. Or do I misunderstand this option? Hmm while I'm typing this, it occurs to me. Should I constraint the rising edge with the SDR clock and the falling edge with the DDR clock? I just tried this and TimeQuest accepts it only if I use the -add_delay option. I'm still not sure if this is correct. I've been reading the TimeQuest chapter from the Handbook, the TimeQuest Cookbook, the SDC reference, Application Note 433 and Rysc's TimeQuest User Guide (thanks Rysc, it has been very helpful!) but as a novice I'm still not sure how to handle my case. I hope on some feedback here ;). Thanks! JBC