数字电子技术硬件描述语言讲述

上传人:最**** 文档编号:117943287 上传时间:2019-12-11 格式:PPT 页数:48 大小:179KB
返回 下载 相关 举报
数字电子技术硬件描述语言讲述_第1页
第1页 / 共48页
数字电子技术硬件描述语言讲述_第2页
第2页 / 共48页
数字电子技术硬件描述语言讲述_第3页
第3页 / 共48页
数字电子技术硬件描述语言讲述_第4页
第4页 / 共48页
数字电子技术硬件描述语言讲述_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《数字电子技术硬件描述语言讲述》由会员分享,可在线阅读,更多相关《数字电子技术硬件描述语言讲述(48页珍藏版)》请在金锄头文库上搜索。

1、第八章 超高速集成电路硬件 描述语言VHDL 简介 8-1 VHDL语言的基本组成 8-2 VHDL数据类型和属性 8-3 VHDL的行为描述 8-4 VHDL的结构描述 小结 传统的电路系统设计方法的步骤从状态图的简化, 写出最简逻辑表达式,到绘出电路原理图。这在不是 较大的电路系统中,工程师可以用一定的时间,了解 电路的原理。若电路系统非常庞大,工程师就不容易 在电路原理图上了解电路的原理,而且对绘图者也是 一项非常烦琐的工作。因此众多软件公司开发研制了 具有自己特色的电路硬件描述语言(Hardware Description Language,HDL),这些硬件描述语言必 然有很大的差异

2、,工程师一旦选用某种硬件描述语言 作为输入工具,就被束缚在这个硬件设计环境之中, 不能在众多的软件工具中选择一个最佳组合作为自己 的最优设计环境。因此,硬件设计工程师需要一种强 大的、标准化的硬件描述语言,作为可相互交流的设 计环境。 美国国防部在80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,其目标之 一是为下一代集成电路的生产,实现阶段性的工 艺极限以及完成10万门级以上的设计,建立一项 新的描述方法。1981年提出了一种新的HDL,称 之为VHSIC Hardware Description Language,简 称为VHDL,这种

3、语言的成就有两个方面: 1. 描述复杂的电路系统; 2. VHDL成为硬件描述语言的标准。 VHDL的主要优点是: 1.覆盖面广,描述能力强,是一个多层次的硬件描述语言 。即设计的原始描述可以是非常简练的描述,经过层层细化 求精,最终成为可直接付诸生产的电路级或版图参数描述, 整个过程都可以在VHDL的环境下进行。 2.VHDL有良好的可读性,即可以被计算机接受,也容易 被理解。用VHDL书写的原文件,即是程序,又是文档, 即是技术人员之间交换信息的文件,又可作为合同签约者 之间的文件。 3.VHDL本身的生命期长,因为VHDL的硬件描述与工 艺技术无关,不会因工艺变化而使描述过时。与工艺技术

4、 有关的参数可通过VHDL提供的属性加以描述,工艺改变 时,只需修改相应程序中的属性参数即可。 4.支持大规模设计的分解和已有设计的 再利用,一个大规模设计不可能一个人独 立完成,它将由多人,多项目组来共同完 成。VHDL为设计的分解和设计的再利用 提供了有力的支持。 VHDL的主要优点是: 5.VHDL已成为IEEE承认的一个工业标 准,事实上已成为通用硬件描述语言。 8-1 VHDL的基本组成 VHDL可以把任意复杂的电路系统视作一个模 块,一个模块可主要分为三个组成部分: 每个模块中的程序包有IEEE标准的标准程序 包或设计者自身设计的程序包,而且调用的数量 不限。模块中的程序包是设计中

5、的子程序和公用 数据类型的集合,是构成设计工具的工具箱,工 具箱中最基本的工具是数据类型包,调用此标准 程序包的VHDL语言是: 一、参数部分程序包 例1 : LIBRARY ieee; USE ieee.std_logic_1164.all; 调用程序包 语句 标 准 程 序 包 定 义 程 序 包 这两句设置在VHDL 程序的前面,表示以后 在实体或结构体中要用 到数据类型包中的数据 类型。 模块中仅有一个设计实体 ,它提供该设计模块的公共信 息,是VHDL设计电路的最基 本部分。VHDL设计的电路系 统是可以分层次的,所以设计 的模块系统实体即可以是顶层 实体,又可以是最底层实体。 二、

6、接口部分设计实体 : 调用程序包 语句 标 准 程 序 包 定 义 程 序 包 实体 及实 体声 明语 句 ENTITY kxor IS kxor PORT(a1,b1:IN std_logic; a1 b1 c1:OUT std_logic); c1 END kxor; 例 2 实体部分的大写单词ENTITY、IS、PORT、 IN、OUT和END为关键字。在ENTITY.END之 间表示实体内容,ENTITY后的字符串kxor表示 实体的名称,即电路的符号名。端口(引脚)信 息关键字PORT中的语句有三个端口,描述了信 号的流向,分别是两个输入(IN)模式a1和b1, 一个是输出(OUT)

7、模式c1,端口信息除了输入 输出之外,还可以是双向、缓冲器等。std_logic 表示信号取值的类型为标准逻辑位,除了标准逻 辑位之外,还可以是实数、整数、无符号数、物 理以及以上数据类型组成的记录和数组集合,信 号类型也可以是设计者定义。 三、描述部分结构体 : 当异或门的符号和外部端口 a1、b1和c1确定之后,就要确定 实体的内部电路,使之与实体相 对应。电路描述部分称之为结构 体ARCHITECTURE,它描述实 体硬件的互连关系、数据的传输 和变换以及动态行为。一个实体 可以对应多个结构体,每个结构 体可以代表该硬件的某一方面特 性,例如行为特性,结构特性。 调用程序包 语句 标 准

8、 程 序 包 定 义 程 序 包 实体 及实 体声 明语 句 结 构 体 1 结 构 体 2 结 构 体 n ARCHITECTURE kxor_arc OF kxor IS 例3 BEGIN c1 = (NOT a1 AND b1) OR (a1 AND NOT b1); END kxor_arc; kxor a1 b1 c1 a1 b1 c1 8-2 VHDL数据类型和属性 VHDL硬件描述语言中涉及到了许多信号,变量和常量 ,它们用来保持一个数据。 保持数据的信号,变量和常量,在VHDL中称为 目标,每一个目标都有一个数据类型确定目标保持的 那一类数据。 VHDL是一种非常严格的数据类型

9、化语言,规定每个信 号,常量或变量和每个表达式有一个唯一的确定数据类型 ,一般说,在表达式中分配数值给目标时的数据类型不可 以被混用。 每个目标和表达式的类型静态地确定。 在VHDL中有三类目标:信号、变量和常量。 信号和变量可以赋予一系列的值,而常量一次 仅被分配一个值。 变量和信号又有不同,赋予信号的数值要到未来 的某个时刻,信号才接受当前的数值,而赋予变量的 数值,变量立即接受当前的数值。 目标的一般形式如下: : := ; 目标:是一个或多个代表着目标种类的字符串,多个目 标时用“,”号分开。 : := ; 目标种类:信号、变量和常量。 信号:它可以表示把元件的端口连接在一起的互连线。

10、 变量:用于对暂时数据的局部存储,变量只在进程和子 程序内部定义。 常量:对某些特定类型数据赋予的数值。 表达式:表达式是为了规定目标的初始值,这是缺省部分。 目标类型:为了规定目标的特征,VHDL含有很宽范围的 数据类型。VHDL除了有基本的数据类型之外,设计者还 可以建立自己新的数据类型,类型说明部分规定类型名和 类型范围,它的一般形式是: TYPE IS ; 标量类型、复合类型、子类型、文件类型和寻址类型。 标量类型包括所有的简单类型:如整数、实数等 复合类型包括数组和记录 寻址类型在一般编辑语言中等价为指针 文件类型用设计者定义的文件类型为设计者提供说明的文件对象 子类型主要是对现有类

11、型加以限制 VHDL可用数据类型有五类: 一、 标量数据类型 标量数据类型是基本的数据类型,它包括整数类型、 实数类型、物理类型和枚举类型。 一个目标的数值有可能经常更换或者说是包含多个值, 但一个目标一次只能被一种类型说明。 物理类型要提供一个基本单位,然后在这个基本单位 上定义多个或零个次级单位,每个次级单位都是基本 单位的整数倍。 枚举类型在形式上是定义括弧括起来的字符串文字表 , 一个字符串文字在枚举类型定义中只能出现一次,但 允许同样一个字符串文字出现在不同的枚举类型的字 符串文字表中,枚举类型的字符串文字表中的文字是 由设计者定义的,这些字母可以是单个字母,也可以 是一个字符串,例

12、如BREAKFAST, Lunch, a等。 下面举两个VHDL程序加深理解枚举类型的使用。 PACKAGE meals_pkg IS TYPE meal IS(breakfast,lunch,dinner); END meals_pkg; 例2: USE work . meals_pkg . all; ENTITY meals IS PORT(previous_meal:IN meal; next_meal:OUT meal); END meals; ARCHITECTURE meals_arc OF meals IS BEGIN WITH previous_meal SELECT next

13、_meal = breakfast WHEN dinner, lunch WHEN breakfast, dinner WHEN lunch; END meals_arc; 二、复合数据类型 复合类型是由数组类型和记录类型组成,它们的元 素是标量类型的元素。数组类型是由相同的标量元素 组成,即同构复合类型,数组可以是一维二维或多维 。例如 TYPE matrix IS ARRAY(row,column) OF std_logic; TYPE r_ma IS ARRAY( 1 TO 10, 1 TO 40) OF std_logic; TYPE word IS ARRAY(15 DOWNTO 0

14、) OF BIT; TYPE column IS RANGE 1 TO 40; TYPE row IS RANGE 1 TO 10; CONSTANT ROM : BIT_VECTOR(0 TO 15); ARCHITECTURE rom_arc OF rom IS BEGIN PROCESS(cs,x1,x2,x3,x4) VARIABLE n:NATURAL RANGE 0 TO 15; CONSTANT rom0:std_logic_vector(0 TO 15):= “0101010101010101”; CONSTANT rom1:std_logic_vector(0 TO 15):

15、= “0011001100110011”; CONSTANT rom2:std_logic_vector(0 TO 15):= “0000111100001111”; CONSTANT rom3:std_logic_vector(0 TO 15):= “0000000011111111”; 下面举一个VHDL程序说明一维数组实现164的ROM。 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY rom IS PORT(cs,x1,x2,x3,x4:IN std_logic; d0,d1,d2,d3:OUT std_logic); END rom; BEGIN IF cs= 1 THEN n:=0; IF x1 = 1 THEN n:= n+1; END IF; IF x2 = 1 THEN n:= n+2; END IF; IF x3 = 1 THEN n:= n+4; END IF; IF x4 = 1 THEN n:= n+8; END IF; d0 = rom0(n) AFTER 10 ns; d1 = rom1(n) AFTER 10 ns; d2 = rom2(n) AFTER 10 ns;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号