硬件描述语言VHDL
VHDL硬件描述语言

b. 类型参数说明 必须放在端口说明前面,用于指定参数。 c. 端口说明格式 PORT( 端口名{,端口名}: 方向 端口名{,端口名}: 方向 数据类型名; 数据类型名);
其中, 方向—— IN OUT INOUT BUFFER LINKAGE 输入 输出 双向 输出 不指定方向
注意: * OUT 结构选体中不能再用; * BUFFER 结构选体中能再用。
5
二、VHDL程序的基本结构
* 一个完整的VHDL语言程序通常包含: 实体、 结构体、库、包集合和配置五个部分 a. 实体(Entity) ——用于描述所设计系统或单元的外部接口信号; b. 结构体(Architecture) —— 用于描述所设计系统或单元内部的结构和行为。
6
c. 库(Librrary) —— 用于存放已经编译的实体、结构体、包集合和配置。 库可由用户生成或由ASIC芯片制造商提供,以便于 在设计中为大家所共享; d. 包集合(Package) —— 用于存放各设计模块都能共享的数据类型、常数和子 程序等; e. 配置(Configuration) —— 用于从库中选取所需单元来组成系统设计的不同版本; 这个部分有时可以没有。
实体
结构体
a b
&
y
16
3.库
—— 库(Library)是经编译后的数据的集合,它存放包 集合定义、实体定义、结构体定义和配置定义。 a. 在VHDL语言中,库的说明总是放在设计单元的最前面, 书写格式为: LIBRARY 库名 ; 注意:
- 在设计时可以直接使用库中的数据。 - 设计者可以共享已经编译过的设计结果。 - 库和库之间是独立的,不能互相嵌套。
12
i 结构描述: 描述该设计单元的硬件结构。主要用配置指定语句及元 件例化语句描述元件的类型及元件的互连关系。 ii 行为描述: 描述该设计单元的功能,主要用函数,过程和进程语句, 以算法形式描述数据的变换和传送。 iii 数据流方式/RTL描述: 以类似于寄存器传输级(RTL)的方式描述数据的传输 和变换,主要用并行信号赋值语句,显式表示该设计单 元的行为, 隐式表示了该设计单元的结构。
硬件描述语言VHDL基本概念

信号模式表示端口的数据流向,有以下五 种: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(VHSIC Hardware Description Language)是一种硬件描述语言,用于描述数字电路的结构和行为。
它是一种高级编程语言,用于描述数字系统中的硬件功能。
VHDL是一种被广泛应用于数字系统设计的硬件描述语言,它可以用于描述数字系统的结构和功能,并且允许进行仿真、综合和验证。
VHDL最初是由美国国防部(DoD)为了应对不同供应商生产的不同硬件之间互通性的问题而开发的。
它提供了一种用于描述数字电路的方法,可以在不同供应商的工具之间进行交换。
VHDL已成为一种行业标准,在数字系统设计领域被广泛应用。
VHDL的语法类似于Ada编程语言,它使用关键字、运算符和数据类型来描述数字系统中的硬件元素。
VHDL中的关键概念包括实体(entity)、架构(architecture)和过程(process)。
实体描述了数字系统的接口和功能,架构描述了数字系统的内部结构和行为,而过程描述了数字系统中的操作和控制。
VHDL主要有两种用途,一是用于模拟和验证数字系统的功能,二是用于综合数字系统的设计,生成实际的硬件电路。
在模拟和验证阶段,设计师可以使用VHDL描述数字系统的功能,并通过仿真工具对其进行验证。
在综合阶段,设计师可以使用VHDL描述数字系统的结构,并通过综合工具生成对应的硬件电路。
VHDL的优点在于其强大的表达能力和灵活性。
设计师可以使用VHDL描述各种复杂的数字系统,包括处理器、通信接口、存储器等。
VHDL还提供了丰富的数据类型和运算符,使设计师可以轻松地描述数字系统中的各种操作。
除了描述数字系统的结构和行为,VHDL还提供了丰富的标准库和模块化编程的方法。
设计师可以使用标准库中提供的各种功能模块来加速开发过程,并且可以将自己设计的模块封装成库以便重复使用。
VHDL还支持面向对象的设计方法,设计师可以使用面向对象的技术来组织和管理复杂的数字系统。
通过使用面向对象的方法,设计师可以将数字系统分解成多个模块,每个模块都有自己的接口和功能,并且可以通过继承和复用来简化设计过程。
vhdl硬件描述语言与数字逻辑电路设计

vhdl硬件描述语言与数字逻辑电路设计数字逻辑电路设计是一种将数字信号进行处理和控制的技术。
数字电路由元器件(比如集合在一起的门、触发器、逻辑块、寄存器等)构成,这些元件的行为由原理图和逻辑方程式表示。
数字电路的设计主要是为了控制、处理和传输数字信号,具有可控制性、自动化程度较高和灵活性强的特点。
VHDL与数字逻辑电路设计是密切相关的,VHDL既可以用来描述数字电路的结构,也可以用来推导数字电路的行为。
在数字逻辑电路设计中,VHDL语言可以帮助工程师实现电路的功能和特性,简化设计过程,并提高设计的灵活性和可靠性。
VHDL是一种硬件描述语言,可以用来描述数字逻辑电路中的各种元件、信号和功能。
VHDL主要包括以下几个方面的内容:1. 实体(entity):实体用来描述数字电路的外部结构和功能,类似于模块的概念。
一个实体声明了电路的输入输出端口,并定义了电路的功能和行为。
2. 体系结构(architecture):体系结构用来描述实体的内部结构和功能,包括内部信号、寄存器、逻辑块等。
一个体系结构定义了实体的具体实现方式,包括各个元件之间的连接和控制。
3. 信号(signal):信号用来表示数字电路中的各种输入输出信号,包括时钟信号、数据信号、控制信号、状态信号等。
VHDL语言中的信号可以用来描述电路中的各种逻辑关系和行为。
4. 过程(process):过程用来描述电路中的各种行为和动作,比如数据传输、逻辑运算、状态转换等。
VHDL中的过程可以用来描述数字电路中的各种逻辑操作和控制。
5. 组合逻辑(combinational logic):组合逻辑用来描述电路中的各种逻辑运算和逻辑关系,包括与门、或门、非门、异或门等。
组合逻辑表示了电路中的直接逻辑关系和信号转换。
6. 时序逻辑(sequential logic):时序逻辑用来描述电路中的各种时钟触发、状态转换、寄存器等。
时序逻辑表示了电路中的时钟控制、状态转换和时序问题。
VHDL硬件描述语言.

非法的名称
ill__egle、_illegle、illegle_、2bad、ill
egle、ill/egle
特殊的名称
\74LS04\、\vhdl\、\VHDL\
信号模式 每个端口信号都必须规定信号模式; 信号模式规定信号流动的方向; in out 输入端口 输出端口
inout
buffer
双向端口
VHDL硬件描述语言 Very high speed integration circuits HDL
起源: 1985年,美国国防部提出计划; 1987年成为IEEE1076标准; 1993年进一步修订完善; 是目前标准化程度最高,适应性最广的 HDL语言;
VHDL硬件描述语言 Very high speed integration circuits HDL
简单的实体 entity entity-name is port (signal-name : mode signal-type; …… signal-name : mode signal-type); end entity-name;
比较复杂的实体
ENTITY 实体名 IS
GENERIC语句;
PORT语句;
(BEGIN
决断语句、过程调用、进程说明等)
END 实体名;
VHDL的实体: entity 要点:
实体以 entity
实体名
is
开始;
以end 实体名; 结束; 实体的主要内容为端口(port)说明, 其中主要包括: 实体名、信号名、信号模式、信号类型
实体名称和信号名称 每个实体在设计中对应一个电路模块,
s : in std_logic;
y : out std_logic);
vhdl语言

VHDL语言VHDL(VHSIC Hardware Description Language)是用于描述数字电路和系统的硬件描述语言,是一种标准化的硬件描述语言,广泛应用于数字电路设计和电子系统设计领域。
VHDL语言是一种强大的工具,可以帮助工程师描述复杂的数字电路,并进行仿真和综合。
它可以描述电路的结构、功能和时序行为,是一种形式化的语言,能够准确地描述电路的行为特性,有助于工程师在设计阶段发现和解决问题。
VHDL语言的基本概念实体(Entity)•实体描述了电路的接口和功能,可以看作是一种抽象的模块。
•实体中定义了输入输出端口,以及对应的信号类型和位宽。
•实体可以包含多个体系结构(Architecture)。
体系结构(Architecture)•体系结构描述了实体的具体实现,定义了实体的行为。
•体系结构中包含了处理逻辑、时序行为以及信号的赋值。
•体系结构可以描述电路的功能和行为。
信号(Signal)•信号是VHDL语言中的基本数据类型,用于在电路中传递信息。
•信号可以是标量(Scalar)或矢量(Vector),可以是时序或组合。
•信号的赋值可以是同步的或异步的。
过程(Process)•过程描述了VHDL中的行为,通常用于描述组合逻辑或时序逻辑。
•过程中可以包含逻辑运算、条件语句、循环语句等。
•过程中的代码在仿真或综合时会被执行。
VHDL语言的应用VHDL语言主要用于数字电路设计、电子系统设计、FPGA设计等领域。
工程师可以使用VHDL语言描述数字电路的结构和行为,进行仿真和综合,快速验证设计的正确性。
VHDL语言的应用领域包括但不限于:•数字电路设计•通信系统设计•控制系统设计•图像处理系统设计•嵌入式系统设计VHDL语言在电子设计领域具有广泛的应用前景,可以帮助工程师快速高效地设计数字电路系统,并满足不同应用场景的需求。
总结VHDL语言是一种强大的硬件描述语言,可以帮助工程师描述数字电路的结构和行为,进行仿真和综合,快速验证设计的正确性。
VHDL硬件描述语言

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大总结一、填空题1.两种标识符短、扩展2.4种基本数据类型常量、变量、信号、文件3.常量说明格式constant 常数名: 数据类型:=表达式;4.三种数据变换方法?函数转换、常数转换、类型标记5.四种运算操作符?逻辑、关系、算术、并置6.如何启动进程?(1).必须包含一个显示的敏感信号变量(2).或者包含一个wait语句7.五种基本结构?库(library)、包集合(package)、实体(entity)、结构体(architecture)、配置(configuration) 8.信号与变量代入?(1).<=(2).:=9.列举可编程逻辑器件?PROM→PLA→PAL→CPLD→FPGA→EPROM→EEPROM→GAL10.数据类型整数、位、位矢量、符号、布尔量、时间、错误等级、标准逻辑11.四种端口模式?IN—OUT—INOUT—BUFFER12.三种子结构描述语句?BLOCK—PROCESS—SUBPROGRAMS13.结构体三种描述方式寄存器传输(RTL)--数据流、结构描述、行为描述14.标识符规则?(1).不以数字靠头(2).下划线不连续(3).不与保留字重复(4).下划线前后必须有英文字母或者数字(5).最后一个不能使用下划线(连字符)15.扩展标识符\12@+\16.赋值?(1).信号、变量可以多次赋值(2).常量只能定义时赋值(进程内部,子函数内部)17.高阻、不定态?'Z'------------'X'18.进程位置?结构体内部19.变量位置?进程内部---包内部----子程序内部20.进程执行机制?敏感信号发生跳变21.优先级?if语句之间具有不同优先级22.时序电路的去驱动信号?时钟23.时序电路在何时发生变化?时钟信号的边沿24.两种状态机?(1).moore-----f(现状)(2).mealy-----f(现状,输入)25.什么有九值逻辑标准逻辑(STD_LOGIC)26.定义信号a,4位标准逻辑向量?SIGNAL A : STD_LOGIC_VECTOR(3 DOWNTO 0);27.定义变量b,整型,范围0 到9SIGNAL B: TNTEGER RANGE 0 TO 9;28.空操作?NULL29.CPLD与FPGA?(1).基于乘积项技术—内带存储(2).基于查找表技术—需要外部扩展存储,比如扩展EEPROM30.IF语句三种类型?(1).门闩(shuan)控制(2).二选一控制(3).多选一控制31.常用库与包集合?LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;32."/="的功能?在条件判断时判断操作符两端不相等33.串行与并行?(1).赋值语句—并行(2).IF语句------串行二、判断题1.缺少库文件LIBRARY IEEE2.缺少包集合USE IEEE.STD_LOGIC_1164.ALL3.实体定义的分号问题port(aaa;bbb;ccc);或者port(aaa;bbb;ccc);4.带入语句问题(1).信号---<=(2).变量---:=5.引号问题?(1).字符----' '(2).字符串----" "6.末尾分号问题(1).END CASE;(2).END PROCESS;7.PROCESS必须赶上敏感信号?包含W AIT ON语句可以不列出8.VHDL与C语言没差别?(1).运行基础—CPU+RAM;逻辑、触发器组成的数字电路(2).执行方式---串行;并行(3).验证方式---变量值;时序逻辑关系9.进程之间传递用信号,非变量10.默认值数值型变量默认为0---------- 不要加引号(位变量)11.类型定义?type wr is (wr0, wr1, wr2);定义的是类型需要为该类型定义对象才可以赋值12.设计方法?(1).传统------------自下至上(2).VHDL----------自上至下13.层次设计?高层次可以调用低层次14.进程语句数量一个程序可以多个进程语句15.运算符优先级NOT>乘法>正负>关系>逻辑16.signalsel : integer?right17.进程内和进程外?原则上不一致,在没有敏感信号的前提下,可以认为一致18.定义实体至少包含一条port map?false19.时间效率?状态机比计数器更有效,更紧凑三、简答题1.名称映射与位置映射?(1).名称:COM1 : U1 PORT MAP (A<=N1,B<=N2,C<=N3);(2).位置:PORT(A,B:IN BIT;C:OUT BIT);引用时:U2:AND2 PORT MAP(NSEL, D1,AB);2.调用库里面包含的元件的方法?(1).COMPONENT(2).PORT MAP3.信号与变量的区别?(1).信号延时赋值,变量立即赋值(2).<=; :=(3).信号在器件内部相当于连线,变量没有(4).信号在结构体内定义,而变量在PROCESS中定义4.三种描述方式的区别?5.条件带入语句与条件语句的区别?(1).后者只能在进程内部使用(2).带入语句必须有ELSE,而条件语句可以没有(3).带入语句不能嵌套,而条件语句可以6.两种状态机的区别?7.简述CPLD与FPGA?(1).CPLD—乘积项技术—(2).FPGA—查找表技术--需要配置外部程序寄存芯片8.进程语句的特点?(1).并发执行,信号传递,可以存取结构体或实体中所定义的信号(2).内部语句都是顺序执行(3).启动进程--必须包含敏感信号或者wait语句9.简述VHDL基本结构库、包集合、实体、结构体、配置10.可编程逻辑器件的优点?(1).集成度高—可以替代几千块通用芯片(2).完善先进的开发工具(3).可以反复擦除、编程,方便设计和修改(4).可以灵活的定义管脚(5).保密性很好四、编程题1.二选一电路ENTITY MUX ISPORT(D0:IN BIT;D1:IN BIT;SEL:IN BIT;Q:OUT BIT);ARCHITECTURE CONNECT OF MUX IS SIGNAL TEMP1,TEMP2,TEMP3:BIT; BEGINCALE:BLOCKBEGINTEMP1<=D0 AND SEL;TEMP2<=D1 AND (NOT SEL);TEMP3<=TEMP1 OR TEMP2;Q<=TEMP3;END BLOCK CALE;END CONNECT;END CONNECT;2.四选一电路3.四位加法计数器4.八-三编码器5.四位逐位进位全加器6.数值比较器7.三-八译码器8.二-十(BCD)优先权编码器9.精确计时电路10.触发器11.四状态循环12.异或门设计13.二输入与非门14.三态门15.6分频器16.二-四译码器17.四-十六译码器18.8进制异步复位计数器五、附加19.I F语句门闩控制IF (A='1') THENC<=B;END IF;二选择控制IF (SEL='1') THEN***;ELSE***;END IF ;多选择控制IF ** THENXXX;ELSIF **THENXXX;ELSEXXX;END IF;20.C ASE语句CASE SEL ISWHEN 0=>Q<=I0;WHEN 1=>Q<=I1;WHEN OTHERS=>Q<="XXXXXX"; END CASE;21.并发信号带入语句实质是一个进程语句的缩写22.条件信号带入语句Q<=I0 WHEN SEL="00" ELSEI1 WHEN SEL="01" ELSE'X';23.选择信号带入语句WITH SEL SELECTQ<=I0 WHEN 0,I1 WHEN 1,I2 WHEN 2,'X' WHEN OTHERS;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
★ VHDL语言的主要优点 语言的主要优点 本身的生命期长。 ◆ VHDL本身的生命期长。因为 本身的生命期长 因为VHDL的硬件描述与工艺 的硬件描述与工艺 技术无关,不会因工艺变化而使描述过时。 技术无关,不会因工艺变化而使描述过时。与工艺技术 有关的参数可通过VHDL提供的属性加以描述,工艺改 提供的属性加以描述, 有关的参数可通过 提供的属性加以描述 变时,只需修改相应程序中的属性参数即可。 变时,只需修改相应程序中的属性参数即可。 支持大规模设计的分解和已有设计的再利用。 ◆ 支持大规模设计的分解和已有设计的再利用。一个大规 模设计不可能一个人独立完成,它将由多人, 模设计不可能一个人独立完成,它将由多人,多项目组 来共同完成。 来共同完成。VHDL为设计的分解和设计的再利用提供 为设计的分解和设计的再利用提供 了有力的支持。 了有力的支持。 已成为IEEE承认的一个工业标准,事实上已成 承认的一个工业标准, ◆ VHDL已成为 已成为 承认的一个工业标准 为通用硬件描述语言。 为通用硬件描述语言。
★ VHDL语言的主要优点 语言的主要优点 是一种多层次的硬件描述语言,覆盖面广, ◆ 是一种多层次的硬件描述语言,覆盖面广,描述能 力强。即设计的原始描述可以是非常简练的描述, 力强。即设计的原始描述可以是非常简练的描述, 经过层层细化求精, 经过层层细化求精,最终成为可直接付诸生产的电 路级或版图参数描述,整个过程都可以在VHDL的 路级或版图参数描述,整个过程都可以在 的 环境下进行。 环境下进行。 有良好的可读性,即可以被计算机接受, ◆ VHDL 有良好的可读性,即可以被计算机接受,也 容易被理解用VHDL 书写的原文件,既是程序,又 书写的原文件,既是程序, 容易被理解用 是文档,既是技术人员之间交换信息的文件, 是文档,既是技术人员之间交换信息的文件,又可 作为合同签约者之间的文件。 作为合同签约者之间的文件。
目标的一般形式如下: 目标的一般形式如下: 的一般形式如下 < 目标种类 < 目标 , 目标 目标种类> 目标< 目标...>> : < 目标类型 :=< 表达式 ; 目标类型> 表达式>
< 目标种类 < 目标 , 目标 目标种类> 目标< 目标...>> : < 目标类型 :=< 表达式 ; 目标类型> 表达式> 目标种类:信号( 目标种类:信号(SIGNAL)、变量 、变量(VARIABLE)和常量 和 (CONSTANT)。 。 信号:它表示把元件的端口连接在一起的互连线。 信号:它表示把元件的端口连接在一起的互连线。 变量:用于对暂时数据的局部存储, 变量:用于对暂时数据的局部存储,变量只在进程和子 VARIABLE a1:INTEGER:=3; 程序内部定义。 程序内部定义。 常量:对某些特定类型数据赋予的一次性数值。 常量:对某些特定类型数据赋予的一次性数值。 目标: 是一个或多个代表着目标种类的字符串, 目标 : 是一个或多个代表着目标种类的字符串 , 多个目 标时用“ 号分开 号分开。 标时用“,”号分开。 表达式:表达式是为了规定目标的初始值,这是缺省部分。 表达式:表达式是为了规定目标的初始值,这是缺省部分。 目标类型:为了规定目标的特征, 目标类型: 为了规定目标的特征 , VHDL含有很宽范围的 含有很宽范围的 数据类型。 除了有基本的数据类型之外, 数据类型 。 VHDL除了有基本的数据类型之外, 设计者还 除了有基本的数据类型之外 可以建立自己的数据类型, 可以建立自己的数据类型, 类型说明部分规定类型名和类 型范围,它的一般形式是: 型范围,它的一般形式是:
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是一种非常严格的数据类型化语言,规定每个信 是一种非常严格的数据类型化语言,规定每个信 是一种非常严格的数据类型化语言 常量或变量和每个表达式有一个唯一的确定数据类型 和每个表达式有一个唯一的确定数据类型, 号,常量或变量和每个表达式有一个唯一的确定数据类型, 每个目标和表达式的数据类型静态地被确定。 每个目标和表达式的数据类型静态地被确定。
★ 硬件描述语言 ◆ ABEL ◆ AHDL ◆ Verilog HDL IEEE标准 标准 ◆ VHDL 美国国防部在80年代初提出了 年代初提出了VHSIC(Very High Speed 美国国防部在 年代初提出了 ( Integrated Circuit)计划,其目标之一是为下一代集成电路的 )计划, 生产,实现阶段性的工艺极限以及完成10万门级以上的设计 万门级以上的设计, 生产,实现阶段性的工艺极限以及完成 万门级以上的设计, 建立一项新的描述方法。 年提出了一种新的HDL,称之为 建立一项新的描述方法。1981年提出了一种新的 年提出了一种新的 , VHSIC Hardware Description Language,简称为 ,简称为VHDL。 。
VHDL数据类型和属性 第二节 VHDL数据类型和属性
有三种: 在VHDL中目标有三种:信号、变量和常量。 中目标有三种 信号、变量和常量。 信号和变量可以赋予一系列的值, 常量一次仅 信号和变量可以赋予一系列的值,而常量一次仅 可以赋予一系列的值 被分配一个值。 被分配一个值。 信号和变量又有不同,赋予信号的数值要到未来 信号和变量又有不同,赋予信号的数值要到未来 又有不同 信号 的某个时刻,信号才接受当前的数值 而赋予变量 才接受当前的数值; 变量的 的某个时刻,信号才接受当前的数值;而赋予变量的 立即接受当前的数值。 数值,变量立即接受当前的数值 数值,变量立即接受当前的数值。
BEGIN c1 <= (NOT a1 AND b1) OR (a1 AND NOT b1); END kxor_arc;
结 构 体 1 结 构 体 2 结 构 体1 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的基本组成 第一节 VHDL的基本组成
参数部分——程序包 程序包 参数部分
VHDL 语言
接口部分—设计实体 接口部分 设计实体
描述部分—结构体 描述部分 结构体
参数部分——程序包 一、参数部分 程序包
IEEE标准的标准程序包 标准的标准程序包 调用程序包 程序包
语句
设计中的子程 序和公用数据类型 的集合。 的集合。
三、描述部分—结构体 描述部分 调用程序包 结构体
语句
结构体
描述实体硬件的互连关系、 描述实体硬件的互连关系、数据的传 输和变换以及动态行为。 输和变换以及动态行为。
实体 标 一个实体可以对应多个结构体,每个结构体可以代定 一个实体可以对应多个结构体及实 , 体声 准 义 表该硬件的某一方面特性,例如行为特性,结构特性。 表该硬件的某一方面特性,例如行为特性,结构特性。 程 明语 程 句 序 序 包 包 ARCHITECTURE kxor_arc OF kxor IS
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
超高速集成电路硬件描述语言VHDL 超高速集成电路硬件描述语言VHDL
概述 第一节 第二节 第三节 第四节 小结
VHDL语言的基本组成 语言的基本组成 VHDL数据类型和属性 数据类型和属性 VHDL的行为描述 的行为描述 VHDL的结构描述 的结构描述
★ 设计方法 传统的电路系统设计方法:纯硬件逻辑设计(试凑法) ◆ 传统的电路系统设计方法:纯硬件逻辑设计(试凑法)
存在的问题: 存在的问题:
当系统规模增大,设计工作量大,设计周期长; 当系统规模增大,设计工作量大,设计周期长; 设计电路的体积大、功耗大、可靠性较低; 设计电路的体积大、功耗大、可靠性较低; 交流性较差。 交流性较差。 现代电路的设计方法:硬件设计+ ◆ 现代电路的设计方法:硬件设计 软件设计 从上至下的设计方法 出现Hardware Description Language,HDL
TYPE < 类型名 IS < 类型范围 ; 类型名> 类型范围> VHDL可用数据类型有五类: 可用数据类型有五类: 可用数据类型有五类 标量类型、复合类型、子类型、文件类型和寻址类型。 标量类型、复合类型、子类型、文件类型和寻址类型。 标量类型包括所有的简单类型:如整数、实数等; 标量类型包括所有的简单类型:如整数、实数等; 复合类型包括数组和记录; 复合类型包括数组和记录; 寻址类型在一般编辑语言中等价为指针; 寻址类型在一般编辑语言中等价为指针; 文件类型是设计者定义的文件类型为设计者提供说明的文件对象; 文件类型是设计者定义的文件类型为设计者提供说明的文件对象; 子类型主要是对现有类型加以限制。 子类型主要是对现有类型加以限制。