VHDL硬件描述语言基础
第四讲VHDL语言基础知识
![第四讲VHDL语言基础知识](https://img.taocdn.com/s3/m/5ebe4993bceb19e8b8f6ba7b.png)
关键词 VHDL 实体 逻辑功能
此两处必须同名
逻辑行为描述
1、实体
格式
ENTITY 实体名 IS [GENERIC ( 类属表 );] [PORT ( 端口表 );] END 实体名;
说明
实体说明所设计的逻辑电路的输入、输 出信号及其特性(输入(in)输出(out)、双向 (inout)、buffer)
•文件(FILES)是传输大量数据的客体,包含一些专门数据 类型的数值。
对象说明的一般格式是: <对象类型> < 标识符表>:<子类型说明> <信号种类>: =<表达式>; 说明 标识符 <子类型说明>是类型名或类型名加限制条件 <信号种类>为BUS或REGISTER,该项为任选项 :=<表达式>为对象赋初值
IS
一个包集合由包集合标题和包集合体两 大部分组成。 包集合体是一个可选项。
5、库
格式
LIBRARY 库名; USE 库名. 程序包名. All;
USE语句的使用有两种常用格式: USE 库名.程序包名.项目名 ; USE 库名.程序包名.ALL ;
VHDL库的种类
• IEEE库:IEEE标准库, 是按IEEE组织制定的 工业标准进行编写的, 是内容丰富的资源库 使用需声明 • •STD_LOGIC_1164 程序包 •STD_LOGIC_ARITH 程序包 •STD_LOGIC_UNSIGNED 程序包
STD库:VHDL标准库,STANDARD和 TEXTIO程序包即收入在STD库中 使用无需声明
VHDL库的种类
• • •
ASIC库:EDA厂商提供库 使用需声明 WORK库:现行作业库,当前工作目录的所有设计 使用无需声明 USER库:用户自定义库 使用需声明
第4章VHDL语言基础
![第4章VHDL语言基础](https://img.taocdn.com/s3/m/ffb029d9240c844769eaeeda.png)
结构体组成
结 构 体 说 明 结
数据类型说明 信号说明 例化元件说明 子程序说明
构 体 块语句 结 构 体 功 能 描 述 进程语句 信号赋值语句 子程序调用语句 元件例化语句
结构体描述风格
行为描述
描述该设计单元的功能,主要使用函数、过程和进程语
句,以算法形式描述数据的变换和传送 例4-4
Port (a,b: in std_logic_vector (3 downto 0);
Ci: in std_logic; Sum: out std_logic_vector (3 downto 0); Co: out std_logic); End add4;
4.1.3 结构体部分
结构体(ARCHITECTURE)
4.1.1 参数部分
库说明 存放已经编译的实体、结构体、程序包和配臵,用于 设计共享,是编程资源。 library <库名>; 程序包引用
使用USE子句指明要使用库中某一个设计单元。
use <库名>. <程序包名>.all; 【例4-2】 LIBRARY ieee; USE ieee.std_logic_1164.ALL;
结构体主要用来描述实体的内部结构,即 描述一个实体的功能。 描述方式 行为描述方式、数据流描述方式、结构描 述方式、混合描述方式
4.1.3 结构体部分
结构体格式
ARCHITECTURE 结构体名 OF 实体名 IS [结构体说明部分]; BEGIN 结构体描述部分; END 结构体名;
4.1.3 结构体部分
4.1 基本结构
模块结构
参数部分:库(LIBRARY)、程序包(USE); 实体(ENTITY):[类属]、端口(PORT);
硬件描述语言VHDL基本概念
![硬件描述语言VHDL基本概念](https://img.taocdn.com/s3/m/d9b28f0c27284b73f3425008.png)
信号模式表示端口的数据流向,有以下五 种:IN(流入实体)、OUT(流出实体)、 INOUT(双向端口)、BUFFER(带有反馈的 输出端口,该端口只能有1个驱动源)和 LINKAG(无特定方向)。
20世纪70年代末至80年代初,美国国防部提出了 VHSIC(Very High Speed Integrated Circuit)计划, 其目标是为了开发新一代集成电路。
为了配合这一计划,1983年美国国防部与TI公司、 IBM公司和Intermerics公司联合签约,开发VHSIC HDL,即VHDL。在1985年开发小组发布了最后版本 VHDL V7.2,同时开始着手标准化工作,到1987年12月, VHDL经过多次修改后,被IEEE接受为第一个标准HDL, 即IEEE Std 1076-1987。
目前公布的最新VHDL标准版本是
IEEE Std 1076-2008。
2.2 1位全加器的描述实例
1位全加器有3个输入端a、b、c_in和 2个输出端sum、c_out。
它是由2个半加器和1个或门构成。
a
sum
b
全加器
a
temp_sum
sum
U1
U2
b 半加器
半加器 temp_c2
c_in
c_out c_in
1个设计实体由1个实体声明和若干个结构 体组成。实体声明是设计实体的接口部分,它 表示设计实体对外部的特征信息;结构体是设 计实体的实现方案描述。
1个设计实体中的若干个结构体,分别代表 同一实体声明的不同实现方案。
VHDL语言教程
![VHDL语言教程](https://img.taocdn.com/s3/m/0714c4986e1aff00bed5b9f3f90f76c661374c18.png)
VHDL语言教程VHDL是一种硬件描述语言,用于描述数字电路和系统,并进行硬件的设计和仿真。
它被广泛应用于数字电路设计、嵌入式系统开发和可编程逻辑控制器等领域。
本教程将介绍VHDL语言的基本概念和语法,帮助您了解和学习这门强大的硬件描述语言。
一、VHDL概述VHDL是Very High Speed Integrated Circuit Hardware Description Language的缩写,意为高速集成电路硬件描述语言。
它是一种硬件描述语言,用于描述数字电路和系统。
与传统的电路设计方法相比,使用VHDL可以更加方便、高效地进行电路设计和测试。
1.VHDL的起源和发展VHDL最早由美国国防部为了解决数字电路设计复杂、效率低下的问题而研发。
后来,VHDL成为了一种IEEE标准(IEEE1076)并被广泛应用于数字电路设计和仿真。
2.VHDL的优点VHDL具有以下几个优点:-高级抽象:VHDL提供了一种高级描述电路的方法,使得设计者能够更加方便地表达复杂的电路结构和行为。
-可重用性:VHDL支持模块化设计,使得设计者可以将电路的不同部分进行抽象和封装,提高了电路的可重用性。
-高效仿真:VHDL可以进行高效的电路仿真和测试,有助于验证电路设计的正确性和可靠性。
-灵活性:VHDL可以应用于各种不同类型和规模的电路设计,从小规模的数字逻辑电路到大规模的系统级设计。
二、VHDL语法和基本概念1.VHDL的结构VHDL程序由程序单元(unit)组成,程序单元是VHDL描述的最小单元。
程序单元包括实体(entity)、结构(architecture)、过程(process)和包(package)等。
2. 实体(entity)实体是VHDL描述电路模块的一个部分,包括输入输出端口、信号声明和实体标识符等。
3. 结构(architecture)结构描述了实体的具体电路结构和行为,包括组件声明、信号赋值和行为描述等。
第11章++硬件描述语言VHDL简介
![第11章++硬件描述语言VHDL简介](https://img.taocdn.com/s3/m/e8cd331ac281e53a5802ffa1.png)
实体部分最核心的内容是由关键字port引导的端口说明。A和B是输入引脚,使 用了关键字in来描述。Bit的意思是指A和B的数据类型是位类型。位类型数据只可取 0和1这两个数值。S和CO是输出信号,用out来描述,数据类型也是bit型。 实体说明的是部件的名称和端口信号类型,它可以描述小至一个门,大到一个复杂 的CPU芯片、一块印制电路板甚至整个系统。实体的电路意义相当于器件,在电路 原理图上相当于元件符号,它是一个完整的、独立的语言模块,并给出了设计模块 和外部接口。 具体语法如下: entity 实体名 is ——实体名自选,通常用反映模块功能特征的名称 port(端口名称1:端口方式1 端口类型1; 端口名称2:端口方式2 端口类型2;…); end 实体名; ——这里的实体名要和开始的实体名一致 其中端口方式可以有5种,分别是: in:输入端口,信号从该端口进入实体。 out:输出端口,信号从实体内部经该端口输出。 inout:输入输出(双向)端口,信号既可从该端口输入也可从该端口输出。 buffer:缓冲端口,工作于缓冲模式。 Linkage:无指定方向,可与任何方向的信号连接。
(2)用户自定义的数据类型 VHDL语言允许用户自定义数据类型。其书写格式为: type 数据类型名 is 数据类型定义; 例如: type digit is integer range 0 to 9; ——定义digit的数据类型是0~9的整 数 可由用户定义的数据类型有: 枚举(Enumerated)类型; 整数(Integer)类型; 实数(Real)、浮点数(Floating)类型; 数组(Array)类型; 存取(Access)类型; 文件(File)类型; 记录(Record)类型; 时间(Time)类型(物理类型)。
11.1 VHDL语言基础
VHDL硬件描述语言
![VHDL硬件描述语言](https://img.taocdn.com/s3/m/c13c38de28ea81c758f578c6.png)
VHDL语言设计实体的基本结构
3. 结构体说明语句 用于定义结构体中所用的数据对象和子程序, 并对所引用的元件加以说明,如: ● 信号(SIGNAL)
● 类型(TYPE)
● 常数(CONSTANT) ● 元件(COMPONENT) ● 函数(FUNCTION) ● 过程(PROCEDURE)
28
3
概 述
1993年,IEEE对VHDL进行了修订,增加了一些 功能,并从更高的抽象层次和系统描述能力上扩展 VHDL的内容,公布了VHDL新的版本,编号为IEEE Std1076-1993(简称93版)。 1995年中国国家技术监督局组织编写并出版了 《CAD通用技术规范》,推荐VHDL语言作为我国电子 自动化硬件描述语言的国家标准。1996年, IEEE1076.3成为VHDL综合标准。
结构体:用来描述电路内部结构和逻辑功能。并以 标识符ARCHITECTURE开头,以END结尾。
14
VHDL语言设计实体的基本结构
VHDL语言的实体说明
实体说明是VHDL程序设计中最基本的组成部分, 实体说明语句的格式如下: 主要用来描述设计实体的外部接口信号,定义设计 实体说明语句 ENTITY 实体名 IS 单元的输入、输出端口,是设计实体对外的一个通 类属说明语句 [GENERIC(类属表);] 信界面,但它不描述设计的具体功能。 端口说明语句 [PORT(端口表);] 结束语句 END [ENTITY] 实体名;
{; 常数名{, 常数名}: 数据类型[: 设定值]}) 常数名:是由设计者定义的类属常数名; 数据类型:常取INTEGER或TIME的类型; 设定值:为常数名所代表的数值。
17
VHDL语言设计实体的基本结构
2. 类属说明语句GENERIC
VHDL入门教程
![VHDL入门教程](https://img.taocdn.com/s3/m/69f1f6632e60ddccda38376baf1ffc4ffe47e2b0.png)
VHDL入门教程VHDL(Very High-Speed Integrated Circuit HardwareDescription Language)是一种硬件描述语言,用于设计数字电路和系统。
它是由美国国防部在20世纪80年代早期开发的,并由IEEE 1076标准化。
VHDL可以用于描述电路结构、电路行为和模拟。
一、VHDL概述VHDL是一种硬件描述语言,它允许工程师以更高级的语言编写硬件描述。
它可以描述电路结构、电路行为和模拟。
VHDL可以应用于各种电子系统的设计,从简单的数字逻辑门到复杂的处理器。
二、VHDL基本结构VHDL的基本结构包括实体声明、体声明和结构化代码。
实体声明描述了电路的接口,包括输入和输出。
主体声明描述了电路的行为。
结构化代码定义了电路的结构。
三、VHDL数据类型VHDL提供了多种数据类型,包括标量类型(比如整数和实数)、数组类型和记录类型。
每种类型都有其特定的操作和范围。
四、VHDL信号VHDL中的信号用于在电路中传递信息。
信号可以在过程中赋值,并且具有各种延迟属性。
信号还可以连接到模块的输入和输出端口,以实现电路之间的通信。
五、VHDL实体和体VHDL设计包含实体和体。
实体描述了电路的接口和连接,而体描述了电路的行为。
实体和体之间使用端口来传递信息。
六、VHDL组件VHDL中的组件用于将电路模块化,以实现更高层次的设计和复用。
组件可以在实体中声明,并在体中实例化。
七、VHDL并发语句VHDL中的并发语句用于描述电路中多个同时运行的过程。
并发语句包括并行语句、过程、并行块和并行时钟。
八、VHDL测试VHDL测试包括自动测试和手动测试。
自动测试使用测试工具和仿真器来验证电路的正确性。
手动测试包括使用仿真器进行手工测试和调试。
九、VHDL实例以下是一个简单的VHDL实例,实现了一个4位二进制加法器:```vhdllibrary IEEE;use IEEE.STD_LOGIC_1164.all;entity binary_adder isporta : in std_logic_vector(3 downto 0);b : in std_logic_vector(3 downto 0);sum : out std_logic_vector(4 downto 0);carry : out std_logicend binary_adder;architecture behavior of binary_adder isbeginprocess(a, b)variable temp_sum : std_logic_vector(4 downto 0);variable temp_carry : std_logic;begintemp_sum := ("0000" & a) + ("0000" & b);temp_carry := '0' when temp_sum(4) = '0' else '1';sum <= temp_sum;carry <= temp_carry;end process;end behavior;```上述VHDL代码定义了一个名为`binary_adder`的实体,它有两个4位输入`a`和`b`,一个5位输出`sum`和一个单一位输出`carry`。
VHDL与硬件描述语言
![VHDL与硬件描述语言](https://img.taocdn.com/s3/m/b144a621dcccda38376baf1ffc4ffe473368fdf8.png)
VHDL与硬件描述语言VHDL(VHSIC Hardware Description Language)是一种硬件描述语言,被广泛应用于数字电路和系统的设计、仿真和验证中。
本文将介绍VHDL的基本概念、语法和应用,以及其在硬件设计中的重要性和优势。
一、VHDL的基本概念与语法VHDL是由美国国防部下属的VHSIC(Very High Speed Integrated Circuits)计划发起的硬件描述语言标准化工作中发展起来的,它源于Ada语言,并在此基础上进行了修改和扩展。
VHDL采用了面向对象的设计思想,通过描述硬件的结构和行为,实现了对数字系统的高层次抽象。
VHDL的基本元素包括实体(entity)、结构(architecture)和配置(configuration)。
实体定义了模块的接口和信号,结构描述了模块内部的组织和连接关系,配置用于将不同实体和结构进行绑定。
此外,VHDL还提供了丰富的数据类型、控制结构和函数库,以支持复杂的逻辑运算和算术操作。
VHDL代码的编写需要遵循一定的语法规则,如正确使用关键字、语句结束符号等。
此外,注释和缩进等规范的使用可以提高代码的可读性和可维护性。
二、VHDL的应用1. 数字电路设计VHDL在数字电路设计中被广泛应用,通过使用VHDL语言,设计人员可以描述和验证各种数字逻辑电路,包括组合逻辑电路和时序逻辑电路。
借助VHDL仿真工具,可以进行功能仿真、时序仿真和行为仿真,验证设计的正确性和性能。
2. 系统级设计除了用于电路级设计,VHDL还可以用于系统级设计。
通过对模块的整合和功能描述,可以搭建更为复杂的系统,并在此基础上进行仿真和验证。
VHDL支持高级抽象和层次化设计,使得系统级设计更加灵活和可重用。
3. ASIC和FPGA设计VHDL在应用特定的集成电路(ASIC)和现场可编程门阵列(FPGA)的设计中,具有非常重要的地位。
ASIC是在集成电路制造厂中进行定制化设计和生产的芯片,而FPGA则是可以在现场进行编程和配置的可重构芯片。
EDA基础VHDL
![EDA基础VHDL](https://img.taocdn.com/s3/m/edd3bb050740be1e650e9adf.png)
其书写顺序无关,在实际 电路中所有并行语句功能 同时实现。
3. 库、程序包和配置 (1) 库
功能: 存储和放置设计单元(元件、程序包等)。
[例1.4.14] WHILE…LOOP应用举例
abcd: WHILE (i<10) LOOP sun:=i+sum; i=i+1; END LOOP abcd;
(6)NEXT语句 满足条件时中止 格式: NEXT [WHEN 条件]; 当前循环,开始 下一次循环。 [例1.4.15] NEXT语句举例
函数名(实际参数表);
函数的参数只能是方式为IN的输入信号,函数 只能有一个返回值。 [例1.4.17] 比较器函数形式的程序设计实例
用并行语句形式描述设计 单元功能
并行语句类型
进程语句(PROCESS) 块描述语句(BLOCK) 信号赋值语句 子程序调用语句 元件例化语句
ARCHITECTURE 结构体名 OF 实体名 IS [结构体说明语句] BEGIN [功能描述语句] END 结构体名;
[例1.4.2] 2 输入与门的结构体描述。
常用资源库 含IEEE认可和某些公司提供的如: VHDL标准库 STD库 STD_LOGIC_1164 程序包 存放:STANDARD的程序集合 STD_LOGIC_ARITH算术运算包 VHDL库 ASIC库 资源库 集合定义了多种常用的数据类型 存放:和各种逻辑门一一对应的 实体 WORK库 当前作业库 存放:当前设计项目生成的全部文 用户自定义库 资源库 件目录 存放:用户自己创建定义的非 库说明语句格式: 标准程序包集合和实体。
vhdl 基础语法
![vhdl 基础语法](https://img.taocdn.com/s3/m/15f8b87630126edb6f1aff00bed5b9f3f80f7265.png)
vhdl 基础语法VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,用于描述数字系统的行为和结构。
以下是VHDL的基础语法:1. 实体(Entity):用于描述模块的接口和端口。
实体的语法如下:```entity entity_name isport (-- 输入端口input_name : in data_type;-- 输出端口output_name : out data_type);end entity_name;```2. 架构(Architecture):用于描述模块的内部行为和逻辑。
架构的语法如下:```architecture architecture_name of entity_name issignal signal_name : data_type;begin-- 逻辑实现end architecture_name;```3. 信号(Signal):用于在模块内部传递数据。
信号的语法如下:```signal signal_name : data_type;```4. 过程(Process):用于描述模块的并发行为。
过程的语法如下:```process (sensitivity_list)begin-- 逻辑实现end process;```5. 语句(Statement):用于描述模块的具体操作。
常见的语句包括:- 赋值语句:```signal_name <= value;```- 选择语句:```case expression iswhen value1 =>-- 逻辑实现1when value2 =>-- 逻辑实现2when others =>-- 默认逻辑实现end case;```- 循环语句:```for i in range loop-- 逻辑实现end loop;```这些是VHDL的基础语法,可以用于描述数字系统的行为和结构。
eda第三章 硬件描述语言(HHDL)基础
![eda第三章 硬件描述语言(HHDL)基础](https://img.taocdn.com/s3/m/a2d627876529647d272852ee.png)
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硬件描述语言(入门简述)
![VHDL硬件描述语言(入门简述)](https://img.taocdn.com/s3/m/5eba8013a26925c52cc5bf76.png)
VHDL
Very High Speed Integrated Circuit Hardware
Description Language 超高速集成电路硬件描述语言
Verilog HDL
Verilog Hardware Description Language Verilog硬件描述语言
【例】 PORT (a,b: IN STD_LOGIC_VECTOR(3 DOWNTO 0); q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout: OUT STD_LOGIC);
17
2019/11/27
说明:
端口名是输入输出信号的名字。 泸医附院
THE AFFILIATED HOSPITAL OF LUZHOU MEDICAL COLLEGE
结构、功能等。 BEGIN后开始结构和功能的描述。
20
2019/11/27
【例3-2】一个RS触发器的结构体(数据流描述方式)
泸医附院
THE AFFILIATED HOSPITAL OF LUZHOU MEDICAL COLLEGE
ARCHITECTURE rs OF rsff IS BEGIN q<=NOT(qb AND set); qb<=NOT(q AND reset); END rs;
大写,用户自定义部分用小写。
12
2019/11/27
泸医附院
本节三方面内容 THEAFFILIATED HOSPITAL OF
LUZHOU MEDICAL COLLEGE
3.2.1 实体说明 3.2.2 结构体 3.2.3 程序包、库及配置
VHDL语言入门教程
![VHDL语言入门教程](https://img.taocdn.com/s3/m/a2fa08cbd1d233d4b14e852458fb770bf78a3be3.png)
VHDL语言入门教程VHDL是一种硬件描述语言,主要用于设计数字电路和系统。
它是由美国国防部门于1980年代初开发的,目的是为了改进电子设计自动化(EDA)工具的开发效率和设计文档的可重复性。
VHDL广泛应用于数字信号处理(DSP)、嵌入式系统、通信系统和各种ASIC(专用集成电路)和FPGA(现场可编程门阵列)的设计。
本教程将介绍VHDL的基础知识,包括语法、数据类型和常见的建模技术。
一、VHDL的语法VHDL的语法由标识符、关键字、运算符和分隔符组成。
其中,标识符用于给变量、信号和实体命名,关键字用于定义语言特定的操作,运算符用于数学和逻辑运算,分隔符用于分隔语句。
VHDL中的代码以一个实体(entity)的声明开始,然后是体(architecture)的声明,最后是信号声明和进程(process)的描述。
以下是一个简单的例子:```vhdlentity AND_gate isportA, B: in std_logic;C: out std_logicend entity AND_gate;architecture Behavior of AND_gate isbeginC <= A and B;end architecture Behavior;```在这个例子中,我们声明了一个名为AND_gate的实体,它有两个输入信号A和B,一个输出信号C。
然后我们定义了一个名为Behavior的体,它描述了AND门的行为:C等于A与B的逻辑与运算结果。
二、VHDL的数据类型VHDL支持许多数据类型,包括标量类型、数据类型、自定义类型和引用类型。
标量类型包括bit、bit_vector、integer、real、std_logic和std_ulogic等。
其中,bit_vector是一组连续的位,std_logic和std_ulogic用于表示单个信号。
数据类型是由标量类型和数组类型组成的。
数组类型可以是一维、二维或更高维的,用于存储多个数据。
硬件描述语言(VHDL)
![硬件描述语言(VHDL)](https://img.taocdn.com/s3/m/309a3f38915f804d2b16c16c.png)
(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库,用户定义库。
VHDL硬件描述语言
![VHDL硬件描述语言](https://img.taocdn.com/s3/m/d1bc0641302b3169a45177232f60ddccda38e6d9.png)
5.1 VHDL概述
2.VHDL语言的开发流程 VHDL语言作为一种标准化的硬件描述语言,在对硬件电路进行描述的
过程中应该遵循一定的流程。采用VHDL语言进行硬件电路设计的开发 步骤主要包括以下几步: ➢ (1)接受电路设计任务在进行硬件电路系统设计之前,首先要由总体 方案设计工程师作出总体设计方案;然后给出相应的硬件电路系统设计 指标;最后将总体方案中的各个部分电路设计任务以及相应的设计要求 下达给相应的设计部门。
上一页 下一页 返回
5.1 VHDL概述
➢ 一般来说,划分模块是设计过程中一个非常重要的步骤。模块划分的好 坏将会直接影响到最终的电路设计,因此设计人员在这一步应该花费一 定的时间,从而保证模块划分的最优化。准确地划分完功能模块并确定 相应的逻辑功能后,设计人员就可以编写各个模块的VHDL语言程序, 然后将各个模块的VHDL语言程序组合在一起,从而完成整个电路设计 的VHDL语言描述。
上一页 下一页 返回
5.1 VHDL概述
HDL发展的社会根源是:美国国防部电子系统项目有众多的承包公司, 由于各公司技术路线不一致,许多产品不兼容,他们使用各自的设计语 言,使得甲公司的设计不能被乙公司重复利用,造成了信息交换困难和 维护困难。美国政府为了降低开发费用,避免重复设计,国防部为他们 的超高速集成电路提供了一种硬件描述语言,以期望VHDL功能强大、 严格、可读性好。政府要求各公司的合同都用它来描述,以避免产生歧 义。由政府牵头,VHDL工作小组于1981年6月成立,提出了一个满足 电子设计各种要求的能够作为工业标准的HDL。1983年第3季度,由 IBM公司、TI公司、Intermetrics公司签约,组成开发小组,工作任务 是提出语言版本和开发软下一页 返回
第3章 VHDL语言基础
![第3章 VHDL语言基础](https://img.taocdn.com/s3/m/f2b454146bd97f192279e9c9.png)
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
4. 新的硬件描述语言VHDL编程基础
![4. 新的硬件描述语言VHDL编程基础](https://img.taocdn.com/s3/m/ee37cc29ed630b1c59eeb5e4.png)
begin
y<=(a and (not s) or (b and s);
end one;
Behavior Process描述
真值表
architecture one of mux21 is begin y<=a when s='0' else b; end one;
结构体—行为描述举例
2 X 8 Input AND gate:
2. 实体说明
功能:描述设计模块的输入/输出信号或引脚,并给出
设计模块与外界的接口。实体类似一个“黑盒”,实体 描述了“黑盒”的输入输出口。
格式:
ENTITY 实体名 IS [GENERIC(类属表);] [PORT(端口表);] END [ENTITY] [实体名]
实体名
实体名实际上是器件名,最好根据相应的电路 功能确定。如4位2进制计数器用counter4b;8 位加法器用add8b;3/8译码器用ym_38。
二、VHDL的优点
1. 支持层次化设计
2. 具有多层次描述系统硬件功能的能力
3. 具有丰富的仿真语句和库函数
4. VHDL语句的行为描述能力和程序结构决定了他具有
支持大规模设计的分解和已有设计的再利用功能。
VHDL的优点
5. 对设计的描述具有相对独立性,与硬件的结构无关
6.可以利用EDA工具进行逻辑综合和优化,并自动将
实体名必须与文件名相同,否则无法编译。 实体名不能用工具库中定义好的元件名。 实体名不能用中文,也不能用数字开头。
类属表
类属表:用以将信息参数传递到实体。 类属表的一般格式为: GENERIC(常数名:数据类型[:=设定值] ……) GENERIC(awidth : INTEGER:=3; timex: time ); 其中:常数名由设计者确定;数据类型通常取 INTEGER或time等;在表中提供时间参数、总线 宽度等信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3结构体之结构化描述
architecture struct of eqcomp4 is begin
U0:xnor2 port map(a(0),b(0),x(0)); U1:xnor2 port map(a(1),b(1),x(1)); U2:xnor2 port map(a(2),b(2),x(2)); 类似于电路的网络表, 将各个器件通过语言 的形式进行连接,与 电路有一一对应的关 系。一般用于大规模 电路的层次化设计。
返回目录
2015-1-15 湖北众友科技EDA工作室 3
1.1 VHDL背景
美国国防部在80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,其目标 之一是为下一代集成电路的生产,实现阶段性的工 艺极限以及完成10万门级以上的设计,建立一项新 的描述方法。1981年提出了一种新的HDL,称之为 VHSIC Hardware Description Language,简称为 VHDL,这种语言的成就有两个方面:
2015-1-15 湖北众友科技EDA工作室 7
1.4 VHDL设计过程
采用VHDL及自顶向下方法在大型数字系统设 计中被广泛采用。在设计中你可采用较抽象的语 言(行为/算法)来描述系统结构,然后细化成各 模块,最后可借助编译器将VHDL描述综合为门级。
本教程仅对用于CPLD/FPGA设计描述的VHDL语言 作一简单说明。其设计过程一般如下:
结构体(Architectures)
定义了实体的实现。即 电路的具体描述
返回目录
2.1 实例基本结构图
eqcomp4.vhd 库 包 实体
--eqcomp4 is a four bit equality comparator
文件名和实体 名一致
Library IEEE; use IEEE.std_logic_1164.all;
3.有丰富的软件支持VHDL的综合和仿真,从而能在 设计阶段就能发现设计中的Bug,缩短设计时间,降 低成本。
4.更方便地向ASIC过渡 5.VHDL有良好的可读性,容易理解。
2015-1-15
湖北众友科技EDA工作室
5
1.3 VHDL与计算机语言的区别
HDL的出现是为了适应电子系统设计的日益复杂性。若以计算机软件 的设计与电路设计做个类比,机器码好比晶体管/MOS管;汇编语言 好比网表;则HDL语言就如同高级语言,VHDL在语法和风格上类似于 现代高级编程语言,如C语言。但要注意,VHDL毕竟描述的是硬件, 它包含许多硬件特有的结构。
port(a: in std_logic; b: buffer std_logic; c: out std_logic);
end test2;
architecture a of test2 is begin b <= not(a); c <= b;
b <= not(a);
c <= b;--Error end a;
1.4 VHDL与Verilog HDL的区别
一般的硬件描述语言可以在三个层次上进行电路描述,其层次由高 到低依次可分为行为级、RTL级和门电路级。VHDL语言通常更适于行为 级和RTL级的描述,Verilog通常只适于RTL级和门电路级的描述。任何一 种语言源程序,最终都要转换成门电路级才能被布线器或适配器所接受。 因此,VHDL语言源程序的综合通常要经过行为级十RTL级向门电路级的 转化,而Venlog语言源程序的综合过程要稍简单,即经过RTL级十门电路 级的转化。与Verilog相比,VHDL语言是一种高级描述语言,适用于电路 高级建模,易于系统级设计。随着VHDL综合器的进步,综合的效率和效 果将越来越好。vedlog语言则是一种较低级的描述语言,最适于描述门 级电路,尤其是开关级电路,易于控制电路资源。 显然,VHDL和Verilog主要的区别在于逻辑表达的描述级别:VHDL虽 然也可以直接描述门电路,但这方面的能力却不如Verilog语言:反之, Verilog在高级描述方面不如VHDL。 两种语言功能侧重点不同,最好两种语言都会, 两种语言具体功能可 参考光盘中附带的VerilogHDL教程和VHDL实用教程两本EDA学习电子书,它 们详细讲述了两种语言基本结构功能及用法,我们在这里以VHDL为重点,此 课件仅供学生快速入门,详细学习可参考电子书或其它相关资料与教材。
2.3结构体之行为描述
Architecture behavioral of eqcomp4 is begin
comp: process (a,b)
begin if a=b then equal <= ‘1’; else equal <=‘0’; end if; end process comp; end behavioral ;
VHDL硬件描述语言基础
VHDL用户入门教程
EDA工作室
E-mail:Zhongyou@
VHDL语言学习课件目录
第一章 VHDL简介 第二章 VHDL程序基本结构 第三章 VHDL数据和表达式 第四章VHDL主要描述语句 第五章元件及元件例化 第六章配臵 第七章子程序 第八章VHDL的模板 第九章常见错误 第十章保留字
1.描述复杂的数字电路系统 2.成为国际的硬件描述语言标准 1987年被采纳为IEEE 1076标准 1993年被更新为IEEE 1164标准
2015-1-15
湖北众友科技EDA工作室
4
1.2 VHDL的优点
1.用于设计复杂的、多层次的设计。支持设计库和 设计的重复使用。 2.与硬件独立,一个设计可用于不同的硬件结构, 而且设计时不必了解过多的硬件细节。
U3:xnor2 port map(a(3),b(3),x(3));
U4:and4 port map(x(0),x(1),x(2),x(3),equal);
end struct;
2.3三种描述方式的比较
描述方式 优点
结构化描 连接关系清晰, 述 电路模块化清晰
缺点
数据流描 布尔函数 述 定义明白
行为描述 电路特性 清楚明了
在芯片级,则代表具体芯片的管脚
Entity eqcomp4 is port(a, b: in std_logic_vector(3 downto 0); equal:out std_logic ); end eqcomp4; A[3..0] equal B[3..0]
注意:此 处不用“;”
2.2实体的格式
2015-1-15 湖北众友科技EDA工作室 2
第一章 VHDL简介
传统数字电路设计方法不适合设计大规模的系统。 工程师不容易理解原理图设计的功能。
众多软件公司开发研制了具有自己特色的电路硬 件描述语言(Hardware Description Language,HDL), 存在着很大的差异,工程师一旦选用某种硬件描述语 言作为输入工具,就被束缚在这个硬件设计环境之中。 因此,硬件设计工程师需要一种强大的、标准化的硬 件描述语言,作为可相互交流的设计环境。
适用场合 电路不易理解、 电路层次化 繁琐、复杂 设计 不易描述复杂电 小门数设计 路,修改不易
进行综合效率相 对较低 大型复杂的电 路模块设计
2015-1-15
湖北众友科技EDA工作室
19
2.4程序包与USE语句
在VHDL语言中,数据类型、常量与子程序可以在实 体说明部分和结构体部分加以说明;而且实体说明部分 所定义的类型,常量及子程序在相应的结构体中是可见 的(可以被使用)。但是,在一个实体的说明部分与结 构体部分中定义的数据类型,常量及子程序对于其它实 体的说明部分与结构体部分是不可见的。程序包就是为 了使一组类型说明,常量说明和子程序说明对多个设计 实体都成为可见的而提供的一种结构。 程序包定义了一组数据类型说明、常量说明、元件 说明和子程序说明。以供其他多个设计实体引用。它如 同C语言中的*.H文件,定义了一些类型说明、函数一样。
1.运行的基础
计算机语言是在CPU+RAM构建的平台上运行 VHDL设计的结果是由具体的逻辑、触发器组成的数字电路
2.执行方式
计算机语言基本上以串行的方式执行 VHDL在总体上是以并行方式工作
3.验证方式
计算机语言主要关注于变量值的变化 VHDL要实现严格的时序逻辑关系
2015-1-15 湖北众友科技EDA工作室 6
2015-1-15
湖北众友科技EDA工作室
13
2.2Out与Buffer的区别
Entity
is
port(a: in std_logic; b,c: out std_logic); end test1; architecture a of test1 is begin
VHDL 大小 写不敏感
每行;结尾 关键字end后跟 实体名
构造体
关键字begin
关键字end后跟 构造体名
注:各完整语句均以‚;‛结尾,除此处外。 以‚--” 开始的语句为注释语句,不参与编译。
2.2实体(Entity)
描述设计功能输入输出端口(Port) 在层次化设计时,Port为模块之间的接口
entity eqcomp4 is port(a, b:in std_logic_vector(3 downto 0); equal :out std_logic); end eqcomp4; architecture dataflow of eqcomp4 is begin equal <= „1‟ when a=b else „0‟; End dataflow;
end a;
2.3结构体(Architecture)
描述实体的行为结构体有三种描述方式: A.行为描述(behavioral) B.数据流描述(dataflow) C.结构化描述(structural) 结构体(Architecture) 声明区(Declarations)