工学VHDL设计方法ppt课件

上传人:cl****1 文档编号:584802952 上传时间:2024-09-01 格式:PPT 页数:54 大小:1.11MB
返回 下载 相关 举报
工学VHDL设计方法ppt课件_第1页
第1页 / 共54页
工学VHDL设计方法ppt课件_第2页
第2页 / 共54页
工学VHDL设计方法ppt课件_第3页
第3页 / 共54页
工学VHDL设计方法ppt课件_第4页
第4页 / 共54页
工学VHDL设计方法ppt课件_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《工学VHDL设计方法ppt课件》由会员分享,可在线阅读,更多相关《工学VHDL设计方法ppt课件(54页珍藏版)》请在金锄头文库上搜索。

1、 VHDL设计中的一些问题设计中的一些问题一、一、 VHDL源代码的综合源代码的综合n功能一样但是编写不同的代码会产生不同功能一样但是编写不同的代码会产生不同的综合效果;的综合效果;n不能够依赖软件工具去综合一个编写很差不能够依赖软件工具去综合一个编写很差的源代码;的源代码;n假设能很好了解所作设计的硬件构造,那假设能很好了解所作设计的硬件构造,那么会使设计有一个良好的开端。么会使设计有一个良好的开端。三个重要的方面三个重要的方面1. 思索硬件构造思索硬件构造编写可以描画硬件拓扑构造的代码;编写可以描画硬件拓扑构造的代码;不要编写仿真模型;不要编写仿真模型;2. 思索同步逻辑思索同步逻辑n同步

2、逻辑在综合、测试、仿真和布线中同步逻辑在综合、测试、仿真和布线中都比较方便;都比较方便;n异步逻辑需求人为操作及一些扩展的仿异步逻辑需求人为操作及一些扩展的仿真功能才干进展验证。将异步逻辑划真功能才干进展验证。将异步逻辑划分成独立的块单元来编译。分成独立的块单元来编译。?3. 思索思索RTL级描画级描画n用用RTL级的描画意味着描画:级的描画意味着描画:n 存放器的构造;存放器的构造;n 电路构造;电路构造;n 存放器之间的功能。存放器之间的功能。n由编译器优化存放器之间的逻辑,但不优化存由编译器优化存放器之间的逻辑,但不优化存放器的规划。放器的规划。IF语句的综合语句的综合nIF-ELSE语

3、句句隐含了一个多路含了一个多路选择器的硬件构造。器的硬件构造。n例:例: IF (Aflag = 1) THENn OutData = A + B;n ELSEn OutDate = C + D;n 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言言语的定的定义要求信号在没有被要求信号在没有被赋予新予新

4、值前前坚持原来的持原来的值。n锁存功能在硬件上存功能在硬件上实现了以上要求。了以上要求。n例:例:LS373: PROCESS (ALE, ADBUS)n BEGINn IF (ALE =1) THENn ABUS = ADBUS;n END IF;n 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-

5、THEN-ELSIF语句隐含了优先级的关系,因语句隐含了优先级的关系,因此在电路设计中假设有优先级的要求才运用该此在电路设计中假设有优先级的要求才运用该语句;语句;n假设在没有优先级设计要求的情况下运用该语假设在没有优先级设计要求的情况下运用该语句,那么综合后的逻辑电路会比较复杂,速度句,那么综合后的逻辑电路会比较复杂,速度较慢;较慢;n例:中断优先级控制器,例:中断优先级控制器,int0优先级最高优先级最高中断优先级控制器的实现中断优先级控制器的实现 IF (int0 = 1) THEN active(0) = 1; ELSIF (int1 = 1) THEN active(1) = 1;

6、ELSIF (int2 = 1) THEN active(2) = 1; ELSE active(3) = 1; END IF;FOR-LOOP语句的综合语句的综合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) AN

7、D b(0);实现奇偶校验的例子实现奇偶校验的例子 PROCESS (data) VARIABLE sum: INTEGER; BEGIN sum := 0; FOR I IN 0 to 7 LOOP -数1的个数 sum := data(i) + sum; END LOOP; odd_parity = sum mod 2; -校验奇偶性 END PROCESS;综合后综合后操作符对综合结果的影响操作符对综合结果的影响nVHDL编译器对表达式从左至右进展语法编译器对表达式从左至右进展语法分析;分析;n圆括号可以改动编译的顺序;圆括号可以改动编译的顺序;n例例1:n ADD = A + B +

8、C + D ; (1)n ADD = (A + B) + (C + D) ; (2)综合后结果:综合后结果: ADD = A+B + C+D ;综合后结果:综合后结果: ADD = (A+B) + (C+D) ;例例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. 比较综合和仿真的结果比较综合和仿真的结果VHDL言语是一种硬件

9、描画和仿真言语;言语是一种硬件描画和仿真言语;一些仿真构造在综合器中不被支持;一些仿真构造在综合器中不被支持;2. 防止运用防止运用nWAIT FOR xx ns 语句;语句;nAFTER xx ns 语句;语句;n信号和变量的赋初值语句信号和变量的赋初值语句;3. 运用运用CASE和和IF_ELSE语句语句nIF_ELSE描画一个优先级编码的逻辑;描画一个优先级编码的逻辑;nCASE语句描画一种对称平衡的行为;语句描画一种对称平衡的行为;n仿真结果一致仿真结果一致;n综合出来的设计速度会有不同。综合出来的设计速度会有不同。4. 遵照一定的编代码规那么遵照一定的编代码规那么n选择运用大小写字母

10、的规那么;选择运用大小写字母的规那么;n文件名与实体名匹配;文件名与实体名匹配;n给程序添加标号、注释给程序添加标号、注释;n运用代码缩进、空行、空格等;运用代码缩进、空行、空格等;n建议运用建议运用std_logic类型;类型;5. 例子例子n设计实现一个设计实现一个2-4译码器译码器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可用简单的逻辑门和复

11、杂的元件来描画可用简单的逻辑门和复杂的元件来描画系统;系统;n互连经过端口实现。互连经过端口实现。n调用两个元件调用两个元件: 与门与门ANDGate (调用调用4次次)n 非门非门Inverter (调用调用2次次)方法二方法二: 数据流描画数据流描画n采用并发代入语句实现;采用并发代入语句实现;n经过输入信号值的改动来激活代入语经过输入信号值的改动来激活代入语句。句。n采用并发代入语句;采用并发代入语句;方法三:行为描画法方法三:行为描画法n描画的是电路的功能,而不是电路的构描画的是电路的功能,而不是电路的构造;造;n采用采用PROCESS和和CASE语句;语句;三、三、FPGA中的一些设

12、计方法中的一些设计方法n竞争和冒险景象竞争和冒险景象n去除和置位信号去除和置位信号n触发器和锁存器触发器和锁存器n同步设计同步设计n延时电路的产生延时电路的产生n多时钟系统多时钟系统1. 竞争和冒险竞争和冒险n信号在信号在FPGA中中传送会有不一送会有不一样延延迟;n当多个当多个输入信号同入信号同时发生生变化化时,其,其组合合逻辑就能就能够发生生“毛刺;毛刺;n毛刺会向下一毛刺会向下一级传送;送;n毛刺会影响毛刺会影响电路的路的稳定性。定性。“毛刺的例子毛刺的例子处理毛刺问题的方法处理毛刺问题的方法n改动设计:比如采用格雷码计数器替代改动设计:比如采用格雷码计数器替代普通的二进制计数器,由于格

13、雷码计数普通的二进制计数器,由于格雷码计数器的输出每次只需一位跳变;器的输出每次只需一位跳变;n采用同步电路:毛刺在时钟的上升沿不采用同步电路:毛刺在时钟的上升沿不能构成有效的操作;能构成有效的操作;n采用对毛刺不敏感的采用对毛刺不敏感的D触发器输出信号;触发器输出信号;2. 去除和置位信号去除和置位信号n去除和置位信号对毛刺很敏感;去除和置位信号对毛刺很敏感;n有时可以运用同步置位的方法来替代异有时可以运用同步置位的方法来替代异步清零。步清零。3. 触发器和锁存器触发器和锁存器n触发器在时钟沿锁存数据;触发器在时钟沿锁存数据;n锁存器是用电平来锁存数据;锁存器是用电平来锁存数据;n建议尽量运

14、用触发器。建议尽量运用触发器。锁存器4. 同步设计同步设计n异步设计不是总能满足建立和坚持时间的异步设计不是总能满足建立和坚持时间的要求;要求;n异步设计经常会将错误的数据锁存到触发异步设计经常会将错误的数据锁存到触发器中;器中;n导致触发器出现亚稳态,不能识别导致触发器出现亚稳态,不能识别1或或0;n尽量采用同步设计,以全局时钟为基准。尽量采用同步设计,以全局时钟为基准。FPGA中的时钟树中的时钟树FPGA中的时钟树中的时钟树n全局时钟为规划布线的延时参数提取、全局时钟为规划布线的延时参数提取、分析提供了基准;分析提供了基准;n假设不运用时钟树的时钟,那么延时数假设不运用时钟树的时钟,那么延

15、时数据将不准确;据将不准确;n设计中应留意以全局时钟为参考。设计中应留意以全局时钟为参考。分频器的例子不规范分频器的例子不规范分频器的例子正确分频器的例子正确clkShift_reg5. 延时电路的产生延时电路的产生n有时候需求对信号进展延时处置来顺应有时候需求对信号进展延时处置来顺应外接端口的时序关系;外接端口的时序关系;n可综合的延时方法有:可综合的延时方法有:n 使信号经过逻辑门如非门;使信号经过逻辑门如非门;n 运用器件提供的延时单元;运用器件提供的延时单元;n可采用移位存放器来实现延时;可采用移位存放器来实现延时;延时电路的例子延时电路的例子6. 多时钟系统多时钟系统n有些系统要求在一个有些系统要求在一个PLD内部采用多时内部采用多时钟,如两个异步微处置器之间的衔接;钟,如两个异步微处置器之间的衔接;n两个时钟之间需求有附加的定时约束条两个时钟之间需求有附加的定时约束条件,将某些异步信号同步化。件,将某些异步信号同步化。多时钟系统例子多时钟系统例子多时钟系统同步化多时钟系统同步化

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号