欢迎来到天天文库
浏览记录
ID:59439998
大小:935.50 KB
页数:65页
时间:2020-09-18
《第5章VHDL设计进阶ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EDA技术实用教程第5章VHDL设计进阶5.1数据对象DATAOBJECTS5.1.1常数(CONSTANT)常数定义的一般表述:CONSTANT常数名:数据类型:=表达式;VHDL定义的常数数据类型必须与表达式的数据类型一致;常数定义语句所允许的数据单元:实体、结构体、程序包、块、进程和子程序;常数的可视性取决于它被定义的位置,具有全局性特征。5.1.2变量(VARIABLE)变量定义的一般表述:VARIABLE变量名:数据类型:=初始值;VHDL定义的变量定义语句中初始值可以是与变量具有相同数据类型的常数值。由于硬件电路的随机性,VHDL综合器并不支持设置初始值,通常
2、为:目标变量名:=表达式;变量定义语句所允许的数据单元:进程和子程序;变量是一个局部量,其主要作用是在进程中作为临时的数据存储单元。信号的使用和定义范围:实体、结构体和程序包,在进程和子程序的顺序语句中不允许定义信号。在进程中,只能将信号列入敏感表,不能将变量列入敏感表,只有信号才能将进程外的信息带入进程内部,或将进程内的信息带出进程;5.1.3信号(SIGNAL)定义格式:SIGNAL信号名:数据类型:=初始值;在实体中定义的端口,在结构体中都可以看成一个信号,可使用,不必另作定义。信号的初始值设置也不是必须的,初始值仅在行为仿真中有效,信号具有全局性特征。定义信号的数
3、据类型和表达方式后,对信号赋值进行赋值赋值语句:目标信号名<=表达式;5.1.4进程中的信号与变量赋值语句信号SIGNAL变量VARIABLE基本用法用于作为电路中的信号连线用于作为进程中局部数据存储单元适用范围在整个结构体内的任何地方都能适用只能在所定义的进程中使用行为特性在进程的最后才对信号赋值立即赋值表5-1信号与变量赋值语句功能的比较5.1.4进程中的信号与变量赋值语句【例5-1】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDFF3ISPORT(CLK,D1:INSTD_LOGIC;Q1:OUTSTD_LOGIC);E
4、ND;ARCHITECTUREbhvOFDFF3ISBEGINPROCESS(CLK)VARIABLEQQ:STD_LOGIC;BEGINIFCLK'EVENTANDCLK='1'THENQQ:=D1;ENDIF;Q1<=QQ;ENDPROCESS;END;5.1.4进程中的信号与变量赋值语句【例5-2】...ARCHITECTUREbhvOFDFF3ISSIGNALQQ:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQQ<=D1;ENDIF;Q1<=QQ;ENDPROCESS;END;在不完整的条件语句
5、中,单独的变量赋值语句与信号赋值语句都能产生相同的时序电路。5.1.4进程中的信号与变量赋值语句【例5-3】SIGNALin1,in2,e1,...:STD_LOGIC;...PROCESS(in1,in2,...)VARIABLEc1,...:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFin1='1'THEN...–-第1行e1<="1010";–-第2行...IFin2='0'THEN...–-第15+n行...c1:="0011";–-第30+m行...ENDIF;ENDPROCESS;【例5-4】LIBRARYIEEE;USEIEEE.ST
6、D_LOGIC_1164.ALL;ENTITYDFF3ISPORT(CLK,D1:INSTD_LOGIC;Q1:OUTSTD_LOGIC);END;ARCHITECTUREbhvOFDFF3ISSIGNALA,B:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENA<=D1;B<=A;Q1<=B;ENDIF;ENDPROCESS;END;5.1.4进程中的信号与变量赋值语句【例5-5】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDFF3ISPORT(CLK,D1:
7、INSTD_LOGIC;Q1:OUTSTD_LOGIC);END;ARCHITECTUREbhvOFDFF3ISBEGINPROCESS(CLK)VARIABLEA,B:STD_LOGIC;BEGINIFCLK'EVENTANDCLK='1'THENA:=D1;B:=A;Q1<=B;ENDIF;ENDPROCESS;END;5.1.4进程中的信号与变量赋值语句5.1.4进程中的信号与变量赋值语句图5-1例5-4的RTL电路图5-2例5-5的RTL电路注意:1、信号的赋值需要有一个&延时。2、在进程中,所有赋值语句(包括变量赋值
此文档下载收益归作者所有