版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
同步电路设计目录FPGA简介建立时间和保持时间竞争和冒险有用的设计方法总结FPGAFPGA:现场可变成门阵列基于查找表技术,SRAM工艺包含的LUT和触发器的数量非常多,适合复杂时序逻辑在开发阶段具有安全、方便、可随时修改设计,极大的提升硬件系统设计的灵活性、可靠性,以及提高硬件开发的速度和降低系统的成本好的设计方法为了增加可编程逻辑器件电路工作的稳定性,一定要加强可编程逻辑器件设计的规范要求,要尽量采用同步电路设计同步设计将优于异步设计
什么是同步设计对FPGA的同步设计理解为:所有的状态改变都由一个主时钟触发,而对具体的电路形式表现为所有的触发器的时钟端都接在同一个主时钟上。一个系统的功能模块在内部可以是局部异步的,但是在模块间必须是全局同步的同步设计的优越性同步电路比较容易使用寄存器的异步复位/置位端,以使整个电路有一个确定的初始状态在可编程逻辑器件中,使用同步电路可以避免器件受温度,电压,工艺的影响,易于消除电路的毛刺,使设计更可靠,单板更稳定同步电路可以很容易地组织流水线,提高芯片的运行速度,设计容易实现同步电路可以很好地利用先进的设计工具,如静态时序分析工具等,为设计者提供最大便利条件,便于电路错误分析,加快设计进度建立时间和保持时间(1/9)建立时间和保持时间(2/9)建立时间(setuptime)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间。如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(holdtime)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果保持时间不够,数据同样不能被打入触发器。建立时间和保持时间(3/9)数据稳定传输必须满足建立时间和保持时间的要求,否则电路就会出现逻辑错误。在同步系统中,如果触发器的setuptime/holdtime不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端毛刺、振荡、固定的某一电压值,而不是等于数据输入端D的值。这段之间成为决断时间。经过决断时间之后Q端将随机的稳定到0或1上。建立时间和保持时间(4/9)亚稳态除了导致逻辑误判之外,输出0~1之间的中间电压值还会使下一级产生亚稳态(即导致亚稳态的传播)只要系统中有异步元件,亚稳态就是无法避免的要减少亚稳态导致错误的发生;要使系统对产生的错误不敏感建立时间和保持时间(5/9)用同步来减少亚稳态发生机会的典型电路建立时间和保持时间(6/9)在图中,左边为异步输入端,经过两级触发器同步,在右边的输出将是同步的,而且该输出基本不存在亚稳态。其原理是即使第一个触发器的输出端存在亚稳态,经过一个CLK周期后,第二个触发器D端的电平仍未稳定的概率非常小,因此第二个触发器Q端基本不会产生亚稳态。这里说的是“基本”,也就是无法“根除”。杜绝亚稳态的传递建立时间和保持时间(7/9)用两级D触发器构成同步器,通过两极触发器其实就是给亚稳态足够的脱离时间2级从理论或实际使用都表明有足够的可靠性了建立时间和保持时间(8/9)对短于一个时钟周期的异步输入也有效中间的触发器很少采用,但它可以阻止亚稳态传播建立时间和保持时间(9/9)
竞争和冒险(1/16)信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。如果一个组合逻辑电路中有“毛刺”出现,就说明该电路存在“冒险”。许多逻辑电路产生的小的寄生信号,也能成为毛刺信号。这些无法预见的毛刺信号可通过设计来传播并产生不需要的时钟脉冲竞争和冒险(2/16)与分立元件不同,由于PLD内部不存在寄生电容电感,这些毛刺将被完整的保留并向下一级传递,因此毛刺现象在PLD、FPGA设计中尤为突出任何组合电路都可能是潜在的毛刺信号发生器,而时钟端口、清零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错。竞争和冒险(3/16)竞争和冒险(4/16)竞争和冒险(5/16)A、B、C、D四个输入信号经过布线延时以后,高低电平变换不是同时发生的,这导致输出信号“OUT”出现了毛刺。我们无法保证所有连线的长度一致,所以即使四个输入信号在输入端同时变化,但经过PLD内部的走线,到达或门的时间也是不一样的,毛刺必然产生。只要输入信号同时变化,组合逻辑必将产生毛刺。竞争和冒险(6/16)通过改变设计,破坏毛刺产生的条件,来减少毛刺的发生。例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。竞争和冒险(7/16)以上方法可以大大减少毛刺,但它并不能完全消除毛刺,有时,我们必须手工修改电路来去除毛刺。最常用的方法是采用D触发器竞争和冒险(8/16)毛刺并不是对所有输入都有危害。对于D触发器来说,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,因此可以认为D触发器的D输入端对毛刺信号不敏感。由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立时间和保持时间。根据这个特性,在系统中应当尽可能采用同步电路,因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立时间和保持时间,就不会对系统造成危害。竞争和冒险(9/16)用触发器读取组合逻辑的输出信号,这种方法类似于将异步电路转化为同步电路。可用工作于高速时钟的D触发器对组合逻辑的输出信号进行采样使其强行与时钟同步这里要求系统时钟的频率相对很高,一个时钟的采样时延不会引起系统的错误
竞争和冒险(10/16)
一般说来,冒险出现在信号发生电平转换的时刻,也就是说在输出信号的建立时间内会发生冒险,而在输出信号的保持时间内是不会有毛刺信号出现的。如果在输出信号的保持时间内对其进行"采样",就可以消除毛刺信号的影响。有两种基本的采样方法:一种方法是在输出信号的保持时间内,用一定宽度的高电平脉冲与输出信号做逻辑“与”运算,由此获取输出信号的电平值。竞争和冒险(11/16)竞争和冒险(12/16)上述方法的一个缺点是必须人为的保证sample信号必须在合适的时间中产生。另一种方法是采用低通滤波的方法来去除FPGA器件输出引脚上的毛刺。从原理上分析,由于毛刺信号的持续时间很短,因此在频域上,毛刺信号同有用信号相比其能量分布在一个很宽的频带上。在对输出波形的边沿要求不是很高的情况下,在FPGA的输出引脚上串接一个RC电路,构成一个低通滤波器,就能够滤除毛刺信号的大部分能量。应该注意的是,必须仔细选择电容和电阻的参数,以避免使正常信号的畸变过于严重竞争和冒险(13/16)竞争和冒险(14/16)在FPGA的设计中,全局的清零和置位信号必须经过全局的清零和置位管脚输入,因为他们也属于全局的资源,其扇出能力大,而且在FPGA内部是直接连接到所有的触发器的置位和清零端的,这样的做法会使芯片的工作可靠、性能稳定,而使用普通的IO脚则不能保证该性能。竞争和冒险(15/16)
清除和置位信号要求象对待时钟那样小心地考虑它们,因为这些信号对毛刺也是非常敏感的。有一个主复位Reset引脚是常用的最好方法,主复位引脚给设计项目中每个触发器馈送清除或置位信号。几乎所有PLD器件都有专门的全局清零脚和全局置位。如果必须从器件内产生清除或置位信号,则要按照门控时钟的设计原则去建立这些信号,确保输入无毛刺竞争和冒险(16/16)有用的设计方法异步设计不是总能满足(它们所馈送的触发器的)建立和保持时间的要求。因此,异步输入常常会把错误的数据锁存到触发器,或者使触发器进入亚稳定的状态。很多异步设计都可以转化为同步设计,对于可以转化的逻辑必须转化,不能转化的逻辑,应将异步的部分减到最小,而其前后级仍然应该采用同步设计。下面给出一些异步逻辑转化为同步逻辑的方法。同步清0(1/2)在同步电路设计中,有时候可以用同步置位的办法来替代异步清0
同步清0(2/2)同步清0的描述方法:processbeginwaituntilclk’eventandclk=’1’;ifrst=’1’thencount<=(others=>’0’);elsecount<=count+1;endif;endprocess;同步清0的描述方法:processbeginwaituntilclk’eventandclk=’1’;ifrst=’1’thencount<=(others=>’0’);elsecount<=count+1;endif;endprocess;使用寄存器触发器:在时钟的沿进行数据的锁存所存器:是用电平使能来锁存数据。触发器的Q输出端在每一个时钟沿都会被更新,而所存器只能在使能电平有效器件才会被更新。在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是所存器。延时电路(1/3)在FPGA中要产生延时,信号必须经过一定的物理资源硬件描述语言中有关键词Waitforxxns,该语法是仅仅用于仿真而不能用于综合的可综合的延时方法有:
1.使信号经过逻辑门得到延时(如非门)
2.使用器件提供的延时单元延时电路(2/3)问题
1.当使用多级非门的时候综合器往往会将其优化掉=>综合器会认为两个非门相当于不经过非门
2.通过插入一些原语来产生一定的延时,这样形成的延时在FPGA芯片中并不稳定,会随温度,器件工艺等外部环境的改变而改变延时电路(3/3)建议的方法:采用时钟锁存来产生延时可以用高频时钟来驱动一移位寄存器,待延时信号作数据输入,按所需延时正确设置移位寄存器的级数,移位寄存器的输出即为延时后的信号。此方法产生的延时信号与原信号比有误差,误差大小由高频时钟的周期来决定。对于数据信号的延时,在输出端用数据时钟对延时后信号重新采样,就可以消除误差提高系统的运行速度(1/5)提高系统的运行速度(2/5)Tco
是触发器时钟到数据输出的延时Tdelay
是组合逻辑的延时Tsetup是触发器的建立时间Tpd是时钟的延时参数,如果使用PLD的全局时钟型号,Tpd
可以为0,假设数据已经被时钟的上升沿打入D触发器,那么数据到达第一个触发器的Q端需要Tco,再经过组合逻辑的延时Tdelay到达的第二个触发器的D端,要想时钟能在第二个触发器再次被稳定的锁入触发器,则时钟的延迟不能晚于co+Tdelay+Tsetup提高系统的运行速度(3/5)最小时钟周期:T=Tco+Tdelay+Tsetup
最快时钟频率F=1/T设计电路时只可以改变Tdelay所以缩短触发器间组合逻辑的延时是提高同步电路速度的关键要使电路稳定工作,时钟周期必须满足最大延时要求,缩短最长延时路径,才可提高电路的工作频率=>关键路径提高系统的运行速度(4/5)流水线(pipelining):将较大的组合逻辑分解为较小的几块,中间插入触发器提高系统的运行速度(5/5)当设计的运行速度不符合系统设计要求的时候我们可以首先找到不能满足要求的关键路径,按照上述的方法将关键路径上的组合逻辑拆分成多个中间用触发器隔开,这样很容易就可以从根本上提升系统的运行速度了。信号寄存输出当需要将FPGA/CPLD内部的信号通过管脚输出给外部相关器件的时候,如果不影响功能最好是将这些信号通过用时钟寄存后输出。状态机 状态机具有自启动功能,能从非法状态中恢复上电时能进入合法状态时钟(1/5)在FPGA的内部资源里最重要的一部分就是其时钟资源(全局时钟网络),它一般是经过FPGA的特定全局时钟管脚进入FPGA内部,后经过全局时钟BUF适配到全局时钟网络的,这样的时钟网络可以保证相同的时钟沿到达芯片内部每一个触发器的延迟时间差异是可以忽略不计的。时钟(2/5)对于一个设计项目来说,全局时钟(或同步时钟)是最简单和最可预测的时钟。在PLD/FPGA设计中最好的时钟方案是:由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计项目中的每一个触发器。只要可能就应尽量在设计项目中采用全局时钟。PLD/FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。时钟(3/5)如果时钟间存在着固定的频率倍数,这种情况下它们的相位一般具有固定关系,可以采用下述方法处理:
1.使用高频时钟作为工作时钟,使用低频时钟作为使能信号,当功耗不作为首要因素时建议使用这种方式;
2.在仔细分析时序的基础上描述两个时钟转换处的电路;时钟(4/5)如果电路中存在两个不同频率的时钟,并且频率无关,可以采用如下策略:
1.利用高频时钟采样两个时钟,在电路中使用高频时钟作为电路的工作时钟,经采样后的低频时钟作为使能
2.在时钟同步单元中采用两次同步法
3.使用握手信号
4.使用双时钟FIFO进行数据缓冲时钟(5/5)在我们日常的设计中很多情形下会用到需要分频的情形,最好的方法是使用分频后的信号作为使能,而不要使用分频后的信号作为时钟,这样,设计是在全局时钟域工作。否则,时钟的延时信息是不可靠的。不建议使用电路(1/2)不建议使用组合逻辑时钟或门控时钟,组合逻辑很容易产生毛刺,用组合逻辑的输出作为时钟很容易使系统产生误动作不建议使用行波时钟,尽量避免采用多个时钟,多使用触发器的使能端来解决在可编程逻辑器件设计时,由于时钟建立应尽量避免采用多时钟网络,或者采用适当的措施减少时钟的个数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渠道培训合同范本
- 苗木维护合同范本
- 莫衡签约协议书
- 认股比例协议书
- 设备代理协议书
- 设备抵款协议书
- 设计无责协议书
- 评审费合同范本
- 请教帮扶协议书
- 快手网红协议书
- 贵州兴义电力发展有限公司2026年校园招聘备考题库及一套参考答案详解
- 2025年天津大学管理岗位集中招聘15人备考题库完整答案详解
- 2025内蒙古鄂尔多斯市鄂托克旗招聘专职社区人员30人考试笔试备考试题及答案解析
- 三方协议模板合同
- 2026年元旦校长寄语:向光而行马到新程
- 玉米质押合同范本
- 钢结构报废回收合同2025年版本
- 节能基本情况表(打印)
- 电动车转让合同协议书电子版
- 大学生创业计划书word文档(三篇)
- 材料科学基础辅导与习题-上交课件 材料科学基础教程及习题 上海交通大学
评论
0/150
提交评论