原创 使用TimeQuest进行SDRAM时钟约束实例

2010-6-2 16:49 5616 12 19 分类: FPGA/CPLD

使用TimeQuest进行SDRAM时钟约束实例


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


         特权同学的《SDRAM时钟相移估算》针对SDRAM的相移设置做了一些介绍,也列举了一个活生生的例子进行讲解。很多朋友在实际应用中即便对SDRAM的时序模型熟悉了,当可能仍然不知道在TimeQuest这个工具上如何进行时序约束和分析,尤其对于这个SDRAM专用时钟的约束分析。本文就是要和大家来探讨实际应用中如果使用TimeQuest进行SDRAM时钟约束。


         这个实例中,PLL的输出时钟clk1100MHz,相移为0nsPLL的输出时钟clk2100MHz,相移为1.5ns(具体为什么不是本文讨论的重点,可以参考《SDRAM时钟相移估算》)。同时,这个clk1作为FPGA内部SDRAM控制器的时钟,而clk2输出到外部连接到SDRAM的时钟管脚。为了说明问题,我们首先会给这个作为SDRAM时钟的sdram_clk信号使用Set Maximum DelaySet Minimum Delay添加时序约束:


set_max_delay -from [get_clocks {sys_ctrl:uut_sys_ctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|_clk2}] -to [get_ports {sdram_clk}] 5.000


 


set_min_delay -from [get_clocks {sys_ctrl:uut_sys_ctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|_clk2}] -to [get_ports {sdram_clk}] 1.000


 


         该约束的意义就是希望PLL的输入时钟_clk2sdram_clk管脚上的延时在1ns~5ns。然后我们得到的Setup slack分析结果如图1所示。


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图


1


         _clk2sdram_clk路径延时为1.567ns


         下一步我们要产生一个名为SDRAMCLK的生成时钟,用于SDRAM数据、地址等信号的时序约束。这个生成时钟的约束有讲究,却并不难。如图2所示,命名为SDRAMCLK,时钟源(Source)选择PLL的输出时钟clk2,目的时钟(Targets)选择连接到SDRAM上的sdram_clk



56586d3d-0769-4ac1-8ae0-cba09d2976c7.JPG


2


         约束完成后产生约束脚本如下:


create_generated_clock -name {SDRAMCLK} -source [get_nets {uut_sys_ctrl|uut_PLL_ctrl|altpll_component|_clk2}] -master_clock {sys_ctrl:uut_sys_ctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|_clk2} [get_ports {sdram_clk}]


 


         然后就可以使用生成时钟SDRAMCLK约束相关的数据总线或地址总线。例如可以对数据信号进行约束:


set_input_delay -add_delay -max -clock [get_clocks {SDRAMCLK}]  4.500 [get_ports {sdram_data[0]}]


set_input_delay -add_delay -min -clock [get_clocks {SDRAMCLK}]  -2.000 [get_ports {sdram_data[0]}]


 


         然后我们任意查看一组Registers to OutputsSetup timeHold time约束报告,分别如图3和图4所示。



点击看大图


3



点击看大图


4


         看到了吧,这时候的锁存沿(latch clock,即SDRAMCLK)的时钟网络延时(Clock network delay)就是图1中看到的1.567ns。那么也就说明所产生的这个约束SDRAM的时钟是真实的时钟,它的路径延时也是真实的。


 


 

文章评论7条评论)

登录后参与讨论

patton016_154811562 2011-5-6 21:39

请教下,假如SDRAM相移是-1.5ns,那么Set Maximum Delay与Set Minimum Delay就可以分别设为-1ns与-5ns,是吗?

ilove314_323192455 2010-12-24 16:27

这里就是约束相移后的时钟

用户317561 2010-12-24 15:52

"然后就可以使用生成时钟SDRAMCLK约束相关的数据总线或地址总线" 为什么不用SDRAM的控制器时钟来约束,用相移后的时钟来约束,那相移的微调起什么作用呢?

ilove314_323192455 2010-12-24 11:46

差不多,我们所期望的就是工具努力去实现的方向

用户1620464 2010-12-23 23:48

您看我的理解是不是对的: 用了set_min_delay 命令 与 set_max_delay 命令后,例如我设定两个node之间的延迟时间是3ns - 15ns,那么综合出来的电路在这两个node间的延时是我所指定范围中的值某个值,比如5ns。 谢谢!!

用户1620464 2010-12-23 22:50

请问特权同学:set_min_delay 命令 与 set_max_delay 命令 可以将两个node间的路径延时设定在它们所设定的值之间,是吗?

用户288936 2010-8-18 22:34

请问特权同学,有没有关于FPGA从DDR SDRAM中读取数据的相关资料啊,就是设计内存控制器的相关资料?谢谢了!我的邮箱是wishernzl@126.com,有就麻烦你给我一份吧!
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
我要评论
7
12
关闭 站长推荐上一条 /2 下一条