《VHDL程序基本结构》PPT课件.ppt
《《VHDL程序基本结构》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VHDL程序基本结构》PPT课件.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系第二章第二章 VHDL程序基本结构程序基本结构2-1 VHDL程序的基本单元程序的基本单元2-2 设计实体设计实体2-3 设计结构体设计结构体22-4 库库2-5 程序包程序包2-6 配置配置2-7 子程序子程序 第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系2.1 VHDL程序基本结构程序基本结构例例 一个一个2输入的与门的逻辑描述输入的与门的逻辑描述LIBRARY IEEE;-库说明语句库说明语句 USE IEEE.S
2、TD_LOGIC_1164.ALL;-程序包说明语句程序包说明语句 ENTITY and2 IS PORT(a,b:IN STD_LOGIC;y :OUT STD_LOGIC);END and2;ARCHITECTURE and2x OF and2 IS BEGIN y=a AND b;END and2x;实体部分实体部分结构体部分结构体部分第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系 一个完整的一个完整的VHDL程序包括程序包括 1.实体实体(Entity)2.结构体结构体(Architecture)3.配置配置(Config
3、uration)4.包包(Package)5.库库(Library)其中,其中,实体和结构体实体和结构体是是VHDL设计文件的两个基本组成部设计文件的两个基本组成部分:分:实体部分实体部分描述设计系统的外部接口信号(即输入描述设计系统的外部接口信号(即输入/输出信输出信号);号);结构体结构体用于描述系统的内部电路。用于描述系统的内部电路。配置配置用于从库中选取用于从库中选取所需元件安装到设计单元的实体中;所需元件安装到设计单元的实体中;包包存放各设计模块能共享存放各设计模块能共享的数据类型、常数、子程序等;的数据类型、常数、子程序等;库库用于存放已编译的实体、结用于存放已编译的实体、结构体、
4、包集合和配置。构体、包集合和配置。第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系结构示意图:结构示意图:库、程序包库、程序包实体实体结构体结构体进程或其他并行结构进程或其他并行结构结构体结构体进程或其他并行结构进程或其他并行结构配置配置V VH HD DL L程程序序基基本本结结构构第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系2.2 设计实体设计实体(ENTITY)实体的一般格式为:实体的一般格式为:ENTITY 实体名实体名 IS GENERIC(类属参数说明类属
5、参数说明):PORT(端口说明端口说明);ENDENTITY 实体名;实体名;实体是一个完整的、独立的语言模块,它相当于电实体是一个完整的、独立的语言模块,它相当于电路中的一个器件或电路原理图上的一个元件符号。路中的一个器件或电路原理图上的一个元件符号。实体中的每一个实体中的每一个I/OI/O信号被称为信号被称为端口端口,其功能对应于电路,其功能对应于电路 图符号的一个引脚。图符号的一个引脚。端口说明端口说明则是对一个实体的一组端口则是对一个实体的一组端口的定义,即对基本设计实体与外部接口的描述。端口是设的定义,即对基本设计实体与外部接口的描述。端口是设计实体和外部环境动态通信的通道。计实体和
6、外部环境动态通信的通道。ayand2b第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系类属参数说明是可选部分。如果需要,可使用以类属参数说明是可选部分。如果需要,可使用以“GENERICGENERIC”语句来指定该设计单元的类属参数(如延时、语句来指定该设计单元的类属参数(如延时、功耗等)。功耗等)。实体名、端口名等均应为符合实体名、端口名等均应为符合VHDLVHDL命名规则的标识符。命名规则的标识符。第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系端口说明的一般格式为:
7、端口说明的一般格式为:PORT(端口名端口名,端口名,端口名:端口模式:端口模式 数据类型;数据类型;端口名端口名,端口名,端口名:端口模式:端口模式 数据类型);数据类型);2.2.1 2.2.1 类属和端口说明类属和端口说明类属说明的一般格式为:类属说明的一般格式为:GENERICGENERIC(常数名:数据类型:常数名:数据类型:=设定值,设定值,)例:例:GENERICGENERIC(delay:TIME(delay:TIME:=10ns)=10ns);例:例:ENTITY and2 IS PORT(a,b:IN STD_LOGIC;y:OUT STD_LOGIC);END and2;
8、第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系2.2.2 2.2.2 端口模式端口模式 端口模式端口模式 用来说明数据传输通过该端口的方向。端口用来说明数据传输通过该端口的方向。端口模式有以下几类:模式有以下几类:IN(输入):输入):仅允许数据流进入端口。主要用于时钟输入、仅允许数据流进入端口。主要用于时钟输入、控制输入、单向数据输入。控制输入、单向数据输入。OUT(输出):输出):仅允许数据流由实体内部流出端口。该模仅允许数据流由实体内部流出端口。该模式通常用于终端计数一类的输出,不能用于反馈。式通常用于终端计数一类的输出,不
9、能用于反馈。BUFFER(缓冲):缓冲):该模式允许数据流出该实体和作为内该模式允许数据流出该实体和作为内部反馈时用,但不允许作为双向端口使用。部反馈时用,但不允许作为双向端口使用。INOUT(双向):双向):可以允许数据流入或流出该实体。该模可以允许数据流入或流出该实体。该模式也允许用于内部反馈。式也允许用于内部反馈。如果端口模式没有指定,则该端口处于如果端口模式没有指定,则该端口处于缺省模式为:缺省模式为:IN。第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系2.3 设计结构体(设计结构体(ARCHITECTURE)结构体是用来
10、描述设计实体的内部结构和实体端口结构体是用来描述设计实体的内部结构和实体端口间的逻辑关系,在电路图相当于器件的内部结构。间的逻辑关系,在电路图相当于器件的内部结构。结构体的一般格式如下:结构体的一般格式如下:ARCHITECTURE 结构体名结构体名 OF 实体名实体名 IS 结构体说明部分结构体说明部分;BEGIN 并发处理语句并发处理语句;ENDARCHITECTURE 结构体名;结构体名;第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系结构体名由设计者自行定义,结构体名由设计者自行定义,OF后面的实体名表明了该结后面的实体名表
11、明了该结构体所对应的是哪一个实体。有些设计实体有多个结构体,构体所对应的是哪一个实体。有些设计实体有多个结构体,这些结构体的名称不可相同,通常用这些结构体的名称不可相同,通常用behavioral(行为行为)、dataflow(数据流数据流)和和structural(结构结构)。结构体说明结构体说明(定义语句定义语句)是指对结构体需要使用的信号是指对结构体需要使用的信号(SIGNAL)、常数常数(CONSTANT)、数据类型数据类型(TYPE)和函数和函数(FUNCTION)等进行定义和说明。等进行定义和说明。并发处理语句位于并发处理语句位于BEGIN和和END之间,这些语句具体地描之间,这些
12、语句具体地描述了结构造体的行为。述了结构造体的行为。并发处理语句是功能描述的核心部并发处理语句是功能描述的核心部分,也是变化最丰富的部分分,也是变化最丰富的部分。并发处理语句可以使用赋值并发处理语句可以使用赋值语句、进程语句语句、进程语句(PROCESS)、元件例化语句、块语句元件例化语句、块语句(BLOCK)以及子程序等。以及子程序等。需要注意的是需要注意的是,这些语句都是并发这些语句都是并发(同时)执行的,与排列顺序无关。(同时)执行的,与排列顺序无关。第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系 描述风格描述风格 VHDL
13、 VHDL结构体具体描述整个设计实体的逻辑功能,对于所结构体具体描述整个设计实体的逻辑功能,对于所希望的电路功能行为,可以在结构体中用不同的语句类型和希望的电路功能行为,可以在结构体中用不同的语句类型和描述方法来表达。这种不同的描述方式,即建模方法就是描描述方法来表达。这种不同的描述方式,即建模方法就是描述风格。有三种不同风格的描述方式:行为描述方式述风格。有三种不同风格的描述方式:行为描述方式(behavior)behavior)、数据流描述方式数据流描述方式(dataflow)dataflow)或寄存器或寄存器RTLRTL描述方描述方式、结构化描述方式式、结构化描述方式(structura
14、l)structural)。1.1.行为描述法行为描述法是是对设计实体按算法的路径来描述对设计实体按算法的路径来描述,只描述所,只描述所希望电路的功能或者说电路行为,而没有直接指明或涉及希望电路的功能或者说电路行为,而没有直接指明或涉及实现这些行为的硬件结构。它是系统数学模型的描述,主实现这些行为的硬件结构。它是系统数学模型的描述,主要是顺序语句描述。要是顺序语句描述。将将VHDLVHDL的行为描述语句转换成可综合的门级描述是的行为描述语句转换成可综合的门级描述是VHDLVHDL综合器的任务,这是一项十分复杂的工作。综合器的任务,这是一项十分复杂的工作。第二章第二章 VHDL程序基本结构程序基
15、本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY full_adder IS GENERIC(tpd:TIME:=10 ns);PORT(x,y,c_in:IN Std_Logic;sum,c_out:OUT Std_Logic);END full_adder;ARCHITECTURE behavioral OF full_adder ISBEGIN PROCESS(x,y,c_in)VARIABLE n:Integer;CONSTANT sum_vector:Std_Logic
16、_Vector(0 TO 3):=0101;CONSTANT carry_vector:Std_Logic_Vector(0 TO 3):=0011;BEGIN n:=0;IF x=1 THEN n:=n+1;END IF;IF y=1 THEN n:=n+1;END IF;IF c_in=1 THEN n:=n+1;END IF;sum=sum_vector(n)AFTER 2*tpd;c_out=carry_vector(n)AFTER 3*tpd;END PROCESS;END behavioral;第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源
17、学院微电子材料与工程系本例的程序中,不本例的程序中,不存在任何与硬件选存在任何与硬件选择相关的语句,也择相关的语句,也不存在任何有关硬不存在任何有关硬件内部连线方面的件内部连线方面的语句。语句。VHDL的行为描述的行为描述功能具有很大的优功能具有很大的优越性。越性。全加器的真值表:全加器的真值表:第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系2.2.数据流描述法数据流描述法或或寄存器寄存器RTLRTL描述法描述法是以规定设计中的各种是以规定设计中的各种寄存器形式为特征,然后在寄存器之间插入组合逻辑。寄存器形式为特征,然后在寄存器之
18、间插入组合逻辑。这类寄存器或显式地通过元件具体装配,或者通过推论这类寄存器或显式地通过元件具体装配,或者通过推论作隐含的描述。它采用并发信号赋值语句,作隐含的描述。它采用并发信号赋值语句,描述数据流描述数据流程的运动路径、运动方向和运动结果程的运动路径、运动方向和运动结果。=1=1=1=1xyC-outsumC-in&11全加器逻辑电路图全加器逻辑电路图第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY full_adder IS GENER
19、IC(tpd:TIME:=10 ns);PORT(x,y,c_in:IN Std_Logic;sum,c_out:OUT Std_Logic);END full_adder;ARCHITECTURE dataflow OF full_adder IS SIGNAL s:Std_Logic;BEGIN s=x XOR y AFTER tpd;sum=s XOR c_in AFTER tpd;c_out=(x AND y)OR(s AND c_in)AFTER 2*tpd;END dataflow;第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材
20、料与工程系3.3.结构化描述法结构化描述法是是先描述功能的逻辑电路图,再调用库中的先描述功能的逻辑电路图,再调用库中的标准元器件加以描述标准元器件加以描述,就是表示元件之间的互连,通常用,就是表示元件之间的互连,通常用于层次设计,允许互连元件的层次式安置,其建模步骤如于层次设计,允许互连元件的层次式安置,其建模步骤如下:下:v元件说明:描述局部接口。元件说明:描述局部接口。v元件例化:相对于其它元件放置元件。元件例化:相对于其它元件放置元件。v元件配置:指定元件所用的设计实体,即对一个给定元件配置:指定元件所用的设计实体,即对一个给定实体,如果有多个可用的结构体,则由配置决定模拟实体,如果有多
21、个可用的结构体,则由配置决定模拟中所用的一个结构。中所用的一个结构。利用结构描述方式,可以采用结构化、模块化设计利用结构描述方式,可以采用结构化、模块化设计思想,将一个大的设计划分为许多小的模块,逐一设计调思想,将一个大的设计划分为许多小的模块,逐一设计调试完成,然后利用结构描述方法将它们组装起来,形成更试完成,然后利用结构描述方法将它们组装起来,形成更为复杂的设计。为复杂的设计。第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY half_
22、adder IS GENERIC(tpd:TIME:=10 ns);PORT(in1,in2:IN Std_Logic;sum,carry:OUT Std_Logic);END half_adder;ARCHITECTURE behavioral OF half_adder ISBEGIN PROCESS(in1,in2)BEGIN sum=in1 XOR in2 AFTER tpd;carry=in1 AND in2 AFTER tpd;END PROCESS;END behavioral;=1=1&in1in2sumcarry第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电
23、子材料与工程系材料与能源学院微电子材料与工程系LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY or_gate IS GENERIC(tpd:TIME:=10 ns);PORT(in1,in2:IN Std_Logic;out1:OUT Std_Logic);END or_gate;ARCHITECTURE structural OF or_gate ISBEGIN out1=in1 OR in2 AFTER tpd;END structural;ORORin1in2out1第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工
24、程系材料与能源学院微电子材料与工程系LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY full_adder IS GENERIC(tpd:TIME:=10 ns);PORT(x,y,c_in:IN Std_Logic;sum,c_out:OUT Std_Logic);END full_adder;ARCHITECTURE structural OF full_adder IS COMPONENT half_adder PORT(in1,in2:IN Std_Logic;sum,carry:OUT Std_Logic);END COMPONENT;C
25、OMPONENT or_gate PORT(in1,in2:IN Std_Logic;out1:OUT Std_Logic);END COMPONENT;第二章第二章 VHDL程序基本结构程序基本结构材料与能源学院微电子材料与工程系材料与能源学院微电子材料与工程系 SIGNAL a,b,c:Std_Logic;FOR u1,u2:half_adder USE ENTITY Work.half_adder(behavioral);FOR u3:or_gate USE ENTITY Work.or_gate(structural);BEGIN u1:half_adder PORT MAP(x,y,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL程序基本结构 VHDL 程序 基本 结构 PPT 课件
限制150内