欢迎来到天天文库
浏览记录
ID:59412423
大小:345.00 KB
页数:31页
时间:2020-09-19
《《VHDL语言与数字逻辑电路设计》――第5讲 VHDL顺序语句ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VHDL语言与数字逻辑电路设计主讲:许钢2010.9许钢许钢9/15/20201《VHDL语言与数字逻辑电路设计》第5讲VHDL顺序语句顺序描述语句只能出现在进程(Process)或子程序中,它定义进程或子程序所执行的算法。顺序描述语句按这些语句在进程或子程序中出现的顺序执行,这一点与高级语言类似。VHDL中常用的顺序描述语句包括:信号和变量赋值、Wait、If、Case、Loop、Next、Exit、断言语句、过程调用语句、空语句等。许钢许钢9/15/20202《VHDL语言与数字逻辑电路设计》第5讲VHDL顺序语句所
2、有的顺序描述语句都只能在进程(process)中使用,进程内是顺序执行,进程与进程之间是并发的,有点类似于计算机操作系统中“进程”的概念。5.1进程(Process)Process语句的格式:[进程名]:Process(敏感信号列表)Begin顺序描述语句;EndProcess;Process语句从Process开始,到EndProcess结束,进程名可以省略。功能相对独立的模块可以用一个进程来描述。许钢许钢9/15/20203《VHDL语言与数字逻辑电路设计》第5讲VHDL顺序语句Process语句的格式:例1:Enti
3、tymux2IsPort(a,b:Instd_logic;s:Instd_logic;f:Outstd_logic);Endmux2;ArchitecturebehaviorOfmux2IsBeginmux2:Process(a,b,s)BeginIf(s=‘0’)Thenf<=a;Elsef<=b;EndIf;EndProcess;Endbehavior;5.1进程(Process)许钢许钢9/15/20204《VHDL语言与数字逻辑电路设计》第5讲VHDL顺序语句Process的启动和敏感信号列表:进程在仿真运行中,总
4、是处于两个状态之一:执行或挂起。初始启动时,进程处于执行状态,进程中的顺序语句从前向后逐句执行一遍,即从Process执行到EndProcess之前。当最后一条语句执行完后,返回到进程开始的Process语句,进程处于挂起状态。此时,只要该进程的敏感信号列表中任何一个信号发生变化(即信号的值发生变化,如从“1”变到“0”或从“0”变到“1”),进程又再次处于执行状态。然后,再挂起,再执行,一直循环下去,直到仿真结束。从硬件方面来看,一个Process相当于一个电路模块,它的敏感信号列表指明了所有能引起该电路模块状态发生改变
5、的信号。例1中mux2进程的敏感信号列表是(a,b,s),三个信号中的任何一个发生变化,都引起进程重新执行。从硬件特性来看,二选一电路的a,b,s输入的变化都可能引起输出发生变化。5.1进程(Process)许钢许钢9/15/20205《VHDL语言与数字逻辑电路设计》第5讲VHDL顺序语句Process的启动和敏感信号列表:敏感信号列表对于进程至关重要,它是进程描述的一个重要组成部分。一般来说,如果描述的是组合电路模块,那么敏感信号列表必须包括所有的输入信号;否则,在综合时会出错,在仿真时将导致一个错误的结果。如果描述的
6、是时序电路模块,那么敏感信号列表只需要包括时钟信号和异步清零/置位信号。因为,触发器的输出只在时钟上升/下降沿才会改变。在一个结构体里可以有多个Process语句,这些Process之间可以通过一些信号相互联系。在一个Process的执行中,某个信号的值发生改变,它会导致另一个(或几个)进程的重新执行,如此构成所有进程的反复执行。5.1进程(Process)许钢许钢9/15/20206《VHDL语言与数字逻辑电路设计》第5讲VHDL顺序语句1. 信号和变量的赋值:信号的赋值语句格式:目标信号名<=表达式;例2:c<=‘1’
7、;q<=“010010”;q(1)<=‘1’;q(3downto1)<=“001”;a<=b;s<=axorb;x<=y+z;需要特别注意的是:VHDL是强类型语言,左边的信号量和右边的表达式的类型和位长度都必须一致,否则将出错。5.2进程(Process)中的顺序语句许钢许钢9/15/20207《VHDL语言与数字逻辑电路设计》第5讲VHDL顺序语句1. 信号和变量的赋值:变量的赋值语句格式:目标变量名:=表达式;例3:v:=‘1’;s:=“010010”;变量赋值的符号与信号赋值的符号不同,表达式与信号赋值的表达式写法
8、是完全一样的。变量与信号有明显的区别:变量只在定义它的进程和子程序内有效,无法传递到进程之外;而信号在定义它的结构体内有效。赋给变量的值立即成为当前值;而赋给信号的值必须在进程结束后才能成为当前值。5.2进程(Process)中的顺序语句许钢许钢9/15/20208《VHDL语言与数字逻辑电路设计》第5
此文档下载收益归作者所有