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

温馨提示

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

评论

0/150

提交评论