第2节 同步时序电路和异步时序电路

上传人:d****1 文档编号:180587963 上传时间:2023-01-06 格式:DOCX 页数:10 大小:194.08KB
返回 下载 相关 举报
第2节 同步时序电路和异步时序电路_第1页
第1页 / 共10页
第2节 同步时序电路和异步时序电路_第2页
第2页 / 共10页
第2节 同步时序电路和异步时序电路_第3页
第3页 / 共10页
点击查看更多>>
资源描述
第 2 节 同步时序电路和异步时序电路来自网址: 触发器是构成时序逻辑电路的基本元件,根据电路中各级触发器时钟端的连接方式,可以将 时序逻辑电路分为同步时序电路和异步时序电路。在同步时序电路中,各触发器的时钟端全部连 接到同一个时钟源上,统一受系统时钟的控制,因此各级触发器的状态变化是同时的。在异步时 序逻辑电路中,各触发器的时钟信号是分散连接的,因此触发器的状态变化不是同时进行的。 8.2.1 同步时序电路设计1同步时序电路原理说明从构成方式上讲,同步时序电路所有操作都是在同一时钟严格的控制下步调一致地完成的。 从电路行为上讲,同步电路的时序电路共用同一个时钟,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。例如,基本的D触发器就是同步电路,当时钟上升沿到来时,寄存器把D 端的电平传到Q输出端;在上升沿没有到来时,即使D端数据发生变化,也不会立即将变化后的 数据传到输出端Q,需要等到下一个时钟上升沿。换句话说,同步时序电路中只有一个时钟信号。2同步电路的Verilog HDL描述同步逻辑是时钟之间存在固定因果关系的逻辑,所有时序逻辑都在同源时钟的控制下运行。 注意,在Verilog HDL实现时并不要求同一时钟,而是同源时钟。所谓的同源时钟是指同一个时 钟源衍生频率比值为2的幕次方,且初相位相同的时钟。例如,elk信号和其同初相的2分频时 钟、4 分频就是同源时钟。( 1)典型的同步描述在Verilog HDL设计中,同步时序电路要求在程序中所有always块的posedge/negedge关 键字后,只能出现同一个信号名称(包括同源的信号),并且只能使用一个信号跳变沿。下面给 出一个同步时序电路的描述实例。【例8-9】通过Verilog HDL给出一个同步的与门。module syn_anciga七亡(clk7 a_lnf b_lnr y_ai2tinput.elk, a_lnf b_in;outf-utregy_ouu;always3 pzisedge elk) beginy_ou-t = a_in &包 b_i.ii;end上述程序比较简单,这里就不给出其仿真结果。(2)同步复位的描述 同步复位,顾名思义,就是指复位信号只有在时钟上升沿为有效电平时,才能达到复位的 效果。否则,无法完成对系统的复位工作。同步复位的 Verilog 描述模板如下:always & (posedge elk) beginif (!Rst_n)end下面给出一个同步复位的应用实例。【例8-10】给例 8-9 的同步与门添加一个同步复位功能modul e s yn r s t.n_andga t e (cl乙 rst_nr a_inr b_z_n, y_outinpu 七elk, a._nf b_in, r at_n;outp-utrsgya匕;always5elk) beginif(!rst_n)y_out = 0;elsey_out = ci_in & b_in;endendnodule在ISE中的综合结果如图8-25所示,可以看出,复位信号rst_n通过D触发器的控制端AD2| rLn118-25例呂-10的RTL厂呦图VDR上述程序在 ISE 中的仿真结果如图 8-26 所示,复位信号并不是立即变高后与门逻辑就开 始工作,而要等到时钟信号elk的上升沿采样到rst_n信号变高后,与门逻辑才会对elk上升沿 采样到的输入进行与运算。来实现。3同步电路的准则(1) 单时钟策略、单时钟沿策略尽量在设计中使用单时钟,在单时钟设计中,很容易就将整个设计同步于驱动时钟,使设 计得到简化。尽量避免使用混合时钟沿来采样数据或驱动电路。使用混合时钟沿将会使静态时序 分析复杂,并导致电路工作频率降低。下面给出混合时钟沿采样数据而降低系统工作时钟的实例。 在时序设计中,有时会因为数据采样或调整数据相位等需求,需要同时使用时钟的上升沿和下降 沿对寄存器完成操作,设计人员很可能会想到下列两类写法,这两类做法在语法上是正确的,也 可被综合,但在设计中不建议出现类似代码。 一个always摸块:alwaya posedge elk or neg已也已 alk beginend 两个或雾个always模块:always 电 nege-dge elk) beginendalways 电 (posedge elk) beginend上述两种方式都会使得在时钟上升沿和下降沿都对寄存器操作,其功能等同于使用了原来 时钟的 2 倍频单信号沿来驱动电路。但对于可编程逻辑器件,不推荐同时使用同一信号的两个沿。 这是因为可编程逻辑器件内部的时钟处理电路,只能保证时钟的一个沿具有非常好的指标,而另 外一个沿的抖动、偏斜以及过渡时间等指标都不保证,因此同时采用两个沿会造成时钟性能的恶 化。因此在可编程逻辑的设计中,在这种情况下,推荐首先将原时钟倍频,然后利用单沿对电路 进行操作。此外,即使在 ASIC 设计中,同时利用上升沿和下降沿,意味着时序延迟折半,不利用后 端做电路的时钟树综合的工作,并且也会对自动测试向量产生带来不利影响6。下面给出一个混 合时钟沿采样的实例。【例 8-11】利用混合时钟先后完成输入数据的下降沿和上升沿采样,并级联输出。module hunhe (elk, dinT dlT dout)inputelk;inpUt.7:0; din;dutpu七710J dl;utpu七7:0j dou七;reg 7:Dj: dl,比口七;always3(negeage elk) beindl = din;endalways 0(posedge elk) begin don七 =dl;endendnodmle程序在ISE中综合后的RTL级结构图如图8-27所示,比较两个D触发器就会发现:左端D 触发器的时钟输入端有一个对时钟取反的操作。BTi64BT1&4BO恤叮7:|丫)少口叮; 買 肿11人戈申?|日(陀 ;:浚匹谨殆血汕02 X刖临乂師讯H副I如Uhl:- :目廿11人_ ill IQTinn X BTiOi / 刖 心 Y i-r.pj Y pmm 7 HhD20 ns100 ns120 n&上述程序在ISE Simulator中的功能仿真结果如图8-28所示,可以看出其达到了设计目标。这说明,混合时钟沿电路并不影响功能仿真结果。匸 oinent SimulstiDnTlFMC 1O0CVH1S-2S混件詡采样的功能防直站果如前所述,混合电路影响的是电路的时序性能,所以其对于电路的真实影响需要通过时序 仿真得到。本例添加了 50MHz 的时序约束,然后对设计进行了时序仿真,结果如图 8-29所示。 可以看出,信号 d1 对数据采样错误,存在顺序颠倒的现象,意味着电路时序性能很差,无法正 常工作在给定的时钟频率。送權 |rrnik|lliiOii Inner lOOU ns?50 ns1 1 1T75 ns1 1 1ODD HEB25 nE1 1 1 Illi 1 1Q6D riillQ76 ns QDD ns1 1 : 1 1 1 1 i 1 126 nsIlli95E ri1 1 1 1 1g巧ns1 1 1 1 1 1 4d1|7.049(X :X - );.iH)L沙X叭X织丫将u 审 riouir qj493/ :;J X.- X.壮常11u杲aq, - elk0r u uuvJ O LTL31 1 1e 制 din|T nj50y x IL .堆 11 ;2 乂d311民毋?IE-AA18-29混传吋斡采样的吋庁苗克蛤果(2)避免使用门控时钟 如果一个时钟节点由组合逻辑驱动,那么就形成了门控时钟,如图 8-30 所示。门控时钟常 用来减少功耗,但其相关的逻辑不是同步电路,即可能带有毛刺,而任何的一点点小毛刺都可以 造成 D 触发器误翻转;此外,门控逻辑会污染时钟质量,产生毛刺,并恶化偏移和抖动等指标。 所以门控时钟对设计可靠性有很大影响,应尽可能避免。不要为了节省功耗去使用门控时钟,最 近发展起来的用于减少功耗的方法是:低核电压 FPGA、FPGA 休眠技术以及动态部分重构技术等, 有兴趣的读者可以深入阅读参考文献7。(3)不要在子模块内部使用计数器分频产生所需时钟 各个模块内部各自分频会导致时钟管理混乱,不仅使得时序分析变得复杂,产生较大的时 钟漂移,并且浪费了宝贵的时序裕量,降低了设计可靠性。推荐的方式是由一个专门的子模块来 管理系统时钟,产生其他模块所需的各个时钟信号。8.2.2 异步时序电路设计1异步时序电路原理说明 异步时序电路,顾名思义就是电路的工作节奏不一致,不存在单一的主控时钟,主要是用 于产生地址译码器、FIFO和异步RAM的读写控制信号脉冲。除可以使用带时钟的触发器外,还 可以使用不带时钟的触发器和延迟元件作为存储元件;电路状态的改变由外部输入的变化直接引 起。由于异步电路没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳 定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞 争冒险。2异步电路的 Verilog HDL 描述 异步电路不使用时钟信号对系统逻辑进行同步,但仍需要对各子系统进行控制,因此采用 预先规定的“开始”和“完成”信号或者状态完成逻辑控制。因此异步电路具有无时钟歪斜问题、低 电源消耗等优点。(1)典型的异步描述电子抢答器是一种典型的异步时序电路。假设一个电子抢答器具有 1个主持人和4个抢答 按钮。只有在主持人按下按钮后,才能开始抢答,当最先抢答的选手按下按钮后,其余选手的抢 答按钮失效,并将抢答成功的按钮序号显示出来。根据设计要求,由于各个按钮不可能同时按下,因此电路内部肯定是异步执行的,例 8-12 给出了相应的 Verilog HDL 实现代码。【例8-12】利用Verilog HDL语言实现4个抢答按钮的抢答器。module jdq_demo(emceez actorlractor2f actor3.actor4f num)tinputemceer actorl.actor2f actor3zoutput 2:0num;actor4;reg 2:0 reg 3:0 regr%num = 0; flag = 0;enable = 0;ent = 0;/产生抢答器的控制信号always (emcee or actorl or actor2 or aotor3 or actor4) begin if(emcee = 1*b0) beginenable = Ibl;ent = 1fbl;endelse begin/ enable为高后的第一次按钮的抢答的人胜出enable = ent & actorl & actor2 & actor3 & actor4; ent = 0;endend/检测支持人和抢答人1always (negedge emcee or negedge actorl) begin /典型的异步设计 if (! emcee) begin/响应主持人按钮flag0 = IbO;end else begin/响应抢答人1的按钮,并作出是否有效的判斷if (enable)抢答有效flag0 = lbl;else/抢答无效flag0 = flag0; endend/检测支持人和抢答人2always (negedge emcee or negedge actor2) begin if (!emcee) beginflagl = IbO;endelse beginif (enable)flagl = l-bl;elseflagl = flagl;endend/检测支持人和抢答人3always (negedge emcee or negedge actor3) begin if (!emcee) beginflag2 曲1日01l抢答搭程序的罚真姑果示意盟(2)异步复位的描述 异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位,其相应的Verilog HDL 描述如下:always (posedge elk or negedge R3t_n begin if (!Rst_n)end下面给出一个实例,将例 8-10 所示的同步复位与门电路转化成异步复位与门。【例8-13】通过Verilog HDL语言实现一个异步复位与门。module asynzstn_andga.te cLk, rsc_n r a_mr b_i.n, y_outinput 匚 lkf a_in, t_nH r 3t_n;口tput y_out;regy_o 口匕;斤步描述always 3(posedge elk or ngedge rst_nJ beginif!rst_n)y_out = 0;elsey_口口七 =a_in i& b_in;endendmodule程序在ISE中综合后的RTL级结构图如图8-32所示,对比图8-25可以发现,异步复位的功能是通过 D 触发器的清零信号来实现的,从而达到复位信号随时有效的功能。上述程序在ISE Simulator中的仿真结果如图8-33所示,复位信号只要有效,与门电路功能立即失效,输出零电平。-33异步旦忖与门的茁反姑果不意圏8.2.3 异步电路和同步电路的比较 同步电路在目前数字电路系统中占绝对优势,和异步电路相比具有下列优势:对温度、电 压、生产过程等外部参数的适应性更强;可移植性更高;可以消除毛刺和内部歪斜的数据,能将 设计频率提升到吉赫兹(GHz)。但是,同步电路也有缺点,因为需要时序器件,因此和异步电 路相比,需要更多的逻辑资源,且由于所有动作都在时钟控制下,过高的信号翻转率使得设计功 耗远大于异步电路功耗。1同步时序电路的优点 同步设计主要有以下3个优点。(1)可以有效避免毛刺的影响,提高设计可靠性。毛刺是数字电路的天敌,只要有逻辑电 路就会有毛刺发生,是永远存在的。因此,优秀的设计都必须从如何避免毛刺对设计的不良影响 入手,提高设计稳定性。同步设计是避免毛刺影响的最简单方法。(2)可以简化时序分析过程。时序分析是高速数字设计的重要话题,参考文献8对其进 行了详细讨论。(3)可以减少工作环境对设计的影响。异步电路受工作温度、电压等影响,器件时延变化 较大,异步电路时序将变得更加苛刻,会导致芯片无法正常工作。同步电路只要求时钟和数据沿 相对稳定,时序要求较为宽松,因此对环境的依赖性较小。2同步时序电路的缺点 同步逻辑也有两个主要的缺点。(1)时钟信号必须要分布到电路上的每一个正反器。而时钟通常都是高频率的讯号,这会 导致功率的消耗,也就是产生热量。即使每个正反器没有做任何事情,也会消耗少量的能量,因 此会导致废热产生。(2)最大的可能时钟频率是由电路中最慢的逻辑路径决定的,也就是关键路径。意思就是 说每个逻辑的运算,从最简单的到最复杂的,都要在每一个时钟脉冲的周期中完成。一种用来消 除这种限制的方法,是将复杂的运算分开成为数个简单的运算,这种技术称为“pipelining这种技术在微处理器中的作用显著,可以用来帮助提升现今处理器的时钟频率。3应用小结从延迟设计方面考虑,异步电路的延时靠门延时来实现,比较难预测;同步电路使用计数 器或触发器实现延时。从资源使用方面考虑,虽然在 ASIC 设计中同步电路比异步电路占用的面 积大,但是在 FPGA 中,是以逻辑单元衡量电路面积的,所以同步设计和异步设计相比,也不会 浪费太多资源,加上目前的FPGA门数都比较大,在不是万不得已之际,不要使用异步设计。同步设计时钟信号的质量和稳定性决定了同步时序电路的性能,FPGA内部有专用的时钟资 源,如全局时钟布线资源、专用的时钟管理模块DUL、PLL等。目前商用的FPGA都是面向同步 的电路设计而优化的,同步时序电路可以很好地避免毛刺,提倡在设计中全部使用同步逻辑电路。 特别注意,不同时钟域的接口需要进行同步。当然,上述讨论只是一般建议,如果设计本身就具备异步背景,则异步电路肯定是首选。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!