原创 ISE时序约束笔记7——Path-Specific Timing Constraints

2009-3-15 11:26 8712 5 6 分类: FPGA/CPLD

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

 


ISE时序约束笔记7——Path-Specific Timing Constraints


 


时钟上升沿和下降沿之间的时序约束


         周期约束可以自动计算两个沿的的约束——包括调整非50%占空比的时钟。


         例:一个CLK时钟周期约束为10ns,能够应用5ns的约束到两个寄存器之间。


         不需要特定路径应用到这个例子中。


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


点击看大图 


相关时钟域的约束


         为一个时钟进行周期约束——以这个周期约束确定相关的时钟。


         执行工具将根据它们的关系来决定如何处理跨时钟域。


         DCM有多个输出:


                   ——确定DCM输入时钟的周期约束


                   ——执行工具将会从这个周期约束推导出其输出的约束


                   ——所有的约束将会和原始的周期约束相关


 


不相关时钟域的约束


         在这个例子中,周期约束不覆盖到处于两个时钟域之间的任何延时路径。——这是默认的处理方式。


         你必须添加一个约束覆盖到相关时钟域之间的路径中。——例如,频率相同,但是CLK_B有一些相位偏移。


         在两个不相关的时钟域你就必须添加一些同步电路。



点击看大图 


         约束两个时钟域之间的路径。


         ——使用Groups by NETs选项为CLK_ACLK_B定义groups,如果你为每个时钟添加完周期约束,这个步骤将自动完成。


         ——在这个寄存器的groups之间指定快速/慢速例外约束。



点击看大图 


 


多周期路径约束


         多周期约束应用在连续几个时钟周期内寄存器不需要更新的情况。


                   ——总是至少需要一个时钟周期才更新。


                   ——通常的,这样的寄存器由时钟使能信号控制。


         一个分段计数器就是这样的一个例子。


                   ——COUT14每隔4个时钟周期才更新一次。


                   ——这些寄存器间的路径就算是多周期路径。



fecfa5b5-c9ab-4882-85e4-801aa21bb6f3.jpg 


 


False 路径


         False路径选项将用于防止约束覆盖到特定路径


 


时序约束优先级


         从高到低为:


1.       False路径——将会覆盖任何其它的约束路径


2.       FROM THRU TO


3.       FROM TO


4.       管脚指定OFFSETs


5.       Groups OFFSETs(由寄存器或者PADS生产的groups


6.       全局PERIODOFFSETs——最低优先级约束


 


这里特权同学提醒大家注意的是,通常类似下面这样的计数器绝对不可以归为多周期约束:


         reg[15:0] counter;


         always @ (posedge clk or negedge rst_n)


         begin


                   if(!rst_n) counter <= 16’d0;


                   else counter <= counter+1’b1;


         end


虽然我们想想似乎counter[1]也是2clk变化一次,counter[2]也是4clk变化一次……但是,我们想想看,如果从counter=1counter=2没有在一个clk完成,那么肯定就会影响到counter=2counter=3的变化,对吧?所以,这样的计数器不能算做多周期约束例外。


提纲里描述的多周期例外的计数器应该是这样一个模型:


         reg[15:0] counter;


         always @ (posedge clk or negedge rst_n)


         begin


                   if(!rst_n) counter[1:0] <= 2’d0;


                   else counter[1:0] <= counter[1:0]+1’b1;


         end


                 


         always @ (posedge clk or negedge rst_n)


         begin


                   if(!rst_n) counter[15:2] <= 14’d0;


                   else if(counter[1:0] == 2’b11) counter[15:2] <= counter[15:2]+1’b1;


         end


         上面两个always块里的数据互不干扰,并且都正常工作,只有下一个always块检测到前一个always块里的counter[1:0]==2’b11时才进位加1


写到这里,特权发现单从功能上来说,这两个例子是没有差别的,说白了,任何一个计数器都可以建模成后面的形式。或者说,我的问题其实没有说明白,反而被自己的例子给驳倒了。


呵呵,换个角度思考这个问题,到底什么时候是多周期例外,什么时候不是?这个其实还是要看情况的,如果你的系统实时性较高,可能会在某一特定的时钟周期用到16位计数器的计数值(如a = (counter == 16’hffff)?1b’1:1’b0; ),那么这个计数器的高位就不能算作多周期例外。而如果比如在我的一个工程里,有这样的计数器用法:cuonter[2:0]16clk的后8clk需要自增加(从015),而高位counter[18:3]当然只有在16clk变化一次,因为这里counter是用于作为一个地址产生器,也就是说,我的地址是每16clk的后8clk用到,那么这里的counter[18:3]就是一个8clk的多周期例外实例。


         说白了,还是要具体问题具体分析。


 

文章评论1条评论)

登录后参与讨论

用户428201 2012-10-1 10:38

感谢特权同学,讲的很好,受益匪浅!

用户614385 2012-7-3 13:47

讲解的佷仔细,读读

用户1696769 2012-6-26 14:50

已经升级过了,包括编辑器和图片及字数限制等。这篇博文已经帮特权同学修改过了,可以看看了。像这种图片特别多的情况,可以在WORD里面编辑完所有的图片,然后一次性复制到编辑框,很方便的。

用户467285 2012-6-26 11:05

EDN的系统该好好升下级,这样如出自特权大牛这样的优秀博文才会更加丰富多彩。

aphon_xia_341563856 2012-3-6 11:05

作为FPGA设计工程师,其实我们应该把自己定位为硬件工程师,所以我们必须对FPGA外围电路足够熟悉,要多看多想多分析,把别人的电路图充足消化,做些改进,变成自己的.

用户378401 2012-2-28 11:40

谢谢,谢谢您的贡献

用户1637227 2012-2-28 09:39

给力啊

用户414961 2012-2-17 13:16

这个比较给力哦

用户1417837 2012-2-16 15:44

有附件下载这个方法好,感觉EDN这个网站的编辑界面太不好了,估计服务器也不行,呵呵。

用户1321251 2010-8-18 17:15

一个16bit的计数器,超长的进位链,肯定会导致路径过长,所谓的拆分计数器,有一个BUG,实际应用的时候,会遇到,遇到4的进位,计数器输出不正确 想克服这个问题,很简单,实例化一个计数器IP,XILINX的计数器IP不让你看到,说明还是有价值的 采用超前进位的计数器,Fmax嗷嗷的
相关推荐阅读
特权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欲出资百亿美金收...
EE直播间
更多
我要评论
1
5
关闭 站长推荐上一条 /4 下一条