欢迎来到天天文库
浏览记录
ID:39365253
大小:643.10 KB
页数:18页
时间:2019-07-01
《《VHDL结构与要素》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章VHDL结构与要素2021/8/132一个完整的VHDL程序通常包括:实体Entity结构体Architecture配置Configuration包集合Package库Library描述所设计的系统的外部接口信号或引脚描述系统内部的结构和行为从库中选取所需单元来组成系统设计的不同版本存放各设计模块都能共享的数据类型、常数和子程序存放已经编译的实体、结构体、包集合和配置2021/8/1339.1实体VHDL实体作为一个设计实体(独立的电路功能结构)的组成部分,其功能是对这个设计实体与外部电路进行接口描述。实体是设计实体的表层设计单元,实体说明部分规定了设计单
2、元的输入输出接口或引脚,它是设计实体对外的一个通信界面。它可以是一个简单的数字电路,也可以是复杂的数字电路,但基本构成是一致的。例1对于二选一器件的VHDL描述:2021/8/134ENTITYmuxISGENERIC(m:TIME:=1ns);PORT(d0,d1,sel:INBIT);q:OUTBIT);ENDmux;ARCHITECTUREconnectOFmuxISSIGNALtmp:BIT;BEGINcale:PROCESS(d0,d1,sel)VARIABLEtmp1,tmp2,tmp3:BIT;BEGINtmp1:=d0ANDsel;tmp2:=d
3、1AND(NOTsel);tmp3:=tmp1ORtmp2;tmp<=tmp3;q<=tmpAFTERm;ENDPROCESS;ENDconnect;实体名端口名方向实体进程语句结构体2021/8/135一、实体说明基本结构:ENTITY实体名IS[类属参数说明];[端口说明];END实体名;1、类属参数说明必须放在端口说明之前,用于指定参数。如:q<=tmpAFTERm;说明tmp建立一个延时值。GENERIC(m:TIME:=1ns);构造体内m的值为1ns。2、端口说明对基本设计实体与外部接口的描述。格式:PORT(端口名:端口模式数据类型;……{端口名:
4、端口模式数据类型名});2021/8/136端口名赋予外部引脚的名称。如d0,sel,y等端口方向定义外部引脚是输入还是输出。IN——输入OUT——输出(构造体内不能再使用)INOUT——双向BUFFER——输出(构造体内可再使用)LINKAGE——不指定方向(无论哪一个方向都可连接)OUTBUFFER2021/8/1379.2结构体基本结构:ARCHITECTURE结构体名OF实体名IS[定义语句]内部信号、常数、数据类型、函数等;BEGIN[并行处理语句];END结构体名;通常命名为behavioral(行为),dataflow(数据流),structura
5、l(结构)位于ARCHITECTURE和BEGIN之间,对信号、常数、数据类型、函数进行定义位于BEGIN和END之间,描述构造体的行为及连接关系2021/8/138在HDL设计中,设计者将自上至下分为3个层次:行为描述RTL方式描述逻辑综合即对整个系统数学模型的描述,一般应用在设计的初始阶段。即寄存器传输描述(又称数据流描述),采用该描述,导出系统的逻辑表达式,进行逻辑综合。将程序转换成基本的逻辑文件来描述,相当于人工设计时,生成了原理图。2021/8/139例:二选一的数据流方式描述:ENTITYmuxISPORT(d0,d1,sel:INBIT);q:OU
6、TBIT);ENDmux;ARCHITECTUREdataflowOFmuxISBEGINq<=(d0ANDsel)OR(NOTselANDd1);ENDdataflow;并行处理语句,<=表示传送或代入,即将逻辑运算结果送q输出。即2021/8/13109.4VHDL库库是经编译后的数据的集合,存放包集合定义、实体定义、构造体定义和配置定义。库的说明总是放在设计单元的最前面。格式:LIBRARY库名;这样,在设计单元内的语句就可以使用库中的数据。库的好处在于使设计者可以共享已经编译过的设计结果。库的种类VHDL语言中存在的库大致分为5种:2021/8/1311
7、IEEE库STD库WORK库VITAL库STD_LOGIC_1164NUMERIC_BITNUMERRIC_STDSTD_LOGIC_ARITHSTD_LOGIC_SIGNEDSTD_LOGIC_UNSIGNED虽没得到IEEE承认,但仍汇集在该库中是VHDL的标准库,该库中定义了STANDARD和TEXTIO(文件输入/输出程序包)两个程序包。现行作业库,使用时无需说明使用VITAL库,可以提高VHDL门级时序模拟的精度,因此只在VHDL仿真器中使用。2021/8/1312库的使用除WORK和STD库之外,其它库使用前先要用两条语句对库进行说明。如:LIBRA
8、RYIEEE;USEIE
此文档下载收益归作者所有