第三章_VHDL硬件描述语言
EDA 技术:3_1 硬件描述语言(VHDL)概述
行为描述; 数据流(寄存器传输RTL)描述; 结构化描述;
14
§3.2 VHDL程序基本结构
基本结构包括:
version)
17
1、类属说明 类属说明: 确定实体或组件中定义的局部常数。模 块化设计时多用于不同层次模块之间信息的 传递。可从外部改变内部电路结构和规模。 类属说明必须放在端口说明之前。
Generic ( 常数名称:类型 [:= 缺省值] {常数名称:类型 [:= 缺省值]} );
18
类属常用于定义: 实体端口的大小、 设计实体的物理特性、 总线宽度、 元件例化的数量等。
9
Verilog HDL :
系统级抽象描述能力比VHDL稍差;门级开 关电路描述方面比 VHDL 强。适合 RTL级和 门电路级的描述。设计者需要了解电路细节, 所作工作较多。IEEE标准,支持广泛。
ABEL、PALASM、AHDL(Altera HDL):
系统级抽象描述能力差,一般作门级 电路 描述。要求设计者对电路细节有详细的了解。 对综合器的性能要求低,易于控制电路资源。 支持少。
signal count_tmp: integer range o to 7 ;
begin
process
begin
wait until clk'event and clk = '1' ;
if reset = '1' or count_tmp = 7 then
count_tmp <= 0 ;
第3章 硬件描述语言VHDL的基本框架介绍
第三章硬件描述语言VHDL的基本框架介绍3.1 概述3.1.1 硬件描述语言的简介硬件描述语言(Hardware Description Language, HDL),是描述硬件电路的功能、信号连接关系及时序关系的语言。
常用硬件描述语言有VHDL、Verilog HDL和ABEL语言。
VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language(超高速集成电路硬件描述语言)。
它诞生于1982年美国国防部提出的超高速集成电路计划,其目的是为了在各个承担国防部订货的集成电路厂商之间建立一个统一的设计数据和文档交换格式。
1987年底被IEEE 和美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本(IEEE-1076)之后,各EDA公司相继推出了自己的VHDL 设计环境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。
1995年,我国国家技术监督局制定的《CAD通用技术规范》推荐VHDL作为我国电子设计自动化硬件描述语言的国家规范。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
3.1.2 VHDL与高级语言的联系与区别1. VHDL语言的特点VHDL主要用于描述数字系统的结构、行为、功能和接口。
相对于传统原理图描述方法,它主要的特点如下:1)具有强大的电路描述能力——综合功能VHDL既可以描述如编码器、译码器、计数器等组合逻辑电路和时序逻辑电路等门级的电路,也可用来描述如包括一个完整功能的计算机系统等系统级电路。
第3章硬件描述语言VHDL基础
【例3-5】采用BLOCK语句来描述的计数器电路 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY counter2 IS PORT(clk:IN STD_LOGIC;q1,q0:OUT STD_LOGIC); END counter2; ARCHITECTURE arch_counter2 OF counter2 IS SIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN counter: BLOCK BEGIN PROCESS(clk) BEGIN IF(clk‟EVENT AND clk=„1‟)THEN IF (count(0)=„1‟ AND count(1)=„1‟) THEN count<=“00"; ELSE count<=count+1; 在对程序进行仿真时, END IF; BLOCK语句中所描述的 END IF; 各条语句是并行执行的, q1<=count(1); 执行顺序与书写顺序无关 q0<=count(0); END PROCESS;END BLOCK counter; END arch_counter2;
3.2.2 结构体
【例3-2】一个RS触发器的结构体的行为描述方式。 ARCHITECTURE rs_behav OF rsff IS BEGIN q<=NOT(qb AND set); qb<=NOT(q AND reset); END rs_behav; 是一个RS触发器的结构体的行为描述方式。
当卫式表达式为真时, BLOCK语句被执行,否则将 跳过BLOCK语句。在BLOCK 块中的信号传送语句前都要加 一个前卫关键词GUARDED, 以表明只有在条件满足时此语 句才会执行。
VHDL硬件描述语言与数字系统开发(第3章)
信号名
端口模式
端口类型
构造体(architecture)
构造体说明语句描述设计功能, 构造体说明语句描述设计功能,即说明设计单元的具体行 为或结构。 为或结构。 构造体(ARCHITECTURE)说明语句的一般格式为: 构造体(ARCHITECTURE)说明语句的一般格式为: 说明语句的一般格式为 ARCHITECTURE 构造体名 OF 实体名 IS 构造体说明部分] [构造体说明部分]
端口说明的一般格式为: 端口说明的一般格式为:
PORT(端口名{,端口名}:端口模式 端口名{ 端口名}
. . .
数据类型; 数据类型;
端口名{ 端口名} 数据类型); 端口名{,端口名}:端口模式 数据类型); 例如,4- 译码器的端口描述: 例如,4-7译码器的端口描述: ,4 ENTITY YMQ4_7 IS PORT (Q1,Q2,Q3,Q4 : IN BIT; Y : OUT STD_LOGIC_VECTOR(7 DOWNTO 1)); END YMQ4_7;
VHDL具有强大的行为描述能力,丰富的仿真语句 具有强大的行为描述能力,
和库函数,对设计的描述也具有相对独立性。 和库函数,对设计的描述也具有相对独立性。 Verilog语法比较自由,易学易用,最大特点是便于 语法比较自由,易学易用, 综合,对开发工具要求降低。 综合,对开发工具要求降低。 ABEL一种早期的硬件描述语言支持逻辑电路的多 种表达形式,其中包括逻辑方程,真值表和状态图。 种表达形式,其中包括逻辑方程,真值表和状态图。 AHDL(Altera HDL) 是ALTERA公司发明的HDL,特 ALTERA公司发明的 公司发明的HDL,特 点是非常易学易用, 点是非常易学易用,学过高级语言的人可以在很短 的时间(如几周)内掌握AHDL。 的时间(如几周)内掌握AHDL。缺点是只能用于 ALTERA自己的开发系统 ALTERA自己的开发系统。 自己的开发系统。
第3章 VHDL硬件描述语言
2.扩展标识符
在VHDL中,VHDL-93标准中的扩 展标识符应该遵循以下命名规则: (1)扩展标识符用反斜杠来界定,例如, \data_bus\;
(2)扩展标识符中可以包含图形符号和空 格等,例如,\data&_bus\; (3)扩展标识符的两个反斜杠之间可以使 用保留字,例如,\ENTITY\;
3.1 VHDL的基本元素
标识符、数据对象、数据类型及运算符 和操作符是组成VHDL的基本元素,每一个 VHDL程序都离不开这些基本元素,掌握它 们对正确书写VHDL程序至关重要。
3.1.1 标识符
VHDL-87标准中有关标识符的语法 规范被VHDL-93标准全部接受并加以扩 展。 通常,称VHDL-87标准中的标识符 为短标识符,而将VHDL-93标准中的标 识符称为扩展标识符。 下面对这两种标识符的命名规则分 别进行介绍。
(3)具有不同数据类型的对象之间不能直 接进行赋值操作。例如,a和b是整数型 变量,“a := b + ‗1‘;”这个表达式是非 法的。因为‘1‘是STD_LOGIC类型,而 a和b是整数型,不同数据类型不能在同 一表达式中进行运算操作。
正是由于上述原因,为了能够更好 地应用VHDL进行硬件电路描述,必须 要很好地理解各种数据类型的定义。
这里,所谓保留字就是指一些在VHDL 中具有专门定义的特殊字符,参见3.1.1节。
一般可以根据自己的设计习惯来确定 保留字的书写格式,本书中VHDL的保留 字均采用大写形式。 同时有一点要说明:除前面介绍的扩 展标识符外,一般EDA工具对于VHDL的 大小写是不加区分的。
常量被赋值以后的值将不再改变。 常量说明的范围十分广泛,它既可 以在程序包、实体说明和结构体的说明 部分进行说明,也可以在语句的说明部 分进行说明。
第3章 VHDL硬件描述语言PPT课件
这里,所谓保留字就是指一些在VHDL 中具有专门定义的特殊字符,参见3.1.1节。
Page 23
一般可以根据自己的设计习惯来确定 保留字的书写格式,本书中VHDL的保留 字均采用大写形式。
同时有一点要说明:除前面介绍的扩 展标识符外,一般EDA工具对于VHDL的 大小写是不加区分的。
Page 10
(2)扩展标识符中可以包含图形符号和空 格等,例如,\data&_bus\;
(3)扩展标识符的两个反斜杠之间可以使 用保留字,例如,\ENTITY\;
Page 11
(4)扩展标识符的两个反斜杠之间可以用 数字开头,例如,\8_data_bus\;
(5)扩展标识符中允许多个下画线相连, 例如,\data__bus\;
Page 29
通常,变量说明的格式如下所示: VARIABLE 变量名 [,变量名…]:数据类
型 [:=表达式];
Page 30
其中,“VARIABLE”是表示变量的保留 字,用来声明一个变量;“[:=表达式]”用来 对变量进行初始赋值,它是一个可选项,赋 值符号为“:=”。
Page 31
与信号相同,对变量进行说明时可以 对它赋予初始值,也可以不赋初始值。
Page 7
(2)短标识符必须以英文字母开头; (3)短标识符不区分大小写; (4)短标识符最后一个字符不能是下画线;
Page 8
(5)短标识符中不能含有两个连续的下画线; (6)VHDL中的保留字不能作为短标识符来使
用。
Page 9
2.扩展标识符
在VHDL中,VHDL-93标准中的扩 展标识符应该遵循以下命名规则: (1)扩展标识符用反斜杠来界定,例如, \data_bus\;
eda第三章 硬件描述语言(HHDL)基础
end kmux4;
类属说明 generic 实体中可以设置类属说明语句; 类属说明位于port语句之前; 类属是对电路模块可变常数的说明; 类属值在编写本模块时可以设置为一个确定值;
在其他程序调用该模块时,可以对类属值进行
重新设定;
看两个例子:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all; ENTITY half_adder IS PORT (a,b : IN bit; s,c : OUT bit); END half_adder; ARCHITECTURE aa OF half_adder IS BEGIN s<=a xor b; c<=a and b; END ;
s : in std_logic;
y : out std_logic);
end kmux4;
实体编写的示例 4选1数据选择器 kmux4
entity kmux4 is
port ( d: in std_logic_vector (0 to 3);
a : in std_logic_vector (1 downto 0);
在电路单元设计时,为了提高集成度,通常沟
道长度总是希望保持最小值,而沟道宽度却可
以进行加长;
R /W
C W
AW
Cd Cs 3Cg
CMOS基本电路结构
通常采用N网络与P网络互补连接构成:
N网络实现逻辑,并联为“与”,串联为“或”
典型CMOS基本电路
CMБайду номын сангаасS反相器
课题三:VHDL硬件描述语言
颜色
3) 实验解释
(1) 信号输入键为SW1,SW2。按下SW1键,信号灯 LED_1亮,即把“1”信号输入到30引脚(S),否则表示送入信 号“0”。按下SW2键,信号灯LED_2亮,即把“1”信号输入 到35引脚(D),否则表示送入信号“0” 信号输出由信号灯D101来显示。LED1(或LED2)亮时表示输 出信号为“1”,否则为信号“0”,以此表示17、16引脚(Y1、 Y0)的信号。
LOG O
数字电子电路与EDA技术教材
课题三:VHDL硬件描述语言
1
实训3 数据分配器的EDA设计
LOG O
» 数据分配器是一种处理数据的逻辑电路,用来将一个输入
信号输出(分配)到指定的输出端。
» 数据分配器可分为1对2数据分配器、1对4数据分配器等,
下面以1对2数据分配器为例来介绍数据分配器的设计。
颜色
(6) 保存并查错:选取窗口菜单File→Project→Save&Check,即可 针对电路文件进行检查。 (7) 修改错误:针对Massage-Compiler窗口所提供的信息修改电路文 件,直到没有错误为止。 (8) 保存并编译:选取窗口菜单File→Project→Save &Compile,即 可进行编译,产生demuti_2v.sof烧写文件。 (9) 创建电路符号:选取窗口菜单File→Create Default Symbol,可 以产生demuti_2v.sym文件,代表现在所设计的电路符号。选取 File→Edit Symbol,进入Symbol Edit画面。 (10) 创建电路包含文件:选取窗口菜单File→Create Default Include File,产生用来代表现在所设计电路的demuti_2v.inc文件,供其他 VHDL编译时使用。 (11) 时间分析:选取窗口菜单Utilities→Analyze Timing,再选取窗 口菜单Analysis→Delay Matrix,产生时间分析结果。
vhdl硬件描述语言
vhdl硬件描述语言VHDL 是一种硬件描述语言,用于描述数字电路和系统。
它是一种结构化的、过程化的编程语言,其语法和结构类似于 C 和 C++ 等编程语言。
VHDL 的设计流程包括以下几个方面:1. 确定设计需求和目标:在开始设计之前,需要明确设计的需求和目标,例如设计一个数字电路、一个控制系统或者一个通信系统。
2. 理解设计需求:在明确设计需求之后,需要对设计需求进行深入的理解,例如设计的功能、性能、可靠性、功耗等方面的需求。
3. 描述设计:使用 VHDL 语言对设计进行描述,包括电路的逻辑结构、时序、信号描述等方面。
4. 仿真和验证:使用仿真工具对设计进行模拟和验证,以确保设计的正确性和可靠性。
5. 综合:将 VHDL 代码转换为 IP 核或者硬件描述器,以便实现最终的硬件实现。
6. 调试:对设计进行调试,以便解决设计中的问题,进一步提高设计的可靠性和性能。
VHDL 的主要特点包括:1. 结构化的语法:VHDL 采用了结构化的语法结构,可以使用类、模块、接口等概念对设计进行组织和管理。
2. 描述方式的多样性:VHDL 可以使用 Verilog 和 VHDL 的语法来描述设计,同时也可以使用结构化、过程化、面向对象等描述方式。
3. 支持数字电路和系统的设计:VHDL 是一种面向数字电路和系统的设计语言,可以用于设计数字电路、控制系统、通信系统等。
4. 高度可读可维护性:VHDL 的语法结构简洁明了,易于理解和维护,同时也易于编写和调试。
VHDL 作为一种硬件描述语言,其主要目的是用于描述数字电路和系统的设计,并且可以实现硬件的实现和验证。
在数字电路和系统的设计过程中,VHDL 可以作为一种重要的工具和技术被广泛应用。
硬件描述语言(VHDL)
(1)体内配置指定
(2)体外配置说明
由于体外配置语句是一个独立的编译单位, 故需给它指定一个单位名—配置名。实体 名和结构体名为需对例元做配置的实体及 相应的结构体。
(3)直接例化
二. VHDL语言的数据对象,数据类型
TYPE week IS(sum,mon,tue,wed,thu,fri,sat);
2.整数,实数(Integer,Real)类型 格式:TYPE 数据类型名 IS 数据类型定义约束范围
TYPE twos IS INTEGER RANGE –32768 TO 32767; TYPE voltage IS REAL RANGE 0.0 TO 10.0;
结构体的子结构描述:
BLOCK,PROCESS,SUBPROGRAM三种语句结构
1. BLOCK语句结构描述
格式: 块结构名: BLOCK BEGIN ….
END BLOCK 块结构名;
在对程序进行仿真时,BLOCK语句中所描述的各个语 句是可以并发执行的,它与书写顺序无关。 卫式BLOCK语句的格式::BLOCK [卫式布尔表达式]; 当卫式布尔表达式为真时,BLOCK语句执行。
为了能重复使用这些函数和过程,这些程 序通常组织在包集合库中。 (1)多个过程和函数汇集在一起就构成一个 包集合(Package)。 (2)n个包集合汇集在一起就形成一个库 (Library)。
(三) 包集合,库及配置
1.库(Library):它是一个经过编译后的数据的集合, 存放包集合EE库,STD库,ASIC矢量库, WORK库,用户定义库。
第3章 VHDL语言基础
Verilog:Cadence公司开发
ABEL(Advanced Boolean Hardware Description, 高级布尔方程语言) :Lattice公司 AHDL(Analog模拟硬件描述语言): Altera公司
第二节
VHDL的基本结构
通过与非门的逻辑描述,阐述VHDL的基本结构
第三节 VHDL结构体的子结构
4位计数器
module count4(out,reset,clk);
output[3:0] out;
input reset,clk; reg[3:0] out; always @(posedge clk) begin if(reset) out<=0; //同步复位 else end endmodule out<=out+1; //计数
Nand_2实体说明
结构体
BEGIN y <= NOT (a AND b);
END rtl;
1. 库说明
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;
语法: library 库名
use 库名.程序包名.项目名:
库是用VHDL语言编写的源程序及其通过编译 的数据集合,它由各种程序包组成,程序包提供了 各种数据类型、函数的定义以及各种类型转换函数 及运算等,以供给设计者使用。
库序项库是用vhdl语言编写的源程序及其通过编译的数据集合它由各种程序包组成程序包提供了各种数据类型函数的定义以及各种类型转换函数及运算等以供给设计者使用
第三章 硬件描述语言HDL Hardware Description Language
第3章 硬件描述语言VHDL
说明: ※ STD库是VHDL的标准库,为所有设计单元所 共享、默认的库,只要在VHDL应用环境中,就 可随时调用这个库中的STANDARD包中的所有 内容,不必显式调用。 ※ IEEE库是VHDL设计中最常见的库,它包含 IEEE标准的程序包和其他一些支持工业标准的 程序包。 ※ 两个USE语句使得以下设计可使用程序包 std_logic_1164、std_logic_unsigned中预定义的 内容。 3)配置 一个实体可用多个结构体描述,在具体综合时选 择哪一个结构体来综合,则由配置来确定。
(3).字符串 字符串是一维的字符数。VHDL中包含有两种类型的字 符串:文字字符串和数位字符串。 1)文字字符串是用双引号括起来的一串文字,如: “BBS” 。主要用来做注释或信息提示 2)数字字符串称为矢量, 代表数组(元素)。 例如:B "1_1101_1100" 二进制数数组,9位 O "14" 八进制数数组,6位 X “AB0” 十六进制数数组,12位 主要用于VHDL中由 bit_vector或 std_logic_vector 定义 的数组。
3 结构体
结构体描述实体的行为功能。 一个实体可以使用3种不同的方式 行为描述; 结构描述; 数据流的描述。 1)结构体的一般格式如下: architecture <architecture_name结构体名> of <entity_name> is --结构体声明区域 --声明结构体所用的内部信号及数据类型 --如果使用元件例化,则在此声明所用的元件 begin --以下开始结构体,用于描述设计的功能 --concurrent signal assignments并行语句信号赋值 --processes 进程(顺序语句描述设计) --component instantiations 元件例化 end <architecture_name>;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VHDL硬件描述语言—VHDL简介
关于VHDL的学习
如何学好VHDL:
• 了解较多的数字逻辑方面的硬件电路知识
• 目标芯片基本结构方面的知识 • VHDL描述的对象始终是客观的电路系统 • 摆脱一维的思维模式,培养多维并行的思维模式
15
VHDL硬件描述语言—VHDL简介
关于VHDL的学习
• 不是所有的VHDL描述都是可以用硬件实现 的(即不是所有的语句都是可综合的)
16
VHDL硬件描述语言 —VHDL的基本结构及其优点
用于从库 中选取所 需单元组 成系统设 ห้องสมุดไป่ตู้的不同 版本
实体
用于描述所设计系统的 外部接口信号
配置
结构体
VHDL
用于描述 系统内部 的机构和 行为
语言程序
存放各种设 计模块都能 共享的数据 类型、常数 和子程序等
存放已经编译的 实体、构造体、 包集合和配置
17
包集合
库
VHDL硬件描述语言 —VHDL的基本结构及其优点
库、程序包 实体(ENTITY) 结构体 (ARCHITECTURE) 进程或其他并行结构
实体描述,一个实体中,含有 一个或一个以上的结构体,而 每个结构体中可以含有一个或 多个进程,还可以使其他并行 语句结构
各类库及程序包的使用声明
配置(CONFIGURATION)
FPGA与
硬件描述语言
2014.4
1
第三章 VHDL硬件描述语言
3.1 VHDL概述 3.2 VHDL程序结构 3.3 VHDL的数据类型及运算操作符 3.4 VHDL的描述语句 3.5 基本电路的VHDL模型 3.6 有限状态机 3.7 仿真与逻辑综合
2
VHDL硬件描述语言—VHDL概述
3.1 VHDL概述 3.1.1 VHDL简介 3.1.2 VHDL的基本结构及其优点 3.1.3 VHDL术语
• 与其他的硬件描述语言相比,VHDL具有更强 的行为描述能力,从而决定了它成为系统设计 领域最佳的硬件描述语言 • VHDL丰富的仿真语句和函数库,使得在任何 大系统的设计早期,就能查验设计系统的功能 可行性,随时可对设计进行仿真模拟 • VHDL语句的行为描述能力和程序结构,决定 了它可以方便地对大规模设计进行分解和对已 有的设计进行再利用
33
VHDL硬件描述语言—实体
VHDL程序结构—实体
端口说明的一般书写格式如下:
PORT(端口名{,端口名}:端口模式 数据类型; … {端口名{,端口名}:端口模式 数据类型});
34
VHDL硬件描述语言—实体
VHDL程序结构—实体
• 端口名 端口名是赋予每个外部引脚的名称,通常用一个 或几个英文字母,或者英文字加数字命名(不可 以数字开头) • 端口模式 端口模式用来定义外部管脚的信号方向是输入还 是输出
• VHDL主要用于描述数字系统的结构、行为、 功能和接口 • VHDL的语言形式和描述风格和语法与一般 的计算机高级语言非常类似 • VHDL的程序结构特点是将一项工程设计, 或称设计实体分成外部和内部两大部分 (是VHDL设计系统的基本特点)
6
VHDL硬件描述语言—VHDL概述
• 实体:可以是一个元件、电路模块或系统 • 外部:称可视部分,即端口 • 内部:称不可视部分,即设计实体的内部 功能和算法完成部分 • 在定义了一个设计实体的外部界面后,一 旦其内部开发完成后,其他的设计就可以 直接调用这个实体。
29
VHDL硬件描述语言—实体
VHDL程序结构—实体
实体说明的一般格式: ENTITY 实体名 IS [GENERIC(类属表);] [PORT(端口表);] END ENTITY 实体名;
30
VHDL硬件描述语言—实体
VHDL程序结构—实体
GRNERIC类属参数说明语句 • 类属参量是一种端口界面常数,常以一种说明 的形式放在实体或块结构体前的说明部分 • 类属为说说明的环境提供了一种静态信息通道, 特别是用来规定端口的大小、实体中子元件的 数目、实体的时间属性等
12
VHDL硬件描述语言—VHDL简介
使用VHDL完成自顶向下的设计
自底向上
自顶向下
• 传统的电路设计方法都 • 采用可完全独立于目标 是自底向上的,即首先 器件物理结构的硬件描 确定可用的元器件,然 述语言,在系统的功能 后根据这些器件进行逻 级或行为级上对设计的 辑设计,完成各个模块 产品进行描述和定义, 后进行连接,最后形成 结合多层次的仿真技术, 系统 在确保设计的可行性与 正确性的前提下,完成 功能确认
24
VHDL硬件描述语言—VHDL术语
• 程序包(PACKAGE) 设计中用的子程序和公用数据类型的集合, 可以认为程序包是构造设计工具的工具箱
• 属相(ATTRIBUTE) 附到VHDL对象上的数据或者是有关VHDL对 象的预定义数据
25
VHDL硬件描述语言—VHDL术语
• 类属(GENERIC) 它是传递信息参数到实体的术语,例如:实 体是带有上升和下降延时的门级模块,上升 与下降延时值可以由类属传给实体 • 进程(PROCESS) 进程是基本的执行单元,在VHDL描述仿真时, 将把所有的运算划分为单个或多个进程
13
VHDL硬件描述语言—VHDL简介
使用VHDL完成自顶向下的设计
自顶向下设计方法的优越性表现在:
• 顶层的功能描述可以完全独立于目标器件,在设计初期可 不受芯片结构的约束 • 设计成果的再利用可以得到保证 • 采用结构化开发手段,确认了基本功能和结构后,即可实 现多人多任务的并行工作方式 • 选择实现系统的目标器件的类型、规模、硬件结构等方面 具有更大的自由度
3
VHDL硬件描述语言—VHDL概述
• VHDL(Very High Speed Integrated Circuit Hardware Description Language) 超高速集成电路硬件描述语言
• 1987年底,VHDL被IEEE(Institute of Electrical and Electronic Engineers)和美国 国防部确认为标准硬件描述语言
7
VHDL硬件描述语言—VHDL简介
VHDL与其他硬件描述语言的比较
一般的硬件描述语言可以在三个层次上进行电路描述
VHDL 描述范围
行为级
RTL级
门电路级
VerilogHDL 描述范围
8
VHDL硬件描述语言—VHDL简介
VHDL与其他硬件描述语言的比较
VHDL
VHDL是一种高级描述语言,适用 于电路高级建模
VerilogHDL
VerilogHDL是一种较低级的描述语 言,适用于描述门级电路
VHDL的综合对综合器的要求较高, 综合过程简单一些,只需要经过 需要经过行为级、RTL级、门电路 RTL级、门电路级的转化 级的转化 VHDL可以直接描述门电路,但这 方面的能力不如VerilogHDL 在VHDL设计中,大量的工作是由 综合器完成的,设计者所做的工作 相对较少 VerilogHDL在高级描述方面不如 VHDL 在VerilogHDL设计的过程中,设计 者做的工作通常比较大,因为要搞 清楚具体电路结构的细节
VHDL程序结构—实体
PORT端口说明 • 端口说明是对基本设计实体与外部接口的描述, 也可以说是对外部引脚信号的名称,数据类型 和输入、输出方向的描述 • 端口为设计实体和外部环境的动态通信提供通 道,每个端口必须有一个名字、一个端口模式 和一个数据类型 • 名字是该端口的标识符,模式说明数据通过该 端口的流动方向
35
VHDL硬件描述语言—实体
端口模式 IN 含义 输入
OUT INOUT BUFFER LINKAGE
4
VHDL硬件描述语言—VHDL概述
目前VHDL存在两个版本: • VHDL‟87 经过少许简单的源代码修改就可兼容 • VHDL‟93 增加了一些保留字并删除了某些属性 目前绝大多数常用EDA工具都支持两个版本的所 有语法规则,且大多数资料(包括最新的)仍然 使用VHDL‟87版本语法规则
5
VHDL硬件描述语言—VHDL概述
11
VHDL硬件描述语言—VHDL简介
VHDL与其他硬件描述语言的比较
• 对于用VHDL完成的一个确定的设计,可以 利用EDA工具进行逻辑综合和优化,并自 动地把VHDL描述设计转变成门级网表 • VHDL对设计的描述具有相对独立性,设计 者独立进行设计时可以不懂硬件的结构, 也不必考虑实现最终设计的目标器件是什 么
9
VHDL硬件描述语言—VHDL简介
VHDL与其他硬件描述语言的比较
• 目前,大多数高档EDA软件都支持VHDL和 VerilogHDL混合设计,因此在工程应用中, 设计者可以根据需要使用VHDL或 VerilogHDL设计不同的电路模块
10
VHDL硬件描述语言—VHDL简介
VHDL与其他硬件描述语言的比较
28
VHDL硬件描述语言—实体
VHDL程序结构—实体 • 一个实用的VHDL程序可以由一个或多个设 计实体构成,可以将一个设计实体作为一 个完整的系统直接利用,也可以将其作为 其他设计实体的一个低层次的结构(即元 件)来例化,就是用实体来说明一个具体 的器件 • 设计实体可以代表整个系统、一块电路板、 一个芯片、一个单元或者一个门电路
19
VHDL硬件描述语言 —VHDL的基本结构及其优点
a b s 二选一选择器 y
a 0 1 X b X X 0 s 0 0 1 y 0 1 0
X
1
1
1
20
VHDL硬件描述语言 —VHDL的基本结构及其优点
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21 IS PORT(a,b:IN STD_LOGIC; s:IN STD_LOGIC; y:OUT STD_LOGIC); END mux21; ARCHITECTURE behavior OF mux21 IS BEGIN y <= a WHEN s = „0‟ ELSE b WHEN s = „1‟; END ARCHITECTURE behavior; IEEE库使用说明