vhdl 程序的基本结构 vhdl程序一般由5个部分组成.ppt
-
资源ID:83088082
资源大小:160.50KB
全文页数:34页
- 资源格式: PPT
下载积分:16金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
vhdl 程序的基本结构 vhdl程序一般由5个部分组成.ppt
电子线路的设计与仿真 VHDL 语言刘书桂天津大学精密仪器与光电子工程学院精密测试技术及仪器国家重点实验室电话:27404779Email:2023/1/23VHDL 程序的基本结构程序的基本结构VHDL程序一般由程序一般由5个部分组成:个部分组成:nLibrary(程序库)(程序库)nPackage(程序包)(程序包)nEntity(实体)(实体)nArchitecture(构造体)(构造体)nConfiguration(配置)(配置)VHDL 程序的基本结构程序的基本结构VHDL程序一般由程序一般由5个部分组成:个部分组成:n nLibrary(程序库)(程序库)n nPackage(程序包)(程序包)nEntity(实体)(实体)nArchitecture(构造体)(构造体)nConfiguration(配置)(配置)库和程序包库和程序包库 :存放已编译过的实体、构造体、程序包和配置程序包:由一组对外可见的信号、常量、数据类型、子程序、属性等组成 的程序集合库和程序包的使用库和程序包的使用Library;Use.;例:Library ieee;Use ieee.std_logic_1164.all;常用库常用库nStd VHDL的标准库nieee IEEE认可的标准库nWork 现行作业库nVital 面向ASIC的库n用户自定义库常用库及其程序包常用库及其程序包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个部分组成:个部分组成:nLibrary(库)(库)nPackage(程序包)(程序包)n nEntity(实体)n nArchitecture(构造体)n nConfiguration(配置)设计实体设计实体实体说明构造体设计实体的组成设计实体设计实体实体说明构造体1有多个构造体的设计实体的组成构造体2构造体n 配 置设计实体设计实体实体说明实体说明构造体设计实体的组成实体说明实体说明Entity is 类属说明类属说明;端口说明端口说明;实体说明部分;实体语句部分;End entity;最简单的例:entity nothing isend nothing;实体说明实体说明-类属说明类属说明类属为设计实体和外部环境通讯的静态通信静态通信提供通道。可以定义端口大小、元件数目及定时特性等Generic(constant参数名:in子类型标识:=静态表达式;);例:Generic(delay:time:=10ns);实体说明实体说明-端口说明端口说明端口为设计实体和外部环境通讯的动态通信动态通信提供通道port(signal端口名:模式子类型标识:=静态表达式;);模式:in,out,inout,bufferInout和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 isEnd mux4;Architecture rtl of mux4 isBeginEnd rtl;现场演示现场演示4比特可逆计数器端口方向说明端口方向说明方向定义含 义IN输入OUT输出INOUT双向BUFFER具有读功能的输出模块只写,可有多个驱动可读、可写可读写,仅1个驱动只读在实际的数字集成电路中,IN相当于只可输入的引脚,OUT相当于只可输出的引脚,BUFFER相当于带输出缓冲器并可回读的引脚,INOUT相当于双向引脚。电子线路的设计与仿真32PACKAGE已在设计实体中定义的数据类型、子程序或数据对象对于其它的实体是不可用的,或者说是不可见的。为了使其能被更多的实体访问和共享,可以将它们收集在一个程序包中。2023/1/23 电子线路的设计与仿真33PACKAGE2023/1/23 电子线路的设计与仿真34PACKAGE程序包首:程序包首:程序包首的说明语句可收集多个VHDL设计所需的公共信息,包括数据类型说明,信号说明,子程序说明以及元件说明等。程序包可以只由程序包首组成。PACKAGE upac IS CONSTANT k:INTEGER:=4;TYPE instruction IS(add,sub,adc,inc,srf,slf);SUBTYPE cpu_bus IS STD_LOGIC_VECTOR(k-1 DOWNTO 0);END upac;2023/1/23