欢迎来到天天文库
浏览记录
ID:39628960
大小:17.10 MB
页数:126页
时间:2019-07-07
《第五章 VHDL设计进阶》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章VHDL设计进阶§5.1数据对象*§5.2VHDL设计实例及其语法内涵*§5.3顺序语句归纳§5.4并行赋值语句讨论§5.5IF语句概述例解§5.7仿真延时§5.8VHDL的RTL表述11本章例程多功能移位寄存器三态门与三态总线优先编码器7段数码显示译码器(实验与设计)8位数码扫描显示电路(实验与设计)数控分频器(实验与设计)22§5.1数据对象DATAOBJECTS5.1.1常数(CONSTANT)常数定义的一般表述:CONSTANT常数名:数据类型:=表达式;定义:凡是可以被赋予一个数值的客体。是数据类型的载体。使用原则:分类:固定值,不能在程序中被改变;增强
2、程序的可读性,便于修改程序时传递参数;相当于电路中的恒定电平,如GND或VCC接口;可在Library、Entity、Architecture、Process中进行定义,其有效使用范围也相应限定。例如:constantm:std_logic_vector:=“0101”;constanti:integer:=12;335.1.2变量(VARIABLE)定义变量的一般表述:VARIABLE变量名:数据类型[:=表达式];临时数据,没有物理意义;只能在Process和Function中定义,并只在其内部有效;要使其全局有效,先转换为Signal;用“:=”进行赋值。例如:v
3、ariablex,y:integer;variablecount:integerRange0to255:=10;其中Range0to255为约束条件,10为变量的初值。§5.1数据对象DATAOBJECTS445.1.3信号(SIGNAL)定义格式:SIGNAL信号名:数据类型[:=初始值];--直接赋值目标信号名<=表达式AFTER时间量;--代入赋值代表物理连线,Port也是一种信号;没有方向性,可给它赋值,也可当作输入;在Entity(端口)中和Architecture中定义,具有全局性;设定的初始值在综合时没有意义,只是在仿真时有效。基本赋值符是:<=。例如:s
4、ignalsys_clk:bit:=‘0’;sys_clk<=‘0’;§5.1数据对象DATAOBJECTS55【例4-19】1位二进制全加器顶层设计描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYf_adderISPORT(ain,bin,cin:INSTD_LOGIC;cout,sum:OUTSTD_LOGIC);ENDENTITYf_adder;ARCHITECTUREfd1OFf_adderISCOMPONENTh_adder--元件例化之元件定义语句PORT(a,b:INSTD_LOGIC;co,so:OUTSTD
5、_LOGIC);ENDCOMPONENT;COMPONENTor2a--元件例化之元件定义语句PORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALd,e,f:STD_LOGIC;BEGIN--元件例化之端口映射语句u1:h_adderPORTMAP(a=>ain,b=>bin,co=>d,so=>e);u2:h_adderPORTMAP(a=>e,b=>cin,co=>f,so=>sum);u3:or2aPORTMAP(a=>d,b=>f,c=>cout);ENDARCHITECTUREfd1;66SIGNAL
6、a,b,c,y,z:INTEGERrange0to255;...PROCESS(a,b,c)BEGINy<=a+b;z<=c–a;y<=b;ENDPROCESS;只有信号能进入列表注意:同一信号有多个驱动源(赋值源)时,只有离ENDPROCESS最近的一项被启动进行赋值操作。§5.1数据对象DATAOBJECTS77三种数据对象的基本用法比较数据对象常数CONSTANT变量VARIABLE信号SIGNAL使用原则先定义(赋值)后使用定义和使用范围实体、结构体、程序包、模块、进程和子程序进程或子程序实体、结构体和程序包基本用法程序中用到的恒定常数进程中的暂存单元(可变)(
7、仅用于顺序语句中)实体中的内部连线(延时)(用于并行模块间的信息传递)可视性原则(使用范围)全局或局部性(GLOBOL/LOCAL)局部性(LOCAL)全局性(GLOBOL)Attention:变量和信号可以被多次赋值,常量只能赋值一次。§5.1数据对象DATAOBJECTS885.1.4进程中的信号与变量赋值语句表5-1信号与变量赋值语句功能的比较信号SIGNAL变量VARIABLE基本用法用于作为电路中的信号连线用于作为进程中局部数据存储单元适用范围在整个结构体内的任何地方都能适用只能在所定义的进程中使用行为特性在进程的最后才对信号赋
此文档下载收益归作者所有