下面的if语句显然不能实现数据类型转换器的功能.我想采用if语句实现数据类型转换器的功能,将输入的四位2进制数s4,s3, s2,s1转换为整数sel,应该怎么实现呢???
ENTITY mux41 IS
PORT (s4,s3, s2,s1 : IN STD_LOGIC;
z4,z3, z2,z1 : OUT STD_LOGIC);
END mux41;
......
signal sel:integer range 0 to 15; ......
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 ;