EDA 第四章 VHDL设计初步课件

上传人:我*** 文档编号:142091645 上传时间:2020-08-16 格式:PPT 页数:40 大小:739.50KB
返回 下载 相关 举报
EDA 第四章 VHDL设计初步课件_第1页
第1页 / 共40页
EDA 第四章 VHDL设计初步课件_第2页
第2页 / 共40页
EDA 第四章 VHDL设计初步课件_第3页
第3页 / 共40页
EDA 第四章 VHDL设计初步课件_第4页
第4页 / 共40页
EDA 第四章 VHDL设计初步课件_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《EDA 第四章 VHDL设计初步课件》由会员分享,可在线阅读,更多相关《EDA 第四章 VHDL设计初步课件(40页珍藏版)》请在金锄头文库上搜索。

1、第四章 VHDL设计初步,概述 VHDL程序基本结构 VHDL文本输入设计的基本方法 VHDL程序设计举例,4.1 VHDL概述,4.1.1 常用硬件描述语言 常用硬件描述语言:VHDL和Verilog (1) 逻辑描述层次由高到低依次为:行为级、RTL级和门电路级 VHDL语言:(行为级和RTL级) 最适于描述电路的行为 Verilog语言:(RTL级和门电路级) 最适于描述门级电路,4.1 VHDL概述,(2) 设计要求: VHDL: 可以不了解电路的结构细节,设计者所做的工作较少; Verilog: 需了解电路的结构细节,设计者需做大量的工作。,4.1 VHDL概述,4.1.2 VHDL

2、的特点 超高速集成电路硬件描述语言( Very High Speed Integrated Circuit Hardware Description Language) IEEE 、工业标准 高级的硬件行为描述语言 尤其适合描述大的或者复杂的设计,VHDL 用于描述: -输入端口 -输出端口 -电路的行为和功能 VHDL有过两个标准: -IEEE Std 1076-1987 (called VHDL 1987) -IEEE Std 1076-1993 (called VHDL 1993),4.1 VHDL概述,4.1 VHDL概述,4.1.3 VHDL程序设计约定 (1)对于VHDL的编译器和

3、综合器来说,程序文字的大小写是不加区分的。书中关键词用大写,用户自定义名称用小写。 (2)程序中的注释使用双横线“-”。在VHDL程序中,“-”后的文字都不参加编译和综合。 (3)为了便于程序的阅读与调试,书写和输入程序时,使用层次缩进格式。,4.2 VHDL程序基本结构,4.2.1 1位半加器的VHDL描述 a,二进制输入信号 b,二进制输入信号 s,输出信号,相加和 c,输出信号,进位,1位半加器,1位半加器逻辑原理图,1位半加器,VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(a,b:IN

4、 STD_LOGIC; c,s:OUT STD_LOGIC); END ENTITY h_adder ;,- IEEE库的使用说明,- 程序包,实体h_adder说明,1位半加器,- 实体h_adder的结构体behav的说明 ARCHITECTURE behav OF h_adder IS BEGIN s=(a OR b) AND (a NAND b); c=NOT (a NAND b); END ARCHITECTURE behav ;,端口赋值/信号传输,1位半加器,1位半加器有一个设计实体h_adder ,包括: 库和程序包的使用说明、实体说明、结构体说明 实体h_adder及对应的结

5、构体behav描述了一个半加器,其组成为: 与非门/非门/或门/与门各一个 在VHDL中,逻辑关系“与非”、“非”、“或”和“与”分别由操作符NAND、NOT、OR和AND表示。,VHDL逻辑操作符和图形,端口信号模式: IN 、OUT、INOUT、BUFFER, 信号数据类型: STD_LOGIC、BIT、INTEGER、BOOLEAN ., 程序文件存盘取名: h_adder.VHD,信号传输符号:“ = ”,VHDL语法小结1,VHDL程序的基本结构,4.2.2 VHDL程序的基本结构 库、程序包使用说明: 调用本设计将要用到的库、程序包 实体说明: 描述该设计与外界的接口信号 结构体说

6、明: 描述设计实体内部工作的逻辑关系,VHDL程序设计基本结构,VHDL程序的基本结构,4.2.3 实体(ENTITY) 实体的功能是对设计实体与外部电路进行接口描述。 实体语句结构 ENTITY 实体名 IS GENERIC(类属表); PORT(端口表); END ENTITY 实体名;,VHDL程序的基本结构,ENTITY h_adder IS -实体h_adder的说明 PORT(a,b:IN STD_LOGIC; c,s:OUT STD_LOGIC); END ENTITY h_adder ;,VHDL程序的基本结构,PORT端口说明 实体端口说明的一般书写格式如下: PORT(端口

7、名:端口模式 数据类型; 端口名:端口模式 数据类型);,VHDL程序的基本结构,IN相当于只可输入的引脚; OUT相当于只可输出的引脚; BUFFER相当于具有读功能的输出引脚; 而INOUT相当于双向引脚(即BIDIR引脚)。,端口模式说明,VHDL程序的基本结构,4.2.4 结构体(ARCHITECTURE) 结构体是用于描述设计实体的内部结构以及实体端口间的逻辑关系。 (1)对数据类型、常数、信号、子程序和元件等元素的说明部分。 (2)描述实体逻辑行为的,以各种不同的描述风格表达的功能描述语句。,VHDL程序的基本结构,结构体的一般语句格式 ARCHITECTURE 结构体名 OF 实

8、体名 IS 说明语句 BEGIN 功能描述语句 END ARCHITECTURE 结构体名;,例1 设计一个2选1多路通道,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21 IS PORT( a, b, s :IN STD_LOGIC; y:OUT STD_LOGIC); END ENTITY mux21 ;,库 程序包,实体,ARCHITECTURE behav OF mux21 IS BEGIN y =a WHEN s = 0 ELSE b WHEN s = 1 ; END ARCHITECTURE behav ;,例1 设计一

9、个2选1多路通道,结构体,条件赋值语句,例2 用VHDL设计D触发器,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ddf1 IS PORT( D,clk :IN STD_LOGIC; Q:OUT STD_LOGIC); END ENTITY ddf1 ;,ddf1,例2 用VHDL设计D触发器,ARCHITECTURE behav OF ddf1 IS SIGNAL sig_save : STD_LOGIC; BEGIN PROCESS(clk) BEGIN IF clkEVENT AND clk=1 THEN sig_save= D ;

10、 END IF; Q = sig_save ; END PROCESS; END ARCHITECTURE behav ;,引进内部节点信号,进程和敏感信号,检测clk上升沿,数据输出到端口,顺序语句,条件赋值语句 赋值条件按书写的先后顺序进行判断 = 两边数据类型必须相同,VHDL语法小结2, 定义信号 SIGNAL SIGNAL A1 : STD_LOGIC;, 预定义属性 EVENT: clkEVENT,VHDL语法小结2,PROCESS语句结构: 顺序语句,行为描述,敏感信号表: 进程中所有的输入信号都必须放在敏感信号表中,时钟上升沿测试语句结构: clkEVENT AND clk =

11、 1 ,例3 设计4位加法器,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY adder4b IS PORT( CINT :IN STD_LOGIC; A, B :IN STD_LOGIC_VECTOR(3 DOWNTO 0); S :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC); END ENTITY adder4b ;,注意标准逻辑矢量的表达方示,例3 设计4位加法器,ARCHITECTURE behav OF

12、adder4b IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL AA, BB : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN AA = 0 END ARCHITECTURE behav ;,并行赋值语句,4位加法器原理图,加数,被加数,低位进位,和,溢出进位,VHDL基本语法小结 3, 预定义运算符加载函数: STD_LOGIC_UNSIGNED程序包;, 标准逻辑位矢量数据类型: STD_LOGIC_VECTOR( 7 DOWNTO 0),并置操作符:“ END IF; END PROCESS; END

13、ARCHITECTURE behav ;,注意整数和位的不同表示方法,4位锁存器,加法器,锁存信号,输出反馈,综合后的计数器电路RTL图,例5 设计7段16进制译码器,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY decl7s IS PORT( A :IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END ENTITY decl7s ;,例5 设计7段16进制译码器,ARCHITECTURE behav OF decl7s IS BEGIN

14、 PROCESS( A ) BEGIN CASE A IS WHEN “0000”=LED7SLED7SLED7SLED7SLED7S=“01100110”; - 4,用case语句完成真值表的功能,例5 设计7段16进制译码器,WHEN “0101”=LED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7S=“01011110”; -13,例5 设计7段16进制译码器,WHEN “1110”=LED7SLED7SNULL; END CASE; END PROCESS; END ARCHITECTURE behav ;,向7段数码管输出信号最高位控制小数点,必须加上该语句,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号