首页 SetupHold Time释疑.pdf

SetupHold Time释疑.pdf

SetupHold Time释疑.pdf

上传者: majijuncekong 2011-05-07 评分1 评论0 下载26 收藏0 阅读量561 暂无简介 简介 举报

简介:本文档为《SetupHold Time释疑pdf》,可适用于IT书籍领域,主题内容包含(转载)flyingwave(白云飞浪)于年月日::星期天提到:学习synopsys时对setupholdtime有些疑问。我知道建立时间是有效时钟符等。

(转载)flyingwave(白云飞浪)于年月日::星期天提到:学习synopsys时对setupholdtime有些疑问。我知道建立时间是有效时钟沿到来之前数据必须稳定不变的时间保持时间就是有效时钟沿到来之后数据必须保持不变的时间二者都是工艺的要求在工艺库中指定。建立时间确定了时序通路的最大延时这不难理解但为什么说保持时间决定时序通路的最小延时了?一个时序通路的延时不是越小越好吗?我看了sold中的userguide和referencemanual,还有CIC的讲稿他们对setupcheck和holdcheck进行了图解但我还是不很清楚希望各位指点。memcad(memcad)于年月日::星期天提到:我想应该这样解释吧:如果holdtime=。ns那么从上一个触发器输出到你的下一个触发器输入的逻辑延迟应该小于此值否则下一个触发器的输入不符合holdtime我认为从CLK到Q的延迟应该抵消这个holdtime所以设计里面一般不会考虑holdtime抛砖引玉希望大家互相切磋我也想问一下大家是否知道在Verilog中的状态机一般都要用parameter来指定各个状态如:IDLE='B,STATE='B等不知道DC综合时候是否会将这个优化比如将state变成本想在工作站上求证一下最近机房工作站很紧张TELNET上去经常无法正常编辑不知如何搞定!MPW(卧薪又尝胆得意莫忘形)于年月日::星期天提到:不会的吧除非你用FSMcompilerflyingwave(白云飞浪)于年月日::星期一提到:你是不是说反了因为setuptime对应的才是timingpath的最大时延holdtime对应的是最小时延。欢迎大家对该问题进行讨论!至于你说的状态机优化问题在synopsy里有两条对应的优化指令:synopsysstatevectorvectornamesynopsysenumenumnameegparameter:synopsysenumstatestateA='b,stateB='b,stateC='b,stateD='bsynopsysstatevectorpresentalways(presentor)beginend*******************************************viterbi(归去来兮~~~~)于年月日::星期一提到:vhdl里定义一下enum类型就可以了memcad(memcad)于年月日::星期一提到:哦是我也错了holdtime对应最小延时是不是不加你所说的那两条优化指令它就不会对状态变量进行优化?suibianla(布局民工)于年月日::星期一提到:个人觉得可能和D触发器的两级锁存机构有关!alanzheng(alan)于年月日::星期三)提到:你对setuptime的理解是对的而holdtime的定义也确是在有效时钟沿到来之后数据必须保持不变的时间但是对它的正确的理解是这样的:我们先举个例子:在一个移位寄存电路中两个相邻的register之间没有任何组合逻辑如果前一个register的holdtime不够(holdtime<最小延时)的话那么结果是输入信号发生直通这样就不会有移位的效果。原因是后一个register本来是想“采”D端前一个状态但是现在前一个register的Q端到后一个register的D端的延时太小了所以最后“采”的却是前一个register的Q端的值所以就像直通一样。但是我们为什么经常不太care这个holdtimeviolation呢?原因是在大部分电路中register之间都会有组合逻辑所以一般延时都会大于最小延时的。所以说时序通路的延时越小越好是不对的这一点在很多地方都有体现例如:clocktree希望新手好好体会觉得我有什么说的不对的地方欢迎提出来!applepine(鄙视你)于年月日::星期三提到:我觉得我这么理解的数据从输入D到输出Q有一个延时Tdq有效沿到来后数据有一个保持时间Thold如果Thold太小且通路之间延时为那么这时候就会有新进来的数据出现在Q端后又继续被下一级的寄存器采样到出现直通注释二、时钟周期为T,触发器D的建立时间最大为Tmax最小为Tmin。组合逻辑电路最大延迟为Tmax,最小为Tmin。问触发器D的建立时间T和保持时间应满足什么条件。---------------------------------------这个问题其实并不复杂但出题的人那么出也确实是容易把人弄混。可以先不管题怎么出先把自己理解清楚的公式摆上去再解不等式就好了。首先我们还是应该假设Setup和Hold时间是不变的那么可以改变的是自己设计的组合电路的延时Tmax和Tmin。计算Setupviolation时是用延时最长的路径来计算的只要最长的路径没有setupviolation整个设计就不会有而计算holdviolation时是用延时最短的路径来计算的只要最短的路径没有holdviolation整个设计就不会有。所以:TckoTmaxTsetup<TTmin>TholdTcko其中Tcko指从寄存器的时钟跳变到输出的时间。OK然后就解不等式就好了无论考官出什么题这两个公式不变就可以。如果要忽略Tcko就把里面的Tcko去掉就好了。有人提出对于hold时间忽略掉Tcko后如果Tmin为那hold时间岂不也应该为?正是如此!但是由于寄存器的hold时间不可能为所以这时必须插入buffer增大Tmin使它大于Thold才可以满足hold时间的要求。然后我们再把时钟的因素考虑进来。由于时钟到达各个寄存器的时间不同会引起时间差。注意对于不同的寄存器之间这时间差可能为正也可能为负综合工具不可能为对每一对寄存器之间都一一计算因而记这些时间差绝对值的最大值为Tskew。也称uncertainty。对于建立时间时钟skew的最坏情况是时钟往前偏移了Tskew时间对于保持时间时钟skew的最坏情况是时钟往后偏移了Tskew的时间。因此关系式变为:TckoTmaxTsetup<TTskewTmin>TholdTckoTskew一般来说在不考虑时钟skew的情况下Thold总是小于Tcko的所以即使是Tmin等于保持时间的约束也是满足的因而我们大多时候对保持时间不需要考虑太多只要我们的组合逻辑满足周期约束(也就是setup的约束啦计算周期约束肯定是要将setup时间算进去的)就可以。需要考虑holdtime约束的情况就是在有时钟skew的情况下由于时钟skew的存在,TholdTckoTskew很可能会大于因此Tmin如果等于就不能满足条件此时就需要加入buffer以增大组合逻辑的延时来满足这个条件。而在FPGA设计中一般也无需考虑Hold时间的问题。注释三、从采集数据角度:建立时间clock上升沿到来前,被采集数据稳定不变的时间时间过少,则采不到数据保持时间clock上升沿到来后,被采集数据稳定不变的时间时间过少,则采不到数据如图:触发器角度:建立时间:触发器在时钟沿来到前其数据输入端的数据必须保持不变的时间决定了触发器之间的组合逻辑的最大延迟保持时间:触发器在时钟沿来到后其数据输入端的数据必须保持不变的时间决定了触发器之间的组合逻辑的最小延迟Why网上的部分言论setuptimeisthetimerequiredtochargetheinputcapacitanceoftheFF(Dinput)toacorrectlogic(ietotheVDDforlogicandVSSforlogic)holdtimeisrequiredtofortworeasonstotakecareofclockskeweffectoallowtheinternalnodesofFFtochargedischargetocorrectvoltagelevels、setuptime的意义:为什么Data需要在Clock到达之前到达?其实在实际的问题中setuptime并不一定是大于零的因为Clock到达时刻并不等同于latch的传输门A关闭的时刻(更何况这种关闭并不是绝对的和瞬间完成的)这之间有一个未知的延迟时间。为使问题简化假设Clock的到达时刻为传输门A关闭、传输们B打开的时刻。如果Data没有在这之前足够早的时刻到达那么很有可能内部的feedback线路上的电压还没有达到足够使得inv翻转的地步(因为inv有延时Data有slope传输门B打开后原来的Q值将通过inv迫使feedback保持原来的值)。如果这种竞争的情况发生Q的旧值将有可能获胜使Q不能够寄存住正确的Data值当然如果feedback上的电压已经达到了足够大的程度也有可能在竞争中取胜使得Q能够正确输出。如果inv、inv和inv的延时较大(Data的变化影响feedback和Q的时间越长)那么为了保证正确性就需要更大的setuptime。所以在实际测量setuptime的时候需要选取工艺中最慢的corner进行仿真测量。、、holdtime的意义:为什么Data在Clock到达之后仍然要保持一段时间?和setuptime的情况不一样因为Clock到达时刻并不等同于latch的传输门A完全关闭的时刻。所以如果Data没有在Clock到达之后保持足够长的时间那么很有可能在传输门A完全关闭之前Data就已经变化了并且引起了feedback的变化。如果这种变化足够大、时间足够长的话很有可能将feedback从原本正确的低电压拉到较高电压的电压。甚至如果这种错误足够剧烈导致了inv和inv组成的keeper发生了翻转从而彻底改变了Q的正确值就会导致输出不正确。当然如果这种错误电压不是足够大到能够改变keeper的值就不会影响到Q的正确输出。如果inv、inv和inv的延时较小(Data的变化影响feedback和Q的时间越短)那么为了保证正确性就需要更大的holdtime。所以在实际测量holdtime的时候需要选取工艺中最快的corner进行仿真测量。

职业精品

打卡考勤管理制度(附各式详细申请表).doc

员工考勤与值班管理制度(全网最详细制度).doc

指纹打卡考勤细则.doc

办公设备、办公用品管理制度.doc

用户评论

0/200
    暂无评论
上传我的资料

精彩专题

相关资料换一换

资料评价:

/ 7
所需积分:2 立即下载

意见
反馈

返回
顶部