VHDL硬件描述语言基础

合集下载

第四讲VHDL语言基础知识

第四讲VHDL语言基础知识

关键词 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语言基础
常数说明
结构体组成
结 构 体 说 明 结
数据类型说明 信号说明 例化元件说明 子程序说明
构 体 块语句 结 构 体 功 能 描 述 进程语句 信号赋值语句 子程序调用语句 元件例化语句
结构体描述风格
行为描述
描述该设计单元的功能,主要使用函数、过程和进程语
句,以算法形式描述数据的变换和传送 例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基本概念
这里名称是指端口的信号名称,所以 信号关键字SIGNAL可以省略,信号名称 必须使用合法的标识符,当多个端口的 信号模式和信号类型都相同时,可以一 起声明。
信号模式表示端口的数据流向,有以下五 种: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语言教程

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简介

实体部分最核心的内容是由关键字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硬件描述语言
27
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入门教程

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与硬件描述语言

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则是可以在现场进行编程和配置的可重构芯片。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当a和b的宽度发生变化 时,需要修改设计,当 宽度过大时,设计非常 繁琐
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)
相关文档
最新文档