VHDL语言描述语句【爆款】.ppt
文本预览下载声明
(2)用作选择控制时的IF语句书写格式为 IF (条件) THEN 顺序处理语句1; ELSE 顺序处理语句2; END IF; PROCESS(a,b,en) BEGIN IF (en=1) THEN c=a; ELSE c=b; END IF; END PROCESS; ., * (3)用作多选择控制时的IF语句书写格式为 IF 条件1 THEN 顺序处理语句1; ELSIF 条件2 THEN 顺序处理语句2; ┆ ELSIF 条件N-1 THEN 顺序处理语句N-1; ELSE 顺序处理语句N; END IF; ., * LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT( input:IN STD_LOGIC_VECTOR(3 DOWNTO 0); en:IN STD_LOGIC_VECTOR(1 DOWNTO 0); y:OUT STD_LOGIC); END mux4; ARCHITECTURE aa OF mux4 IS BEGIN PROCESS(input,en) BEGIN IF (en=00) THEN y=input(0); ELSIF (en=01) THEN y=input(1); ELSIF (en=10) THEN y=input(2); ELSE y=input(3); END IF; END PROCESS; END aa; 例2(例5-9)四选一数据选择器 ., * IF语句应用例2 8-3优先编码器(74HC148) ., * 课堂练习—1 模10计数器; N位移位寄存器(右移); 作业1: (1)、N位移位寄存器(左移); (2)、通用模n计数器; CLK D Q C D Q C D Q C q3 q2 q1 D Q C q0 d ., * IF 语句使用总结 If语句必须要有else,尤其组合逻辑 嵌套计数不能太多,否则关键路径会很长,会严重影响性能; 分支较多的if应想办法采用case代替; If条件判断不能太长,若逻辑比较复杂,尽量用新产生信号代替; 注意if的优先级; 尽量不使用 、、=、=比较符。 ., * 4、CASE语句 CASE语句的一般格式为: CASE 表达式 IS WHEN 值1= 多条赋值语句; WHEN 值2= 语句2; WHEN OTHERS = 语句3(null、unaffected); END CASE; 当需要对多个条件进行判断时: (1)、WHEN 值= 语句; --单个值 (2)、WHEN 值 | 值 | 值 |…| 值=语句;--多个值的“或” (3)、WHEN 值 TO 值=语句; --取值范围,枚举 ., * 例5-10 用CASE语句描述4选1电路。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT(s1,s2,a,b,c,d:IN STD_LOGIC; z:OUT STD_LOGIC); END mux4; ARCHITECTURE a OF mux4 IS SIGNAL s :STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN S= S1 S2 ; PROCESS(s1,s2,a,b,c,d) BEGIN CASE S IS WHEN “00”=Z=a;
显示全部