赋值语句变量赋值与信号赋值的区别:口信号具有全局特征,它不但可以作为一个设计实体内部各单元之间数据传输的载体,而且可通过信号与其他的实体进行通信。口信号的赋值并不是立即发生的,它发生在一个进程结束时。口信号赋值符号为:"<=
赋值语句 变量赋值与信号赋值的区别: 信号具有全局特征,它不但可以作为一个设计实体 内部各单元之间数据传输的载体,而且可通过信号与 其他的实体进行通信。 信号的赋值并不是立即发生的,它发生在一个进程 结束时。 信号赋值符号为:“<=”
p787.1.2JIF语句(4)IF条件句THEN顺序语句(1)IF条件句THEN条件句THENELSEIF顺序语句ENDIF;...ELSE顺序语句(2)IF条件句THENENDIF顺序语句-任一分支的执行条件,是以上ELSE各分支所确定条件的与逻辑(相顺序语句关条件同时成立)。即语句中顺END IF;序语句的执行条件具有向上相与的功能。(3)IF条件句THENIF条件句THEN注意:ENDIF判别条件句的表达式结果的数ENDIF据类型是Boolean
(1)IF 条件句 THEN 顺序语句 END IF ; (2)IF 条件句 THEN 顺序语句 ELSE 顺序语句 END IF ; (3)IF 条件句 THEN IF 条件句 THEN . END IF END IF (4)IF 条件句 THEN 顺序语句 ELSE IF 条件句 THEN . ELSE 顺序语句 END IF -任一分支的执行条件,是以上 各分支所确定条件的与逻辑(相 关条件同时成立)。即语句中顺 序语句的执行条件具有向上相与 的功能。 注意: 判别条件句的表达式结果的数 据类型是Boolean 7.1.2 IF 语句 p78
IF语句表3-28线-3线优先编码器真值表出输入输dinodinldin3din4din5din6din7out2din2outooutl0000XxxxxXX001XXAXXX0-01XxXX00111xXXX00011XXx00111Xx001111-1X
表3-2 8线-3线优先编码器真值表 输 入 输 出 din0 din1 din2 din3 din4 din5 din6 din7 out0 out1 out2 x x x x x x x 0 0 0 0 x x x x x x 0 1 1 0 0 x x x x x 0 1 1 0 1 0 x x x x 0 1 1 1 1 1 0 x x x 0 1 1 1 1 0 0 1 x x 0 1 1 1 1 1 1 0 1 x 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 注:表中的“x”为任意,类似VHDL中的“-”值。 IF语句
(例3-32】8线一3线优先编码器LIBRARYIEEEUSEIEEE.STDLOGIC1164.ALL;ENTITYcoderISPORT ( din : IN STD LOGIC_VECTOR(O TO 7);output:OUT STD_LOGIC_VECTOR(0 TO2) );END coder;ARCHITECTUREbehavOFcoderISSIGNAL SINT : STD LOGIC_ VECTOR(4 DOWNTO 0);BEGINPROCESS (din)BEGINIF (din(7)='0") THEN output<="000";ELSIF(din(6)='0')THENoutput<="100"ELSIF(din(5)=0')THEN output<="010";ELSIF(din(4)-'0')THEN output<="110" ;ELSIF(din(3)-'0')THENoutput<="001"ELSIF(din(2)='0')THEN output<="101"ELSIF(din(1)-'0')THENoutput<="011"ELSEoutput<="111"ENDIF;ENDPROCESS;END behav;
顺序条件语句IF语句 【例3-32】8线-3线优先编码器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7); output : OUT STD_LOGIC_VECTOR(0 TO 2) ); END coder; ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS (din) BEGIN IF (din(7)='0') THEN output <= "000" ; ELSIF (din(6)='0') THEN output <= "100" ; ELSIF (din(5)='0') THEN output <= "010" ; ELSIF (din(4)='0') THEN output <= "110" ; ELSIF (din(3)='0') THEN output <= "001" ; ELSIF (din(2)='0') THEN output <= "101" ; ELSIF (din(1)='0') THEN output <= "011" ; ELSE output <= "111" ; END IF ; END PROCESS ; END behav;
7.1.3CASE语句CASE语句的结构如下:CASE表达式IS顺序语句;When选择值=VWhen选择值=>川选择值可以有四种不同的表达方式:>单个普通数值,如6。.END CASE ;>数值选择范围,如(2TO4),表示取值为2、3或4。多条件选择值的一般表达>并列数值,如35,表示取值为3或为:者5。一混合方式,以上三种方式的混合。选择值「|选择值】
7.1.3 CASE语句 CASE语句的结构如下: CASE 表达式 IS When 选择值 => 顺序语句; When 选择值 => 顺序语句; . END CASE ; 多条件选择值的一般表达式 为: 选择值 [ |选择值 ] 选择值可以有四种不同的表达方式: 单个普通数值,如6。 数值选择范围,如(2 TO 4),表示 取值为2、3或4。 并列数值,如35,表示取值为3或 者5。 混合方式,以上三种方式的混合