VHDL语言的库、程序包及配置.ppt

上传人:牧羊曲112 文档编号:6522941 上传时间:2023-11-08 格式:PPT 页数:22 大小:392KB
返回 下载 相关 举报
VHDL语言的库、程序包及配置.ppt_第1页
第1页 / 共22页
VHDL语言的库、程序包及配置.ppt_第2页
第2页 / 共22页
VHDL语言的库、程序包及配置.ppt_第3页
第3页 / 共22页
VHDL语言的库、程序包及配置.ppt_第4页
第4页 / 共22页
VHDL语言的库、程序包及配置.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《VHDL语言的库、程序包及配置.ppt》由会员分享,可在线阅读,更多相关《VHDL语言的库、程序包及配置.ppt(22页珍藏版)》请在三一办公上搜索。

1、1,VHDL语言的库、程序包及配置,4 VHDL语言的库、程序包及配置,在VHDL设计实体中,除了实体说明和结构体外,还有库、程序包和配置三个各自独立的组成部分。依据VHDL语言的规则,VHDL程序所使用的文字、数据对象、数据类型都需要预先定义。将预先定义好的数据类型、元件调用声明及一些常用子程序收集在一起,形成程序包,供VHDL设计实体共享和调用。若干个程序包则形成库。,2,库(Library)是用于存放预先设计好的程序包和数据的集合体。,VHDL语言的库、程序包及配置,4.1 VHDL库,1.常用的库,VHDL语言中常用的五种库:,IEEE库 STD库 WORK库 VITAL库 用户自定义

2、库,VHDL语言设计中最常见的库。,VHDL语言的标准库。,用户的VHDL语言工作库。,VHDL语言的时序仿真库。,用户自定义的资源库。,3,VHDL语言的库、程序包及配置,4,VHDL语言的库、程序包及配置,2.资源库和设计库,VHDL语言所使用的库可以分成两类:,资源库 设计库,用于存放常规元件、标准模块、预定义数据类型等,如:IEEE库。,是一种符合VHDL标准的预定义库。如:STD库定义了一些基本的数据类型、子类型和函数等;WORK库存放用户设计和定义的设计单元及程序包等。,5,VHDL语言的库、程序包及配置,3.库的使用,关键字:LIBRARY 格 式:LIBRARY 库名称,库说明

3、语句:,说 明:用来指明所使用的库,库名称为一系列由逗号分隔的库名。库说明语句总是位于设计实体的最前面,通常与USE语句一起使用。,6,VHDL语言的库、程序包及配置,3.库的使用,格式1:USE 库名.程序包名.项目名;,USE语句用来指明库中的程序包,有两种格式:,作用:为本设计实体开放指定库中的特定程序包内所选定的项目。,例如:,LIBRARY IEEE;USE;USE;,7,VHDL语言的库、程序包及配置,3.库的使用,格式2:USE 库名.程序包名.ALL;,作用:为本设计实体开放指定库中的特定程序包内所有的内容。,例如:,LIBRARY IEEE;USE IEEE.STD_LOGI

4、C_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;,8,在VHDL语言中,用户可以将已定义的常数、信号、函数、数据类型、元件和子程序等收集在一起形成一个程序包,以便更多的设计实体利用和共享。,VHDL语言的库、程序包及配置,4.2 VHDL程序包,定义程序包的一般语句格式:,PACKAGE 程序包 IS 程序包首说明 END 程序包名;PACKAGE BODY 程序包 IS 程序包体说明 END 程序包名;,程序包首,程序包体,9,程序包首收集了VHDL设计所需的公共信息,用来定义数据类型、元件和子程序等。,VHDL语言的库、程序包及配置,1.程序包首,一般

5、格式:,PACKAGE 程序包 IS TYPE语句;SUBTYPE语句;CONSTANT语句;SIGNAL语句;COMPONENT语句;FUNCTION语句;SUBPROGRAM语句;END 程序包名;,用来定义数据类型 用来定义子类型 用来定义常数 用来定义信号 用来定义元件 用来定义函数 用来定义子程序,10,VHDL语言的库、程序包及配置,【例4.1】定义程序包。,PACKAGE my_pkg IS TYPE byte IS RANGE 0 TO 255;SUBTYPE nibyte IS byte RANGE 0 TO 15;CONSTANT byte_ff:bcd:=255;SIGN

6、AL addend:nibabc;COMPONENT byte_adder PORT(a,b:IN byte;c:OUT byte;overflow:OUT BOOLEAN);END COMPONENT;FUNCTION my_fun(a:IN byte)RETURN byte;END my_pkg;,程序清单:,-程序包首,程序包名为my_pkg,-定义数据类型,byte的范围0255,-定义子类型nibyte,-定义常数byte_ff,-定义信号addend,-定义元件byte_adder,-定义函数my_fun,11,用来描述已在程序包首中定义过的元件和子程序的内容。,VHDL语言的库、

7、程序包及配置,2.程序包体,一般格式:,PACKAGE BODY 程序包 IS 程序包体说明 END 程序包名;,程序包体说明可以是USE语句、子程序定义、子程序体、数据类型说明、子类型说明和常数说明等。,12,常用的预定义的程序包有:,VHDL语言的库、程序包及配置,3.VHDL常用的程序包,STD_LOGIC_1164 STD_LOGIC_ARITH STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED STANDARD和TEXTIO,13,配置是将特定的结构体与一个确定的实体相关联,为大型系统的设计提供管理和工程组织。配置是设计实体VHDL语言描述的组成部分之一,但不是

8、必不可少的。常用来描述层与层之间、实体与结构体之间的连接关系。,VHDL语言的库、程序包及配置,4.3 配置,配置可分为三种类型:,默认配置 元件配置 结构体配置,14,默认配置是一种最为简单的配置,当设计实体中不含有任何其他元件和块语句时,可以使用默认配置。,VHDL语言的库、程序包及配置,1.默认配置,基本格式:,CONFIGURATION 配置名 OF 实体名 IS FOR 选配结构体名;END FOR;END 配置名;,15,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY COUNTER IS PORT(CLK,CLR:IN STD_LO

9、GIC;Q:OUT INTEGER);END COUNTER;,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,设两个计数器具有相同的功能和外部结构,只是计数位宽不同。用一个计数器实体来实现两个不同结构体的配置。,程序清单:,计数器的实体,16,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,程序清单:,ARCHITECTURE COUNT4 OF COUNTER IS BEGIN PROCESS(CLK)VARIABLE QQ:INTEGER:=0;BEGIN IF CLR=0 THEN QQ:=0;ELSIF(

10、CLK EVENT AND CLK=1)THEN IF QQ=15 THEN QQ:=0;ELSE QQ:=QQ+1;END IF;END IF;Q=QQ;END PROCESS;END COUNT4;,计数器COUNT4的结构体,17,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,程序清单:,ARCHITECTURE COUNT8 OF COUNTER IS BEGIN PROCESS(CLK)VARIABLE QQ:INTEGER:=0;BEGIN IF CLR=0 THEN QQ:=0;ELSIF(CLK EVENT AND CLK=1)THEN

11、 IF QQ=255 THEN QQ:=0;ELSE QQ:=QQ+1;END IF;END IF;Q=QQ;END PROCESS;END COUNT8;,计数器COUNT8的结构体,18,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,程序清单:,CONFIGURATION COUNT_4 OF COUNTER IS FOR COUNT4 END FOR;END COUNT_4;CONFIGURATION COUNT_8 OF COUNTER IS FOR COUNT8 END FOR;END COUNT_8;,计数器的配置,19,当结构体中含有多个

12、引用元件时,可以采用元件配置,以指明引用元件的具体位置。,VHDL语言的库、程序包及配置,2.元件配置,格式:,CONFIGURATION 配置名 OF 实体名 IS FOR 选配结构体名 FOR 元件例化标号:元件名 USE CONFIGURATION 库名.元件配置名;或 USE ENTITY 库名.实体名(结构体名);END FOR;END FOR;END 配置名;,20,CONFIGURATION mux_ cfg OF mux21 IS FOR structure FOR U2,U3:and2 USE CONFIGURATION WORK.and2_cfg;END FOR;FOR U

13、4:or2 USE CONFIGURATION WORK.or2_cfg;END FOR;END FOR;END mux_ cfg;,VHDL语言的库、程序包及配置,【例4.3】给例中的二选一数据选择器进行元件配置。,程序清单:,21,结构体配置与元件配置具有相同的特征,都是对结构体中所引用的元件进行配置,但它们所处的位置和书写格式有很大的不同。结构体配置通常直接放在结构体说明语句的位置,而元件配置则是与元件所在的结构体分开的。,VHDL语言的库、程序包及配置,3.结构体配置,格式:,FOR 元件例化标号:元件名 USE ENTITY 库名.实体名(结构体名);或 FOR 元件例化标号:元件名 USE CONFIGURATION 库名.元件配置名;,22,VHDL语言的库、程序包及配置,3.结构体配置,例如,对例中的元件可采用结构体配置。,FOR U2,U3:and2 USE CONFIGURATION WORK.and2_cfg;FOR U4:or2 USE CONFIGURATION WORK.or2_cfg;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号