EDA(第3讲)第3章VHDL入门.ppt
《EDA(第3讲)第3章VHDL入门.ppt》由会员分享,可在线阅读,更多相关《EDA(第3讲)第3章VHDL入门.ppt(40页珍藏版)》请在三一办公上搜索。
1、1,VHDL进阶,本讲要点:VHDL程序运行机制:并行语句和顺序语句process语句If语句 时钟边沿 同步和异步,2,3.2 简单时序电路的VHDL描述,让我们继续学习硬件描述语言,3,VHDL程序运行机制,architecture one of mux21b issignal c,e:bit;begin process(a,b,d)begin c=a+b;e=d;end process;f=c;g=d;h=c+d;end architecture one;,4,VHDL程序运行机制,architecture one of mux21b issignal c,e:bit;begin pro
2、cess(a,b,d)begin c=a+b;e=d;end process;f=c;g=d;h=c+d;end architecture one;,5,并行语句和顺序语句,电路逻辑功能的描述分为:并行语句和顺序语句两种。,顺序语句:按照语句的先后排列顺序执行。,并行语句:并行执行语句,与语句的书写顺序无关。,用在结构体语句中,用在进程语句中,6,进程语句,进程标号:PROCESS(敏感信号参数表)IS 进程说明部分 BEGIN 顺序描述语句 END PROCESS 进程标号;,7,PROCESS语句结构,进程说明,顺序描述语句,敏感信号参数表,信号赋值语句,变量赋值语句,进程启动语句,子程序
3、调用语句,顺序描述语句,进程跳出语句,PROCESS 组成,8,进程要点,1.进程PROCESS为一无限循环语句,2.进程PROCESS内部必须用顺序语句,顺序语句 也必须用在进程PROCESS内,3.进程必须由敏感信号的变化来启动,4.进程语句本身是并行语句,9,5.信号是多个进程间的通信线,6.一个进程中只允许描述对应于一个时钟信号的同 步时序逻辑,10,【例3-5】D触发器:DFF1.VHDLIBRARY IEEE;ENTITY DFF1 IS PORT(CLK:IN STD_LOGIC;D:IN STD_LOGIC;Q:OUT STD_LOGIC);END DFF1;ARCHITECT
4、URE bhv OF DFF1 IS SIGNAL Q1:STD_LOGIC;-类似于在芯片内部定义一个数据 的暂存节点 BEGIN PROCESS(CLK,Q1)BEGIN IF CLKEVENT AND CLK=1 THEN Q1=D;END IF;END PROCESS;Q=Q1;-将内部的暂存数据向端口输出 END bhv;,图3-4 D触发器,11,VHDL描述的语言现象说明,1.标准逻辑位数据类型STD_LOGIC,BIT数据类型定义:TYPE BIT IS(0,1);-只有两种取值STD_LOGIC数据类型定义:TYPE STD_LOGIC IS(U,X,0,1,Z,W,L,H,
5、-);-9种,12,2、库和程序包,1.IEEE,2.STD,3.WORK,4.VITAL,STD_LOGIC_1164;STD_LOGIC_ARITH;STD_LOGIC_UNSIGNED;STD_LOGIC_SIGNED,STANDARD;TEXTIO,YOUR LIBRARY,VITAL_TIMING VITAL_PRIMITIVES,13,库的用法:P289,LIBRARY;USE.ALL;,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;,14,3.信号定义和数据对象,EVENT,4.上升沿检测表达式和信号属性函数EVENT,5.不完整条件语句与时序
6、电路,SIGNAL Q1:STD_LOGIC;,CLKEVENT AND CLK=1,15,【例3-6】不完整的IF语句ENTITY COMP_BAD IS PORT(a1,b1:IN BIT;q1:OUT BIT);END;ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS(a1,b1)BEGIN IF a1 b1 THEN q1=1;ELSIF a1 b1 THEN q1=0;-未提及当a1=b1 时,q1作何操作 END IF;END PROCESS;END;,16,图3-5 例3-6的电路图(Synplify综合),17,图3-6 例3-7的电路
7、图(Synplify综合),【例3-7】完整的IF语句.IF a1 b1 THEN q1=1;ELSE q1=0;END IF;.,18,If-then 语法,(1),IF 条件 THEN 顺序处理语句1;顺序处理语句2;END IF;,例:IF(a=1)THEN c=b;d=e;END IF;,19,If-then-else 语法,IF 条件 THEN 语句1;语句2;。ELSE 语句1;语句2;。END IF;,(2),ARCHITECTURE rtl OF mux2 ISBEGIN PROCESS(a,b,sel)BEGIN IF(sel=1)THEN c=a;ELSE c=b;END
8、IF;END PROCESS;END rtl;,20,If-then-elsif-else 语法,IF 条件1 THEN 语句1;语句2;。ELSIF 条件2 THEN 语句1;语句2;。ELSE 语句1;语句2;。END IF;,(3),21,IF语句不仅可以用于选择器的设计,而且还可以用于比较器、译码器等凡是可以进行条件控制的逻辑电路设计。需要注意的是,IF语句的条件判断输出是布尔量,即是“真”(TRUE)或“假”(FALSE)。因此在IF语句的条件表达式中只能使用关系运算操作(=,/=,=)及逻辑运算操作的组合表达式。,22,时钟信号,任何时序电路都以时钟信号为驱动信号,时序电路仅在时钟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA VHDL 入门
链接地址:https://www.31ppt.com/p-6504882.html