[工学]第3章 VHDL设计初步.ppt
《[工学]第3章 VHDL设计初步.ppt》由会员分享,可在线阅读,更多相关《[工学]第3章 VHDL设计初步.ppt(116页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 VHDLVHDL设计初步设计初步 工学第3章 VHDL设计初步 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第3章章 VHDLVHDL设计初步设计初步 第第3章章VHDL设计初步设计初步第第3章章 VHDLVHDL设计初步设计初步 概述概述HDL:HardwareDescriptionLanguageVHSIC:VeryHighSpeedIntegratedCircuit硬件描述语言可以描述硬件电路的功能、信号连接关系及定时关系的语言第第3章章 V
2、HDLVHDL设计初步设计初步 第第3章章 VHDLVHDL设计初步设计初步 第第3章章 VHDLVHDL设计初步设计初步 常用硬件描述语言简介常用硬件描述语言简介常用硬件描述语言有VHDL、Verilog和ABEL语言。VHDL起源于美国国防部的VHSIC,Verilog起源于集成电路的设计,ABEL则来源于逻辑器件的设计。第第3章章 VHDLVHDL设计初步设计初步 三者比较三者比较(1)逻辑描述层次:行为级、RTL级和门电路级。VHDL适合于行为级和RTL级的描述,最适合于描述电路的行为;Verilog和ABEL适用于RTL级和门电路级的描述,最适合描述门电路级。(2)设计要求:使用VH
3、DL进行电子系统设计时可以不了解电路的内部结构,设计者所做的工作较少;使用Verilog和ABEL语言进行电子系统设计时需了解电路的详细结构,设计者需做大量的工作。(3)综合过程:VHDL语言源程序的综合通常要经过行为级RTL级门电路级的转化,几乎不能直接控制门电路的生成。Verilog语言和ABEL语言源程序的综合过程较为简单,经经过RTL级门电路级的转化,易于控制电路资源。(4)对综合器的要求:VHDL语言对综合器性能要求较高;Verilog和ABEL对综合器的性能要求较低。第第3章章 VHDLVHDL设计初步设计初步 VHDL语言和其它高级语言的区别语言和其它高级语言的区别(1)高级语言
4、描述的是数字模型(算法)和控制动作,控制行为。而VHDL语言所描述的是硬件电路的功能:接口信号电路行为和功能电路与电路之间的连接关系(2)高级语言最终目的是实现希望的控制流而VHDL语言最终目的是要造成硬件电路。(3)VHDL语言的语句很多是并发语句。据此,尽管VHDL语言很多地方与高级语言相似,但它们之间却有较大差异。第第3章章 VHDLVHDL设计初步设计初步 VHDL的特点的特点与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。具有丰富的仿真语句和库函数,在设计早期可进行仿真。可利用EDA工具进行逻辑综合和优化,并自动转变成门级网表。对设计的描述具有相对独立性。描述与工艺无关。第
5、第3章章 VHDLVHDL设计初步设计初步 VHDL入门入门第第3章章 VHDLVHDL设计初步设计初步 例:2选1选择器设计abmux21ys第第3章章 VHDLVHDL设计初步设计初步 LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALLENTITYmux21ISPORT(a,b:INSTD_LOGIC;s:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDmux21;ARCHITECTUREoneOFmux21ISBEGINy=aWHENs=0ELSEbWHENS=1;ENDone;IEEE库使用说明器件mux21的外部接口信号说明,PORT相当于器件
6、的引脚,这一部分称为实体器件mux21的内部工作逻辑描述,即为实体描述的器件功能结构,称为结构体第第3章章 VHDLVHDL设计初步设计初步 例:锁存器设计LATCHDQENA第第3章章 VHDLVHDL设计初步设计初步 LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYLatchISPORT(D:INSTD_LOGIC;ENA:INSTD_LOGIC;Q:OUTSTD_LOGIC);ENDlatch;ARCHITCTUREoneOFlatchISSIGNALsig_save:STD_LOGIC;BEGINPROCESS(D,ENA)BEGINIFENA
7、=1THENsig_save=D;ENDIF;Q=sig_save;ENDPROCESS;ENDone;锁存器的实体,定义了此器件的输入输出引脚及其信号属性定义信号进程语句结构,描述逻辑的时序方式结构体第第3章章 VHDLVHDL设计初步设计初步 例:全加器设计1位半加器1位全加器H_ADDERacobsoH_ADDERacobsoH_ADDERacobsoF_ADDERaincoutbinsumcinainbinainacbu1u2u3sumcoutdef第第3章章 VHDLVHDL设计初步设计初步 LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYo
8、r2ISPORT(A,B:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDor2;ARCHITECTUREfulOFor2ISBEGINc=aORb;ENDfu1;第第3章章 VHDLVHDL设计初步设计初步 LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDh_adder;ARCHITECTUREfh1OFh_adderISBEGINso=aXORb;co=aANDb;ENDfh1;第第3章章 VHDLVHDL设计初步设计初步 LIB
9、RARYIEEE;USEIEEE.STD_LOGIC-1164.ALL;ENTITYf_adderISPORT(ain,bin,cin:INSTD_LOGIC;cout,sum:OUTSTD_LOGIC);ENDf_adder;ARCHITECTUREfd1OFf_adderISBEGINCOMPONENTh_adderPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTor2PORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALd,e,f:STD_LOGIC;B
10、EGINu1:h_adderPORTMAP(ain,bin,d,e);u2:h_adderPORTMAP(e,b,f,sum);u3:or2PORTMAP(d,f,cout);ENDfd1;元件调用声明元件连接第第3章章 VHDLVHDL设计初步设计初步 3.1 组合电路的组合电路的VHDL描述描述abmux21ays3.1.12选1多路选择器及其VHDL描述1第第3章章 VHDLVHDL设计初步设计初步 ENTITYmux21ISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21;ARCHITECTUREoneOFmux21ISBEGINy=aWH
11、ENs=0ELSEb;ENDARCHITECTUREone;器件mux21的外部接口信号说明,PORT相当于器件的引脚,这一部分称为实体器件mux21的内部工作逻辑描述,即为实体描述的器件功能结构,称为结构体【例例3-1】第第3章章 VHDLVHDL设计初步设计初步 4.2VHDL语言的基本单元及其构成语言的基本单元及其构成一个完整的VHDL程序包括4个基本组成部分:库、程序包使用说明实体说明与实体对应的结构体说明配置语句说明第第3章章 VHDLVHDL设计初步设计初步 VHDL语言程序的基本结构语言程序的基本结构第第3章章 VHDLVHDL设计初步设计初步 4.2.1VHDL语言设计的基本单
12、元及其构成语言设计的基本单元及其构成基本单元门微处理器系统基本单元构成实体说明:规定了设计单元的输入输出接口信号或引脚。结构体:定义了设计单元的具体构造和操作(行为)。第第3章章 VHDLVHDL设计初步设计初步 基本单元构成基本单元构成ENTITY名称IS接口信号说明END名称;ARCHITECTURE结构体名OF实体名ISBEGIN功能描述END结构体名;d0d1d2q&d0qseld1第第3章章 VHDLVHDL设计初步设计初步 一个基本设计单元的构成一个基本设计单元的构成二选一电路二选一电路实体说明ENTITYmux2ISGENERIC(m:TIME:=1ns);PORT(d0,d1,
13、sel:INBIT;q:OUTBIT);ENDmux2;构造体ARCHITECTUREconnectOFmux2ISSIGNALtmp:BIT;实体:外部特性描述第第3章章 VHDLVHDL设计初步设计初步 一个基本设计单元的构成(续)一个基本设计单元的构成(续)二选一电路二选一电路BEGIN;PROCESS(d0,d1,sel);VARIABLEtmp1,tmp2,tmp3:BIT;BEGIN;tmp1=d0ANDsel;tmp2=d1AND(NOTsel);tmp3=tmp1ORtmp2;tmp=tmp3;q=tmpAFTERm;ENDPROCESS;ENDconnect;构造体:内部特性
14、描述,即功能描述第第3章章 VHDLVHDL设计初步设计初步 1、实体表达实体在电路描述中主要是说明该电路的输入输出关系。此外,实体还定义电路名称及结构体中所使用的参数等。实体描述的一般书写格式如下:ENTITY实体名IS类属参数说明;端口说明ENDENTITY实体名;第第3章章 VHDLVHDL设计初步设计初步 实体语句结构实体描述从“ENTITY实体名IS”开始,至“END实体名”结束。实际上,对VHDL语言而言,大写和小写都一视同仁,不加区分。这里这样规定仅仅是为了增加程序的可读性而已。建议将VHDL的标识符或基本语句关键词以大写方式表示,而由设计者添加的内容可以以小写方式来表示。第第3
15、章章 VHDLVHDL设计初步设计初步 2、实体名、实体名电路的名称,可以大、小英文字母,但第一个字母一定要用英文字母。为使结构更突出,便于阅读,常用小写命名。不能用中文不能拿与EDA软件库中已定义好的元件名一样第第3章章 VHDLVHDL设计初步设计初步 类属参数说明(以后再讲)类属参数说明(以后再讲)必须放在端口说明之前,用于指定参数。GERERIC(常数名:数据类型:设定值);如上例中的GENERIC(m:TIME=1ns)。该语句指定了构造体内m的值为1ns。这样,语句q=tmpAFTERm;表示tmp经1ns延迟才送到q。在这个例子中,GENERIC利用类属参数为q建立一个延迟值。第
16、第3章章 VHDLVHDL设计初步设计初步 3.端口说明端口说明是对基本设计实体(单元)与外部接口的描述,也可以说是对外部引脚信号的名称,数据类型和输入、输出方向的描述。其一般书写格式如下:PORT(端口名,端口名:端口模式 数据类型名;端口名,端口名:端口模式数据类型名);第第3章章 VHDLVHDL设计初步设计初步 端口名每个外部引脚的名称,通常用一个或几个英文字母或者用英文字母加数字命名。4、端口模式:表示信号传递方向。IN输入,只读模式OUT输出,单向赋值模式INOUT双向,可以读或写BUFFER具有读功能的输出模式,可以读或写,只能有一个驱动源5、数据类型在VHDL语言中有10种数据
17、类型,但在逻辑电路设计中只用到两种:BIT和BITVECTOR。第第3章章 VHDLVHDL设计初步设计初步 Out与与Buffer的区别的区别Entitytest1isport(a:instd_logic;b,c:outstd_logic);endtest1;architectureaoftest1isbeginb=not(a);c=b;-Errorenda;Entitytest2isport(a:instd_logic;b:bufferstd_logic;c:outstd_logic);endtest2;architectureaoftest2isbeginb=not(a);c=b;end
18、a;第第3章章 VHDLVHDL设计初步设计初步 练习练习 编写包含以下内容的实体代码编写包含以下内容的实体代码编写包含以下内容的实体代码编写包含以下内容的实体代码 端口端口端口端口 D D 为为为为1212位输入总线位输入总线位输入总线位输入总线 端口端口端口端口 OE OE 和和和和 CLK CLK 都是都是都是都是1 1位输入位输入位输入位输入 端口端口端口端口 AD AD 为为为为 12 12位双向总线位双向总线位双向总线位双向总线 端口端口端口端口 A A为为为为1212位输出总线位输出总线位输出总线位输出总线 端口端口端口端口 INT INT 是是是是1 1位输出位输出位输出位输出
19、 端口端口端口端口 AS AS 是一位输出同时被用作内部反馈是一位输出同时被用作内部反馈是一位输出同时被用作内部反馈是一位输出同时被用作内部反馈my_designd11:0oeclkad11:0a11:0intas第第3章章 VHDLVHDL设计初步设计初步 练习答案练习答案 LIBRARY ieee;LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_1164.ALL;ENTITY my_design IS PORT(ENTITY my_design IS PORT(d:d:IN IN std_logic_vector(11
20、 DOWNTO 0);std_logic_vector(11 DOWNTO 0);oe,clk:oe,clk:IN IN std_logic;std_logic;ad:ad:INOUT INOUT std_logic_vector(11 DOWNTO 0);std_logic_vector(11 DOWNTO 0);a:a:OUT OUT std_logic_vector(11 DOWNTO 0);std_logic_vector(11 DOWNTO 0);int:int:OUT OUT std_logic;std_logic;as:as:BUFFER std_logic);BUFFER st
21、d_logic);END my_design;END my_design;my_designd11:0oeclkad11:0a11:0intas第第3章章 VHDLVHDL设计初步设计初步 6、结构体表达结构体表达结构体:描述设计实体的结构或行为,即描述一个实体的功能,把设计实体的输入和输出之间的联系建立起来。ARCHITECTURE 结构体名 OF 实体名 IS定义语句内部信号,常数,数据类型,函数等的定义;BEGIN并行处理语句;END ARCHITECTURE 结构体名;第第3章章 VHDLVHDL设计初步设计初步 (1)结构体的一般语句格式结构体的一般语句格式 ARCHITECTURE
22、 结构体名 OF 实体名 IS定义语句内部信号,常数,数据类型,函数等的定义;BEGIN功能描述语句;END ARCHITECTURE结构体名;结构体名结构体名:英文字母、数字、结构体的名称可以由设计者自由命名。但是在大多数的文献和资料中,通常把构造体的名称命名为behavioral(行为),dataflow(数据流)、rtl(寄存器传输)或者structural(结构)当一个实体具有多个结构体时,结构体的取名不可相重。第第3章章 VHDLVHDL设计初步设计初步 (2)结构体说明语句结构体说明语句位置在ARCHITECTURE和BEGIN之间。对用于构造体内部所使用的信号、常数、数据类型和函
23、数等进行定义例:SIGNALcont:STDLOGICVECTOR(3DOWNTO0);SIGNALco_1:STDLOGIC;CONSTANTm:TIME:=2ns;TYPESTATEIS(INIT,DAD,ADC,SRF,FRF);第第3章章 VHDLVHDL设计初步设计初步 (3)功能描述语句功能描述语句位置:处于语句BEGIN和END之间所有的并行处理语句都可以写在这里面。并行处理语言在仿真时是并发工作的,和前后次序无关,从而描述了构造体内部逻辑电路的并发功能。有5种语句结构块语句(BLOCK)进程语句(PROCESS)信号赋值语句子程序调用语句元件例化语句都是并行语句内部可能包含顺序
24、第第3章章 VHDLVHDL设计初步设计初步 VHDL语言基本单元构成语言基本单元构成ENTITY实体名ISGENERIC(常数名:数据类型:设定值);PORT(端口名,端口名:端口模式数据类型名;端口名,端口名:端口模式数据类型名);END实体名;ARCHITECTURE结构体名OF实体名IS定义语句内部信号,常数,数据类型,函数等的定义;BEGIN功能描述语句;ENDARCHITECTURE结构体名;第第3章章 VHDLVHDL设计初步设计初步 举例举例ENTITYmux2ISPORT(d0,d1,sel:INBIT;q:OUTBIT);ENDmux2;ARCHITECTUREconnec
25、tOFmux2ISSIGNALtmp1,tmp2,tmp3:BIT;BEGIN;tmp1=d0ANDsel;tmp2=d1AND(NOTsel);tmp3=tmp1ORtmp2;qtmp3;ENDconnect;并发执行并发执行第第3章章 VHDLVHDL设计初步设计初步 7、赋值符号和数据比较符号、赋值符号和数据比较符号在语句中,符号“=”表示传送(或代入)的意思,即将逻辑运算结果送q输出。代入语句只要代入符号右边信号有变化就启动一次。“=”是数据比较符号,没有赋值或数据传输的含义。第第3章章 VHDLVHDL设计初步设计初步 8、WHEN_ELSE条件信号赋值语句条件信号赋值语句目的信号量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 工学第3章 VHDL设计初步 VHDL 设计 初步
限制150内