FPGA/CPLD数字电路设计经验分享
摘要:在数字电路的设计中,时序设计是一个系统性能的主要标志,在高层次设计方法中,对时序控制的抽象度也相应提高,因此在设计中较难把握,但在理解RTL电路时序模型的基础上,采用合理的设计方法在设计复杂数字系统是行之有效的,通过许多设计实例证明采用这种方式可以使电路的后仿真通过率大大提高,并且系统的工作频率可以达到一个较高水平.
关键词:FPGA 数字电路 时序 时延路径 建立时间 保持时间
1 数字电路设计中的几个基本概念:
1.1 建立时间和保持时间:
建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间, 如果保持时间不够,数据同样不能被打入触发器. 如图1 . 数据稳定传输必须满足建立和保持时间的要求,当然在一些情况下,建立时间和保持时间的值可以为零. PLD/FPGA开发软件可以自动计算两个相关输入的建立和保持时间(如图2)
图1 建立时间和保持时间关系图
注:
在考虑保持时间时,应该考虑时钟树向后偏斜的情况,在考虑建立时间时应该考虑时钟树向前偏斜的情况.在进行后仿真时,最大延迟用来检查建立时间,最小延时用来检查保持时间.
建立时间的约束和时钟周期有关,当系统在高频时钟下无法工作时,降低时钟频率就可以使系统完成工作.保持时间是一个和时钟周期无关的参数,如果设计不合理,使得布局布线工具无法布出高质量的时钟树,那么无论如何调整时钟频率也无法达到要求,只有对所设计系统作较大改动才有可能正常工作,导致设计效率大大降低.因此合理的设计系统的时序是提高设计质量的关键.在可编程器件中,时钟树的偏斜几乎可以不考虑,因此保持时间通常都是满足的.
1.2 FPGA中的竞争和冒险现象
信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时.延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺,工作电压,温度等条件的影响.信号的高低电平转换也需要一定的过渡时间.由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为"毛刺".如果一个组合逻辑电路中有"毛刺"出现,就说明该电路存在"冒险".(与分立元件不同,由于PLD内部不存在寄生电容电感,这些毛刺将被完整的保留并向下一级传递,因此毛刺现象在PLD,FPGA设计中尤为突出)图2是一个逻辑冒险的例子,从图3的仿真波形可以看出,"A,B,C,D"四个输入信号经过布线延时以后,高低电平变换不是同时发生的,这导致输出信号"OUT"出现了毛刺.(我们无法保证所有连线的长度一致,所以即使四个输入信号在输入端同时变化,但经过PLD内部的走线,到达或门的时间也是不一样的,毛刺必然产生).可以概括的讲,只要输入信号同时变化,(经过内部走线)组合逻辑必将产生毛刺. 将它们的输出直接连接到时钟输入端,清零或置位端口的设计方法是错误的,这可能会导致严重的后果. 所以我们必须检查设计中所有时钟,清零和置位等对毛刺敏感的输入端口,确保输入不会含有任何毛刺
图2 存在逻辑冒险的电路示例
图3 图2所示电路的仿真波形
冒险往往会影响到逻辑电路的稳定性.时钟端口,清零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错,因此判断逻辑电路中是否存在冒险以及如何避免冒险是设计人员必须要考虑的问题.
如何处理毛刺
我们可以通过改变设计,破坏毛刺产生的条件,来减少毛刺的发生.例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生.
毛刺并不是对所有的输入都有危害,例如D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,我们可以说D触发器的D输入端对毛刺不敏感. 根据这个特性,我们应当在系统中尽可能采用同步电路,这是因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害. (由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)
去除毛刺的一种常见的方法是利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输出信号,这种方法类似于将异步电路转化为同步电路. 图4给出了这种方法的示范电路,图5是仿真波形.
- socasicfpgacpld > FPGACPLD数字电路设计经验分享
-
FPGACPLD数字电路设计经验分享
下载该文档 文档格式:DOC 更新时间:2006-03-02 下载次数:0 点击次数:1文档基本属性 文档语言: Simplified Chinese 文档格式: doc 文档作者: 陈亮 关键词: 主题: 数字电路设计中的时钟设计 备注: 点击这里显示更多文档属性 经理: 单位: 大唐 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- DOC格式下载
- 更多文档...
-
上一篇:Electromagnetics
下一篇:青浦佳佳幼儿园中班10月份周计划
点击查看更多关于socasicfpgacpld的相关文档
- 您可能感兴趣的
- cpldfpga fpgacpld助学小组 fpgacpld区别 cpld与fpga的区别 cpld和fpga区别 fpga和cpld的区别 cpld和fpga fpga与cpld区别 fpga与cpld cpld解密
- 大家在找
-
- · 全国高数竞赛试题下载
- · 2010大学生数学建模
- · 百姓网东莞会计招聘
- · 导游基础ppt
- · 钳工螺旋杆制作技术
- · 三菱劲炫怎么样
- · 生殖保健考试题
- · 平板凸轮分度盘
- · shop.tpy100.com
- · 财经应用文写作范文
- · 计算机自考科目
- · pdf转cad图的软件
- · 北极星英语系列教程
- · 丰润车轴山中学校园网
- · 潞脷掳碌脢卤录盲
- · 2011款丰田坦途价格
- · 三菱欧蓝德论坛
- · 单片机趣味小制作
- · mastercam8的后处理
- · 中职教育现状
- · 永磁吸盘原理
- · 困境读后感
- · 安徽合肥建筑机械厂
- · 哈工大09新生
- · 英语写作有关书信
- · 舞台灯光音响租赁
- · 感应器价格
- · 文字处理上机实习报告
- · proe齿轮轴教程
- · 快播去广告绿色版
- 赞助商链接