硬件描述语言VHDL
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TYPE < 类型名 IS < 类型范围 ; 类型名> 类型范围> VHDL可用数据类型有五类: 可用数据类型有五类: 可用数据类型有五类 标量类型、复合类型、子类型、文件类型和寻址类型。 标量类型、复合类型、子类型、文件类型和寻址类型。 标量类型包括所有的简单类型:如整数、实数等; 标量类型包括所有的简单类型:如整数、实数等; 复合类型包括数组和记录; 复合类型包括数组和记录; 寻址类型在一般编辑语言中等价为指针; 寻址类型在一般编辑语言中等价为指针; 文件类型是设计者定义的文件类型为设计者提供说明的文件对象; 文件类型是设计者定义的文件类型为设计者提供说明的文件对象; 子类型主要是对现有类型加以限制。 子类型主要是对现有类型加以限制。
BEGIN c1 <= (NOT a1 AND b1) OR (a1 AND NOT b1); END kxor_arc;
结 构 体 1 结 构 体 2 结 构 体 n
a1
b1
a1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1 a1 b1
设计者自身设计的程序包
调用数据类型标准程序包的VHDL语言描述 调用数据类型标准程序包的 语言描述 LIBRARY ieee; USE ieee.std_logic_1164.all;
标 准 程 序 包 定 义 程 序 包
放在VHDL程序的最前面,表示以后在实体或结构 程序的最前面, 放在 程序的最前面 体中要用到数据类型包中的数据类型。 体中要用到数据类型包中的数据类型。
三、描述部分—结构体 描述部分 调用程序包 结构体
语句
结构体
描述实体硬件的互连关系、 描述实体硬件的互连关系、数据的传 输和变换以及动态行为。 输和变换以及动态行为。
实体 标 一个实体可以对应多个结构体,每个结构体可以代定 一个实体可以对应多个结构体及实 , 体声 准 义 表该硬件的某一方面特性,例如行为特性,结构特性。 表该硬件的某一方面特性,例如行为特性,结构特性。 程 明语 程 句 序 序 包 包 ARCHITECTURE kxor_arc OF kxor IS
VHDL数据类型和属性 第二节 VHDL数据类型和属性
有三种: 在VHDL中目标有三种:信号、变量和常量。 中目标有三种 信号、变量和常量。 信号和变量可以赋予一系列的值, 常量一次仅 信号和变量可以赋予一系列的值,而常量一次仅 可以赋予一系列的值 被分配一个值。 被分配一个值。 信号和变量又有不同,赋予信号的数值要到未来 信号和变量又有不同,赋予信号的数值要到未来 又有不同 信号 的某个时刻,信号才接受当前的数值 而赋予变量 才接受当前的数值; 变量的 的某个时刻,信号才接受当前的数值;而赋予变量的 立即接受当前的数值。 数值,变量立即接受当前的数值 数值,变量立即接受当前的数值。
★ VHDL语言的主要优点 语言的主要优点 本身的生命期长。 ◆ VHDL本身的生命期长。因为 本身的生命期长 因为VHDL的硬件描述与工艺 的硬件描述与工艺 技术无关,不会因工艺变化而使描述过时。 技术无关,不会因工艺变化而使描述过时。与工艺技术 有关的参数可通过VHDL提供的属性加以描述,工艺改 提供的属性加以描述, 有关的参数可通过 提供的属性加以描述 变时,只需修改相应程序中的属性参数即可。 变时,只需修改相应程序中的属性参数即可。 支持大规模设计的分解和已有设计的再利用。 ◆ 支持大规模设计的分解和已有设计的再利用。一个大规 模设计不可能一个人独立完成,它将由多人, 模设计不可能一个人独立完成,它将由多人,多项目组 来共同完成。 来共同完成。VHDL为设计的分解和设计的再利用提供 为设计的分解和设计的再利用提供 了有力的支持。 了有力的支持。 已成为IEEE承认的一个工业标准,事实上已成 承认的一个工业标准, ◆ VHDL已成为 已成为 承认的一个工业标准 为通用硬件描述语言。 为通用硬件描述语言。
IN——输入模式; 输入模式; 输入模式 OUT——输出模式; 输出模式; 输出模式 std_logic表示信号取值的类型为标准逻辑。 表示信号取值的类型为标准逻辑。 表示信号取值的类型为标准逻辑
接口部分—设计实体 二、接口部分 设计实体
再例: 再例:
d0 d1 d2 d3
sel
out1
s ENTITY sel IS PORT(d0,d1,d2,d3:IN BIT; s :IN INTEGER RANGE 0 TO 3; out1 :OUT BIT); END sel;
一个模块中仅有一 接口部分—设计实体 二、接口部分 设计实体 个设计实体。 个设计实体。 设计实体 提供设计模块的公共信息, 提供设计模块的公共信息,是VHDL 设计电路的最基本部分。 设计电路的最基本部分。
调用程序包 a1 语句
VHDL实体的描述方法: 实体的描述方法: 实体的描述方法
kxor
c1
存在的问题: 存在的问题:
当系统规模增大,设计工作量大,设计周期长; 当系统规模增大,设计工作量大,设计周期长; 设计电路的体积大、功耗大、可靠性较低; 设计电路的体积大、功耗大、可靠性较低; 交流性较差。 交流性较差。 现代电路的设计方法:硬件设计+ ◆ 现代电路的设计方法:硬件设计 软件设计 从上至下的设计方法 出现Hardware Description Language,HDL
ENTITY、IS、PORT、IN、OUT和END为关键字; 、 、 为关键字; 、 、 和 为关键字 ENTITY...END之间表示实体内容; 之间表示实体内容; 之间表示实体内容 kxor表示实体的名称,即电路的符号名; 表示实体的名称, 表示实体的名称 即电路的符号名; PORT——端口(引脚)信息关键字,描述了信号的流向; 端口( 端口 引脚)信息关键字,描述了信号的流向;
★ VHDL语言的主要优点 语言的主要优点 是一种多层次的硬件描述语言,覆盖面广, ◆ 是一种多层次的硬件描述语言,覆盖面广,描述能 力强。即设计的原始描述可以是非常简练的描述, 力强。即设计的原始描述可以是非常简练的描述, 经过层层细化求精, 经过层层细化求精,最终成为可直接付诸生产的电 路级或版图参数描述,整个过程都可以在VHDL的 路级或版图参数描述,整个过程都可以在 的 环境下进行。 环境下进行。 有良好的可读性,即可以被计算机接受, ◆ VHDL 有良好的可读性,即可以被计算机接受,也 容易被理解用VHDL 书写的原文件,既是程序,又 书写的原文件,既是程序, 容易被理解用 是文档,既是技术人员之间交换信息的文件, 是文档,既是技术人员之间交换信息的文件,又可 作为合同签约者之间的文件。 作为合同签约者之间的文件。
VHDL的基本组成 第一节 VHDL的基本组成
参数部分——程序包 程序包 参数部分
VHDL 语言
接口部分—设计实体 接口部分 设计实体
描述部分—结构体 描述部分 结构体
参数部分——程序包 一、参数部分 程序包
IEEE标准的标准程序包 标准的标准程序包 调用程序包 程序包
语句
设计中的子程 序和公用数据类型 的集合。 的集合。
超高速集成电路硬件描述语言VHDL 超高速集成电路硬件描述语言VHDL
Βιβλιοθήκη Baidu
概述 第一节 第二节 第三节 第四节 小结
VHDL语言的基本组成 语言的基本组成 VHDL数据类型和属性 数据类型和属性 VHDL的行为描述 的行为描述 VHDL的结构描述 的结构描述
★ 设计方法 传统的电路系统设计方法:纯硬件逻辑设计(试凑法) ◆ 传统的电路系统设计方法:纯硬件逻辑设计(试凑法)
目标的一般形式如下: 目标的一般形式如下: 的一般形式如下 < 目标种类 < 目标 , 目标 目标种类> 目标< 目标...>> : < 目标类型 :=< 表达式 ; 目标类型> 表达式>
< 目标种类 < 目标 , 目标 目标种类> 目标< 目标...>> : < 目标类型 :=< 表达式 ; 目标类型> 表达式> 目标种类:信号( 目标种类:信号(SIGNAL)、变量 、变量(VARIABLE)和常量 和 (CONSTANT)。 。 信号:它表示把元件的端口连接在一起的互连线。 信号:它表示把元件的端口连接在一起的互连线。 变量:用于对暂时数据的局部存储, 变量:用于对暂时数据的局部存储,变量只在进程和子 VARIABLE a1:INTEGER:=3; 程序内部定义。 程序内部定义。 常量:对某些特定类型数据赋予的一次性数值。 常量:对某些特定类型数据赋予的一次性数值。 目标: 是一个或多个代表着目标种类的字符串, 目标 : 是一个或多个代表着目标种类的字符串 , 多个目 标时用“ 号分开 号分开。 标时用“,”号分开。 表达式:表达式是为了规定目标的初始值,这是缺省部分。 表达式:表达式是为了规定目标的初始值,这是缺省部分。 目标类型:为了规定目标的特征, 目标类型: 为了规定目标的特征 , VHDL含有很宽范围的 含有很宽范围的 数据类型。 除了有基本的数据类型之外, 数据类型 。 VHDL除了有基本的数据类型之外, 设计者还 除了有基本的数据类型之外 可以建立自己的数据类型, 可以建立自己的数据类型, 类型说明部分规定类型名和类 型范围,它的一般形式是: 型范围,它的一般形式是:
★ 硬件描述语言 ◆ ABEL ◆ AHDL ◆ Verilog HDL IEEE标准 标准 ◆ VHDL 美国国防部在80年代初提出了 年代初提出了VHSIC(Very High Speed 美国国防部在 年代初提出了 ( Integrated Circuit)计划,其目标之一是为下一代集成电路的 )计划, 生产,实现阶段性的工艺极限以及完成10万门级以上的设计 万门级以上的设计, 生产,实现阶段性的工艺极限以及完成 万门级以上的设计, 建立一项新的描述方法。 年提出了一种新的HDL,称之为 建立一项新的描述方法。1981年提出了一种新的 年提出了一种新的 , VHSIC Hardware Description Language,简称为 ,简称为VHDL。 。
b1
ENTITY kxor IS PORT(a1,b1:IN std_logic; c1:OUT END kxor;
实体 及实 std_logic); 体声 明语 句 标 准 程 序 包 定 义 程 序 包
接口部分—设计实体 二、接口部分 设计实体
ENTITY kxor IS PORT(a1,b1:IN std_logic; c1:OUT std_logic); END kxor;
b1 b1
kxor
c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1
c1
VHDL数据类型和属性 第二节 VHDL数据类型和属性
VHDL硬件描述语言中涉及到了许多 信号 , 变量 和 硬件描述语言中涉及到了许多信号 变量和 硬件描述语言中涉及到了许多 信号, 常量,它们用来保持数据。 常量,它们用来保持数据。 保持数据 在表达式中 称为目标 在VHDL中,保持数据的信号,变量和常量称为目标。 中 保持数据的信号,变量和常量称为目标。 分配数值给目标 每一个目标都有一个数据类型来确定目标 目标都有一个数据类型来确定目标保持的那一 每一个目标都有一个数据类型来确定目标保持的那一 时的数据类型不 类数据。 类数据。 可以被混用。 可以被混用。 VHDL是一种非常严格的数据类型化语言,规定每个信 是一种非常严格的数据类型化语言,规定每个信 是一种非常严格的数据类型化语言 常量或变量和每个表达式有一个唯一的确定数据类型 和每个表达式有一个唯一的确定数据类型, 号,常量或变量和每个表达式有一个唯一的确定数据类型, 每个目标和表达式的数据类型静态地被确定。 每个目标和表达式的数据类型静态地被确定。