第5章VHDL基本语句(二) EDA技术与应用>课程讲义 肥工业大学彭良清 上一章 下一章
第5章 VHDL基本语句(二) 课程讲义 合肥工业大学 彭良清 上一章 下一章
上一章内容回顾 1.先看一个VHDL代码的例子 2.简单代码结构:端口定义和电路逻辑表达 3.代码文件命名 4.进程( PROCESS) 5.VHDL代码中的:Port, Sigan, Variable 6.学会简单VHDL设计的三板斧 7.ⅥHDL与C代码中的函数的区别? 8.操作符&数据类型&赋值语句 9.逻辑分支语句:F;CASE, 10.循环语句(LOOP)
上一章内容 回顾 1. 先看一个VHDL代码的例子 2. 简单代码结构:端口定义和电路逻辑表达 3. 代码文件命名 4. 进程(PROCESS) 5. VHDL代码中的:Port,Siganl,Variable 6. 学会简单VHDL设计的三板斧 7. VHDL与C 代码中的函数 的区别 ? 8. 操作符 & 数据类型 & 赋值语句 9. 逻辑分支语句:IF;CASE, 10. 循环语句(LOOP)
本章内容 7.ⅥHDL代码中的时序逻辑和组合逻辑表达 8.语句的执行时间问题 (顺序语句&并行语包) 9.基本单元电路的VHDL代码 (三态门,双向缓冲器,计数器,D触发器,译码器. 11.复杂代码结构 (子程序;元件;块;包) 12.属性定义语句 13.库的使用
本章内容 7. VHDL代码中的时序逻辑和组合逻辑表达 8. 语句的执行时间问题 (顺序语句 & 并行语句) 9. 基本单元电路的VHDL代码 (三态门,双向缓冲器,计数器,D触发器,译码器……) 11. 复杂代码结构 (子程序; 元件; 块; 包) 12. 属性定义语句 13. 库的使用
VHDL代码中的 时序逻辑和组合逻辑表达 1.不完整的 条件语句构成 时序电路 2.完整的 条件语句构成 组合逻辑电路 Q:何为 时序电路和组合逻辑电路?
VHDL代码中的 时序逻辑 和 组合逻辑表达 1. 不完整的 条件语句 构成 时序电路 2. 完整的 条件语句 构成 组合逻辑电路 ❖ Q: 何为 时序电路 和 组合逻辑电路 ?
不完整的条件语句的VHDL 1. ENTITY COMP BAD IS 2 PORT( a1 BIT BIT 4 q OUT BIT 6. END ENTITY COMP BAD 7. ARCHITECTUREone OF COMP BAd is 8. BEGIN PROCESS(a1, b1) 10 BEGIN 11 IF a1> b1 THEN 12. q1= 13. ELSIF a1< b1 THEN 请看图 14. q 15 END IF END PROCESS A END ARCHITECTURE one GG
不完整的 条件语句 的VHDL 1. ENTITY COMP_BAD IS 2. PORT ( a1 : IN BIT; 3. b1 : IN BIT; 4. q1 : OUT BIT 5. ); 6. END ENTITY COMP_BAD; 7. ARCHITECTURE one OF COMP_BAD IS 8. BEGIN 9. PROCESS(a1,b1) 10. BEGIN 11. IF a1 > b1 THEN 12. q1 <= '1'; 13. ELSIF a1 < b1 THEN 14. q1 <= '0'; 15. END IF; 16. END PROCESS; 17. END ARCHITECTURE one; 请看图
不完整的条件语句的电路图 IF a1> b1 THEN 1<=1; ELS∥Fa1<b1THEN 1<=0 END∥F; orocessr-1
不完整的 条件语句 的电路图 IF a1 > b1 THEN q1 <= '1'; ELSIF a1 < b1 THEN q1 <= '0'; END IF;
1. ENTITY COMP GOOD IS PORT( a1 BIT. BIT 345 改进的代码 q OUT BIT 6. END ENTITY COMP GOOD 7. ARCHITECTURE one OF COMP GOOD IS 8. BEGIN PROCESS(a1, b1) BEGIN 11 IFa1> b1 THEN comparing it with example 4 9, p82 1<= 13 ELSE 1<=0 15 END IF 请看 END PROCESS 7 END ARCHITECTURE one
1. ENTITY COMP_GOOD IS 2. PORT ( a1 : IN BIT; 3. b1 : IN BIT; 4. q1 : OUT BIT 5. ); 6. END ENTITY COMP_GOOD; 7. ARCHITECTURE one OF COMP_GOOD IS 8. BEGIN 9. PROCESS(a1,b1) 10. BEGIN 11. IF a1 > b1 THEN -- comparing it with example 4_9,p82 12. q1 <= '1'; 13. ELSE 14. q1 <= '0'; 15. END IF; 16. END PROCESS; 17. END ARCHITECTURE one; 改进的 代码 请看
∥Fa1>b1THEN 改进代码的电路图 q1≤=; ELSE q1<=0 END IF 请将a1,b1的 数据位数变成8位, 现察 RTL图??
改进代码的电路图 请将a1,b1的 数据位数 变成 8 位, 观察 RTL 图 ?? IF a1 > b1 THEN q1 <= '1'; ELSE q1 <= '0'; END IF;
时序逻辑之:信号边沿检测 信号边沿(或者口)触发 是 时序逻辑 的基本单元 2.那么,在VHDL中 如何 检测信号的所交?
时序逻辑之:信号边沿检测 1. 信号边沿( 或者 )触发 是 时序逻辑 的 基本单元 2. 那么,在VHDL中 如何 检测信号的跳变?
VHDL代码中的 边沿信号检测( EVENT语句) 上升沿检测 IF CLKEVENT AND CLK=1 THEN Q<= D END F 2.下降沿检测 IF CLKEVENT AND CLKE 0 THEN Q<=D; END IF: 3:更多的沿检测代码
VHDL代码中的 边沿信号检测(EVENT 语句) 1. 上升沿检测 IF CLK'EVENT AND CLK = '1' THEN Q <= D; END IF; 2. 下降沿检测 IF CLK'EVENT AND CLK = ‘0' THEN Q <= D; END IF; 3:更多的沿检测代码