欢迎来到天天文库
浏览记录
ID:48248343
大小:1.56 MB
页数:101页
时间:2020-01-18
《第3章 VHDL语言基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章硬件描述语言HDLHardwareDescriptionLanguage第一节概述常用的硬件描述语言有:VHDL:VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguageVerilog:Cadence公司开发ABEL(AdvancedBooleanHardwareDescription,高级布尔方程语言):Lattice公司AHDL(Analog模拟硬件描述语言):Altera公司超高速集成电路硬件描述语言通过与非门的逻辑描述,阐述VHDL的基本结构第二节VHDL的基本结构LIBRARYIE
2、EE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYnand_2ISPORT(a,b:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDnand_2;ARCHITECTURErtlOFnand_2ISBEGINy<=NOT(aANDb);ENDrtl;IEEE库使用说明Nand_2实体说明结构体端口说明,用以描述器件的接口在程序设计中,要求实体名与存储的文件名一致库说明LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;语法:library库名use库名.程序包名.项目名:库是用VHDL语言编写的
3、源程序及其通过编译的数据集合,它由各种程序包组成,程序包提供了各种数据类型、函数的定义以及各种类型转换函数及运算等,以供给设计者使用。目前在VHDL语言中,常用的主要有以下几种库:IEEE库、STD库、WORK库、用户库最常用的资源库是IEEE库,常用的程序包STD_LOGIC_1164:常用的数据类型(std_logic,std_logic_vector),各种类型转换函数及逻辑运算。STD_LOGIC_ARITH:定义了无符号unsigned、有符号数signed数据类型,相应的算术运算;unsigned,signed和integer之间的转换函数。
4、STD_LOGIC_UNSIGNED,STD_LOGIC_SIGNED:定义了可用于integer和std_logic,std_logic_vector数据类型混合运算的运算符,由std_logic_vector型到integer型的转换函数。(2)STD库(3)WORK库(4)自定义库是VHDL的标准库,含有称为STANDARD的标准程序包,其中定义了多种常用的数据类型,均不加说明便可直接引用。另一个程序包TEXTIO(文本文件输入/输出),则需经说明后方可使用。(2)STD库(3)WORK库(4)自定义库是当前作业库,设计人员设计的VHDL语言程序的
5、编译结果不需要任何说明,都将要存放在work库中。Work库可以是设计者个人使用,也可提供给设计组多人使用WORK库和STD库总会被自动打开。(2)STD库(3)WORK库(4)自定义库由用户自己创建。设计者可以把一些自己需要经常使用的非标准(一般是自己开发的)包集合和实体等汇集成库,作为对VHDL标准库的补充。还需要注意的是,LIBRARY语句和USE语句的作用范围只限于紧跟其后的实体及其结构体。因此,如果一个程序中有一个以上的实体,则必须在每个实体的前面分别加上LIBRARY语句和USE语句,说明各实体及其结构体需要使用的库和程序包。2.实体说明EN
6、TITYnand_2ISPORT(a,b:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDnand_2;ENTITY实体名ISPORT[端口说明];END实体名;语法:端口说明语句描述实体的外部接口情况,不管内部功能如何只描述它的输入和输出接口信号。一般格式为:PORT(端口信号名,端口信号名…:端口模式数据类型;端口信号名,端口信号名…:端口模式数据类型);端口信号名:赋给每个输入输出接口的名称端口模式:说明信号的输入和输出方式,IN,OUTINOUT,buffer,INOUT:在输出的同时可以自己读取,同时也可以作为其它端口的输入。如R
7、AM的数据口、单片机的I/O口。Buffer:缓冲端口,其功能与inout类似,但是当作为输入用时,输入的信号不是从外部输入,而是由内部产生向外输出的信号。即内部回读自身向外产生的信号,即允许反馈。如将计数器输出的计数信号回读,作为下一个计数值的初值。【例1】以如图1所示的RS触发器为例,定义如下:ENTITYrsffISPORT(set,reset:INBIT;q,qb:BUFFERBIT);ENDrsff;图1RS触发器端口数据类型:(1)标准数据类型,如:整数、实数,位,位矢量等。(2)IEEE标准数据类型,标准逻辑位STD_LOGIC、标准逻辑矢
8、量STD_LOGIC_VECTOR。(3)用户自定义的数据类型,如枚举型、数组类
此文档下载收益归作者所有