《VHDL并行语句》PPT课件.ppt
《《VHDL并行语句》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VHDL并行语句》PPT课件.ppt(36页珍藏版)》请在三一办公上搜索。
1、六、VHDL语言的并行语句,1、并行信号赋值语句,4、进程语句,3、块语句,2、条件信号赋值语句,5、元件例化语句,6、生成语句,7、并行过程调用语句,结构体,结构体中的并行语句模块,1、并行信号赋值语句,赋值目标=表达式,例 ARCHITECTURE curt OF bc1 ISSIGNAL s1,e,f,g,h:STD_LOGIC;BEGIN output1=a AND b;output2=c+d;g=e OR f;h=e XOR f;s1=g;END ARCHITECTURE curt;,2、条件信号赋值语句,赋值目标=表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 E
2、LSE.表达式;,例 ENTITY mux IS PORT(a,b,c:IN BIT;p1,p2:IN BIT;z:OUT BIT);END;ARCHITECTURE behv OF mux IS BEGIN z=a WHEN p1=1 ELSE b WHEN p2=1 ELSE c;END;,选择信号赋值语句,WITH 选择表达式 SELECT 赋值目标信号=表达式 WHEN 选择值,表达式 WHEN 选择值,.,表达式 WHEN 选择值;,例.WITH selt SELECTmuxout=a WHEN 0|1,-0或1 b WHEN 2 TO 5,-2或3,或4或5 c WHEN 6,d
3、WHEN 7,Z WHEN OTHERS;.,3、块语句,块标号:BLOCK(块保护表达式)接口说明;类属说明;BEGIN 并行语句;END BLOCK 块标号;,与大部分的VHDL语句不同,BLOCK语句的应用,包括其中的类属说明和端口定义,都不会影响对原结构体的逻辑功能的仿真结果。,例.b1:BLOCK SIGNAL s1:BIT;BEGIN S1=a AND b;b2:BLOCK SIGNAL s2:BIT;BEGIN s2=c AND d;b3:BLOCK BEGIN Z=s2;END BLOCK b3;END BLOCK b2;y=s1;END BLOCK b1;.,4、进程语句,进
4、程标号:PROCESS(敏感信号参数表)IS 进程说明部分 BEGIN 顺序描述语句;END PROCESS 进程标号;,PROCESS语句结构的一般表达格式如下,在一个结构体中多个PROCESS语句可以同时并发运行,而进程内部语句之间是顺序关系。PROCESS语句在VHDL程序中,是描述硬件并行工作行为的最常用、最基本的语句。,PROCESS 组成,PROCESS语句结构,进程说明,顺序描述语句,敏感信号参数表,信号赋值语句,变量赋值语句,进程启动语句,子程序调用语句,顺序描述语句,进程跳出语句,(1)进程说明部分主要定义一些局部量,可包括数据类型、常数、属性、子程序等。但需注意,在进程说明
5、部分中不允许定义信号和共享变量。,(2)顺序描述语句部分可分为赋值语句、进程启动语句、子程序调用语句、顺序描述语句和进程跳出语句等。,(3)为启动进程,在进程中必须包含有一个显式的敏感信号量表或者包含一个WAIT语句;敏感信号表应当紧跟在PROCESS之后,含有敏感信号表的进程语句中不允许再显式出现WAIT语句。,说明,1.PROCESS为一无限循环语句,2.PROCESS语句具有顺序/并行运行双重性,3.进程必须由敏感信号的变化来启动,4.信号是多个进程间的通信线,PROCESS语句特点,5.一个进程中只允许描述对应于一个时钟信号的同步时序逻辑,例:ENTITY mul ISPORT(a,b
6、,c,selx,sely:IN BIT;data_out:OUT BIT);END mul;ARCHITECTURE ex OF mul IS SIGNAL temp:BIT;BEGINp_a:PROCESS(a,b,selx)BEGIN IF(selx=0)THEN temp=a;ELSE temp=b;END IF;END PROCESS p_a;p_b:PROCESS(temp,c,sely)BEGIN IF(sely=0)THEN data_out=temp;ELSE data_out=c;END IF;END PROCESS p_b;END ex;,上例的综合结果,例:LIBRARY
7、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT(CLR:IN STD_LOGIC;IN1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);OUT1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY CNT10;ARCHITECTURE ART OF CNT10 IS BEGIN PROCESS(IN1,CLR)IS BEGIN IF(CLR=1 OR IN1=1001)THEN OUT1=0000;-有清零信号,或计
8、数已达9,OUT1输出0 ELSE-否则作加1操作 OUT1=IN1+1;-注意,使用了重载算符+,重载算符+是在库 ENG IF;-STD_LOGIC_UNSIGNED中预先声明的END PROCESS;END ARCHITECTURE ART;,组合电路型十进制加法器CNT10综合后的RTL硬件结构图,一般用于组合电路进程模式,_进程标记:PROCESS(_信号名,_信号名,_信号名)VARIABLE _变量名:STD_LOGIC;VARIABLE _变量名:STD_LOGIC;BEGIN-指定信号-指定变量-过程调用-如果语句-CASE语句-循环语句END PROCESS _进程标记;,
9、用于时序电路进程模式,_进程标记:PROCESS(_信号名,_信号名,_信号名)VARIABLE _变量名:STD_LOGIC;VARIABLE _变量名:STD_LOGIC;BEGINWAIT UNTIL _时钟信号=1;或 CLK event and CLK=1-指定信号-指定变量-过程调用-如果语句-CASE语句-循环语句END PROCESS _进程标记;,5、元件例化语句,例化名:元件名 PORT MAP(-元件例化语句 端口名=连接端口名,.);,元件例化就是将预先设计好的设计实体定义为一个元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引入一
10、个新的低一级的设计层次。,COMPONENT 元件名 IS GENERIC(类属表);-元件定义语句 PORT(端口名表);END COMPONENT 文件名;,元件定义(声明)语句,元件例化语句,例:利用元件例化语句设计如下所示电路,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ND2 ISPORT(A,B:IN STD_LOGIC;C:OUT STD_LOGIC);END ENTITY ND2;ARCHITECTURE ARTND2 OF ND2 ISBEGIN CC1,C=S2,B=D1);-名字关联方式 U3:ND2 PORT MAP(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL并行语句 VHDL 并行 语句 PPT 课件
链接地址:https://www.31ppt.com/p-5577295.html