欢迎来到天天文库
浏览记录
ID:58884645
大小:241.50 KB
页数:42页
时间:2020-09-30
《FPGA设计及应用_VHDL1ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、硬件描述语言VHDLVHSICHardwareDescriptionLanguageVHSIC(VeryHighSpeedIntegratedCircuit)1983年由美国国防部(DOD)发起创建1987年被采纳为IEEE1076-19871993年被更新为IEEE1076-1993VHDL最新版本是IEEE1076-2002硬件描述语言VHDLHDL的出现是为了适应电子系统设计的日益复杂性。若以计算机软件的设计与电路设计做个类比:机器码好比晶体管/MOS管;汇编语言好比网表;则HDL语言就如同高级
2、语言,VHDL毕竟描述的是硬件,它包含许多硬件特有的结构。硬件描述语言VHDL编译器和综合功能比较硬件描述语言VHDL特点硬件描述功能强仿真语句和库函数丰富标准规范易于共享和复用与硬件工艺无关支持大规模设计的分解和已有设计的再利用硬件描述语言VHDL设计过程:1.代码编写;2.由综合器(如Synplify,FPGACompiler等)综合成门级网表;3.前仿真/功能仿真;4.布局/布线至某一类CPLD/FPGA中;5.后仿真/时序仿真;6.下载。VHDL基本构成VHDL设计VHDL文件库(Librar
3、y)程序包(Packages)声明在设计或实体中将用到的常数,数据类型,元件及子程序等实体(Entities)声明到其他实体及其他设计的接口,即定义本设计的输入/出端口结构体(Architectures)定义了实体的实现。即电路的具体描述简单组合电路的VHDL描述2-1多路选择器mux21a实体mux21a结构体简单组合电路的VHDL描述2-1多路选择器的VHDL描述(1)ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;AR
4、CHITECTUREoneOFmux21aISBEGINy<=aWHENs='0'ELSEb;ENDARCHITECTUREone;简单组合电路的VHDL描述2-1多路选择器的VHDL描述(2)ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;BEGINd<=aAND(NOTS);e<=bANDs;y<=dORe;ENDARCHITECTUREone
5、;简单组合电路的VHDL描述2-1多路选择器的VHDL描述(3)ENTITYmux21aISPORT(a,b,s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs='0'THENy<=a;ELSEy<=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone;实体(Entity)VHDL表达的所有设计均与实体有关,实体是设计中最基本的模块。设计的最顶层是顶层实体。如
6、果设计分层次,那么在顶级实体中将包含较低级别的实体。实体中定义了该设计所需的输入/输出信号,信号的输入/输出类型被称为端口模式,同时,实体中还定义他们的数据类型。实体(Entity)实体的格式如下:entityisportend;实体(Entity)例:ENTITYcntm16IS--实体PORT(ci:INstd_logic;nreset:INstd_logic;--
7、每一句结尾均为;clk:INstd_logic;co:outstd_logic;qcnt:bufferstd_logic_vector(3downto0)–最后一句无;);ENDcntm16;信号名端口类型端口模式实体:端口模式(MODE)端口模式(MODE)有以下几种类型:IN;OUT;INOUT;BUFFER端口模式可用下图说明:(黑框代表一个设计或模块)INOUTBUFFERINOUT实体:端口类型(TYPE)端口类型(TYPE)定义端口的数据类型,包括以下几种:integer用作循环的指针或常
8、数,通常不用于I/O信号,例如:count:integerrange0to255bit可取值‘0’或‘1’std_logic工业标准的逻辑类型,取值‘0’,‘1’,‘X’,和‘Z’--由IEEEstd1164标准定义std_logic_vectorstd_logic的组合,工业标准的逻辑类型实体:端口类型(TYPE)std_logic_vectorstd_logic的组合,定义总线,如:data:instd_logic_vector(7downto0);
此文档下载收益归作者所有