当前位置:文档之家› VHDL语言入门到精通

VHDL语言入门到精通

VHDL语言入门到精通
VHDL语言入门到精通

可编程逻辑器件

与VHDL程序设计技术

计划学时课堂教学36 实验教学18

教学目的

了解一类器件:FPGA/CPLD;

掌握一门设计语言:VHDL;

熟悉一种设计工具:Quartus II。

考试笔试50%,实验50%。

教材:以课件为主

第一章概述

一、设计自动化(Design Automation)数字系统:计算机,通信系统,控制电路,集成电路,数码设备,掌上电脑…

超大规模集成电路:Very Large Scale Integrated Circuit(VLSI)

计算机辅助设计:Computer Aided Design(CAD)

电子设计自动化(E lectronic D esign A utomation,EDA,电子设计自动化)(模拟电路+数字系统)

电路组成:分离元件→大、中、小规模IC→超大规模集成电路

设计方法:人工设计→CAD→EDA

二、EDA发展历史与现状

50年代──萌芽

用电子管计算机帮助设计晶体管计算机;

逻辑图的保存、检查、修改。

60年代──简单的单独的CAD软件

印刷电路板PCB+集成电路IC出现+计算机应用的推广。

PCB布线,电路模拟,电路分析,逻辑模拟。

70年代──第一代:CAD设备

小型专用计算机+CAD软件

逻辑模拟,逻辑优化,版图图形编辑+设计规则检查。

(Tango布线软件)

80年代──第二代:ICCAD软件系统

初步覆盖了集成电路自动设计全过程(逻辑图—产品);

主要针对PAL、GAL等器件;

逻辑图输入、逻辑模拟、逻辑综合、逻辑电路测试码生成、版图和PCB的自动布局布线。

Mentor,Cadence,ViewLogic,熊猫系统

90年代──第三代:覆盖所有级别的EDA开放式集成系统

高层次设计自动化,形式验证;

标准硬件描述语言VHDL;

时延、功耗驱动的高层次综合与版图自动布局布线;

Synopsys,Mentor,Cadence…

2000年代──以SOC为中心

System on a chip;

初步实现了“概念驱动工程”的思想。

三、数字系统与VLSI

电子产品的要求:高功能、优品质、微功耗、低成本、微小封装尺寸、短的开发周期。产品需要用尽可能少的IC完成。

VLSI

1、通用集成电路

特点:规模大,批量大,性能精细,设计成本高。(100万~1000万晶体管)

微处理器芯片,存储器芯片,计算机外围电路芯片等。

2、专用集成电路(ASIC)

Application Specific Integrated Circuit

专门用途的芯片,如控制电路等。

特点:规模小,批量小,要求设计成本低,周期短。

3、现场可编程逻辑器件(PLD)

Programmable Logic Device

可写入所需要的逻辑功能的“空白”电路。

特点:规模小,批量大,设计周期很短,有的具有可重写功能。

PLD分类

1、简单PLD

PLA(Programmable Logic Array)

PAL(Programmable Array Logic)

GAL(Gate Array Logic)

2、复杂PLD

CPLD(Complex Programmable Logic Device)

FPGA(Field Programmable Gate Array)

3、系统芯片SOC(System On a Chip)

处理器+存储器+DSP+FPGA+ ASIC+其他接口)

SOC在性能、功耗、体积、重量和总的设计制造费用上都有巨大的优越性。

SOPC:SYSTEM ON A PROGAMMABLE CHIP

四、硬件描述语言HDL

1、HDL:

H ardware d escription l anguage

HDL是用于设计和开发专用集成电路及可编程逻辑器件的语言。

用于描述硬件电路的行为、功能、结构、信号连接关系及时序关系的语言。通过编写设计文件来建立硬件系统的逻辑模型,是硬件设计的高级语言。

2.VHDL:

Very high speed integrate circuit HDL甚高速集成电路硬件描述语言。

1)、发展

1982年,美国国防部赞助VHSIC项目,研制一种可用于规范数字电路设计的文档。

1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言,即IEEE1076-1987(简称87版)

1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993(1164)版本

1996年,IEEE-1076.3成为VHDL综合标准。

Other standards associated with VHDL:

IEEE Std 1164 - STD_LOGIC and STD_LOGIC_VECTOR

IEEE Std 1029 - WAVES(Waveform and Vector Exchange Spec.)

IEEE Std 1076.1 - Analog and Mixed Signal

IEEE Std 1076.2 - Mathematics package

IEEE Std 1076.3– Arithmetic package for synthesis

IEEE Std 1076.4 - Timing

IEEE Std 1076.5 - Library utility

IEEE Std 1076.6 - Synthesis subset

2)、作用

VHDL是一个数字电路系统的设计、综合、模拟的标准HDL

HDL分为三类:

数字电路与系统的描述语言:VHDL,verilog

模拟电路描述语言:AHDL

数模混合电路描述:ALTERA公司开发套件Excalibur Development Kits

3

EDA:E lectronic D esign A utomation

1、优势

手工设计方法的缺点是:

1)复杂电路的设计、调试十分困难。

2)如果某一过程存在错误,查找和修改十分不便。

3)设计过程中产生的文档,不易管理。

4)对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。

5)只有在设计出样机或生产出芯片后才能进行实测。

EDA技术有很大不同:

1)采用硬件描述语言作为设计输入。

2)库(Library)的引入。

3)设计文档的管理。

4)系统建模、电路仿真功能。

5)具有自主知识产权。

6)开发技术标准化、规范化;IP核的可利用性。

7)适用于高效率大规模系统设计的自顶向下设计方案。

8)全方位地利用计算机自动设计、仿真和测试技术。

9)对设计者的硬件知识和硬件经验要求低。

10)高速性能好。

11)纯硬件系统的高可靠性。

2、EDA技术及其发展

EDA技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面:

1)使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;

2)在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。

3)电子技术全方位纳入EDA领域;

4)更大规模的FPGA和CPLD器件的不断推出;

5)基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;

6)软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;

7)SOC高效低成本设计技术的成熟。

3、EDA实践的3个层次

逻辑行为的实现

特点:非EDA技术及相关器件也能实现,无法体现EDA技术的优势。

主要包括原数字电路的内容:简单译码器、简单计数器、表决器、显示扫描器、数字钟表、普通频率计、电梯控制、红绿交通灯控制等纯逻辑行为实现方面的电路的设计。

控制与信号传输功能的实现

特点:必须使用EDA技术才能实现,能体现EDA技术的优势。

高速信号发生器、PWM、FSK/ PSK、A/D采样控制器、数字频率合成、数字PLL、FIFO、RS232或PS/2通信、VGA显示控制电路、逻辑分析仪、存储示波器、虚拟仪表、图像采样处理和显示、机电实时控制系统、FPGA与单片机综合控制等电路的设计。

算法的实现

特点:使用硬件方式取代由传统CPU完成的许多算法功能,实现高速性能.

离散FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、数字振荡器、编码译码和压缩、调制解调器、以太网交换机、高频DSP、基于FPGA的嵌入式系统、SOPC/SOC 系统、实时图象处理、大信息流加解密算法实现等电路的设计,嵌入式ARM、含CPU软核Nios的软硬件联合设计。

六、EDA设计流程及其工具

本节首先介绍FPGA/CPLD开发和ASIC设计的流程,然后分别介绍与这些设计流程中各环节密切相关的EDA工具软件。

1、设计流程

(1)定义设计要求(方案论证与系统级构建,独立于硬件的系统行为评估和设计。)(2)用VHDL进行代码设计(将硬件系统设计文件转换成可综合的硬件描述语言)(3)设计输入(原理图/HDL文本)

与传统的计算机软件语言编辑输入基本一致。就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL或Verilog的源程序,进行编辑输入。应用HDL的文本输入方法克服了原理图输入法存在的所有弊端,为EDA技术的应用和发展打开了一个广阔的天地。

(4)综合(Synthesis):将设计描述化简转换成底层电路表示(网表/布尔方程)整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换,最终获得门级电路甚至更底层的电路描述网表文件。综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应互的映射关系。

(5)优化(optimize):依赖于网表、布尔方程,有效资源类型(CPLD、FPGA),用户约束条件(速度、占用资源、面积),进行化简。

(6)装配(Fitting)/布局布线。

把通过综合和优化得到的设计逻辑,安放到一个CPLD“逻辑器件”之中的过程,装配是对CPLD器件资源进行分配的过程。

把通过综合和优化得到的设计逻辑,规划到一个FPGA“逻辑器件”之中的过程,将各逻辑单元放置到相应位置,称布局,根据信号传输要求在逻辑单元之间连线,称布线。

装配又称适配,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。

(7)模拟:通过输入激励或编辑波形,检测时序功能、时延、信号建立时间、信号保持时间等,并产生器件编程所需要的数据文件。

功能仿真:是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体器件的硬件特性。

时序仿真:就是接近真实器件运行特性的仿真,仿真文件中己包含了器件硬件特性参数,因而,仿真精度高。

(8)器件编程,通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM 进行直接下载的方式称为配置(Configure),但对OTP FPGA(一次性可编程FPGA)的下载和对FPGA的专用配置ROM的下载仍称为编程。

(9)硬件测试

将含有载入了设计的FPGA或CPLD的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。

设计过程中的每一步都可称为一个综合环节。

(1)从自然语言转换到VHDL语言算法表示,即自然语言综合;

(2)从算法表示转换到寄存器传输级(Register Transport Level,RTL),即从行为域到结构域的综合,即行为综合;

(3)RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合;

(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。有了版图信息就可以把芯片生产出来。有了对应的配置文件,就可以使对应的FPGA变成具有专门功能的电路器件。

2、常用EDA工具

(1)设计输入编辑器

(2)HDL综合器

性能良好的FPGA/CPLD设计的HDL综合器有如下三种:

Synopsys公司:

FPGA Compiler、FPGA Express

Synplicity公司:

Synplify Pro

Mentor公司:

Leonardo Spectrum

(3)仿真器

按处理的硬件描述语言类型分,HDL仿真器可分为:

1)VHDL仿真器。

2)Verilog仿真器。

3)Mixed HDL仿真器(混合HDL仿真器,同时处理Verilog与VHDL)。

4)其他HDL仿真器(针对其他HDL语言的仿真)。

按仿真的电路描述级别的不同,HDL仿真器可以单独或综合完成以下各仿真步骤:1)系统级仿真。

2)行为级仿真。

3)RTL级仿真。

4)门级时序仿真。

几乎每个公司的EDA产品都有仿真工具。

Viewlogic的仿真器有:

viewsim门级电路仿真器,speedwaveVHDL仿真器,VCS—verilog仿真器。VHDL和Verilog双仿真器:

Model Sim(Mentor Graphics有其子公司Model Tech)

VHDL仿真器 VSS

(4)适配器(布局布线器)

适配器的任务是完成目标系统在器件上的布局布线。适配,即结构综合通常都由可编程逻辑器件的厂商提供的专门针对器件开发的软件来完成。这些软件可以单独或嵌入在厂商的针对自己产品的集成EDA开发环境中存在。

(5)下载器(编程器)

3、常用集成开发环境

ALTERA公司:

MAX+PLUSII

QUARTUSII

LATTICE公司:

isp EXPERT SYSTEM、

isp Synario

isp Design Expert SYSTEM

isp COMPILER

PAC-DESIGNER

XILINX:

FOUNDATION

4、IP核

IP(Intellectual Property)就是知识产权核或知识产权模块的意思,在EDA技术和开发中具有十分重要的地位。

1)、软核软核是指寄存器级(RTL级)的设计结果。它经过了RTL级仿真验证。

2)、固核

固核是指经过了FPGA实物验证的设计结果。

3)、硬核

硬核是在固核的基础上,经过了ASIC实物验证的设计结果。

从FPGA的角度固核最有价值;从ASIC角度则硬核最有价值,因为要将固核转化成硬核具有投片风险。软核则由于它与工艺和器件均无关,具有高度的灵活性,从而具有其独特的价值。

5、FPGA/CPLD在EDA设计中的基础作用

VHDL程序通过FPGA/CPLD可以得到EDA设计的最终产品。

VHDL程序通过FPGA/CPLD验证可以形成固核,具有一定的商品价值。

1、基于EDA技术的FPGA、CPLD、SOPC系统设计;

2、单片机系统设计;

3、DSP技术及DSP系统设计;

4、ARM技术及ARM系统设计。

习题

1、EDA技术的核心内容是什么?

2、EDA技术与ASIC设计和FPGA开发有什么关系?

3、与C语言相比,VHDL有什么特点?

4、什么是综合?有那些类型?

5、在EDA技术中,自顶向下的设计方法的重要意义是什么?

6、叙述EDA的FPGA/CPLD设计流程。

7、IP是什么?IP与EDA技术的关系是什么?

8、简述在EDA设计流程中所涉及的工具,及其在整个流程中的作用。

VHDL语言快速入门必读

一·1.数据类型BIT与STD_LOGIC有什么区别。 BIT类型的取值只能是0或1,没有不定状态X,也没有高阻态。 STD_LOGIC类型可以有9种不同的值,包括U-初始值,X-不定,0-0,1-1,Z-高阻态,W-弱信号不定,L-弱信号0,H弱信号1.‘—’不可能情况。 2.信号和变量的异同。 信号是全局量,只要在结构体中已经定义,就可以在结构体中的所有地方使用,信号的赋值符号是”<=”,信号带入时可以附加延时,信号实际带入过程和带入语句的处理时分开进行的。 变量是局部量,只能在进程,子程序内部定义和使用,变量的赋值符号是“:=”,变量的赋值是立即执行的,不能附加延时。 3.VHDL语言的基本顺序语句和并行语句有哪些? 双性语句:信号带入语句 顺序语句:WHAT语句,断言语句,变量赋值语句,IF语句,CASE语句,LOOP语句,NEXT语句,EXIT语句,过程调用语句,NULL语句。 并行语句:进程(PROCESS)语句,条件带入语句,选择信号带入语句,并发过程调用语句,块语句。 4.用VHDL语言进行硬件设计的流程是什么? 1.分析实际的需求2确定芯片的功能3.用VHDL 语言描述改元件4.编译,如果有错误修改后再编译直至编译通过。5.仿真,如果仿真不符合设计要求,修改程序直至仿真通过。6.测试7.综合,8.下载到实际的芯片上。 5.基本的硬件描述语言的种类有哪些? 美国国防部开发的VHDL。 Verilog公司开发的Verilog-HDL. 日本电子工业振兴协会开发的UDL/I语言。 6.VHDL语言中包含的库的种类有哪些?库:是经编译后的数据的集合,它存放包集合定义,实体定义,构造体定义,和配置定义。库的种类:1.IEEE库,2.STD库,3.面向ASIC 的库,4.WORK库,5.用户定义库 7.IEEE库中所包含的基本类型转换函数有 1.包含程序所用的库 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; 2.实体声明 ENTITY fp IS PORT(); END ENTITY fp; 3.结构体,具体功能的实现 ARCHITECTURE a OF fp IS BEGIN END ARCHITECTURE a; 9.VHDL的程序子结构有哪些? 进程(PROCESS)顺序语句,块(BLOCK)并行语句,过程(PROCEDURE)顺序语句,函数(顺序语句)。 10.简述when-else和if-else的区别? If-else是顺序语句所以只能在进程内部使用,可以没有else语句,可以进行嵌套。有自身值带入的描述,能组成锁存电路。 When-else是并行语句,在结构体内使用,必须要有else语句,不能进行嵌套,没有自身值带入的描述,不能组成锁存电路。 11.什么是ASIC,ASIC的特点是什么?ASIC是Application Specific Integrated Circuit 的英文缩写,在集成电路界被认为是一种为专门目的而设计的集成电路。 ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。 12.逻辑电平有哪些?

vhdl基本语法

VHDL 基础语法篇——VHDL VHDL硬件描述语言 1.1 VHDL概述 1.1.1 VHDL的特点 VHDL语言作为一种标准的硬件描述语言,具有结构严谨、描述能力强的特点,由于 VHDL语言来源于C、Fortran等计算机高级语言,在VHDL语言中保留了部分高级语言的原 语句,如if语句、子程序和函数等,便于阅读和应用。具体特点如下: 1. 支持从系统级到门级电路的描述,既支持自底向上(bottom-up)的设计也支持从顶向下 (top-down)的设计,同时也支持结构、行为和数据流三种形式的混合描述。 2. VHDL的设计单元的基本组成部分是实体(entity)和结构体(architecture),实体包含设 计系统单元的输入和输出端口信息,结构体描述设计单元的组成和行为,便于各模块之间数 据传送。利用单元(componet)、块(block)、过程(procure)和函数(function)等语句, 用结构化层次化的描述方法,使复杂电路的设计更加简便。采用包的概念,便于标准设计文 档资料的保存和广泛使用。 3. VHDL语言有常数、信号和变量三种数据对象,每一个数据对象都要指定数据类型,VHDL 的数据类型丰富,有数值数据类型和逻辑数据类型,有位型和位向量型。既支持预定义的数 据类型,又支持自定义的数据类型,其定义的数据类型具有明确的物理意义,VHDL是强类 型语言。 4. 数字系统有组合电路和时序电路,时序电路又分为同步和异步,电路的动作行为有并行 和串行动作,VHDL语言常用语句分为并行语句和顺序语句,完全能够描述复杂的电路结构 和行为状态。 1.1.2 VHDL语言的基本结构 VHDL语言是数字电路的硬件描述语言,在语句结构上吸取了Fortran和C等计算机高级 语言的语句,如IF语句、循环语句、函数和子程序等,只要具备高级语言的编程技能和数字 逻辑电路的设计基础,就可以在较短的时间内学会VHDL语言。但是VHDL毕竟是一种描述 数字电路的工业标准语言,该种语言的标识符号、数据类型、数据对象以及描述各种电路的 语句形式和程序结构等方面具有特殊的规定,如果一开始就介绍它的语法规定,会使初学者 感到枯燥无味,不得要领。较好的办法是选取几个具有代表性的VHDL程序实例,先介绍整 体的程序结构,再逐步介绍程序中的语法概念。 一个VHDL语言的设计程序描述的是一个电路单元,这个电路单元可以是一个门电路, 或者是一个计数器,也可以是一个CPU。一般情况下,一个完整的VHDL语言程序至少要包含程序包、实体和结构体三个部分。实体给出电路单元的外部输入输出接口信号和引脚信 息,结构体给出了电路单元的内部结构和信号的行为特点, 程序包定义在设计结构体和实体 中将用到的常数、数据类型、子程序和设计好的电路单元等。 一位全加器的逻辑表达式是: S=A⊕B⊕Ci Co=AB+ACi+BCi 全加器的VHDL程序的文件名称是fulladder.VHD,其中VHD是VHDL程序的文件扩展名, 程序如下: LIBRARY IEEE; --IEEE标准库 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fulladder IS -- fulladder是实体名称 PORT( A, B, Ci : IN STD_LOGIC; --定义输入/输出信号 Co, S : OUT STD_LOGIC ); END fulladder; ARCHITECTURE addstr OF fulladder IS --addstr是结构体名 BEGIN S <= A XOR B XOR Ci; Co <= (A AND B) OR (A AND Ci) OR (B AND Ci); END addstr; 从这个例子中可以看出,一段完整的VHDL代码主要由以下几部分组成: 第一部分是程序包,程序包是用VHDL语言编写的共享文件,定义在设计结构体和实体

VHDL语言的基本知识点罗列

VHDL语言的基本知识点罗列 1 VHDL语言的标识符 VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。使用标识符要遵守如下法则: a)标识符由字母(A…Z;a…z)、数字和下划线字符组成。 任何标识符必须以英文字母开头。λ 末字符不能为下划线。λ b)不允许出现两个连续下划线。 标识符中不区分大小写字母。λ VHDL定义的保留子或称关键字,不能用作标识符。λ c) VHDL中的注释由两个连续的短线(--)开始,直到行尾。 以下是非法标识符: -Decoder —起始不能为非英文字母 3DOP —起始不能为数字 Large#number —“#”不能成为标识符的构成符号 Data__bus —不能有双下划线 Copper_ —最后字符不能为下划线 On —关键字不能用作标识符。 注:在AHDL语言中标识符要区分大小写,但在VHDL语言中不区分大小写。所以写程序时,一定要养成良好的书写习惯,应用关键字时用大写,自己定义的标识符用小写。 标识符表示的几种数据对象的详细说明如下: 1) 常数(Constant ) 常数是一个固定的值,主要是为了使设计实体中的常数更容易阅读和修改。常数一被赋值就不能在改变。一般格式: CONSTANT 常数名:数据类型:=表达式; 例:CONSTANT Vcc: REAL: =5.0; —设计实体的电源电压指定 常数所赋得值应与定义的数据类型一致。 常量的使用范围取决于它被定义的位置。程序包中定义的常量具有最大的全局化特性,可以用在调用此程序包的所有设计实体中;设计实体中某一结构体中定义的常量只能用于此结构体;结构体中某一单元定义的常量,如一个进程中,这个常量只能用在这一进程中。 2) 变量(Variable) 变量是一个局部变量,它只能在进程语句、函数语句和进程语句结构中使用。用作局部数据存储。在仿真过程中。它不像信号那样,到了规定的仿真时间才进行赋值,变量的赋值是立即生效的。变量常用在实现某种算法的赋值语句中。 一般格式: VARIABLE 变量名数据类型约束条件:=表达式; 例:VARIABLE x,y:INTEGER; —定义x,y为整数变量 VARIABLE count: INTEGER RANGE0 TO255:=10; —定义计数变量范围 变量的适用范围仅限于定义了变量的进程或子程序中。若将变量用于进程之外,必须该值赋给一个相同的类型的信号,即进程之间传递数据靠的信号。 变量赋值语句的语法格式如下:

VHDL语言的基本要素(大全)

VHDL语言的基本要素 一、数据对象 VHDL语言的主要数据对象有信号,变量,常量。 信号—信号是电路中的物理量,对应于电路的连线、节点;信号说明全局量,用于描述中的构造体(Architecture), 实体(Intity),程序包(package)。 变量—变量是程序运算中的中间量,并不对应电路中的物理量。变量说明局部量,用于进程语句(process), 函数(Function), 过程(procedure)。 常量—常数也不对应电路中的物理量,当常量说明全局量,在构造体(Architecture), 实体(Intity),程序包(package),进程语句(process), 函数(Function), 过程(procedure)中均可使用。数据对象的定义格式: signal 信号名:数据类型,约束条件,表达式 Variable 变量名:数据类型,约束条件:=表达式 Constant 常量名:数据类型,约束条件:=表达式 例如:Variable count:INTEGER RANGE 0 TO 255:=10 Constant Daly:Time:=100ns 信号代入和变量赋值的区别:两者形式不同,操作过程也不相同。变量赋值符“:=”,信号的代入符“<=”。 在变量的赋值语句中,该语句一当执行,其值立即将赋予变量;而信号的代入,其语句执行后不会立即使信号发生代入,在下条语句

执行时,仍使用原来的信号值,如进程语句中的敏感表的信号代入就是如此。 二、数据类型 VHDL语言中的数据类型,一般而言可分为:标量类型和组合类型。在实际使用中,也可分成予定义类型和用户定义类型。VHDL语言是强类型的语言,主要可按如下分类和变换处理。 ①标准数据类型 ⑴整数⑵实数(浮点数)-1.0E+38~+1.0E38 ⑶位bit (0,1) ⑷位矢量⑸布尔量,“假”,“真”⑹字符(ASCⅡ)字符 ⑺时间 ⑻错误等级⑼自然数(大于等于0的整数)⑽字符串 (字符矢量) ②用户定义的数据类型 TYPE 数据类型名{数据类型名} 数据类型定义 ⑴枚举类型⑵整数类型⑶实数类型⑷数组类型 ⑸存取类型⑹文件类型⑺记录类型⑻时间类型③用户定义子类型 SUBTUPE 子类型名IS 数据类型名[范围] 例:SUBTYPE digit is INTEGER RANGE 0 TO 9 ④数据类型转换 数据类型的变换函数通常由“STD_LOGIC_1164”,

03 第三章 VHDL语言基础 习题答案

填空题 1、一个标准的VHDL语言程序由库、实体和结构体组成。 2、个完整的VHDL语言描述是以对一个功能元件的完整描述为基础的 3、实体相当于电路图中一个器件符号。 4、端口说明(PORT)是对设计实体与外部接口的描述,也可以说是设计实体的外部引脚的名称,它为实体与外部环境的动态通信提供通道 5、缓冲(BUFFER)端口描述模式和INOUT双向模式的区别在于只能接受一个驱动源,不允许多重驱动。 6、VHDL语言的结构体的这些子结构互相之间是并行的。 7、将VHDL语言的行为描述语句转换为门级描述由VHDL开发工具自动完成,是VHDL语言综合器的任务。 8、数据流描述也称为RTL(寄存器传输级)描述方式,它类似于布尔方程,它既表示某种行为,又隐含结构信息,主要指非结构化的并行语句描述。 9、在结构描述中,元件间的连接是通过定义的端口界面来实现的。 10、结构描述的缺点是程序表示的是电路的结构连接关系,不能直观的得到设计电路的逻辑功能。 综述题 1、写出实体的结构。 答案: ENTITY 实体名IS [GENERIC(类属表);] [PORT(端口表);] END ENTITY 实体名; 2、在IEEE库中定义了哪四种VHDL语言的端口模式? 答案: ●IN:输入。 ●OUT:输出。 ●INOUT:双向,输入输出。 ●BUFFER:缓冲,其实质也是双向的,但是只能接受一个驱动源。 3、写出结构体的结构。

?2 ? 答案: ARCHITECTURE 结构体名OF 实体名IS [说明语句] BEGIN [功能描述语句] END ARCHITECTURE 结构体名; 4、写出结构体的功能性描述语句的5种子结构。 答案: 块语句、进程语句、子程序调用语句、信号赋值语句和元件例化语句。 5、VHDL有哪四种描述风格? 答案: 行为描述、数据流描述、结构描述以及由前三种组合的混合描述。 实验题 实验【一】编写一个实体 实验目的:熟悉实体的编写方法。 实验任务:在Quartus II中建立一个VHDL语言文件,编写一个实体,该实体要求如下: 实体名:TEST。 输入端口:INPUTA,INPUTB,数据类型为BIT。 输出端口:OUTPUT,数据类型为BIT。 没有类属说明。 答案: ENTITY TEST IS --实体 PORT( INPUTA,INPUTB: in bit; --2个输入引脚,类型BIT OUTPUT: out bit); --1个输出引脚,类型BIT END TEST; 实验【二】编写一个结构体 实验目的:熟悉结构体的编写方法。

VHDL经典教程(精简快速入门版)

3 VHDL语言 VHDL: VHSIC Hardware Description Language. 3.1 VHDL语言基础 3.2 VHDL基本结构 3.3 VHDL语句 3.4 状态机在VHDL中的实现 3.5 常用电路VHDL程序 3.6 VHDL仿真 3.7 VHDL综合

HDL----Hardware Description Language 一种用于描述数字电路的功能或行为的语言。目的是提为电路设计效率,缩短设计周期,减小设计成本,可在芯片制造前进行有效的仿真和错误检测。 优点: HDL设计的电路能获得非常抽象级的描述。如基于RTL(Register Transfer Level)描述的IC,可用于不同的工艺。 HDL设计的电路,在设计的前期,就可以完成电路的功能级的验证。HDL设计的电路类似于计算机编程。 常用的HDL语言:VHDL 、Verilog HDL

?VHDL 是美国国防部在20世纪80年代初为实现其高速集成电路硬件VHSIC 计划提出的描述语言; ?IEEE 从1986年开始致力于VHDL 标准化工作,融合了其它 ASIC 芯片制造商开发的硬件描述语言的优点,于93年形成了标 准版本(IEEE.std_1164)。 ?1995年,我国国家技术监督局推荐VHDL 做为电子设计自动化硬件描述语言的国家标准。 VHDL 概述: VHDL VHSIC Hardwarter Description Language Very High speed integrated circuit VHSIC

VHDL优点: ?覆盖面广,系统硬件描述能力强,是一个多层次的硬件描述语言; ?VHDL语言具有良好的可读性,既可以被计算机接受,也容易被人们所理解; ?VHDL语言可以与工艺无关编程; ?VHDL语言已做为一种IEEE的工业标准,便于使用、交流和推广。 VHDL语言的不足之处: 设计的最终实现取决于针对目标器件的编程器,工具的不同会导致综合质量不一样。

三VHDL语言基础

第三章VHDL语言基础 本章介绍VHDL语言的基础知识,具体容包括: 1、概述 2、VHDL程序的基本结构 库、程序包、实体说明、结构体、配置 3、VHDL的语言要素 语法规则、数据对象、数据类型、运算操作符 4、VHDL的描述语句 并行语句、顺序语句、子程序、属性语句 5、VHDL的描述方式 行为描述方式、寄存器传输级描述方式、结构描述方式 第一节概述 HDL(Hardware DescriptionLanguage):硬件描述语言,描述数字电路和系统的语言。具体来说,用于描述数字系统的结构、行为、功能和接口。 在EDA设计中,设计者利用硬件描述语言,可以描述自己的设计思想,完成设计输入的步骤。设计输入共有三种方法——原理图、文本、波形输入,其中,文本输入方式就是用硬件描述语言跟计算机交流,让计算机读懂设计者的设计。 VHDL的全称是Very-High-Speed Integrated CircuitHardware

DescriptionLanguage,译作甚高速集成电路硬件描述语言,是当前广泛使用的HDL 语言之一,并被IEEE和美国国防部采用为标准的HDL语言。 1、发展历程: 美国国防部1982年开发VHDL语言,在1987年被IEEE采用为标准硬件描述语言。在实际使用过程中,发现1987年版本的缺陷,并于1993年对87版进行了修订。因此,现在有两个版本的VHDL语言。 1)1987年的IEEE 1076(VHDL87) 2)1993年进行了修正(VHDL93) VHDL语言目前已成为,开发设计可编程逻辑器件的重要工具。 2、优点: VHDL语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点: 功能强大,设计方式多样 VHDL具有功能强大的语言结构, 可用简洁明确的代码来描述十分复杂的硬件电路。 VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。 (自上而下:“上”指的是整个数字系统的功能和定义,“下”指的是组成系统的功能部件(子模块)。自上而下的设计,就是根据整个系统的功能,按照一定的原则把系统划分为若干个子模块,然后分别设计实现每个子模块,最后把这些子模块组装成完整的数字系统。)

vhdl语言基础

第1章VHDL语言基础 1.1 概述 硬件描述语言(hardware description language,HDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。目前,利用硬件描述语言可以进行数字电子系统的设计。随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电子系统设计也正在探索中。 国外硬件描述语言种类很多,有的从Pascal发展而来,也有一些从C语言发展而来。有些HDL成为IEEE标准,但大部分是企业标准。VHDL来源于美国军方,其他的硬件描述语言则多来源于民间公司。可谓百家争鸣,百花齐放。这些不同的语言传播到国内,同样也引起了不同的影响。在我国比较有影响的有两种硬件描述语言:VHDL语言和Verilog HDL语言。这两种语言已成为IEEE标准语言。 电子设计自动化(electronic design automation,EDA)技术的理论基础、设计工具、设计器件应是这样的关系:设计师用硬件描述语言HDL描绘出硬件的结构或硬件的行为,再用设计工具将这些描述综合映射成与半导体工艺有关的硬件配置文件,半导体器件FPGA 则是这些硬件配置文件的载体。当这些FPGA器件加载、配置上不同的文件时,这个器件便具有了相应的功能。在这一系列的设计、综合、仿真、验证、配置的过程中,现代电子设计理论和现代电子设计方法贯穿于其中。 以HDL语言表达设计意图,以FPGA作为硬件实现载体,以计算机为设计开发工具,以EDA软件为开发环境的现代电子设计方法日趋成熟。在这里,笔者认为,要振兴我国电子产业,需要各相关专业的人士共同努力。HDL语言的语法语义学研究与半导体工艺相关联的编译映射关系的研究,深亚微米半导体工艺与EDA设计工具的仿真、验证及方法的研究,这需要半导体专家和操作系统专家共同努力,以便能开发出更加先进的EDA工具软件。软件、硬件协同开发缩短了电子设计周期,加速了电子产品更新换代的步伐。毫不夸张地说,EDA工程是电子产业的心脏起搏器,是电子产业飞速发展的原动力。本书从应用的角度向国内广大读者介绍VHDL编程技术,让大家掌握HDL编程,了解FPGA结构,学会使用EDA工具,为集成电路前端设计打下基础。 1.1.1 硬件描述语言的诞生 VHDL语言的英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言。HDL发展的技术源头是:在HDL形成发展之前,已有了许多程序设计语言,如汇编、C、Pascal、Fortran、Prolog等。这些语言运行

04 第四章 VHDL语言的基本要素 习题答案

填空题 1、VHDL语言的文字(Literal)主要包括数值型文字和标识符。 2、在VHDL语言的以数字基数表示的文字中,十进制计数的1582的表示方法是10#158#2。 3、在数位字符串中,B为二进制基数符号;O为八进制基数符号;X为十六进制基数符号。 4、下标用于指示数组型变量或信号的某一个元素。 5、VHDL语言的注释以--来表示。 6、VHDL语言中主要有4类基本的数据对象:常量(CONSTANT)、变量(VARIABLE)、信号(SIGNAL)和文件(FILES)。 7、在对信号进行赋初值时,使用:=表示没有延时,使用<=表示有延时。 8、VHDL是一种强类型语言,要求每一个数据对象必须具有确定的唯一的数据类型,而且只有数据类型相同的量才能互相传递和作用。 9、VHDL语言的数据类型按照数据来源来分,可以分为VHDL语言预定义的标准数据类型和用户自定义的数据类型。 10、位类型实际上是一个二值枚举型数据类型,只有两个可能的取值:0和1,用于表示逻辑0和逻辑1。 11、标准逻辑位类型是在IEEE的STD_LOGIC_1164程序包中定义的。 12、布尔类型和位类型类似,实际上是一个二值枚举型数据类型,有两个可能的取值:TRUE(真)和FALSE(假)。 13、VHDL语言中主要有4类操作符:逻辑操作符(LOGIC OPERATOR)、关系操作符(RELATION OPERATOR)、算术操作符(ARITHMETIC OPERATOR)和重载操作符(OVERLOADING OPERATOR)。 综述题 1、VHDL语言的数字型文字主要有哪几种表达方式,并且举例。 答案: ●整数型文字,如:1,123,518E2,12_345_678。 ●实数型文字,如:12.3,6.5E-2,12_23.45_32。 ●以数字基数表示的文字,如:10#158#2。 ●物理量文字,如:60s,1km。 2、VHDL语言标识符有哪些书写规范?

vhdl基本语法(简略共34页)

VHDL硬件描述语言 1.1 VHDL概述 1.1.1 VHDL的特点 VHDL语言作为一种标准的硬件描述语言,具有结构严谨、描述能力强的特点,由于 VHDL语言来源于C、Fortran等计算机高级语言,在VHDL语言中保留了部分高级语言的原 语句,如if语句、子程序和函数等,便于阅读和应用。具体特点如下: 1. 支持从系统级到门级电路的描述,既支持自底向上(bottom-up)的设计也支持从顶向下 (top-down)的设计,同时也支持结构、行为和数据流三种形式的混合描述。 2. VHDL的设计单元的基本组成部分是实体(entity)和结构体(architecture),实体包含设 计系统单元的输入和输出端口信息,结构体描述设计单元的组成和行为,便于各模块之间数 据传送。利用单元(componet)、块(block)、过程(procure)和函数(function)等语句, 用结构化层次化的描述方法,使复杂电路的设计更加简便。采用包的概念,便于标准设计文 档资料的保存和广泛使用。 3. VHDL语言有常数、信号和变量三种数据对象,每一个数据对象都要指定数据类型,VHDL 的数据类型丰富,有数值数据类型和逻辑数据类型,有位型和位向量型。既支持预定义的数 据类型,又支持自定义的数据类型,其定义的数据类型具有明确的物理意义,VHDL是强类 型语言。 4. 数字系统有组合电路和时序电路,时序电路又分为同步和异步,电路的动作行为有并行 和串行动作,VHDL语言常用语句分为并行语句和顺序语句,完全能够描述复杂的电路结构 和行为状态。 1.1.2 VHDL语言的基本结构 VHDL语言是数字电路的硬件描述语言,在语句结构上吸取了Fortran和C等计算机高级 语言的语句,如IF语句、循环语句、函数和子程序等,只要具备高级语言的编程技能和数字 逻辑电路的设计基础,就可以在较短的时间学会VHDL语言。但是VHDL毕竟是一种描述 数字电路的工业标准语言,该种语言的标识符号、数据类型、数据对象以及描述各种电路的 语句形式和程序结构等方面具有特殊的规定,如果一开始就介绍它的语法规定,会使初学者 感到枯燥无味,不得要领。较好的办法是选取几个具有代表性的VHDL程序实例,先介绍整 体的程序结构,再逐步介绍程序中的语法概念。 一个VHDL语言的设计程序描述的是一个电路单元,这个电路单元可以是一个门电路, 或者是一个计数器,也可以是一个CPU。一般情况下,一个完整的VHDL语言程序至少要包含程序包、实体和结构体三个部分。实体给出电路单元的外部输入输出接口信号和引脚信 息,结构体给出了电路单元的部结构和信号的行为特点, 程序包定义在设计结构体和实体 中将用到的常数、数据类型、子程序和设计好的电路单元等。 一位全加器的逻辑表达式是: S=A⊕B⊕Ci Co=AB+ACi+BCi 全加器的VHDL程序的文件名称是fulladder.VHD,其中VHD是VHDL程序的文件扩展名, 程序如下: LIBRARY IEEE; --IEEE标准库 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fulladder IS -- fulladder是实体名称 PORT( A, B, Ci : IN STD_LOGIC; --定义输入/输出信号 Co, S : OUT STD_LOGIC ); END fulladder; ARCHITECTURE addstr OF fulladder IS --addstr是结构体名 BEGIN S <= A XOR B XOR Ci; Co <= (A AND B) OR (A AND Ci) OR (B AND Ci); END addstr; 从这个例子中可以看出,一段完整的VHDL代码主要由以下几部分组成:

VHDL语言入门到精通

可编程逻辑器件 与VHDL程序设计技术 计划学时课堂教学36 实验教学18 教学目的 了解一类器件:FPGA/CPLD; 掌握一门设计语言:VHDL; 熟悉一种设计工具:Quartus II。 考试笔试50%,实验50%。 教材:以课件为主 第一章概述 一、设计自动化(Design Automation)数字系统:计算机,通信系统,控制电路,集成电路,数码设备,掌上电脑… 超大规模集成电路:Very Large Scale Integrated Circuit(VLSI) 计算机辅助设计:Computer Aided Design(CAD) 电子设计自动化(E lectronic D esign A utomation,EDA,电子设计自动化)(模拟电路+数字系统) 电路组成:分离元件→大、中、小规模IC→超大规模集成电路 设计方法:人工设计→CAD→EDA 二、EDA发展历史与现状 50年代──萌芽 用电子管计算机帮助设计晶体管计算机; 逻辑图的保存、检查、修改。 60年代──简单的单独的CAD软件 印刷电路板PCB+集成电路IC出现+计算机应用的推广。 PCB布线,电路模拟,电路分析,逻辑模拟。 70年代──第一代:CAD设备 小型专用计算机+CAD软件 逻辑模拟,逻辑优化,版图图形编辑+设计规则检查。 (Tango布线软件) 80年代──第二代:ICCAD软件系统 初步覆盖了集成电路自动设计全过程(逻辑图—产品); 主要针对PAL、GAL等器件; 逻辑图输入、逻辑模拟、逻辑综合、逻辑电路测试码生成、版图和PCB的自动布局布线。 Mentor,Cadence,ViewLogic,熊猫系统 90年代──第三代:覆盖所有级别的EDA开放式集成系统 高层次设计自动化,形式验证; 标准硬件描述语言VHDL; 时延、功耗驱动的高层次综合与版图自动布局布线; Synopsys,Mentor,Cadence… 2000年代──以SOC为中心 System on a chip; 初步实现了“概念驱动工程”的思想。 三、数字系统与VLSI

相关主题
相关文档 最新文档