CPLDFPGA设计中的基本问题.ppt

上传人:牧羊曲112 文档编号:6503376 上传时间:2023-11-07 格式:PPT 页数:23 大小:336.49KB
返回 下载 相关 举报
CPLDFPGA设计中的基本问题.ppt_第1页
第1页 / 共23页
CPLDFPGA设计中的基本问题.ppt_第2页
第2页 / 共23页
CPLDFPGA设计中的基本问题.ppt_第3页
第3页 / 共23页
CPLDFPGA设计中的基本问题.ppt_第4页
第4页 / 共23页
CPLDFPGA设计中的基本问题.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《CPLDFPGA设计中的基本问题.ppt》由会员分享,可在线阅读,更多相关《CPLDFPGA设计中的基本问题.ppt(23页珍藏版)》请在三一办公上搜索。

1、8.1 有限字长的影响8.2 时钟问题8.3 清零和置位信号8.4 毛刺的产生及消除,第八章 CPLD/FPGA设计中的基本问题,8.1 有限字长的影响,CPLD/FPGA设计时,必须考虑有限字长的影响。有限字长的影响主要带来以下三方面的误差:1、输入量化误差 2、系数量化误差 3、运算量化误差,8.1 有限字长的影响,1、输入量化误差 模拟量在进入CPLD/FPGA器件之前,需要A/D变换,A/D采样时所得到的数值只能用有限字长的二进制代码表示,与真实值之间存在偏差,此偏差就是输入量化误差。输入量化误差可采用提高A/D器件的采样精度来减小。,8.1 有限字长的影响,2、系数量化误差 在用CP

2、LD/FPGA器件设计数字滤波器时,数字滤波器系数必须用二进制代码表示,并按规定位数进行量化。由于量化处理引起量化误差,滤波器实际系数偏离理论计算值,从而使滤波性能变差。这就是系数量化误差对设计带来的不良影响。,8.1 有限字长的影响,3、运算量化误差 运算量化误差也称为运算噪声。在数据处理电路中经常需要进行算术运算,例如将两个N位字长的二进制数做乘法运算,乘法器的输出结果一般用2N位字长表示,这就需要舍位处理,然后再进行下一步运算,否则最终结果的数据宽度是难以想象的。这种由于舍位引入的误差就是运算量化误差。,8.2 时钟问题,一、建立时间和保持时间二、全局时钟 三、门控时钟四、多级逻辑时钟五

3、、行波时钟六、多时钟系统,8.2 时钟问题,一、建立时间和保持时间 建立时间(setup time)是指在触发器的时钟信号有效沿到来以前,数据保持稳定不变的时间。保持时间(hold time)是指在触发器的时钟信号有效沿到来以后,数据必须保持稳定的时间。如果建立时间或保持时间不够,数据将不能被正确输进触发器。一般的CPLD/FPGA开发软件可以自动计算两个相关输入的建立和保持时间。,8.2 时钟问题,二、全局时钟 驱动同步系统的是全局时钟。对一个设计而言,全局时钟(或同步时钟)是最简单和最可预测的时钟。在CPLD/FPGA设计中最好的时钟方案是:由专用的全局时钟输入引脚驱动的单个主时钟去控制设

4、计中的每一个触发器。因为这种全局时钟能够提供器件中最短的时钟到输出的延时。,8.2 时钟问题,三、门控时钟 在许多应用中,整个设计都采用外部的全局时钟是不可能或不实际的,有时必须要用门控时钟。门控时钟也称阵列时钟,它是由CPLD/FPGA中的组合逻辑产生的。在使用门控时钟时,应仔细地分析时钟函数,以避免毛刺。,8.2 时钟问题,四、多级逻辑时钟 当设计中产生门控时钟的组合逻辑超过一级,即超过单个的与门或者或门时,该设计的可靠性将变得很差。在这种情况下,即使样机或仿真结果没有显示出静态险象,但实际上仍然可能存在危险,所以设计中不应该用多级组合逻辑作为触发器的时钟端。,8.2 时钟问题,五、行波时

5、钟 行波时钟是指一个触发器的输出用作另一个触发器的时钟输入。如果设计得当,行波时钟可以像全局时钟一样可靠工作,但是行波时钟使得与电路有关的定时计算变得很复杂。行波时钟在行波链上各触发器时钟之间产生较大的时间偏移,并且会超出最坏情况下的建立时间、保持时间和电路中时钟到输出的延时,使系统的实际速度下降。,8.2 时钟问题,六、多时钟系统 多时钟系统就是存在多个时钟信号的系统。最常见的例子是两个异步微处理器之间的接口。由于两个时钟信号之间要求一定的建立和保持时间,所以该应用引进了附加的定时约束条件,要求接口系统将某些异步信号同步化。稳定可靠的时钟是系统稳定可靠的重要条件,设计中不能够将任何可能含有毛

6、刺的输出作为时钟信号,并且尽可能只使用一个全局时钟,对多时钟系统要注意异步信号和非同源时钟的同步问题。,8.3 清零和置位信号,几乎所有FPGA器件都有专门的全局清零引脚和全局置位引脚。如果必须从器件内产生清零或置位信号,则要按照“门控时钟”的设计原则去建立这些信号,确保输入信号中不会出现毛刺信号。若采用门控清零或者门控置位,则用单个引脚或者触发器作为清零或置位的源,而将其它信号作为地址或控制线。在清零或置位的有效期间,地址或控制线必须保持稳定,决不能用多级逻辑或包含竞争状态的单级逻辑产生清零或置位信号。,8.4 毛刺的产生及消除,一、信号毛刺的产生及判断 二、消除信号毛刺的方法,8.4 毛刺

7、的产生及消除,一、信号毛刺的产生及判断 在逻辑运算中,如果出现多路信号同时跳变的情况,在通过内部走线之后,就一定会产生毛刺。而现在使用在数字电路设计以及数字信号处理中的信号往往是由时钟控制的,多数据输入的复杂运算系统,甚至每个数据都由相当多的位数组成。这时,每一级的毛刺都会对结果有严重的影响,如果是多级的设计,那么毛刺累加后甚至会影响整个设计的可靠性和精确性。,8.4 毛刺的产生及消除,判断一个逻辑电路在某些输入信号发生变化时是否会产生毛刺,首先要判断信号是否会同时变化,然后判断在信号同时变化的时候,是否会产生毛刺,这可以借助脉冲与数字电路方面的知识通过逻辑函数的卡诺图或逻辑函数表达式来进行判

8、断。,8.4 毛刺的产生及消除,二、消除信号毛刺的方法 通常情况下,毛刺的出现会影响电路工作的稳定性、可靠性,严重时会导致整个系统的误动作和逻辑紊乱。,8.4 毛刺的产生及消除,这里介绍四种常用的消除毛刺的方法。1、加D触发器 2、信号延时法 3、时钟信号的灵活使用 4、状态机控制,8.4 毛刺的产生及消除,1、加D触发器 在有毛刺的输出端加D触发器。采用D触发器是因为D触发器的D输入端对毛刺不敏感,只要毛刺不在时钟有效沿出现在D输入端,就不会对输出产生影响,这样就可以消除毛刺了。其实,输入数据中的毛刺也可加D触发器消除。加D触发器消毛刺的方法在简单的逻辑电路中最为常见,尤其是对那些发生在非时

9、钟跳变沿的毛刺信号,去除效果非常明显。,8.4 毛刺的产生及消除,2、信号延时法 信号延时法的原理就是在两级信号传递的过程中加一个延时环节,从而保证在下一个模块中读取到的数据是稳定后的数据,即不包含毛刺信号。这里所指的信号延时可以是数据信号的延时,也可以是时钟信号的延时。一般而言,所加的延时环节占用的芯片资源是很少的,故信号延时法是一种简单有效而且节约资源的方法。但需要注意的是延时环节的加入会使整个系统的延时增大,加入太多时就会影响系统的运行。,8.4 毛刺的产生及消除,3、时钟信号的灵活使用 灵活使用时钟信号的目的是为了尽可能的消除竞争冒险。设计时可以在时钟的第一个跳变沿触发模块a,下一个跳变沿控制触发模块b,这样时钟的交替控制能在一定程度上消除竞争冒险,从而抑制了毛刺信号。还可以分别使用时钟的上升沿或者下降沿控制不同的模块。,8.4 毛刺的产生及消除,4、状态机控制 灵活的使用状态机也能够达到消除毛刺的目的。在数据传递比较复杂的多模块系统中,由状态机在特定的时刻分别发出控制特定模块的时钟信号或者模块使能信号,状态机的循环控制就可以使得整个系统协调运作,同时减少毛刺信号。那么设计者只要在状态机的触发时间上加以处理,就可以避免竞争冒险,从而抑制毛刺的产生。,感谢您使用,CPLD/FPGA设计及应用课件,请提出宝贵意见,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号