硬件描述语言AHDL

合集下载

fpga期末复习题(答案)知识点题型

fpga期末复习题(答案)知识点题型

一、填空题:1、 FPGA结构一般分为三部分:可编程逻辑块(CLB)、可编程I/O模块和可编程内部连线。

2、 CPLD的内部连线为连续式布线互连结构,任意一对输入、输出端之间的延时是固定;FPGA的内部连线为分段式布线互连结构,各功能单元间的延时不定(不可预测)。

3、大规模可编程器件主要有CPLD和FPGA两类,其中CPLD通过可编程乘积项逻辑实现其逻辑功能。

基于SRAM的FPGA器件,每次上电后必须进行一次配置。

FPGA内部阵列的配置一般采用在电路可重构技术,编程数据保存在静态存储器(SRAM) ,掉电易失。

4、目前世界上有十几家生产CPLD/FPGA的公司,最大的两家是:Altera,Xilinx。

5、硬件描述语言(HDL)是EDA技术的重要组成部分,是电子系统硬件行为描述、结构描述、数据流描述的语言,它的种类很多,如VHDL、Verilog HDL、AHDL6、 WHEN_ELSE条件信号赋值语句和 IF_ELSE顺序语句的异同:* WHEN_ELSE条件信号赋值语句中无标点,只有最后有分号;必须成对出现;是并行语句,必须放在结构体中。

* IF_ELSE顺序语句中有分号;是顺序语句,必须放在进程中7、可编程逻辑器件设计输入有原理图输入、硬件描述语言输入和波形输入三种方式。

原理图输入方式是一种最直接的设计描述方式,波形设计输入适用于时序逻辑和有重复性的逻辑函数。

硬件描述语言的突出优点是:* 语言与工艺的无关性;语言的公开可利用性,便于实现大规模系统的设计;* 具有很强逻辑描述和仿真功能,而且输入效率高,在不同设计输入库之间的转换非常方便,用不着对底层的电路和PLD结构的熟悉。

8、用VHDL/Veilog HDL语言开发可编程逻辑电路的完整流程:文本编辑→功能仿真→逻辑综合→布局布线→时序仿真。

*所谓综合,就是根据设计功能和实现该设计的约束条件(如面积、速度、功耗和成本等),将设计输入转换成满足要求的电路设计方案,该方案必须同时满足与其的功能和约束条件。

AHDL

AHDL
– 被改变只需声明一次 CONSTANT IO_ADDRESS = H"A";
在 SUBDESIGN 关键字之前定义 CONSTANT
SUBDESIGN decode1 ( a[3..0] : input; chip_enable : output; ) begin chip_enable = (a[3..0] == IO_ADDRESS); if (a[3..0] == IO_ADDRESS) then ……... end;
定义NODEs
AHDL ?
temp
out2 = a0 & !a1 # b out3 = a0 & !a1 & d
SUBDESIGN decode1 ( a0, a1, b, d: input; out2, out3 : output; ) variable temp : node; begin temp = a0 & !a1; out2 = temp # b; out3 = temp & d; end;
Self Explain the Function 唯一的改动
其他
SUBDESIGN decode1 ( a[3..0] : input; chip_enable : output; ) begin chip_enable = (a[3..0] == B"1x0x"); end;
一些无关位写X忽略
D触发器带使能Enable/重设Preset/清除Clear
SUBDESIGN flip_flop_enable SUBDESIGN flip_flop_enable ( clock, data, enable, preset, clear :: input; ( clock, data, enable, preset, clear input; qout :: output; qout output; ) ) variable temp :: dffe; temp dffe; begin begin temp.d = data; temp.d = data; temp.clk = clock; temp.clk = clock; temp.clrn = clear; temp.prn = preset; temp.prn = preset; temp.ena = enable; temp.ena = enable; qout = temp.q; qout = temp.q; end; end;

AHDL硬件描述语言

AHDL硬件描述语言

AD_WIDTH = 8,
NUMWORDS = 2^AD_WIDTH
); 4、函数描述语句
共有 4 种形式的逻辑函数可以供用户调用,它们是: Megafunction—具有复杂逻辑功能的巨功能模块,放在 mega_LPM 库中,可以供用户调用 Primitive—一些基本逻辑功能函数,可以直接调用 Macrofunction—具有高水平的逻辑宏功能模块,共有 300 多种,放在 max2lib 子目录中 State Machine—一种具有多个状态的时序电路,可以形成符号图形,用户可以调用 以上几种逻辑功能函数都可以以逻辑函数名和符号图形的方式被调用,在 AHDL 源文件 中调用时要首先进行声明,见如下例子。
RETURNS (result[LPM_WIDTH-1..0], cout, overflow); 该 函 数 名 为 lpm_add_sub , 输 入 端 口 为 cin, dataa[LPM_WIDTH-1..0], and
datab[LPM_WIDTH-1..0]; 关键字 WITH 后是参数表, 关键字 RETURN 后是输出口 result[LPM_WIDTH-1..0], cout, and overflow
变量,一旦声明完毕,就意味着:
变量 comp 就是如下端口的代表:
a[3..0], b[3..0]
: INPUT; -- inputs to compare
less, equal, greater : OUTPUT; -- outputs of compare 而变量 adder 是如下端口的代表:
adder.dataa[], adder.datab[], adder.result[] (2)节点变量声明
AHDL 软件支持两种节点形式:NODE and TRI_STATE_NODE。 例:

硬件描述语言

硬件描述语言

硬件描述语言硬件描述语言(HardwareDescriptionLanguage,HDL),是一种特殊的编程语言,旨在帮助设计人员(称作HDL程序员)创建电子系统的软硬件。

它支持现在最先进的电子系统,并能够提供开发方案,以更快地实现目标,更有效地使用更少的资源,并且更稳定地完成任务。

HDL是一种高级程序设计语言,由若干种编程语言构成,其中包括Verilog,VHDL, SystemVerilog等。

HDL语言描述技术主要用于描述单片机或模拟集成电路(IC)中的复杂电路结构和功能。

它以硬件参数、原语和结构描述为基础,能够描述逻辑系统的底层电路,比如门逻辑、触发器、多路选择器、比较器等。

HDL具有许多优点,能够极大地降低电路设计的困难程度,同时简化设计的复杂性和过程,可以提高设计效率和提升最终产品的性能。

HDL提供方便的调试和测试功能,可以支持电路设计过程管理,减少产品设计和开发的工作量。

此外,HDL能够提供标准、可重用的描述,以及可读性好的语法,可以显著简化设计过程。

HDL的另一个重要优点是,它可以帮助HDL程序员创建更复杂、更现代化的电路设计,而不需要编译器和其它复杂的程序设计开发工具。

HDL可以提供电路设计过程中所需的所有功能,包括定义电路功能,输入输出管理,系统级构建,网络结构,状态机控制,信号处理,数据传输等。

它还利用可视化技术以及带有标准和完善的接口,能够更快地识别和定位问题,大大降低了调试产品的时间。

HDL的另一个优点在于,它具有许多可扩展性,无需为每个项目开发新的硬件。

HDL能够有效地管理工厂现有的系统设计,例如将新的硬件模块添加到已有的电路框架中,并且能够有效地利用已有的硬件,尽可能减少更改硬件布局的时间。

当今,HDL已经成为电子行业中最专业化的编程语言,并被广泛应用于微处理器、嵌入式系统、数字信号处理(DSP)、模拟信号处理(ASP)、网络交换、存储器系统,以及其它领域。

HDL在加速设计过程、改善产品质量、减少产品成本方面十分有用,是现今许多企业进行电子产品设计的重要工具。

fpga中hdl定义

fpga中hdl定义

fpga中hdl定义FPGA中的HDL(硬件描述语言)定义引言:FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,具有高度的可重构性和灵活性。

HDL(硬件描述语言)则是FPGA编程的关键部分,它将FPGA的硬件功能描述转化为可编程的逻辑电路。

本文将深入探讨FPGA中HDL的定义并提供一步一步的解释。

第一节:什么是HDL?1.1 HDL的定义与作用:HDL是一种计算机语言,用于描述和模拟数字电路以及FPGA中的硬件电路。

它允许我们使用文本或者图形方式来描述电路而不需要构建实际的硬件电路。

HDL是FPGA编程的核心,它可以用于实现各种不同的功能,如数据通信、数字信号处理、图像处理等。

1.2 HDL的分类:HDL主要分为两种类型:行为描述和结构描述。

- 行为描述:行为描述指定了电路的操作和功能,类似于软件中的算法。

它使用布尔代数和逻辑表达式来描述电路的行为。

行为描述语言包括VHDL(VHSIC 硬件描述语言)和Verilog。

- 结构描述:结构描述提供了电路的物理连接和层次结构,类似于电路图。

它使用模块和端口来描述电路的结构。

结构描述语言包括VHDL和Verilog。

第二节:HDL的特点和优势2.1 可重构性:由于FPGA的可编程性和灵活性,HDL可以实现对FPGA内部逻辑的重构。

这使得FPGA可以适应不同的应用需求,并且可以在设计完成后进行重新配置。

2.2 可视化和高级抽象:通过使用HDL,设计者可以通过图形界面或者文字描述来实现电路设计。

这使得设计更加直观和易于理解,同时提供了更高级别的抽象,使得设计变得更加简单和高效。

2.3 支持逻辑综合:HDL可以通过逻辑综合工具将高级描述语言转换为电路。

逻辑综合可以利用FPGA中的基本元件来实现电路的功能。

这使得设计人员无需手动设计底层电路,从而提高了设计的效率。

2.4 可重用性:HDL允许设计者创建和使用可重用的电路模块。

EDA简答题

EDA简答题

一、填空题(本大题共10小题,每空1分,共20 分)1.一般把EDA技术的发展分为MOS时代、MOS时代和ASIC三个阶段。

2.EDA设计流程包括设计输入、设计实现、实际设计检验和下载编程四个步骤。

3.EDA设计输入主要包括图形输入、HDL文本输入和状态机输入。

4.时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为功能仿真。

5.VHDL的数据对象包括变量、常量和信号,它们是用来存放各种类型数据的容器。

6.图形文件设计结束后一定要通过仿真,检查设计文件是否正确。

7.以EDA方式设计实现的电路设计文件,最终可以编程下到FPGA和CPLD芯片中,完成硬件设计和验证。

8.MAX+PLUS的文本文件类型是(后缀名).VHD。

9.在PC上利用VHDL进行项目设计,不允许在根目录下进行,必须在根目录为设计建立一个工程目录。

10.VHDL源程序的文件名应与实体名相同,否则无法通过编译。

EDA技术的发展趋势1 可编程器件的发展趋势:向高密度大规模的方向发展,向系统内可重构的方向发展,向低电压低功耗的方向发展,向混合可编程技术方向发展;硬件描述语句可在3个层次上进行电路描述(由高到低):行为级,RTL级和门电路级2.设计单元的基本构造•一个设计单元都是由实体说明和构造体两部分组成。

•实体的功能是对这个设计单元与外部电路进行接口描叙。

实体是设计单元的表层,实体说明部分规定了设计单元的输入输出接口信号或引脚,它是设计单元对外的一个通信界面。

•结构体定义了设计单元的具体构造和操作(行为)。

•每个实体可以有多个结构体,不同的结构体对应着实体不同的结构和算法实现方案,其间的各结构体的地位是相等的。

3.实体说明(ENTITY)•实体象一个“黑盒子”•体描叙黑盒子的I/O。

–以“ENTITY实体名IS”开始–至“END 实体名”结束4.(1)端口说明--PORTS•端口说明是基本设计实体(单元)与外部接口的描述,也可以说是对外部引脚信号的名称、数据类型和输入输出方向的描述。

AHDL

AHDL

9.2 AHDL硬件描述语言AHDL是一种模块化的高级语言。

它集成于MAX+PLUS II的软件开发系统中,特别适合于描述复杂的组合逻辑、组运算、状态机和真值表。

AHDL文件作为一种文本文件,既可以用MAX+PLUSII提供的文本编辑器,也可以用其他文本编辑器来建立文本设计文件 (.tdf)。

但是MAX+PLUSII文本编辑器更适合进行文本编辑、编译和调试等工作,尤其是在信息处理器中对错误有自动定位的功能,使调试十分方便。

MAX+PLUSII编译器还可以产生AHDL文件设计的报告文件(.tdx)和文本设计输出文件(.tdo)。

在AHDL文件中包含很多有特色的段和语句,并且包含许多用以在行为语句中对逻辑进行描述的元素。

可以使用AHDL建立完整层次的工程设计项目,或者在一个层次的设计中混合使用AHDL文件和其他类型的设计文件。

9.2.1 AHDL的基本元素AHDL具有计算机编程语言的一般特性,其语言元素是编程语句的基本单元。

准确理解和掌握AHDL元素的含义和用法是十分重要的。

1.AHDL的数值数值被用来在逻辑表达式、真值表、状态机和等式中指定常量值。

AHDL支持十进制、二进制、八进制和十六进制数的所有组合。

采用不同前缀B(二进制)、Q或O(八进制)、X 或H (十六进制数)来区分,接着用双引号把数值包括起来。

例如:以下是正确的写法:56 B"011010” B"0110X1X10” Q”4671223” H"123AECF”以下规则也适用于AHDL的数值。

①MAX+PLUSII编译器总是把逻辑表达式中的数值翻译为二进制数。

②在表达式中的一个单一节点不能用数值赋值,必须用常量VCC和GND(关键字)来赋值。

VCC表示信号的高电平和逻辑“1”;GND表示信号的低电平和逻辑“0”。

③字符常量可由Constant(常量)语句定义。

2.符号名符号名由一串字母数字符号组成,与字母的大小写无关,长度不得超过32个字符,字母不分大小写。

硬件描述语言

硬件描述语言

系统级描述语言(SLDL)
18
9
1.3
(1) System C
System C (IEEE1666)由一组描述类库和一个包含仿真核的库组成。 在用户的描述程序中,必须包括相应的类库,可以通过通常的ANSI C++编 译器编译该程序。System C提供了软件、硬件和系统模块。用户可以在不 同的层次上自由选择,建立自己的系统模型,进行仿真、优化、验证、综 合等等。
2. 行为设计
用HDL语言描述系统数学模型
3. 功能仿真
仿真的目的是验证;行为级仿真以验证给定的行为描述是否能够实现所 需的功能
6
3
1.1
4. 逻辑综合
目的是转化与优化,将RTL级HDL代码映像到具体的综合库上加以实现。 实现逻辑综合的前提是有逻辑综合库(已含有门级延时、单元面积、 扇入扇出系数等工艺参数)。逻辑综合与优化的约束条件:速度,面 积,工艺,功耗,负载,电路的编程资源。
3
1.1
二.电子系统设计方法的发展
随着电路规模的增大,计算机辅助设计手段在集成电路设计中起着越 来越重要的作用
手工设计
CAD(Computer Aided Design) CAE(Computer Aided Engineering) 设计后端工具,如提供PCB、 布局布线、芯片版图绘制等 设计前端工具,如仿真工具, 综合工具等 包括上述的CAD、CAE工具 系统级的抽象描述,混 合仿真工具
13
1.2
4. 其它HDL
ABEL-HDL --早期的硬件描述语言。 从早期可编程逻辑器件(PLD)的设计中发展而来。 AHDL--(Altera HDL) 是ALTERA公司发明。特点是非常易学易用。 它的缺点是移植性不好,通常只用于ALTERA自己的开发系统。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

a0: in std_logic;
z0: out std_loigc);
end entity and2;
注:数据类型 time 用于仿真模块的设计。 综合器仅支持数据类型为整数的类属值。
6
用VHDL描述的可置数16位计数器:
7
2、VHDL语言可读性强,易于修改和发现错误。 3、VHDL具有丰富的仿真语句和库函数,可对 VHDL源代码进行早期功能仿真,有利于大 系统的设计与验证。 4、VHDL设计与硬件电路关系不大。 5、VHDL设计不依赖于器件,与工艺无关 。 6、移植性好。 7、VHDL体系符合TOP-DOWN和CE(并行工程)设计 思想。 8、VHDL设计效率高,产品上市时间快,成本低。 9、易于ASIC实现。
17
1、类属说明 类属说明:
确定实体或组件中定义的局部常数。模 块化设计时多用于不同层次模块之间信息的 传递。可从外部改变内部电路结构和规模。 类属说明必须放在端口说明之前。
Generic (
常数名称:类型 [:= 缺省值] {常数名称:类型 [:= 缺省值]} );
18
类属常用于定义: 实体端口的大小、
16
一、实体(说明)
实体(说明):
定义系统的输入输出端口
语法:
ENTITY <entity_name> IS Generic Declarations Port Declarations END <entity_name>; (1076-1987 version) END ENTITY <entity_name> ; ( 1076-1993 version)
VHDL是电子系统设计者和 EDA工具之 间的界面。 EDA工具及 HDL的流行,使电子系统向集 成化、大规模和高速度等方向发展。
美国硅谷约有80%的 ASIC和 FPGA/CΒιβλιοθήκη LD已采用 HDL进行设计。
4
2、VHDL与C、C++的比较:
C、C++ 代替汇编等语言 VHDL 代替原理图、逻辑状态图等 3、VHDL与电原理图描述的比较: VHDL具有较强的抽象描述能力,可进行系统
ports
ports
component
12
2选1选择器的VHDL描述:
13
VHDL语言的一些基本特点:
VHDL语言由保留关键字组成; 一般,VHDL语言对字母大小写不敏感; 例外:‘ ’、‚ ‛所括的字符、字符串; 每条VHDL语句由一个分号(;)结束; VHDL语言对空格不敏感,增加可读性; 在‚--”之后的是VHDL的注释语句; VHDL有以下描述风格: 行为描述; 数据流(寄存器传输RTL)描述; 结构化描述;
行为级别的描述。描述简洁,效率高。
VHDL描述与实现工艺无关。 电原理图描述需给出完整、具体的电路结构 图,不能进行抽象描述。描述繁杂,效率低。 电原理图描述与实现工艺有关。
5
四、VHDL语言特点
1、VHDL具有强大的语言结构,系统硬件描述能 力强、设计效率高;具有较高的抽象描述能力。 如:一个可置数的16位计数器的电原理图:
称为 IEEE1076-1987。
各EDA公司相继推出支持VHDL的设计环境。
1993年被更新为 93 标准,即IEEE1076-1993。
进一步提高抽象描述层次,扩展系统描述能力。
3
三、VHDL的作用
1、VHDL打破软、硬件的界限 传统的数字系统设计分为: 硬件设计(硬件设计人员) 软件设计(软件设计人员)
10
六、VHDL设计简述
VHDL主要用于描述数字系统的结构、行 为、功能和接口。 VHDL将一个设计(元件、电路、系统) 分为: 外部(可视部分、端口) 内部(不可视部分、内部功能、算法)
11
外部与内部:
ports 器件或 ports
子系统
ENTITY
ARCHITECTURE
Process Sequential Process Process Combinational Process
8
五、VHDL与其它硬件描述语言的比较
行为级 VHDL: 具有较强的系统级抽象描述能力,适 合行为级和 RTL级的描述。设计者可不必 了解电路细节,所作工作较少,效率高。 但对综合器的要求高,不易控制底层电路 的生成。IEEE标准,支持广泛。 RTL: Register Translate Level
设计实体的物理特性、 总线宽度、 元件例化的数量等。 例: entity mck is generic(width: integer:=16); port(add_bus:out std_logic_vector (width-1 downto 0)); …
19
例:2输入与门的实体描述
entity and2 is generic(risewidth: time:= 1 ns; fallwidth: time:= 1 ns); port(a1: in std_logic;
9
RTL级
门电路级
Verilog HDL :
系统级抽象描述能力比VHDL稍差;门级开 关电路描述方面比 VHDL 强。适合 RTL级和门 电路级的描述。设计者需要了解电路细节,所 作工作较多。IEEE标准,支持广泛。 ABEL、PALASM、AHDL(Altera HDL): 系统级抽象描述能力差,一般作门级 电 路描述。要求设计者对电路细节有详细的了解。 对综合器的性能要求低,易于控制电路资源。 支持少。
14
§3.2
VHDL程序基本结构
基本结构包括:

实体(Entity) 结构体(Architecture) 配置(Configuration)
库(Library)、程序包(Package)
15
库、程序包 实体(Entity) 结构体 (Architecture) 进程 或其它并行结构
配置(Configuration)
第三章
硬件描述语言(VHDL)
1
§3.1
概述
一、什么是VHDL?
VHDL: VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
2
二、VHDL的历史
80年代初由美国国防部在实施超高速集成电 路(VHSIC)项目时开发的。 1987年由 IEEE 协会批准为 IEEE 工业标准,
相关文档
最新文档