EDA技术及应用第四章VHDL设计初步.ppt
《EDA技术及应用第四章VHDL设计初步.ppt》由会员分享,可在线阅读,更多相关《EDA技术及应用第四章VHDL设计初步.ppt(58页珍藏版)》请在三一办公上搜索。
1、EDA技术及应用,主讲:牛军浩,第四章 VHDL设计初步,4.1 多路选择器的VHDL描述4.2 寄存器描述及其VHDL语言现象4.3 1位二进制全加器的VHDL描述4.4 计数器设计4.5 一般加法计数器设计,教学目的,通过简单、完整而典型的VHDL设计示例,初步了解用VHDL表达和设计电路的方法。,4.1 多路选择器的VHDL描述,2选1多路选择器的示意图和真值表,a,b,y,s,0,1,当s=0时,y=a当s=1时,y=b,4.1 多路选择器的VHDL描述,2.2选1多路选择器实现原理图形输入法,0,0,1,y=a,0,a,1,1,0,y=b,b,0,4.1 多路选择器的VHDL描述,2
2、.2选1多路选择器实现VHDL文本输入法1,实体,结构体,实体名称,端口名称,流动方向,数据类型,结构体名,功能描述,4.1 多路选择器的VHDL描述,2.2选1多路选择器实现VHDL文本输入法2,实体,结构体,4.1 多路选择器的VHDL描述,2.2选1多路选择器实现VHDL文本输入法3,实体,结构体,4.1 多路选择器的VHDL描述,3.相关语句结构和语法实体表达结构,ENTITY、IS、PORT、END都是描述实体的关键词,不分大写小写,但是为了便于阅读,一般在设计中将关键词使用大写,自定义使用小写。,4.1 多路选择器的VHDL描述,3.相关语句结构和语法实体名称,实体名表达的是该设计
3、电路的器件名,通常根据相应电路的功能来确定。不能用数字或中文、不能与工具库中已定义的元件名、不能数字开头。,4.1 多路选择器的VHDL描述,3.相关语句结构和语法实体名称举例,mux4174LS04 and2adder4bnot4输入与门,4.1 多路选择器的VHDL描述,3.相关语句结构和语法端口语句和名称,端口以PORT();来引导端口模式有:IN、OUT、INOUT、BUFFER数据类型有:BOOLEAN、BIT、INTEGER、CHAR型等,4.1 多路选择器的VHDL描述,3.相关语句结构和语法结构体表达结构,ARCHITECTURE、OF、IS、BEGIN、END都是描述结构体的
4、关键词。功能描述语句:并行语句,顺序语句并行语句:WHEN_ELSE,逻辑操作赋值顺序语句:IF_THEN_ELSE,功能描述语句,4.1 多路选择器的VHDL描述,3.相关语句结构和语法文件名称,使用VHDL语句编写:后缀是.vhd使用Verilog HDL语句编写:后缀是.v使用原理图输入设计:后缀是.gdf,文件名称建议和实体名称相同,4.1 多路选择器的VHDL描述,4.思考,y=ab+c,_,思考1:画出真值表,_,4.1 多路选择器的VHDL描述,4.思考,y=ab+c,_,思考2:使用原理图方式实现上式功能,4.1 多路选择器的VHDL描述,4.思考,y=ab+c,_,思考3:使
5、用VHDL实现上式功能,4.1 多路选择器的VHDL描述,5.赋值符号,Y=(a AND(NOT s)or(b AND s),赋值符号,4.1 多路选择器的VHDL描述,6.各种表达式的比较-布尔逻辑表达式,y=(a AND(NOT s)OR(b AND s),4.1 多路选择器的VHDL描述,6.各种表达式的比较-条件赋值表达式,y=a WHEN s1=0 ELSE b;,赋值目标=表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE 表达式;,4.1 多路选择器的VHDL描述,7.各种表达式的比较-IF_THEN_ELSE表达,I
6、F(s=0)THEN y=a;ELSE y=b;END IF;,IF 条件表达式 THEN 赋值语句;ELSIF 条件表达式 THEN 赋值语句;ELSIF 条件表达式 THEN 赋值语句;ELSE 条件表达式;END IF;,4.1 多路选择器的VHDL描述,8.小结,4.1 节中主要通过多路选择器的实现过程,学习了VHDL描述的基本语言结构,以及组合逻辑电路的功能描述方法布尔逻辑表达式WHEN_ELSE条件表达式IF_THEN_ELSE表达式,4.2 寄存器描述及其VHDL语言,1.教学目的,通过D触发器的VHDL实现过程,学习时序电路的VHDL描述方法。,4.2 寄存器描述及其VHDL语
7、言,2.D触发器的功能描述,当CP=0时,触发器不工作,处于维持状态。当CP=1时,它的功能如下:当D=0时,次态=0,当D=1时,次态=1。,4.2 寄存器描述及其VHDL语言,3.VHDL实现,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff1 ISPORT(clk:IN STD_LOGIC;d:IN STD_LOGIC;q:OUT STD_LOGIC);END dff1;ARCHITECTURE bhv OF dff1 ISSIGNALq1:STD_LOGIC;BEGIN PROCESS(clk,q1)BEGINIF CLKEVENT
8、 AND CLK=1 THEN q1=d;END IF;END PROCESS;q=q1;END bhv;,引用库,数据类型,内部节点,时钟条件,4.2 寄存器描述及其VHDL语言,4.VHDL实现引用库,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;,LIBRARY 设计库名称;USE 设计库.程序包名.ALL;,数据类型、函数等放在设计库中和程序包中。,因为使用了STD_LOGIC的数据类型,而该数据类型放置在设计库IEEE的STD_LOGIC_1164程序包中,所以在使用前需要先申明。,4.2 寄存器描述及其VHDL语言,4.VHDL实现数据类型,PO
9、RT(clk:IN STD_LOGIC;d:IN STD_LOGIC;q:OUT STD_LOGIC);,BIT的定义:TYPE BIT IS(0,1);,STD_LOGIC的定义:TYPE STD_LOGIC IS(U,X,0,1,Z,W,L,H,-),4.2 寄存器描述及其VHDL语言,4.VHDL实现信号定义(内部节点),SIGNALq1:STD_LOGIC;,不必定义端口模式(如IN、OUT)目的是为了设计更大的时序电路,q,q1,X1,PORT(clk:IN STD_LOGIC;d:IN STD_LOGIC;q:OUT STD_LOGIC);,q=q1;,4.2 寄存器描述及其VHD
10、L语言,4.VHDL实现时钟表达式,IF clkEVENT AND clk=1,检测时钟信号的上升沿表示clk信号有变化,并且变化后为1,4.2 寄存器描述及其VHDL语言,4.VHDL实现存储功能的产生,不完整的条件语句实现存储功能元件如果是完整的条件语句,则只能构成逻辑电路,IF clkEVENT AND clk=1THEN q1=d;END IF;,4.2 寄存器描述及其VHDL语言,5.实现时序电路的不同描述,IF(clkEVENT)AND(clk=1)AND(clkLAST_VALUE=0),IF(clk=1)AND(clkLAST_VALUE=0),IF rising_edge(c
11、lk)-STD_LOGIC_1164定义,Wait until clk=1;,4.2 寄存器描述及其VHDL语言,6.同步时序电路和异步时序电路,移位寄存器,二进制计数器,只需一个时钟进程,需两个时钟进程,4.2 寄存器描述及其VHDL语言,6.同步时序电路和异步时序电路,PROCESS(clk)BEGIN*END PROCESS;PROCESS(q)BEGIN*END PROCESS;,4.3 1位二进制全加器的VHDL描述,1.半加器功能描述,全加器可由两个半加器和一个或门构成半加器是最简单的加法器,把2个1位二进制数相加,不考虑低位的进位,产生一个2位和,和的低位叫半加和,高位叫半加进位
12、半加器由一个与门,一个或门和一个异或门构成,4.3 1位二进制全加器的VHDL描述,2.半加器真值表及电路图,co=a AND b,so=a XOR b,4.3 1位二进制全加器的VHDL描述,3.半加器VHDL描述方法布尔表达式,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END h_adder;ARCHITECTURE a OF h_adder ISBEGINco=a AND b;so=a XOR b;END a;,4.3 1位二进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 应用 第四 VHDL 设计 初步
链接地址:https://www.31ppt.com/p-5428628.html