ImageVerifierCode 换一换
格式:PPT , 页数:54 ,大小:1.35MB ,
文档编号:5102230      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5102230.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文([工学]VHDL设计方法课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

[工学]VHDL设计方法课件.ppt

1、 VHDL设计中的一些问题设计中的一些问题一、一、VHDL源代码的综合源代码的综合n功能相同但是编写不同的代码会产生不同功能相同但是编写不同的代码会产生不同的综合效果;的综合效果;n不可能依赖软件工具去综合一个编写很差不可能依赖软件工具去综合一个编写很差的源代码;的源代码;n如果能很好理解所作设计的硬件结构,则如果能很好理解所作设计的硬件结构,则会使设计有一个良好的开端。会使设计有一个良好的开端。三个重要的方面三个重要的方面1.考虑硬件结构考虑硬件结构n编写能够描述硬件拓扑结构的代码;编写能够描述硬件拓扑结构的代码;n不要编写仿真模型;不要编写仿真模型;2.考虑同步逻辑考虑同步逻辑n同步逻辑在

2、综合、测试、仿真和布线中同步逻辑在综合、测试、仿真和布线中都比较方便;都比较方便;n异步逻辑需要人为操作及一些扩充的仿异步逻辑需要人为操作及一些扩充的仿真功能才能进行验证。(将异步逻辑划真功能才能进行验证。(将异步逻辑划分成独立的块单元来编译。)分成独立的块单元来编译。)?3.考虑考虑RTL级描述级描述n用用RTL级的描述意味着描述:级的描述意味着描述:寄存器的结构;寄存器的结构;电路结构;电路结构;寄存器之间的功能。寄存器之间的功能。n由编译器优化寄存器之间的逻辑,但不优化寄由编译器优化寄存器之间的逻辑,但不优化寄存器的布局。存器的布局。IF语句的综合语句的综合nIF-ELSE语句隐含了一个

3、多路选择器的硬件结构。语句隐含了一个多路选择器的硬件结构。n例:例:IF (Aflag=1)THEN OutData=A+B;ELSE OutDate=C+D;END IF;多路选择器的位置取决于多路选择器的位置取决于IF-ELSE语句的结构语句的结构 IF (Aflag=1)THEN Op1=A;Op2=B;ELSE Op1=C;Op2=D;END IF;OutData=Op1+Op2;若若IF语句不带语句不带ELSE,可以表示锁存,可以表示锁存nVHDL语言的定义要求信号在没有被赋予新值语言的定义要求信号在没有被赋予新值前保持原来的值。前保持原来的值。n锁存功能在硬件上实现了以上要求。锁存

4、功能在硬件上实现了以上要求。例:例:LS373:PROCESS(ALE,ADBUS)BEGIN IF (ALE=1)THEN ABUS=ADBUS;END IF;END PROCESS LS373;一个二输入与门的设计一个二输入与门的设计由于没有由于没有ELSE,综合时会被默认为其他情况,综合时会被默认为其他情况时时:c=c;PROCESS(a,b)BEGIN IF(a=1 and b=1)THEN c=1;END IF;END PROCESS;IF-THEN-ELSIF语句语句nIF-THEN-ELSIF语句隐含了优先级的关系,语句隐含了优先级的关系,因此在电路设计中如果有优先级的要求才使用

5、因此在电路设计中如果有优先级的要求才使用该语句;该语句;n如果在没有优先级设计要求的情况下使用该语如果在没有优先级设计要求的情况下使用该语句,那么综合后的逻辑电路会比较复杂,速度句,那么综合后的逻辑电路会比较复杂,速度较慢;较慢;n例:中断优先级控制器,例:中断优先级控制器,int0优先级最高优先级最高中断优先级控制器的实现中断优先级控制器的实现 IF (int0=1)THEN active(0)=1;ELSIF(int1=1)THEN active(1)=1;ELSIF(int2=1)THEN active(2)=1;ELSE active(3)=1;END IF;FOR-LOOP语句的综合

6、语句的综合nFOR-LOOP语句首先进行语句首先进行“翻译翻译”,然后再,然后再进行综合。进行综合。PROCESS(a,b)BEGIN FOR i IN 0 to 3 LOOP out(i)=a(i)AND b(3-i);END LOOP;END PROCESS;out(0)=a(0)AND b(3);out(1)=a(1)AND b(2);out(2)=a(2)AND b(1);out(3)=a(3)AND b(0);实现奇偶校验的例子实现奇偶校验的例子 PROCESS(data)VARIABLE sum:INTEGER;BEGIN sum:=0;FOR I IN 0 to 7 LOOP -

7、数数1的个数的个数 sum:=data(i)+sum;END LOOP;odd_parity=sum mod 2;-校验奇偶性校验奇偶性 END PROCESS;综合后综合后操作符对综合结果的影响操作符对综合结果的影响nVHDL编译器对表达式从左至右进行语法编译器对表达式从左至右进行语法分析;分析;n圆括号可以改变编译的顺序;圆括号可以改变编译的顺序;n例例1:ADD=A+B +C+D;(1)ADD=(A+B)+(C+D);(2)+A0 A1 A2 A3 B0 B1 B2 B3+C0 C1 C2 C3+D0 D1 D2 D3 综合后结果:综合后结果:ADD=A+B+C+D;综合后结果:综合后结

8、果:ADD=(A+B)+(C+D);+A0 A1 A2 A3 B0 B1 B2 B3+C0 C1 C2 C3 D0 D1 D2 D3 例例2:SUM=A*B+C*D+E+F+G;综合后结果:综合后结果:改变顺序或加括号来改变结构改变顺序或加括号来改变结构nSUM=E+F+G+C*D+A*B;nSUM=(A*B)+(C*D)+(E+F)+G);二、可综合代码的设计特点二、可综合代码的设计特点1.比较综合和仿真的结果比较综合和仿真的结果nVHDL语言是一种硬件描述和仿真语言;语言是一种硬件描述和仿真语言;n一些仿真结构在综合器中不被支持;一些仿真结构在综合器中不被支持;2.避免使用避免使用nWAI

9、T FOR xx ns 语句;语句;nAFTER xx ns 语句;语句;n信号和变量的赋初值语句信号和变量的赋初值语句;3.使用使用CASE和和IF_ELSE语句语句nIF_ELSE描述一个优先级编码的逻辑;描述一个优先级编码的逻辑;nCASE语句描述一种对称平衡的行为;语句描述一种对称平衡的行为;n仿真结果一致仿真结果一致;n综合出来的设计速度会有不同。综合出来的设计速度会有不同。4.遵循一定的编代码规则遵循一定的编代码规则n选择使用大小写字母的规则;选择使用大小写字母的规则;n文件名与实体名匹配;文件名与实体名匹配;n给程序添加标号、注释给程序添加标号、注释;n使用代码缩进、空行、空格等

10、;使用代码缩进、空行、空格等;n建议使用建议使用std_logic类型;类型;5.例子例子n设计实现一个设计实现一个2-4译码器译码器 led(3)led(2)led(1)led(0)bcd(1)bcd(0)bcd(1)bcd(0)Led(3)led(2)led(1)led(0)0 00 0 0 10 1 0 0 1 01 00 1 0 01 1 1 0 0 0方法一方法一:结构描述法结构描述法n基于元件例化和基于元件例化和GENERATE语句;语句;n建立层次结构;建立层次结构;n可用简单的逻辑门和复杂的元件来描述可用简单的逻辑门和复杂的元件来描述系统;系统;n互连通过端口实现。互连通过端口

11、实现。a b bcd1.0 d b a Inverter:Inv1 Inverter:Inv2 ANDGate:A1 ANDGate:A2 ANDGate:A3 ANDGate:A4 led30 a b d b a d b a d b a n调用两个元件调用两个元件:与门与门ANDGate(调用调用4次次)非门非门Inverter(调用调用2次次)方法二方法二:数据流描述数据流描述n采用并发代入语句实现;采用并发代入语句实现;n通过输入信号值的改变来激活代入语通过输入信号值的改变来激活代入语句。句。n采用并发代入语句;采用并发代入语句;bcd1.0 led3.0 led0 led1 led2

12、led3 方法三:行为描述法方法三:行为描述法n描述的是电路的功能,而不是电路的结描述的是电路的功能,而不是电路的结构;构;n采用采用PROCESS和和CASE语句;语句;SEL1.0 DATA3.0 OUT MUX Mux0 bcd1.0 led3.0 Mux1 Mux2 Mux3 MUX MUX MUX SEL1.0 DATA3.0 OUT SEL1.0 DATA3.0 OUT SEL1.0 DATA3.0 OUT 三、三、FPGA中的一些设计方法中的一些设计方法n竞争和冒险现象竞争和冒险现象n清除和置位信号清除和置位信号n触发器和锁存器触发器和锁存器n同步设计同步设计n延时电路的产生延时

13、电路的产生n多时钟系统多时钟系统1.竞争和冒险竞争和冒险n信号在信号在FPGA中传送会有不一样延迟;中传送会有不一样延迟;n当多个输入信号同时发生变化时,其组当多个输入信号同时发生变化时,其组合逻辑就可能发生合逻辑就可能发生“毛刺毛刺”;n毛刺会向下一级传送;毛刺会向下一级传送;n毛刺会影响电路的稳定性。毛刺会影响电路的稳定性。“毛刺毛刺”的例子的例子解决毛刺问题的方法解决毛刺问题的方法n改变设计:比如采用格雷码计数器代替改变设计:比如采用格雷码计数器代替普通的二进制计数器,因为格雷码计数普通的二进制计数器,因为格雷码计数器的输出每次只有一位跳变;器的输出每次只有一位跳变;n采用同步电路:毛刺

14、在时钟的上升沿不采用同步电路:毛刺在时钟的上升沿不能形成有效的操作;能形成有效的操作;n采用对毛刺不敏感的采用对毛刺不敏感的D触发器输出信号;触发器输出信号;2.清除和置位信号清除和置位信号n清除和置位信号对毛刺很敏感;清除和置位信号对毛刺很敏感;n有时可以使用同步置位的方法来代替异有时可以使用同步置位的方法来代替异步清零。步清零。3.触发器和锁存器触发器和锁存器n触发器在时钟沿锁存数据;触发器在时钟沿锁存数据;n锁存器是用电平来锁存数据;锁存器是用电平来锁存数据;n建议尽量使用触发器。建议尽量使用触发器。锁存器4.同步设计同步设计n异步设计不是总能满足建立和保持时间的异步设计不是总能满足建立

15、和保持时间的要求;要求;n异步设计常常会将错误的数据锁存到触发异步设计常常会将错误的数据锁存到触发器中;器中;n导致触发器出现亚稳态,不能识别导致触发器出现亚稳态,不能识别1或或0;n尽量采用同步设计,以全局时钟为基准。尽量采用同步设计,以全局时钟为基准。FPGA中的时钟树中的时钟树FPGA中的时钟树中的时钟树n全局时钟为布局布线的延时参数提取、全局时钟为布局布线的延时参数提取、分析提供了基准;分析提供了基准;n如果不使用时钟树的时钟,则延时数据如果不使用时钟树的时钟,则延时数据将不准确;将不准确;n设计中应注意以全局时钟为参考。设计中应注意以全局时钟为参考。分频器的例子(不规范)分频器的例子

16、(不规范)分频器的例子(正确)分频器的例子(正确)clkShift_reg5.延时电路的产生延时电路的产生n有时候需要对信号进行延时处理来适应有时候需要对信号进行延时处理来适应外接端口的时序关系;外接端口的时序关系;n可综合的延时方法有:可综合的延时方法有:使信号通过逻辑门(如非门);使信号通过逻辑门(如非门);使用器件提供的延时单元;使用器件提供的延时单元;n可采用移位寄存器来实现延时;可采用移位寄存器来实现延时;延时电路的例子延时电路的例子6.多时钟系统多时钟系统n有些系统要求在一个有些系统要求在一个PLD内部采用多时内部采用多时钟,如两个异步微处理器之间的连接;钟,如两个异步微处理器之间的连接;n两个时钟之间需要有附加的定时约束条两个时钟之间需要有附加的定时约束条件,将某些异步信号同步化。件,将某些异步信号同步化。多时钟系统例子多时钟系统例子多时钟系统同步化多时钟系统同步化

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|