安徽振峰药业:有关时序约束的话题

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 16:36:07

有关时序约束的话题2

(2010-04-28 21:53:16)


DCM的时序约束

  最令我困惑的还是这个DCM的时序约束。网上有人说,设置了CLKIN时钟的时序约束,DCM输出的时序约束就自动生成了。经过这两天对文档的研究和实际操作。我认为这种说法不确切。

首先说:period时序约束,只要约定CLKIN时钟的时序约束,那么他的倍频时钟CLK-2,或者是相位时钟CLK90,也相应的自动生成period时序约束。

Xilinx原文档如下:

By placing the PERIOD constraint on the inputclock, the Xilinx tools automatically:

       Derive a new PERIOD constraint for each of theDLL/DCM/PLL output clocks

        Determine the clock relationships between theoutput clock domains, and automatically perform an analysis for anypaths between these clock domains.

但是请注意,这仅仅是对period时钟的周期约束。而对OFFSET约束,我没有发现Xilinx文献说可以自动约束。

反而在文献中查到这样的一句话:

      If the net from theCLK90 pin of the DLL/DCM clocks your register, then the OFFSETvalue should be adjusted by a quarter of the PERIOD constraintvalue.

大概说的意思是,如果时钟是CLK90,那么需要调整OFFSET约束为原来的值的1/4。综上我个人认为如果你想对DCM输出进行OFFSET约束,不能靠自动生成,必须进行设置。

 

    设置参数按DCM输出的时钟周期为主。比如,你的CLKIN时钟为50M,在DCM倍频到100M。FPGA在100M时钟下输出数据。那么在userconstraints中是没有100M时钟的OFFSET设置的。

如果你想在100M频率下时序收敛,那么在设置CLKIN时钟的时候,最大为10ns,而不能以20ns周期来设置。(Xilinx不会自动减半)。???

从timereport来看,我觉得也可以确认这点。(当然如何查看timereport和使用timeanalyzer,又是若干文档了。。。。痛苦ing)其实我也没怎么看明白report。

不过从目前来看,用普通的spartan3,100M带宽,实现时序收敛还是可以的。再高频率我就不知道了。

在静态时序设计中。时序约束仅仅是很小的一部分。主要的设计思想是流水线和寄存器平衡。我们所研究的重点绝对不是时序约束而是流水线、寄存器设计和优良语法