关于数字电路竞争-冒险现象的研究(5)

2019-08-01 22:43

清华大学2012届本科毕业论文

5.2 FPGA 的开发过程

FPGA的开发过程依赖于它的软件开发系统, 其设计流程如图5.2所示:

图5.2 FPGA 的基本设计流程

由图5.2可知, FPGA 的基本设计流程[17]分为三部分: 设计输入、设计实现及设计验证。 1、设计输入

设计输入是将要实现的逻辑关系以开发系统所支持的方式输入计算机, 这是设计FPGA的开始。有多种方法实现设计输入, 最常用的是原理图编辑器。它允许用两种方式进行设计输入:

(1) 图形输入: 这种输入方式允许使用元件库中提供的各种常规门电路及逻辑部件(宏单元) 设计电路, 并以原理图的方式输入。

(2) 文本输入: 这种输入方式允许使用高级可编程逻辑设计语言, 如ABEL、CUPL语言等编写输入文件, 也允许直接用布尔方程进行输入。

设计输入的目的是要产生一个XNF(Xilinx Netlist Format)文件, 这是设计实现和

第 16 页 共 33 页

清华大学2012届本科毕业论文

设计验证的输入文件。如果同时采用图形输入和文本输入, 则还需要进行归(XNFMERGE) 处理, 以产生一个完整的XNF文件。 2、设计实现

设计实现是设计开发过程的核心, 其主要任务是对归并后的XNF文件进行分割、布局和布线。分割是把XNF文件中的逻辑设计经过化简,分割成为以CLB及I/OB为基本单元的逻辑设计。布局是把分割后的逻辑设计分配到FPGA 的相应CLB 及I/OB 位置。布线是对已布局好的CLB、I/OB 进行连线。Xilinx 开发软件具有自动布局、布线功能, 它能在布局、布线过程中采用一系列优化程序,找出最佳布局、布线方案。设计实现的最终目的是产生符合设计要求的比特流文件。这是用来为FPGA 芯片装载的二进制文件。 3、设计验证

设计验证主要是对电路进行仿真测试。仿真测试包括功能仿真和实时仿真。功能仿真假设信号通过每个逻辑门产生同样的延迟时间(0.1ns),而通过路径没有延时。这种仿真可测试系统功能是否满足设计要求。实时仿真是在布局布线后进行, 它能按照所选器件的实际延迟时间进行模拟, 主要用来验证系统的时序关系。设计输入、设计实现和设计验证三个部分交替进行, 最后得到完全满足设计要求的二进制文件。用该文件通过加载电缆或编程EPROM 对FPGA 加载, 即可得到用户需要的专用集成电路芯片。 5.3 FPGA器件中产生竞争冒险的原因和分析

在FPGA ( Field Programmable Gate Array) 中,延时主要是由连线的长短和逻辑单元的数目决定的,同时还受器件的制造工艺、工作电压、温度等因素的影响。信号的电平转换也需要一定的过渡时间。由于FPGA 以及其他的CPLD 器件内部的分布电容和电感不能过滤电路中的毛刺,从而使得毛刺逐级传递,对电路造成的影响更加突出。即使是在最简单的逻辑运算中,如果出现多路信号同时跳变的情况,在通过内部走线之后,也一定会产生毛刺。目前,数字电路设计以及数字信号处理中的信号往往是由时钟控制的多数据输入的复杂运算系统产生的,每个数据都由相当多的位数组成。这时,每一级的毛刺都会对结果产生影响,乃至影响电路设计的可靠性和精确性[18]。

FPGA 电路产生竞争冒险的典型电路与分析:

图5.3是一个简单的3人表决电路,当输入信号有二个或二个以上为高电平时,输出就为高电平。

图5.4所示的是该电路的仿真结果。从图15中可知,在X1这一时刻,理想情况下输出

第 17 页 共 33 页

清华大学2012届本科毕业论文

应为高电平,由于芯片内部布线较复杂,延时效应就很明显,输出在X2 时刻才有高电平产生,仿真结果表明,信号将近延迟了7~8 ns 。产生了输出错误。

图5.3 三人表决电路

图5.4 三人表决电路的仿真结果

5.4 FPGA中竞争与冒险的消除方法 (1) 修改电路法(加D 触发器法)

当计数器的输出进行相“与”或相“或”时会产生毛刺。随着计数器位数的增加,毛刺的数量和毛刺的种类也会越来越复杂。此时,可通过在输出端加D 除。

但用D触发器消除时,有时会影响到时序,需要考虑很多问题。所以要仔细地分析毛刺产生的来源和毛刺的性质,采用修改电路或其他办法来彻底消除。 (2) 信号同步法

设计数字电路的时候采用同步电路可以大大减少毛刺。另外,由于大多数毛刺都比较短(大概几个ns) ,只要毛刺不出现在时钟跳变沿,毛刺信号就不会对系统造成危害了。因此只要在整个系统中使用同一个时钟就可以达到系统同步消除毛刺影响的目的。 (3) 信号延时同步法

因为时钟信号在FPGA 器件中传递时是有延时的,这样就无法预知时钟跳变沿的精

第 18 页 共 33 页

触发器加以消

清华大学2012届本科毕业论文

确位置。也就无法保证在某个时钟的跳变沿读取的数据是一个稳定的数据,尤其是在多级电路设计中,这个问题就更加突出。真正的“同步”就成为去除毛刺信号的关键问题。为此提出信号延时法。信号延时法的原理是在2 级信号传递的过程中加1 个延时环节,从而保证在下一个模块中读取到的数据是稳定后的数据,即不包含毛刺信号。这里所指的信号延时可以是数据信号的延时,也可以是时钟信号的延时。 (4) 灵活运用时钟信号法

和上述方法的原理相似,灵活使用时钟信号的目的也是尽可能的消除竞争冒险。比如在时钟的第一个跳变沿触发模块a ,下一个跳变沿控制触发模块b ,这样时钟的交替控制也在一定程度上消除了竞争冒险,从而抑制了毛刺信号。但是这些方法不适合使用在比较复杂的设计中。 (5) 状态机控制法[20]

对于大型的数字电路设计,状态机是一种非常理想的选择,能使运行性能和硬件资源的占用达到最佳的优化。另外,灵活的使用状态机也可以实现信号的同步和消除毛刺的目的。在数据传递比较复杂的多模块系统中,由状态机在特定的时刻分别发出控制特定模块的时钟信号或者模块使能信号,状态机的循环控制就可以使得整个系统协调运作,同时减少毛刺信号。那么只要在状态机的触发时间上加以处理,就可以避免竞争冒险,从而抑制毛刺的产生。原理如图5.4.3所示。

图5.4.3 状态机控制原理

EDA 环境中的数字系统设计,毛刺依然是系统成功设计的障碍,或者可以说对毛刺的处理仍然是现代数字系统设计所必须解决的问题。通过EDA 软件的精确分析和仿真可以方便地查找毛刺出现的位置、原因,并制定相应的解决方法。讨论的3 种方法中调整

第 19 页 共 33 页

清华大学2012届本科毕业论文

延时法是最费时、费事的方法,设计的电路有较大的局限性;选通法常常能取得较好的效果,但要求电路必须能正常工作在脉冲信号下,这也限制了它的使用;修改逻辑设计的方法由于从根本上消除了毛刺产生的根源,因此具有最普遍的意义,但同时由于该法必须全面分析、掌握和设计电路的工作状态及其转变,有时还需要多路输出,因此又带来了的复杂性。

第 20 页 共 33 页


关于数字电路竞争-冒险现象的研究(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:圣周四信友祷词

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: