欢迎来到天天文库
浏览记录
ID:36607345
大小:258.25 KB
页数:34页
时间:2019-05-09
《vhdl 程序的基本结构 vhdl程序一般由5个部分组成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VHDL语言刘书桂天津大学精密仪器与光电子工程学院精密测试技术及仪器国家重点实验室电话:27404779Email:sgliu@tju.edu.cn2021/8/14VHDL程序的基本结构VHDL程序一般由5个部分组成:Library(程序库)Package(程序包)Entity(实体)Architecture(构造体)Configuration(配置)VHDL程序的基本结构VHDL程序一般由5个部分组成:Library(程序库)Package(程序包)Entity(实体)Architecture(构造体)Configuration(
2、配置)库和程序包库:存放已编译过的实体、构造体、程序包和配置程序包:由一组对外可见的信号、常量、数据类型、子程序、属性等组成的程序集合库和程序包的使用Library<库名列表>;Use<库名>.<程序包名>.<项目名>;例:Libraryieee;Useieee.std_logic_1164.all;常用库StdVHDL的标准库ieeeIEEE认可的标准库Work现行作业库Vital面向ASIC的库用户自定义库常用库及其程序包Std:VHDL的标准库standard:定义了bit,bit_vector,character,time等数
3、据类型textio:包含了对文本文件进行读写操作的过程和函数缺省说明:librarystd;usestd.standard.all;常用库及其程序包IEEE:IEEE认可的标准库std_logic_1164:定义了std_logic,std_logic_vector,std_ulogic,std_ulogic_vector等数据类型VHDL程序的基本结构VHDL程序一般由5个部分组成:Library(库)Package(程序包)Entity(实体)Architecture(构造体)Configuration(配置)设计实体实体说明构造
4、体设计实体的组成设计实体实体说明构造体1有多个构造体的设计实体的组成构造体2构造体n……配置设计实体实体说明构造体设计实体的组成实体说明Entity<实体名>is[类属说明;][端口说明;][实体说明部分;][实体语句部分;]End[entity]<实体名>;最简单的例:entitynothingisendnothing;实体说明--类属说明类属为设计实体和外部环境通讯的静态通信提供通道。可以定义端口大小、元件数目及定时特性等Generic([constant]参数名:[in]子类型标识[:=静态表达式];…);例:Generic(d
5、elay:time:=10ns);实体说明--端口说明端口为设计实体和外部环境通讯的动态通信提供通道port([signal]端口名:[模式]子类型标识[:=静态表达式];…);模式:in,out,inout,bufferInout和buffer都是双向端口,但buffer只能有一个驱动源例:Port(a,b:inbit;q:outbit);实体说明--实体说明部分用于定义设计实体接口中的公共信息,如定义新的数据类型和常量等例:定义新的数据类型colorTypecolorisarray(6downto0)ofstd_logic;实体说
6、明--实体语句部分是设计实体接口的共同部分。只能由并行断言语句、并行过程调用语句、被动进程语句组成,且不能在语句中给信号赋值。设计实体实体说明构造体设计实体的组成构造体architecture<构造体名>of<实体名>is[构造体说明语句;]Begin<功能描述语句;>End[architecture]<构造体名>;构造体-构造体说明语句定义本构造体内部使用的信号、常数、数据类型和函数因为它们仅限于内部使用,所以没有也不需要有方向的说明构造体-功能描述语句具体描述构造体的行为和结构。功能描述语句是并行执行的,并不以语句的书写顺序为执行
7、顺序。有5种类型的功能描述语句:信号赋值语句、块语句、进程语句、子程序调用语句、元件例化语句。并行信号赋值语句1、简单赋值语句目标信号<=表达式;2、条件信号赋值语句目标信号<=表达式1when条件1else表达式2when条件2else……表达式n-1when条件n-1else表达式n;3、选择信号赋值语句with条件表达式select目标信号<=表达式1when条件1,表达式2when条件2,……表达式nwhen条件n;块语句块标号:BLOCK[保护表达式][类属子句;][端口子句;][块说明部分;]BEGIN<块语句部分;>EN
8、DBLOCK块标号;类属子句用于参数的定义;端口子句用于信号的定义;块说明部分对该块要用到的信号、常数、元件和子程序等进行说明;块语句部分对该块的功能进行描述,块语句部分的语句是并行执行的,和书写顺序无关。进程语句[进程
此文档下载收益归作者所有