




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2006.4,电子科技大学EDA协会,1,系统设计中时钟、时序相关问题,电子科技大学EDA协会,通信学院,程传宁 2006.4,2006.4,电子科技大学EDA协会,2,内容,1,跟时钟相关的参数概念与分析 2,时钟树 3,PLL与DLL 4,基于Latch进行设计与Time Borrow 5,ASIC设计中的时钟使用的基本原则 6,门控时钟设计的相关技术 7,改善系统时钟性能以及提高性能速度的几种方法,2006.4,电子科技大学EDA协会,3,Latch的参数,D,Clk,Q,D,Q,Clk,tc-q,thold,PWm,tsu,td-q,T,2006.4,电子科技大学EDA协会,4,tc-
2、q: 时钟有效到输出有效的时间 thold: 数据输入的引脚的数据在时钟无效后需要保持稳定的时间 tsu: 时钟无效之前输入必须保持稳定的时间 td-q: 输入到输出有效时间 Tsu 这个要特别注意与寄存器的区别,这个保持时间是时钟无效之前输入必须保 持稳定的时间可以这样考虑,如果这个时间没有达到,锁存器不能锁存输入足够的时间,也就不能驱动输出与输入相同 锁存器和寄存器还有一点主要的不同就是锁存器多了一个Td-q的概念,2006.4,电子科技大学EDA协会,5,Register的参数,D,Clk,Q,D,Q,Clk,tc-q,thold,T,tsu,tsu:建立时间,在时钟有效沿到来之前寄存器
3、数据输入应保持稳定的时间,它间接约束了组合逻辑的最大延时,thold:保持时间,在寄存器数据引脚输入的数据在系统有效时钟沿到来后需要保持稳定的时间,它间接约束了组合逻辑的最小延时,tc-q:寄存器从有效时钟沿到来到输出有效的最大时间,2006.4,电子科技大学EDA协会,6,Clock Skew,在同一个时钟域或者两个时钟域之间时钟信号到达寄存器的最大时间差别 产生原因主要有:时钟源到达各端点的路径长度不同,各端点负载不同,时钟网络中插入的缓冲器不同等 在两个点之间,可以大体认为Skew是固定的值 注意:Clock Skew影响的是时钟的到达时间不同,也就是时钟发生相移,并不影响时钟的周期宽度
4、,2006.4,电子科技大学EDA协会,7,Clock Skew2,后面要讲到时钟对建立时间和保持时间的影响,2006.4,电子科技大学EDA协会,8,Clock Jitter,在某一给定点上,时钟周期宽度发生变化,不同的时钟周期其持续时间可能缩短或者变宽 一般用两个相邻时钟周期之间其周期宽度的最大变化来表示Clock Jitter,变窄,变宽,可以看出变宽和变窄都有三种情况,2006.4,电子科技大学EDA协会,9,同步设计的时间约束参数,tc-q:寄存器从有效时钟沿到来到输出有效的最大时间 tc-q,cd:时钟沿到来到输出有效的最小时间 tsu:建立时间,在时钟有效沿到来之前寄存器数据输入
5、应保持稳定的时间,它间接约束了组合逻辑的最大延时 thold:保持时间,在寄存器数据引脚输入的数据在系统有效时钟沿到来后需要保持稳定的时间,它间接约束了组合逻辑的最小延时 tlogic:组合逻辑最大延时 tlogic,cd:组合逻辑最小延时,2006.4,电子科技大学EDA协会,10,时钟参数满足的条件,时钟周期应大于寄存器延时、组合逻辑延时、和目标寄存器建立时间的和 本寄存器有效输出通过组合逻辑的延时应该大于目的寄存器保持时间要求(否则目标寄存器保持时间不能满足),2006.4,电子科技大学EDA协会,11,上一级的时钟有效到输出最小时间加上组合逻辑 的最小延时,对于下一级寄存器就相当与其时
6、钟 有效沿后输入改变的时间,也就是保持时间,2006.4,电子科技大学EDA协会,12,正负Clock Skew,正偏斜也就是下一级时钟比上一级时钟慢,负偏斜与之相反,2006.4,电子科技大学EDA协会,13,正Clock Skew对电路性能的影响,正的Skew减少了时钟周期宽度,可以提高系统的时钟频率,CLK1相对于CLK2提前,由于第二级寄存器对保持时间的要求,很容易发生使建立时间得不到满足,2006.4,电子科技大学EDA协会,14,负Clock Skew对电路性能的影响,负的Skew要求正常工作时的时钟周期变宽,负的Skew时,第二级寄存器的保持时间肯定能够得到满足(如果没有时钟偏移
7、保持时间能够达到的条件下), 为负,2006.4,电子科技大学EDA协会,15,利用Skew提高电路性能,延时 8,延时 12,关键路径为组合逻辑2,影响了系统速度,调整:提前C2时钟到达时间(人为增加Clock Skew),使其比C1,C3提前2个时间单位(相当于有2个时间单位的Clock Skew)到达,如此就给出组合逻辑2更多的计算时间,使关键路径延时为10,提高系统能够工作频率,这需要在后端物理设计的时候进行调整,2006.4,电子科技大学EDA协会,16,Clock Jitter对电路性能的影响,tjitter是两个相邻时钟周期宽度之差,由此可见,Clock Jitter要求正常工作
8、的系统时钟宽度增加,从而也就降低了系统工作频率,2006.4,电子科技大学EDA协会,17,Clock Skew和Jitter对电路性能的影响, 为负,由此可见,Skew和Jitter要求系统时钟宽度增加,从而系统频率降低,性能变差,2006.4,电子科技大学EDA协会,18,Clock Skew和Jitter的来源,2006.4,电子科技大学EDA协会,19,Time Slack,From synopsys,slack = 期望数据到达时间 数据实际到达时间,Slack为正,表示数据提前到达,此时组合逻辑延迟满足条件,Register有足够的建立时间; Slack为负,表示数据比预期的时间晚
9、到达,此时显然不满足Register的建立时间,不满足约束,2006.4,电子科技大学EDA协会,20,本张slide和下一张slide来自Altera公司培训资料,版权归原作者所有,Simple Register to Register Analysis,in,out,clk,reg1,reg2,clk,clk,clk,slack = p2p required p2p delay,p2p,p2p required = setup relationship + clock skew tCO - tSU,setup relationship = latch edge launch edge,cl
10、ock skew = clk clk,launch,latch,2006.4,电子科技大学EDA协会,21,Simple Register to Register Analysis with Numbers,in,out,clk,reg1,reg2,clk,slack = p2p required p2p delay,p2p required = setup relationship + clock skew tCO tSU,setup relationship = latch edge launch edge = 5.0 0.0 = 5.0,clock skew = clk clk,2.26
11、6,0.11,0.082,tco,tsu,0.082,0.11,= 2.521 - 2.993,= 5.0 + (-0.472) 0.11 0.082,= 4.336 2.266,= -0.472,= 4.336,tco,tsu,= 2.07,2.993,2.521,2006.4,电子科技大学EDA协会,22,内容,1,跟时钟相关的参数概念与分析 2,时钟树 3,PLL与DLL 4,基于Latch进行设计与Time Borrow 5,ASIC设计中的时钟使用的基本原则 6,门控时钟设计的相关技术 7,改善系统时钟性能以及提高性能速度的几种方法,2006.4,电子科技大学EDA协会,23,时钟树
12、分布简介,H-树,最基本的时钟树结构,比较适合于规则阵列网络,2006.4,电子科技大学EDA协会,24,时钟树分布简介2,Routed RC Tree,考虑布局后的个单元长度,根据时钟的负载来优化网络,2006.4,电子科技大学EDA协会,25,内容,1,跟时钟相关的参数概念与分析 2,时钟树 3,PLL与DLL 4,基于Latch进行设计与Time Borrow 5,ASIC设计中的时钟使用的基本原则 6,门控时钟设计的相关技术 7,改善系统时钟性能以及提高性能速度的几种方法,2006.4,电子科技大学EDA协会,26,PLL(Phase Locked Loop),压控振荡器,两个同频时钟
13、信号,就可以通过相位差来描述他们的关系,或者由一个时钟得到另外一个时钟,2006.4,电子科技大学EDA协会,27,PLL2,Altera中的PLL,2006.4,电子科技大学EDA协会,28,PLL3,某CycloneII芯片上面的PLL资源,Altera中的PLL,2006.4,电子科技大学EDA协会,29,PLL4,Altera中的PLL,2006.4,电子科技大学EDA协会,30,DLL(Delay Locked Loop),Phase Detector,Charge pump,VCDL,原始时钟输入,时钟输出,VCDL: Voltage-controlled delay line,基
14、本思想是通过控制线延时来调整时钟相位,使其相位对齐,2006.4,电子科技大学EDA协会,31,DLL2,DLL的一个典型应用时是用在时钟分布时,2006.4,电子科技大学EDA协会,32,DLL4,Xilinx中的DLL的一个应用,Xilinx中的DLL,2006.4,电子科技大学EDA协会,33,DLL3,Xilinx中DCM的结构图,Xilinx中的DLL,2006.4,电子科技大学EDA协会,34,DLL7,Xilinx中的DLL,Xilinx中DLL的简单功能框图,CLK0通过时钟网络驱动寄存器,然后通过反馈线至CLKFB,进行相位检测,调整相位,2006.4,电子科技大学EDA协会
15、,35,DLL6,可以选择不同的时钟反馈来进行相位对齐,2006.4,电子科技大学EDA协会,36,ASIC中的PLL和DLL,在ASIC中,PLL是非常重要的一个部件,常使用PLL在片内产生高的系统时钟、减少Clock skew、减少Clock jitter等,但是由于PLL的模拟特性,不论是对数字工程师还是模拟工程师来说都是一个挑战 PLL可以自己进行设计也可以购买IP核,它是一个模数混合设计,其loop filter和VCO部分是模拟,其分频部分是数字,至少都是针对具体的工艺和生产线,也就是说是硬核或者每次都要进行自己设计 当前也有公司开发出来全数字可以在CMOS上面实现的IP核,htt
16、p:/www.CologneC(一家德国公司) DLL和PLL在ASIC设计中有着相似的问题,2006.4,电子科技大学EDA协会,37,内容,1,跟时钟相关的参数概念与分析 2,时钟树 3,PLL与DLL 4,基于Latch进行设计与Time Borrow 5,ASIC设计中的时钟使用的基本原则 6,门控时钟设计的相关技术 7,改善系统时钟性能以及提高性能速度的几种方法,2006.4,电子科技大学EDA协会,38,基于Latch进行设计,基于时钟沿触发的寄存器进行设计是当前主流且稳健的设计方法,但两个寄存器之间的Worst Case Logic Path会限制系统的最高运行频率;在本Wors
17、t Case Logic Path限制系统频率的同时,而在其他寄存器之间的路径却可能处于空闲状态 基于Latch的设计方法拥有更为灵活的时序特性,它允许在数据的一个锁存阶段(stage)将多余的时间借给下一个阶段或者从下一个阶段借用时间,Time borrow,2006.4,电子科技大学EDA协会,39,基于Latch进行设计2,CLB_A + CLB_B,CLB_C,LATCH工作过程,LATCH等效的寄存器工作时序,CLk1,CLk1,2006.4,电子科技大学EDA协会,40,基于Latch进行设计3,由上页Slide可以看出基于Latch设计和基于寄存器设计,其在数据输入与数据输出接口
18、上可以获得相同的效果 但是,在基于Latch的设计中,组合逻辑被电平敏感的Latch分离,它可以使一个组合逻辑使用前一个组合逻辑剩余的时间,也就是Time Borrow或者Slack borrowing Time Borrow可以使电路时钟边界处的逻辑使用超过一个时钟周期宽度的时间,从而可以使电路运行速率高于关键路径的所约束的时钟频率!,2006.4,电子科技大学EDA协会,41,Time Borrow示例,寄存器设计逻辑可以利用的时间,Time Borrow时逻辑 可以利用的时间,借得的时间,由图中可以看出,通过Latch对关键路径进行Time Borrow设计,可以使逻辑在超过一个时钟周期
19、的范围内运行,从而降低或者消除其对时钟频率的限制,2006.4,电子科技大学EDA协会,42,内容,1,跟时钟相关的参数概念与分析 2,时钟树 3,PLL与DLL 4,基于Latch进行设计与Time Borrow 5,ASIC设计中的时钟使用的基本原则 6,门控时钟设计的相关技术 7,改善系统时钟性能以及提高性能速度的几种方法,2006.4,电子科技大学EDA协会,43,ASIC设计中的时钟原则,Guideline2:当在片上使用PLL产生时钟时,设置使此PLL无效或者将其旁路的机制,这将便于芯片测试和调试,Rule1:在设计流程中尽早确定设计的时钟分布架构。要预期时钟结构可能会产生的影响。
20、 对于大型高速芯片,诸如balanced clock tree这样的分布策略可能就会需要特别大且高性能的时钟buffer,这些buffer可能会消耗掉芯片功耗的一半以及大量的芯片面积,所以在设计之初就需要规划时钟,Rule2:将时钟产生和控制逻辑从所有的功能模块中分离,放入一个独立模块中,Guideline1:使用尽量少的时钟来完成设计。将不同时钟域信号同步模块孤立出来成为一个尽量小和简单的模块,这将便于ASIC综合等设置约束和进行分析,2006.4,电子科技大学EDA协会,44,ASIC设计中的时钟原则2,Guideline5:Clock Buffers通常是在物理设计时进行考虑的。在综合时
21、,时钟被当作是没有延迟的理想网络,所以在进行RTL设计的时候需要进行考虑,也不要去例化Clock Buffer Guideline6:避免片内产生时钟。片内产生的时钟将会产生测试问题,因为受到内部产生时钟驱动的逻辑不能被作为扫描链的一部分。添加专门的测试用电路来旁路内部产生的时钟,使整个扫描链由同一时钟控制,Guideline3:避免使用上升沿和下降沿同时触发的逻辑。 Rule3:如果同时使用上升沿和下降沿有效的触发器,那么在综合和作时序分析时,必须建模worst-case duty cycle(最坏的时钟占空比);并且将此duty cycle的要求记录,形成对系统时钟的要求 Guidelin
22、e4:考虑将上升沿触发和下降沿触发的flip-flop放在分离的模块中,2006.4,电子科技大学EDA协会,45,内容,1,跟时钟相关的参数概念与分析 2,时钟树 3,PLL与DLL 4,基于Latch进行设计与Time Borrow 5,ASIC设计中的时钟使用的基本原则 6,门控时钟设计的相关技术 7,改善系统时钟性能以及提高性能速度的几种方法,2006.4,电子科技大学EDA协会,46,门控时钟,Guideline7:避免在进行RTL设计的时候对时钟进行门控 Guideline8:如果要手动在RTL设计的时候对时钟进行门控,那么将此分离到一个在顶层的独立模块中,且手动插入门控一般只能在
23、此顶层模块中出现 Guideline9:划分设计,保证每个模块有单一的时钟,且在本模块中不对时钟进行门控,2006.4,电子科技大学EDA协会,47,门控时钟2,Guideline10:RTL设计时,当使用门控时钟降低功耗的时候,不要直接对时钟进行门控,而是使用同步装入寄存器的描述风格,Synopsys Power compiler,EDA工具可以根据代码自动插入门控时钟降低功耗,2006.4,电子科技大学EDA协会,48,门控时钟3,设计系统级门控时钟降低功耗,结构1:,这是门控时钟最基本的实现方式,最为简单,但是显然会出现时钟不完成的现象,并可能在时钟输出上存在毛刺(门控信号不稳定造成),
24、2006.4,电子科技大学EDA协会,49,门控时钟4,设计系统级门控时钟降低功耗,结构2:,可以看到,使用Latch很好的解决了时钟残缺的问题,也可以去除由于clk_en产生的毛刺,但也存在问题,如果时钟使能信号距离Latch的锁存沿太近,那么锁存输出就可能出现亚稳态,造成后端门控得到的时钟不稳定,2006.4,电子科技大学EDA协会,50,门控时钟5,设计系统级门控时钟降低功耗,结构3:,可以看到,使用Register进行处理很好的解决了时钟残缺问题,也完全可以解决时钟的亚稳态问题,只可能在源时钟的下降沿出现亚稳态,但是随后它与源时钟低相位相与,不会产生影响,2006.4,电子科技大学ED
25、A协会,51,门控时钟6,设计系统级门控时钟降低功耗,结构4:,为了便于测试,设计可以控制门控时钟的机制;当位于测试状态时,一直使时钟处于打开状态,2006.4,电子科技大学EDA协会,52,门控时钟7,设计系统级门控时钟降低功耗,结构5:,在ASIC进行后端测试的时候,有时候可能会将不同时钟域的逻辑和寄存器连起来进行扫描链插入,此时可能某个模块的时钟来源可能不是通过它原来的时钟路径,而是整个芯片统一的测试时钟,就此时需要对时钟进行选择,选择工作时钟和测试时钟的结构,2006.4,电子科技大学EDA协会,53,内容,1,跟时钟相关的参数概念与分析 2,时钟树 3,PLL与DLL 4,基于Lat
26、ch进行设计与Time Borrow 5,ASIC设计中的时钟使用的基本原则 6,门控时钟设计的相关技术 7,改善系统时钟性能以及提高性能速度的几种方法,2006.4,电子科技大学EDA协会,54,Register Duplication,Altera QuartusII,通过复制寄存器来提高驱动能力,减少单个寄存器的fanout,2006.4,电子科技大学EDA协会,55,Register Retiming,Register retiming是一种时序逻辑优化技术,它通过在组合逻辑门中移动寄存器来对时序和面积进行优化,2006.4,电子科技大学EDA协会,56,Register Retimi
27、ng2,From QuartusII Handbook,Register Retiming可以通过综合工具进行调整,2006.4,电子科技大学EDA协会,57,Pipeline,将一条关键路径使用寄存器打断,从而使寄存器之间的组合逻辑延时变小,从而可以提高系统工作频率 Pipeline会提高系统的吞吐量,但是它会引入额外的延时,并且需要使用更多的寄存器,这也带来资源的消耗,Comb_logic,数据输入,数据输入,数据输出,数据输出,2006.4,电子科技大学EDA协会,58,Pipeline2,对组合逻辑的重新划分必须保证数据通路上数据的一致性(coherency),也就是说从数据通路的原始
28、输入到数据通路的原始输出必须通过相同数目的流水寄存器;换句话说,流水寄存器的插入必须位于数据流图的前向通路的割集上,部分可以放置的流水寄存器位置,2006.4,电子科技大学EDA协会,59,Pipeline3,计算组合逻辑需要插入的流水寄存器的数量,Comb_logic,一些参数定义 N:流水级数(pipeline stages)。它比从原始输入到原始输出路径上面的寄存器数量多1 Tc:设计在流水后所要达到的时钟周期宽度 Ts:用于流水的典型寄存器建立时间 Tq,典型寄存器从时钟沿有效到数据输出有效的时间延迟 Td:组合逻辑从输入到输出的最大延迟;包括输入延时(在设计内部典型的为Tq)和输出延
29、时,为了确定需要流水的级数,可以先对设计进行简单综合,确定需要调整的组合逻辑延迟时间长度,然后确定需要添加的流水寄存器数量,优化设计 在DC中即可以使用Compile命令得到延迟时间,在代码中添加流水寄存器,2006.4,电子科技大学EDA协会,60,Pipeline4,计算组合逻辑需要插入的流水寄存器的数量,Comb_logic,Pipeline stages,2006.4,电子科技大学EDA协会,61,Pipeline5,对于流水设计,可以通过在设计的时候通过仔细设计来分离组合逻辑,提高性能 但更推荐的做法是通过EDA综合工具的Retiming功能自动进行流水并优化(但是此时设计人员需要给
30、出流水寄存器的数量),利用EDA工具完成流水 在进行RTL代码设计的时候,将流水寄存器(pipeline registers)放置在数据通路RTL代码的输入或者输出处,并且使用Retiming功能将它们移动到最理想位置(在DC中此命令是:optimize_registers) Place the pipeline registers at the inputs of the datapath if the registers have reset/preset and the reset/preset state needs to be preserved during retiming (v
31、astly improves CPU time). Otherwise, pipeline registers can be placed on either inputs or outputs for the same retiming functionality and QoR.,2006.4,电子科技大学EDA协会,62,Pipeline6,一个乘加单元的例子,采用三级流水,Design Compiler,2006.4,电子科技大学EDA协会,63,Pipeline7,上页幻灯片描述方式前后结果,HDL描述的结构,a_reg,a_pipe,a_int,z_reg,a_reg,a_pipe,a_int,z_reg,工具自动优化之后的结构,2006.4,电子科技大学EDA协会,64,Parallel和Repliation(面积换速度),通过引入多个、完全相同的并行处理单元来提高系统的性能,典型的应用如乒乓操作等,例1:在RTL设计的一个例子,中间组合逻辑的运算需要的时间超过一个系统周期,且逻辑不易分割,可以对其本部分逻辑进行复制,根据需要可以复制一个或者多个,使能寄存,选择输出,注意:在运算周期超过1的时候,这里有Multi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市更新项目质量管控实施方案
- 电力设施建设技术方案
- 2025年福建省工勤网(机关事业单位工人)文秘资料员考题及答案
- 光伏电站建设施工管理方案
- 跨境运动服饰电商2025年智能分拣技术行业应用案例汇编
- 房屋建筑电力配电设计方案
- 数字营销解决方案公司
- 智算算力中心项目施工方案
- 人工智能算法在高中信息技术课堂的应用
- 房屋建筑建筑基础设施建设方案
- 2025年上半年湖北十堰竹山招募三支一扶高校毕业生聘用为事业单位人员12人易考易错模拟试题(共500题)试卷后附参考答案
- 餐饮服务明厨亮灶建设工作方案
- 兽医化验员专业知识考试题及答案
- 福建台湾海峡大桥建设工程可行性研究报告
- (完整)注册安全工程师考试题库(含答案)
- 高考作文素材积累与写法总结27 自知与知人作文审题指导及素材积累
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
- 2024年贵州省贵阳市中考生物地理合卷试题(含答案逐题解析)
- DNDC模型使用手册
- 起重机械生产单位质量安全总监-特种设备考试题库
- JBT 9189-2016 水基材料防锈试验方法 铸铁屑试验
评论
0/150
提交评论