EDA第4章VHDL设计初步.ppt





《EDA第4章VHDL设计初步.ppt》由会员分享,可在线阅读,更多相关《EDA第4章VHDL设计初步.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章VHDL设计初步设计初步 什么是什么是VHDL?Very high speed integrated Hardware Description Language(VHDL)y是是IEEE、工业标准工业标准硬件描述语言硬件描述语言硬件描述语言硬件描述语言y用用语言的方式语言的方式语言的方式语言的方式而而非图形非图形非图形非图形等方式描述等方式描述硬件电路硬件电路硬件电路硬件电路x容易修改容易修改x容易保存容易保存【例【例4-1】ENTITY ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT );END ENTITYEND ENTIT
2、Y mux21a;ARCHITECTUREARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b ;END ARCHITECTUREEND ARCHITECTURE one;one;实体实体结构体结构体4.1 多路选择器多路选择器VHDL描述描述4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述【例例4-2】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e:
3、BIT;BEGINd=a AND(NOT S);d=a AND(NOT S);e=b AND s;e=b AND s;y=d OR e ;y=d OR e ;END ARCHITECTURE one;【例】【例】.ARCHITECTURE one OF mux21a IS BEGIN y=(a AND(NOT y=(a AND(NOT s)OR(b AND s);s)OR(b AND s);END one;【例【例4-3】ENTITY mux21a IS PORT(a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux
4、21a IS BEGIN PROCESSPROCESS (a,b,s)BEGINBEGIN IF s=0 THEN IF s=0 THEN y=a;y=a;ELSE y=b;ELSE y=b;END IF;END IF;END PROCESS;END ARCHITECTURE one;图图4-3 mux21a功能时序波形功能时序波形4.1.2 VHDL相关语句说明相关语句说明1.1.实体表达实体表达【例【例4-4】ENTITY e_name ISPORT(p_name:port_m data_type;.端口信号名端口信号名端口信号名端口信号名:端口模式端口模式端口模式端口模式 数据类型数据类
5、型数据类型数据类型);END ENTITY e_name;2.2.实体名实体名不能用不能用数字开头数字开头定义实体名;定义实体名;不能用不能用中文中文定义实体名定义实体名3.PORT语句语句(包括(包括端口信号名:端口信号名:端口模式端口模式端口模式端口模式,数据类型,数据类型)4.4.端口模式端口模式INOUTINOUTBUFFER5.5.数据类型数据类型BIT主要包括:主要包括:Integer(整数)整数);Boolean(布尔布尔);STD_LOGIC(标准标准逻辑位逻辑位逻辑位逻辑位数据类型);数据类型);BIT(位位位位数据类型数据类型)BIT数据类型的信号数据类型的信号规定的规定的
6、取值范围取值范围取值范围取值范围是是逻辑位逻辑位0、1。在。在VHDL中,逻辑位中,逻辑位0、1 必须加必须加单引号单引号单引号单引号,否则被认定为,否则被认定为整数数据类型整数数据类型整数数据类型整数数据类型。6.6.结构体表达结构体表达ARCHITECTUREARCHITECTURE arch_namearch_name OF e_name IS OF e_name IS (说明语句说明语句说明语句说明语句)BEGINBEGIN (功能描述语句功能描述语句功能描述语句功能描述语句)END END arch_namearch_name ;7.7.7.7.信号传输信号传输信号传输信号传输(赋值
7、赋值赋值赋值)符号符号符号符号赋值操作赋值操作赋值操作赋值操作y=ay=a并非立即发生的,而要经过一个并非立即发生的,而要经过一个并非立即发生的,而要经过一个并非立即发生的,而要经过一个模拟器模拟器模拟器模拟器的的的的最小分辨时间后,才将最小分辨时间后,才将最小分辨时间后,才将最小分辨时间后,才将a a的值赋给的值赋给的值赋给的值赋给y y。赋值符赋值符赋值符赋值符=两边的信号的两边的信号的两边的信号的两边的信号的数据类型数据类型数据类型数据类型必须一致。必须一致。必须一致。必须一致。8.8.8.8.逻辑操作符逻辑操作符逻辑操作符逻辑操作符ANDAND(与);与);与);与);OROR(或);
8、或);或);或);NOTNOT(非);非);非);非);NANDNAND(与非与非与非与非););););NORNOR(或非);或非);或非);或非);XORXOR(异或);异或);异或);异或);XNORXNOR(同或)同或)同或)同或)9.9.IF_THENIF_THEN条件语句条件语句条件语句条件语句IF s=0 THENIF s=0 THEN y=a;y=a;ELSE y=b;ELSE y=b;END IF;END IF;10.WHEN_ELSE条件信号赋值语句条件信号赋值语句条件信号赋值语句条件信号赋值语句赋值目标赋值目标 =表达式表达式 WHEN 赋值条件赋值条件 ELSE 表达式
9、表达式 WHEN 赋值条件赋值条件 ELSE .表达式表达式;11.11.PROCESSPROCESS进程语句和顺序语句进程语句和顺序语句进程语句和顺序语句进程语句和顺序语句PROCESS PROCESS(a a,b b,s s)只要只要只要只要敏感信号敏感信号敏感信号敏感信号a a、b b、s s某一个发生变化,将某一个发生变化,将某一个发生变化,将某一个发生变化,将启动启动启动启动此进程;此进程;此进程;此进程;执行一遍后,便进入执行一遍后,便进入执行一遍后,便进入执行一遍后,便进入等待等待等待等待状态。状态。状态。状态。4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象4.2.
10、1 D触发器的触发器的VHDL描述描述【例【例4-6】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 IS PORT(CLK:IN STD_LOGIC;D:IN STD_LOGIC;Q:OUT STD_LOGIC);END DFF1;ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1:STD_LOGIC;-定义一个数据的定义一个数据的暂存节点暂存节点暂存节点暂存节点 BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 IF CLKEVENT AND CLK=1 THEN Q
11、1=D;THEN Q1=D;END IF;END IF;Q=Q1;-将内部的将内部的暂存数据暂存数据暂存数据暂存数据向端口输出向端口输出 END PROCESS;END bhv;D触发器触发器4.2.2 D触发器触发器VHDL描述的语言现象说明描述的语言现象说明1.标准标准逻辑位逻辑位逻辑位逻辑位数据类型数据类型STD_LOGICBIT数据类型数据类型数据类型数据类型定义:定义:TYPE BIT IS(0,1);STD_LOGIC数据类型数据类型数据类型数据类型定义:定义:TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-);STD_LOGIC所定义的所定义的9种数据的含
12、义是种数据的含义是:U表示未初始化的;表示未初始化的;X表示强未知的表示强未知的;0表示强表示强逻辑逻辑0;1表示强逻辑表示强逻辑1;Z表示高阻态表示高阻态;W 表示弱未知的;表示弱未知的;L表示弱逻辑表示弱逻辑0;H表示弱逻辑表示弱逻辑1;-表示忽略。表示忽略。可综合的,常用可综合的,常用不可综合的,不常用不可综合的,不常用2.2.设计库和标准程序包设计库和标准程序包3.3.SIGNAL信号信号定义和数据对象定义和数据对象SIGNAL Q1SIGNAL Q1 :STD_LOGICSTD_LOGIC;前前前前者者者者:规规定定的的数数数数据据据据对对对对象象象象是是是是信信号号,表表示示Q1的
13、的行行行行为为为为方方方方式式式式和功能特点和功能特点和功能特点和功能特点;后后后后者者者者:表表示示数数数数据据据据类类类类型型型型是是STD_LOGICSTD_LOGIC,限限定定了了Q1的的取值范围取值范围取值范围取值范围。使用库和程序包的一般定义表式是:使用库和程序包的一般定义表式是:LIBRARY ;-表示表示打开打开打开打开设计库设计库USE .ALL ;-允允许许使使用用设设设设计计计计库库库库中中程序包程序包程序包程序包中的所有内容中的所有内容4.上升沿检测上升沿检测上升沿检测上升沿检测表式和表式和信号属性函数信号属性函数信号属性函数信号属性函数EVENT 关关键键词词EVEN
14、T是是信信信信号号号号属属属属性性性性,VHDL通通过过以以下下表表式式来来测测定定某信号的某信号的跳变边沿跳变边沿跳变边沿跳变边沿:EVENTEVENT5.5.不完整不完整条件语句条件语句条件语句条件语句与与时序电路时序电路时序电路时序电路【例【例4-7】ENTITY COMP_BAD IS PORT(a1 :IN BIT;b1 :IN BIT;q1 :OUT BIT);END COMP_BAD;ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS(a1,b1)BEGIN IF a1 b1 THEN q1=1;ELSIF a1 b1 THEN q1=0E
15、LSIF a1 b1 THEN q1 b1 THEN q1 b1 THEN q1=1;ELSE q1=0;ELSE q1=0;END IF;END PROCESS;END one;修改后的修改后的条件语句条件语句条件语句条件语句与与时序电路时序电路时序电路时序电路4.2.3 实现时序电路的实现时序电路的VHDL不同表达方式不同表达方式【例【例4-9】.PROCESS(CLK)BEGINIF CLKEVENT AND(CLK=1)AND(CLKLAST_VALUE=0)IF CLKEVENT AND(CLK=1)AND(CLKLAST_VALUE=0)THEN Q=D;-确保确保CLKCLK的变
16、化的变化的变化的变化是一次是一次上升沿上升沿上升沿上升沿的跳变的跳变 END IF;END PROCESS;【例【例4-10】.PROCESS(CLK)BEGINIF CLK=1 AND CLKLAST_VALUE=0IF CLK=1 AND CLKLAST_VALUE=0 THEN Q=D;END IF;END PROCESS;【例4-12】.PROCESS BEGIN wait until CLK=1wait until CLK=1 ;-利用利用waitwait语句语句语句语句 Q=D;END PROCESS;【例4-13】PROCESS(CLK)BEGIN IF CLK=1 THEN Q
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA VHDL 设计 初步

限制150内