书签 分享 收藏 举报 版权申诉 / 54
上传文档赚钱

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

  • 上传人(卖家):晟晟文业
  • 文档编号:5102230
  • 上传时间:2023-02-11
  • 格式:PPT
  • 页数:54
  • 大小:1.35MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《[工学]VHDL设计方法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    工学 VHDL 设计 方法 课件
    资源描述:

    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两个时钟之间需要有附加的定时约束条两个时钟之间需要有附加的定时约束条件,将某些异步信号同步化。件,将某些异步信号同步化。多时钟系统例子多时钟系统例子多时钟系统同步化多时钟系统同步化

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[工学]VHDL设计方法课件.ppt
    链接地址:https://www.163wenku.com/p-5102230.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库