欢迎来到天天文库
浏览记录
ID:51447531
大小:1.67 MB
页数:159页
时间:2020-03-22
《VHDL硬件描述语言(入门简述).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章硬件描述语言基础10/9/20211章节目录3.1硬件描述语言概述3.2VHDL语言程序结构3.3VHDL语法基础3.4VHDL常用语句3.5组合电路的VHDL描述3.6时序电路的VHDL描述调换10/9/202123.1硬件描述语言概述可编程逻辑器件、电子设计自动化(EDA)与硬件描述语言可编程逻辑器件是一种功能可变的集成器件可通过编程的方法设计其完成不同的逻辑功能设计需借助软件工具,即采用电子设计自动化的方式设计形式有原理图和硬件描述语言两种硬件描述语言是用来描述数字电路系统的一种语言10/9/20
2、2133.1硬件描述语言概述目前常用的硬件描述语言有两种VHDLVerilogHDLVeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage超高速集成电路硬件描述语言VerilogHardwareDescriptionLanguageVerilog硬件描述语言VHDL语言发展较早,从使用者数量来看,目前两种语言平分秋色,VHDL语言更严谨、更适合设计大型数字系统。两种语言相似的地方很多,学会一种可自学另一种。10/9/202143.1硬件描述语言概述V
3、HDL语言的IEEE标准VHDLIEEE1076-1987VHDLIEEE1076-1993早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行VHDL的开发1987年,由IEEE(InstituteofElectricalandElectronicsEngineers,电气和电子工程师协会)将VHDL制定为标准,称为IEEE1076-19871993年制定了第二个IEEE标准版本,称为IEEE1076-1993,增加了一些新的命令和属性10/9/20215章节目录3.1硬件描述语言概述
4、3.2VHDL语言程序结构3.3VHDL语法基础3.4VHDL常用语句3.5组合电路的VHDL描述3.6时序电路的VHDL描述10/9/20216五个基本组成部分库(Library)程序包(Package)实体说明(EntityDeclaration)结构体(Archiecture)配置(Configuration)主要部分注意:程序扩展名为.vhd10/9/20217【例3-1】2选1数据选择器的VHDL语言描述d0d1selftemp3temp1temp2功能:2选1数据选择器Sel=0时,f=d0;Se
5、l=1时,f=d1;10/9/20218--2to1muxVHDLLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmuxISPORT(d0,d1,sel:INSTD_LOGIC;f:OUTSTD_LOGIC);ENDmux;库程序包实体说明VHDL语言程序注释d0d1selfmux10/9/20219ARCHITECTUREstructureOFmuxISSIGNALtemp:STD_LOGIC;--内部信号BEGINp0:PROCESS(d0,d1,sel)--进程
6、VARIABLEtemp1,temp2,temp3:STD_LOGIC;BEGIN--进程内的局部变量temp1:=d0AND(NOTsel);--变量间的逻辑关系temp2:=d1ANDsel;temp3:=temp1ORtemp2;temp<=temp3;f<=temp;ENDPROCESSp0;--进程结束ENDstructure;--结构体结束结构体10/9/202110EDA工具软件QuartusII综合出来的电路程序中的信号temp被优化掉了10/9/2021111行是注释,用“--”引头2~3行
7、是库说明部分,打开库及库中的程序包4~7行是实体说明部分,描述电路的端口信号8~最后是结构体部分,描述电路的逻辑功能VHDL语言不区分大小写,为阅读方便,关键字用大写,用户自定义部分用小写。说明10/9/202112本节三方面内容3.2.1实体说明3.2.2结构体3.2.3程序包、库及配置10/9/2021133.2.1实体说明【格式】ENTITY<实体名>IS[GENERIC(类属常数说明);][PORT(端口说明);][实体语句部分;]END[ENTITY]<实体名>;主要部分<>表示必选项,[]表示可选
8、项【主要功能】说明电路的名字、输入输出信号。d0d1selfmux10/9/202114【例】4位串行进位加法器的实体说明。ENTITYadder_rippleISGENERIC(m:TIME:=5ns);PORT(a,b:INSTD_LOGIC_VECTOR(3DOWNTO0);q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);cout:OUTSTD_LOGIC);ENDadder_
此文档下载收益归作者所有