EDA第六章 VHDL设计进阶课件.ppt

EDA第六章 VHDL设计进阶课件.ppt

ID:57057297

大小:967.50 KB

页数:83页

时间:2020-07-30

EDA第六章 VHDL设计进阶课件.ppt_第1页
EDA第六章 VHDL设计进阶课件.ppt_第2页
EDA第六章 VHDL设计进阶课件.ppt_第3页
EDA第六章 VHDL设计进阶课件.ppt_第4页
EDA第六章 VHDL设计进阶课件.ppt_第5页
资源描述:

《EDA第六章 VHDL设计进阶课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA技术实用教程第6章VHDL设计进阶6.1数据对象DATAOBJECTS6.1.1常数(CONSTANT)常数定义格式:CONSTANT常数名:数据类型:=表达式;常量:在设计中不会变的值(定义了类型和赋值后,就不再变化)功能:改善代码可读性,便于代码修改(相当于C的define语句)必须在程序包、实体、结构体、进程或子程序的说明区域加以说明常量的定义位置决定着常量的使用范围保留字——CONSTANT例:CONSTANTWidth:Integer:=8;6.1数据对象DATAOBJECTS6.1.2变量(VARIABLE)变量定义格式:VARIABLE变量名:数据类型:=初始

2、值;变量是个局部量,仅用于进程和子程序必须在进程和子程序的说明区域里定义变量的赋值是立即发生的,类似C语言的赋值操作建议:尽量少用变量,它的存在主要是为了仿真的方便保留字——VARIABLEVARIABLEtemp:Bit_Vector(7downto0); temp:=“10101010”; temp:=x“AA”;变量赋值符十六进制位矢量6.1数据对象DATAOBJECTS6.1.3信号(SIGNAL)信号定义格式:SIGNAL信号名:数据类型:=初始值;全局量,更具硬件特征,可代表连线、寄存器端口是有方向说明的信号信号作为数值容器,可保存当前值,也可保持历史值,类似FF信号

3、的定义和使用范围:实体、结构体和程序包(不允许在进程和子程序的顺序语句中定义信号)SIGNALSIGNALCount:Bit_Vector(3downto0); IFRising_Edge(clk)THEN Count<=Count+1; ENDIF;6.1数据对象DATAOBJECTS6.1.4进程中的信号与变量赋值语句表6-1信号与变量赋值语句的比较立即赋值延迟一定时间后(如在进程结束时)才对信号赋值只能在所定义的进程中使用在整个结构体内的任何地方都适用仅用作进程中的局部数据存储器用作电路中的连线 和数据存储器:=<=行为特性适用范围基本用法赋值符号变量VARIABLE信号S

4、IGNAL变量可以赋给变量和信号,用哪个赋值符号由左边的数据对象决定,与右边的无关这意味着信号赋值符“<=”两边的数值并不总是一致的PROCESS(...)BEGINQQ<=D0;QQ<=D1;QQ<=D2;ENDPROCESS;进程中信号与变量的赋值规则信号赋值语句可出现在进程语句中,因此可称为顺序赋值语句。在进程中可对同一信号多次赋值,但只有最后一次赋值有效。出现在结构体中的信号赋值语句,为并行赋值语句。在结构体中不允许对一个信号多次赋值,因为是并行赋值而完全可能发生信号的“线与”。在进程内外对同一信号赋值也是不允许的,因为进程与结构体中的信号赋值语句都为并行语句。对于同名变

5、量,可以在多个进程中赋值。因为变量是局部量,在多个进程中的同名变量不是同一个变量。ARCHITECTURE...BEGINQQ<=D0;QQ<=D1;QQ<=D2;ENDARCHITECTURE;ARCHITECTURE...PROCESS(...)BEGINQQ<=D0;QQ<=D1;QQ<=D2;ENDPROCESS;QQ<=D3;ENDARCHITECTURE;××【例6-6】4选1MUX的VHDL描述之一(进程中信号与变量的赋值规则应用举例)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4ISPORT(i0,i1,i2,i

6、3,a,b:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDmux4;ARCHITECTUREbody_mux4OFmux4ISsignalmuxval:integerrange3downto0;BEGINprocess(i0,i1,i2,i3,a,b)beginmuxval<=0;if(a='1')thenmuxval<=muxval+1;endif;if(b='1')thenmuxval<=muxval+2;endif;casemuxvaliswhen0=>q<=i0;when1=>q<=i1;when2=>q<=i2;when3=>q<=i3;whenothe

7、rs=>null;endcase;endprocess;ENDbody_mux4;--初始化muxvalPROCESS前三条顺序语句是对同一信号进行赋值,试图将a,b两个标准逻辑位转换为一个整数【例6-7】4选1MUX的VHDL描述之二(进程中信号与变量的赋值规则应用举例)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4ISPORT(i0,i1,i2,i3,a,b:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDmu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。