vhdl程序的基本结构vhdl程序一般由5个部分组成.ppt_第1页
vhdl程序的基本结构vhdl程序一般由5个部分组成.ppt_第2页
vhdl程序的基本结构vhdl程序一般由5个部分组成.ppt_第3页
vhdl程序的基本结构vhdl程序一般由5个部分组成.ppt_第4页
vhdl程序的基本结构vhdl程序一般由5个部分组成.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/12/5,VHDL语言,刘书桂天津大学精密仪器与光电子工程学院精密测试技术及仪器国家重点实验室电话:27404779Email:sgliu,VHDL程序的基本结构,VHDL程序一般由5个部分组成:Library(程序库)Package(程序包)Entity(实体)Architecture(构造体)Configuration(配置),VHDL程序的基本结构,VHDL程序一般由5个部分组成:Library(程序库)Package(程序包)Entity(实体)Architecture(构造体)Configuration(配置),库和程序包,库:存放已编译过的实体、构造体、程序包和配置程序包:由一组对外可见的信号、常量、数据类型、子程序、属性等组成的程序集合,库和程序包的使用,Library;Use.;例:Libraryieee;Useieee.std_logic_1164.all;,常用库,StdVHDL的标准库ieeeIEEE认可的标准库Work现行作业库Vital面向ASIC的库用户自定义库,常用库及其程序包,Std:VHDL的标准库standard:定义了bit,bit_vector,character,time等数据类型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(配置),设计实体,实体说明,构造体,设计实体的组成,设计实体,实体说明,构造体1,有多个构造体的设计实体的组成,构造体2,构造体n,配置,设计实体,实体说明,构造体,设计实体的组成,实体说明,Entityis类属说明;端口说明;实体说明部分;实体语句部分;Endentity;最简单的例:entitynothingisendnothing;,实体说明-类属说明,类属为设计实体和外部环境通讯的静态通信提供通道。可以定义端口大小、元件数目及定时特性等Generic(constant参数名:in子类型标识:=静态表达式;);例:Generic(delay:time:=10ns);,实体说明-端口说明,端口为设计实体和外部环境通讯的动态通信提供通道port(signal端口名:模式子类型标识:=静态表达式;);模式:in,out,inout,bufferInout和buffer都是双向端口,但buffer只能有一个驱动源例:Port(a,b:inbit;q:outbit);,实体说明-实体说明部分,用于定义设计实体接口中的公共信息,如定义新的数据类型和常量等例:定义新的数据类型colorTypecolorisarray(6downto0)ofstd_logic;,实体说明-实体语句部分,是设计实体接口的共同部分。只能由并行断言语句、并行过程调用语句、被动进程语句组成,且不能在语句中给信号赋值。,设计实体,实体说明,构造体,设计实体的组成,构造体,architectureofis构造体说明语句;BeginEndarchitecture;,构造体构造体说明语句,定义本构造体内部使用的信号、常数、数据类型和函数因为它们仅限于内部使用,所以没有也不需要有方向的说明,构造体功能描述语句,具体描述构造体的行为和结构。功能描述语句是并行执行的,并不以语句的书写顺序为执行顺序。有5种类型的功能描述语句:信号赋值语句、块语句、进程语句、子程序调用语句、元件例化语句。,并行信号赋值语句,1、简单赋值语句目标信号=表达式;2、条件信号赋值语句目标信号=表达式1when条件1else表达式2when条件2else表达式n-1when条件n-1else表达式n;3、选择信号赋值语句with条件表达式select目标信号=表达式1when条件1,表达式2when条件2,表达式nwhen条件n;,块语句,块标号:BLOCK保护表达式类属子句;端口子句;块说明部分;BEGINENDBLOCK块标号;,类属子句用于参数的定义;端口子句用于信号的定义;块说明部分对该块要用到的信号、常数、元件和子程序等进行说明;块语句部分对该块的功能进行描述,块语句部分的语句是并行执行的,和书写顺序无关。,进程语句,进程标号:PROCESS敏感信号表IS进程语句说明部分;BEGINENDPROCESS进程标号;,敏感信号表列出进程对其敏感的所有信号,每当其中的一个或多个信号发生变化时,就会启动进程的执行;进程语句说明部分对该进程要用到的变量、子程序等进行说明;进程语句部分对该进程的功能进行描述,进程语句部分的语句是顺序执行的,和书写顺序有关。,子程序调用语句,过程名(参数表);,子程序调用语句若位于“构造体”或“块语句”中,它就是并发语句;若位于“进程语句”或另一个“子程序”中,它就是顺序语句;,设计实体,实体说明,构造体1,有多个构造体的设计实体的组成,构造体2,构造体n,配置,配置,一个实体可以拥有多个不同的构造体,而每个构造体在实体中的地位是相同的。可以利用配置语句为实体指定一个构造体。,最简单的缺省配置格式结构,CONFIGURATION配置名OF实体名ISFOR构造体名ENDFOR;END配置名;,CONFIGURATION配置名OF实体名IS语句说明;END配置名;,配置例,ENTITYcounterIS-ENDcounter;ARCHITECTUREcount_255OFcounterIS-ENDcount_255;ARCHITECTUREcount_64kOFcounterIS-ENDcount_64k;CONFIGURATIONsmall_countOFcounterISFORcount_255ENDFOR;ENDsmall_count;CONFIGURATIONbig_countOFcounterISFORcount_64KENDFOR;ENDbig_count;,现场演示4选1数据选择器,Entitymux4isEndmux4;Architecturertlofmux4isBeginEndrtl;,现场演示4比特可逆计数器,端口方向说明,只写,可有多个驱动,可读、可写,可读写,仅1个驱动,只读,在实际的数字集成电路中,IN相当于只可输入的引脚,OUT相当于只可输出的引脚,BUFFER相当于带输出缓冲器并可回读的引脚,INOUT相当于双向引脚。,2019/12/5,PACKAGE,已在设计实体中定义的数据类型、子程序或数据对象对于其它的实体是不可用的,或者说是不可见的。为了使其能被更多的实体访问和共享,可以将它们收集在一个程序包中。,2019/12/5,PACKAGE,2019/12/5,PACKAGE,程序包首:,程序包首的说明语句可收集多个VHDL设计所需的公共信息,包括数据类型说明,信号说明,子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论