EDA技术实用教程 第9章 VHDL基本语句
第9章 VHDL基本语句 EDA技术实用教程
K述列 9.1顺序语句 911赋值语句 信号赋值语句 变量赋值语句 赋值目标(赋值号)(赋值源 912IF语句
KX 康芯科技 9.1 顺序语句 9.1.1 赋值语句 9.1.2 IF 语句 信号赋值语句 变量赋值语句 赋值目标 赋值符号 赋值源
K述列 9.1顺序语句 913CASE语句 CASE语句的结构如下: CASE表达式IS when选择值→>顺序语句; when选择值→>顺序语句; END CASE
KX 康芯科技 9.1.3 CASE语句 CASE语句的结构如下: CASE 表达式 IS When 选择值 => 顺序语句; When 选择值 => 顺序语句; ... END CASE ; 9.1 顺序语句
【例9-1】 LIBRARY IEEE USE IEEE STD LOGIC 1164.ALL ENTITY mux41 Is PORT(S4, S3, S2, SI: IN STD LOGIC; z4, z, Z2, zI: OUTSTD LOGIC); END mux41 arChitECtUrE activ of mux41 IS SIGNAL Sel INTEGER RANGEOTO 15 BEGIN PROCESS(Sel, s4, S3, S2, Sl) BEGIN sek<=0; 输入初始值 IF(sI=1) THEN sel < sel+l i 接下页
接下页 【例9-1】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT (s4,s3,s2,s1 : IN STD_LOGIC; z4,z3, z2,z1 : OUT STD_LOGIC); END mux41; ARCHITECTUREactiv OF mux41 IS SIGNAL sel : INTEGER RANGE 0 TO 15; BEGIN PROCESS (sel ,s4,s3,s2,s1 ) BEGIN sel<= 0 ; -- 输入初始值 IF (s1 ='1') THEN sel <= sel+1 ;
ELSIF(s2=1)THEN Sel < sel+2 ELSIF(S3=1)THEN sel <=sel+4 ELSIF(S4=1)THEN sel<=sel+8; ELSE NULL: 注意,这里使用了空操作语句 END IF zl<='0;n<=‘0’;<-'0';z4<='0';-输入初始值 CASE sel is wIEN0→Z1<=1 当se=0时选中 WHEN13≈2<=1 当se为1或3时选中 WHEN4T072→k<'1; 当se为2、4、5、6或7时选中 WHEN OTHERS =>74<=1 当sel为8~15中任一值时选中 END CASE END PROCESS END activ
ELSIF (s2 ='1') THEN sel <= sel+2 ; ELSIF (s3 ='1') THEN sel <= sel+4 ; ELSIF (s4 ='1') THEN sel <= sel+8 ; ELSE NULL; -- 注意,这里使用了空操作语句 END IF ; z1<='0' ; z2<='0'; z3<='0'; z4<='0'; --输入初始值 CASE sel IS WHEN 0 => z1<='1' ; -- 当sel=0时选中 WHEN 13 => z2<='1' ; -- 当sel为1或3时选中 WHEN 4 To 72 => z3<='1'; -- 当sel为2、4、5、6或7时选中 WHEN OTHERS => z4<='1' ; -- 当sel为8~15中任一值时选中 END CASE ; END PROCESS; END activ;