《CPLD FPGA设计与应用基础教程》课件第八章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《CPLD FPGA设计与应用基础教程》课件第八章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPLD FPGA设计与应用基础教程 CPLD FPGA设计与应用基础教程课件第八章 CPLD FPGA 设计 应用 基础教程 课件 第八
- 资源描述:
-
1、第八章第八章 同步数字同步数字电路与时序分析电路与时序分析LOREM IPSUM DOLOR目 录CONCENT8.1 同步数字电路的基本概念8.2 D触发器的工作原理8.3 亚稳态的产生原理以及同步寄存器8.4 同步数字系统的时序约束8.5 时钟8.6 IO时序分析8.7 时序例外8.8 PLL8.9 时序优化8.1同步数字电路的基本概念GRADUATION THESIS8.1基本数据类型8.1.1 同步数字电路同步数字电路同步数字电路同步数字电路:由时序电路和组合逻辑电路共同构成的电路,其中时序电路主要由各种寄存器和触发器构成。该电路有一个同步的信号通常称之为时钟信号来控制所有的寄存器和触
2、发器,因此同步数字电路会在严格的时钟控制下进行工作。电路中的所有的状态变化都是在时钟的上升沿或者下降沿完成的。同步数字电路示例8.1基本数据类型8.1.2 时钟域时钟域所有的时序电路都是通过时钟信号来驱动。时钟域,就是在该系统中,所有的触发器都由同一时钟驱动。因此,时钟域的概念主要需要满足如下几点:(1)在同一个时钟域内,所有的触发器都由同一个时钟驱动(2)在同一个时钟域内,所有的组合逻辑的输入都只能由这些触发器驱动(3)在一个数字系统中,如CPLD/FPGA或者ASIC内,可能同时存在多个时钟域如下图所示,FF0和FF1为同一个时钟域,它们同时被时钟信号CLK1驱动,而FF2位另外一个时钟域
3、,它由时钟信号CLK2驱动。当FF2驱动的信号进入组合逻辑时,需要进行特别处理,如增加同步寄存器,否则会产生亚稳态。8.1基本数据类型时钟域8.2 D触发器的工作原理GRADUATION THESIS8.2 D触发器的工作原理D触发器在时钟的上升沿或者下降沿的作用下,会存储一位系统状态并更新它。同时,它也带有复位/置位信号用于上电初始化或者系统复位该输入信号与时钟信号互相独立并且优先于时钟信号。其基本元件符号如图所示。D触发器元件示意图8.2 D触发器的工作原理采用SystemVerilog实现此D触发器如下:module DFF#(parameter W=1)(input logic clk
4、,input logic rst_,input logic W-1:0 d,output logic W-1:0 q);always_ff(posedge clk,negedge rst_)if(!rst_)q=0;else q=d;endmodule8.2 D触发器的工作原理建立时间(Tsu)D触发器输入端要求输入信号在时钟信号有效沿(上升沿或者下降沿)到来之前保持稳定不变的时间。保持时间(Thold)D触发器输入端要求输入信号在时钟信号有效沿(上升沿或者下降沿)到来之后保持稳定不变的时间。异步恢复时间(Tr)异步控制信号在下一个有效时钟边沿到达前必须稳定下来的最短时间。Tco从D触发器时钟
5、信号输入端时钟有效沿到达到D触发器的输出端更新信号稳定之间的时间8.3 亚稳态的产生原理以及同步寄存器GRADUATION THESIS8.3 亚稳态的产生原理以及同步寄存器亚稳态的产生:亚稳态的产生:信号从信号从0到到1之间的跳变或者从之间的跳变或者从1到到0之间的跳变时间称为上升时间或者下之间的跳变时间称为上升时间或者下降时间,在这段时间内,信号是未定的,因此如果对这段时间内的信号进降时间,在这段时间内,信号是未定的,因此如果对这段时间内的信号进行采样,则会出现亚稳态现象。行采样,则会出现亚稳态现象。8.3 亚稳态的产生原理以及同步寄存器第一种情形第一种情形,经过一段时间的振荡,D触发器的
6、信号最终会恢复到设计者想要设计的电平信号,如本例Q输出情形1最终恢复为高电平1。第二种情形第二种情形,经过一段时间的振荡,D触发器的信号还是无法恢复到设计者想要设计的电平逻辑,如本例Q输出情形2最终恢复为低电平2。8.3 亚稳态的产生原理以及同步寄存器亚稳态恢复时间过长造成的建立时间违例的波形图8.3 亚稳态的产生原理以及同步寄存器同步逻辑正常采用波形图8.3 亚稳态的产生原理以及同步寄存器同步逻辑采用亚稳态波形图(假设恢复为1的情形)8.3 亚稳态的产生原理以及同步寄存器【例8-1】采样SystemVerilog设计一段代码对异步信号下降沿进行采用,要求:采用两个触发器进行设计。分析:对于异
7、步信号的边沿采样,通常的原理是采用时钟信号连续对被检测的异步信号进行连续采样,如果相邻采样的数据出现不同,如前一个采样值为0,后一个采样值为1,则表示为该异步信号在进行上升沿跳变,如果前一个采样值为1,后一个采样值为0,则表示该异步信号在进行下降沿跳变。该代码原理按照此分析进行。8.3 亚稳态的产生原理以及同步寄存器module Edge_detect(input logic clk,input logic rst_,input logic Async_in,output logic falling_edge_latch);logic 1:0 edge_latch;/边沿检测 always_f
8、f(posedge clk,negedge rst_)if(!rst_)edge_latch=2b0;else begin edge_latch0=Async_in;edge_latch1=edge_latch0;end/当前一个采样值为1后一个采样值为0,则表示侦测到下降沿 assign falling_edge_latch=(edge_latch0)&(edge_latch1);endmodule 8.3 亚稳态的产生原理以及同步寄存器module Edge_detect(input logic clk,input logic rst_,input logic Async_in,outpu
9、t logic falling_edge_latch);logic 2:0 edge_latch;/边沿检测 always_ff(posedge clk,negedge rst_)if(!rst_)edge_latch=3b0;else begin edge_latch0=Async_in;edge_latch1=edge_latch0;edge_latch2=edge_latch1;end/当前一个采样值为1后一个采样值为0,则表示侦测到下降沿 assign falling_edge_latch=(edge_latch1)&(edge_latch2);endmodule修改代码修改代码8.3
10、 亚稳态的产生原理以及同步寄存器基本电路逻辑如下:8.4 同步数字系统的时序约束GRADUATION THESIS8.4同步数字系统的时序约束同步数字系统的时序约束,其本质在于在任何时候使得信号满足建立时间和保持时间的要求,确保系统不会出现亚稳态或者出现亚稳态时系统能够自行恢复到正常状态。同步数字电路示意图如下:其中,Tpd为组合逻辑的传播时延,Tcycle为时钟CLK的时钟周期,该时钟周期没有考虑时钟偏斜和抖动。8.4同步数字系统的时序约束从图中可以看出,要能够维持正确的同步逻辑,系统时序必须满足:(max)(max)(min)(min)hcopdsucyclecopdTTTTTTT8.4同
11、步数字系统的时序约束(max)(max)(min)(min)hcopdsucyclecopdTTTTTTT在该不等式中,Tco、Tsu都是CPLD/FPGA所固定的,一旦选择哪款CPLD/FPGA,则Tco和Tsu不能更改,可以通过具体的CPLD/FPGA芯片的数据手册查阅。因此,在不考虑时钟偏斜和抖动的情况下,影响系统时序的主要是Tcycle时钟周期和Tpd组合逻辑传播时延。当组合逻辑时延Tpd过长,则Q1_Delay信号满足了FF2的保持时间的要求,但无法满足FF2的建立时间的要求,因此Q2输出为未定态。此时,可以通过降低时钟频率来解决该问题,如下图所示。8.4同步数字系统的时序约束但如果
12、组合逻辑传播时延Tpd过短,则可能导致下一次上升沿到来时,信号因为保持时间不满足而违例。降低时钟频率满足时序逻辑时序要求8.4同步数字系统的时序约束如果Q1_Delay的传播时延过短,导致该信号在下一个时钟上升沿到来之后无法满足其保持时间的要求,因而依旧会输出亚稳态波形。8.5时钟GRADUATION THESIS8.5时钟8.5.1时钟偏斜与抖动时钟偏斜与抖动对于时钟而言,由于走线拓扑、布线位置、扇出等不同而会导致同样对于时钟而言,由于走线拓扑、布线位置、扇出等不同而会导致同样的时钟信号到达各个触发器的时间也各不相同,这样就会出现时钟偏斜的时钟信号到达各个触发器的时间也各不相同,这样就会出现
13、时钟偏斜与抖动的现象。与抖动的现象。一个100MHz时钟从时钟源出来后,驱动一个时序逻辑系统,其中CLK1延时6个时间单位,CLK2延时4.9个时间单位,CLK3延时4.7个时间单位,CLK4延时3.8个时间单位,因此尽管时钟域相同,但由于走线不同,最终到达触发器的时间会不相同。8.5时钟在该图中,时钟周期不再是理想的时钟周期Tcycle,而是Tcycle+Tskew。其中Tskew可正可负。因此,当系统同时满足如下不等式时,同步数字电路能够稳定运行。(max)(max)(max)(min)(min)(max)+|copdsucycleskewcopdskewhTTTTTTTTT8.5时钟 增
14、加增加Tskew后的同步数字电路波形时序图(后的同步数字电路波形时序图(Tskew大于大于0)相对于CLK1的第一个上升沿,CLK2的上升沿到达FF2的时间为Tcycle+Tskew。Q1_Delay在CLK2第二个上升沿到来时稳定时间加长,但同时相对于保持时间会减小。在这种情况下,时序约束需要重点考虑保持时间违例的情形,如下图所示8.5时钟保持时间违例保持时间违例的同步数字电路波形时序图(的同步数字电路波形时序图(Tskew大于大于0)8.5时钟时钟偏斜也存在小于零的情况,如图,CLK2的上升沿到达FF2的时间相对于CLK1的上升沿到达的时间会提前一个偏斜时间到达,因此从CLK1的第一个上升
展开阅读全文