[工学]VHDL设计方法课件.ppt
- 【下载声明】
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
展开阅读全文