《VHDL设计深入》PPT课件

《VHDL设计深入》PPT课件

ID:41383675

大小:508.00 KB

页数:30页

时间:2019-08-23

《VHDL设计深入》PPT课件_第1页
《VHDL设计深入》PPT课件_第2页
《VHDL设计深入》PPT课件_第3页
《VHDL设计深入》PPT课件_第4页
《VHDL设计深入》PPT课件_第5页
资源描述:

《《VHDL设计深入》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA技术第8章VHDL设计深入8.1数据对象8.1.1常量常量定义:constant常量名:数据类型:=赋值表达式;常量只能在定义时被赋值。如,constantvcc:real:=3.3;作用范围:可定义在程序包、实体、结构体、进程、子程序中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结构体中,则只能用于该结构体。若定义在进程/子程序中,则只能用于该进程/子程序若在程序包中定义,则可以用在调用该程序包的所有设计实体中。变量:定义:variable变量名:数据类型[:=初始值];如,variableb,c:integer

2、:=2;功能及作用范围:属于局部量,主要用于数据的暂存,而且只能在进程或子程序中定义变量,变量无法将数据传递出进程。变量的赋值:目标变量名:=表达式;变量的赋值是立即执行的,不存在任何延时。8.1.2变量信号定义:SIGNAL信号名:数据类型[:=初始值];如,SIGNALclk:std_logic:=‘0’;功能及作用范围:属于全局量,相当于电路中的一条导线,不能定义在进程或子程序中,只可定义在其外部,用于在结构体中传递数据。注:可以在进程中使用信号,将进程外的信息带入进程(将信号放在敏感列表中),或将进程内的信息带出进程(在顺序语句

3、中对信号赋值)。信号的赋值:信号名<=表达式AFTER延时时间;信号的赋值存在延时。8.1.3信号进程语句及进程中的信号/变量赋值语句的执行特点:一个进程语句的仿真周期是固定的,为一个δ时间。在进程被激活的瞬间开始计时,在顺序执行到ENDPROCESS语句时停止计时,这一段时间称为δ仿真周期。δ时间是一个非常小的量(fs),是VHDL仿真器的最小分辨时间)。进程中信号赋值语句的执行发生在δ延时之后,即当执行完ENDPROCESS语句时,对进程中的所有信号进行赋值操作。进程中变量赋值语句的执行时立即发生的,不存在延时。若进程中存在对同一信

4、号多次赋值的情况,则只执行最后一条信号赋值语句。……SIGNALa,b,c,y,z:integer;……PROCESS(a,b,c)VARIABLEx;BEGINy<=a+b;z<=c-x;y<=b;ENDPROCESS;……信号定义在process外部--变量定义在process内部--信号赋值,存在延时δ--进程结束后,才对信号赋值【例】信号赋值:在进程中允许对同一目标信号进行多次赋值,其结果是只有最后的赋值语句被执行。【例8-3】ARCHITECTUREbhvOFDFF1ISSIGNALA,B:STD_LOGIC;BEGINPRO

5、CESS(CLK)ISBEGINIFCLK’EVENTANDCLK=‘1‘THENA<=D;B<=A;Q<=B;ENDIF;ENDPROCESS;ENDARCHITECTUREbhv;【例8-4】ARCHITECTUREbhvOFDFF1ISBEGINPROCESS(CLK)ISVARIABLEA,B:STD_LOGIC;BEGINIFCLK’EVENTANDCLK=‘1‘THENA:=D;B:=A;Q<=B;ENDIF;ENDPROCESS;ENDARCHITECTUREbhv;【例8-3】中需要保存信号A,B及输出端口信号Q的值,因

6、此会引入三个触发器【例8-4】的变量A、B起到临时存储输入信号D的作用,只需要保存输出端口Q的值,因此只会引入一个触发器。读取信号A、B时,使用的是其原来的值。通过变量A、B将输入端口D赋值给输出端口Q【例8-3】和【例8-4】的RTL视图【例8-5】进程中的信号/变量赋值语句的执行特点……PROCESS(in1,in2,…)ISvariablec1:std_logic_vector(3downto0);BEGIN…e1<=“1010”;…c1:=“0011”;ENDPROCESS;……信号e1的赋值:在进程的末尾才执行。变量c1的赋值

7、:立即执行。【例8-6】4选1数据选择器设计(错误的例子)entitymux4isport(i0,i1,i2,i3,a,b:instd_logic;q:outstd_logic);endentitymux4;ARCHITECTUREbody_mux4OFmux4ISSIGNALmuxval:integerrange3downto0;BEGINPROCESS(i0,i1,i2,i3,a,b)ISBEGINmuxval<=0;if(a=‘1’)thenmuxval<=muxval+1;endif;if(b=‘1’)thenmuxval<=m

8、uxval+2;endif;casemuxvaliswhen0=>q<=i0;when1=>q<=i1;when2=>q<=i2;when3=>q<=i3;--whenothers=>null;endcas

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

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

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