Javatpoint标志
Javatpoint标志

硬件描述语言(VHDL)的教程

VHDL教程提供了VHDL的基本和高级概念。我们的VHDL教程是为初学者和专业人士设计的。


什么是HDL?

HDL代表硬件描述语言.这是一个编程语言那是用来描述、模拟、而且创建硬件,如数字电路(ICS)。HDL主要用于发现设计中的故障,然后在硬件上实现。

HDLs的主要优点是它提供了灵活的建模能力,并且可以表示大型复杂的设计(>107盖茨)。

今天,市场上有许多可用的hdl,但是硬件描述语言(VHDL)而且Verilog是最流行的hdl。


什么是VHDL?

VHDL是Very High-Speed Integration Circuit HDL(硬件描述语言)的缩写。它是IEEE(电气和电子工程师协会)标准硬件描述语言,用于描述和模拟复杂数字电路的行为。

VHDL最流行的例子是奇偶校验发生器,脉冲发生器,优先编码器,行为模型16个字,8位内存等。

VHDL支持以下特性:

  • 设计方法及其特点。
  • 顺序的和并发的活动。
  • 设计交流
  • 标准化
  • 文档
  • 可读性
  • 大规模的设计
  • 广泛的描述能力

什么是Verilog?

Verilog也是一种HDL(硬件描述语言),用于描述电子电路和系统。它用于硬件仿真和综合。

Verilog最流行的例子是网络交换机、微处理器、内存、简单触发器等。


VHDL和Verilog的区别

硬件描述语言(VHDL) Verilog
它允许用户定义数据类型。 它不允许用户定义数据类型。
它支持多维数组。 不支持多维数组。
它允许并发过程调用。 它不允许并发调用。
存在一个mod操作符。 不存在mod操作符。
一元约简算子不存在。 一元约简算子存在。
它更难学。 它很容易学。

VHDL的历史

VHDL由美国国防部(DOD)于1980年开发。

  • 1980:国防部希望电路设计能够自行记录。
  • 1983:VHDL的开发始于IBM、Inter-metrics和Texas Instruments的共同努力。
  • 1985 (VHDL版本7.2):政府合同下的语言最终版本已经发布。
  • 1987:DOD允许用于商业用途,VHDL成为IEEE标准1076-1987。
  • 1993:VHDL被重新标准化以增强语言
  • 1996:与合成工具一起使用的VHDL包,并成为IEEE 1076标准的一部分。
  • 1999:模拟混合信号扩展(VHDL-AMS)
  • 2008:IEEE标准1076-2008(新特性)发布。

为什么硬件描述语言(VHDL) ?

VHDL的用途如下:

  • 硬件描述
  • 作为一种建模语言
  • 用于硬件的仿真
  • 用于系统架构的早期性能评估
  • 用于硬件的合成

VHDL的优点

VHDL的优点如下:

  • 它支持各种设计方法,如自顶向下方法和自底向上方法。
  • 它提供了灵活的设计语言。
  • 它允许更好的设计管理。
  • 它允许详细的实现。
  • 它支持多级抽象。
  • 它提供了与较低级别设计的紧密耦合。
  • 它支持所有CAD工具。
  • 它强烈支持代码可重用性和代码共享。

VHDL的缺点

VHDL的缺点如下:

  • 它需要特定的语言结构和语法知识。
  • 对设计进行可视化和故障排除更加困难。
  • 一些VHDL程序不能合成。
  • VHDL比较难学。

VHDL的基本元素

VHDL有以下三个基本元素:

1.实体

实体用于指定电路的输入和输出端口。一个实体通常有一个或多个端口,可以是输入(in)、输出(out)、输入-输出(inout)或缓冲区。

一个实体还可以包括一组通用值,用于声明电路的属性。

实体声明

您可以使用以下语法声明一个实体:

  • 简单的语法

例子:

  • 使用通用的

如果一个实体是通用的,那么它必须在端口之前声明。泛型没有模式,所以它只能将信息传递到实体中。

语法:

例子:

端口名称书写规则:

—端口名称由字母、数字和下划线组成。
-它总是以字母开头。
—端口名称不区分大小写。

港口方式

输入端口
输出口
inout双向接口
buffer缓冲输出端口

2.体系结构

架构是设计的实际描述,用于描述电路如何运行。它可以包含并发语句和顺序语句。

建筑宣言

架构可以使用以下语法声明:

例子:

3.配置

配置定义了如何将设计层次结构链接在一起。它还用于将体系结构与实体相关联。

配置声明

例子:


VHDL中建模样式的类型

在VHDL中有4种类型的建模风格:

1.数据流建模(设计方程)

数据流建模可以基于布尔表达式进行描述。它显示了数据如何从输入流向输出。它工作于并发执行。

2.行为建模(解释行为)

行为建模用于按顺序执行语句。它显示了系统如何根据当前语句执行。

行为建模可能包含流程语句、顺序语句、信号分配语句和等待语句。

3.结构建模(子模块连接)

结构建模用于指定电路的功能和结构。

结构建模包含信号声明、组件实例和组件实例中的端口映射。


硬件描述语言(VHDL)对象

VHDL使用以下三种类型的对象:

1.常量

常量是一个对象,它只能保存一个在整个代码中不能更改的值。

例子:常量number_of_bytes integer:=8;

2.变量

变量还保存给定类型的单个值。在模拟过程中,可以使用变量赋值算子来改变变量的值。

变量用在流程和子程序中。

变量由赋值操作符":="赋值。

例子:

变量索引:整数:=0;

3.信号

信号可以在体系结构中声明,并在体系结构中的任何地方使用。信号由赋值运算符赋值。< =".

例子:

信号sig1: std_logic;
Sig1 <= '1'


VHDL中的数据类型

数据类型是存储数据的抽象表示。

在VHDL -中有以下数据类型

1.标量类型

  • 整数
    整数数据类型是正整数和负整数的集合。
  • 浮点
    浮点数据类型是包含小数点的正数和负数的集合。
  • 枚举
    枚举数据类型用于增加代码的可读性。
  • 物理
    物理数据类型根据基本单位、基本单位倍数和指定范围描述对象。

2.复合类型

  • 数组
    数组用于在一个标识符下保存多个相同类型的值
  • 记录
    记录用于指定一个或多个元素,每个元素有不同的名称和不同的类型。

硬件描述语言(VHDL)操作符

VHDL操作符用于构造表达式。

在VHDL中有以下类型的操作符:

1.逻辑运算符

逻辑运算符用于控制程序流。当逻辑运算符与信号或变量结合时,就用它来创建组合逻辑。

VHDL支持以下逻辑操作符:

  • 而且
  • 与非
  • 也不
  • xor
  • xnor

2.关系运算符

在VHDL中,关系操作符用于比较相同数据类型的两个操作数,接收到的结果总是布尔类型。

VHDL支持以下关系操作符:

  • = =
  • /=不等于
  • <小于
  • >大于
  • <=小于等于
  • >=大于等于

3.算术运算符

算术运算符用于进行算术运算。这些操作符是数值类型,例如整数而且真正的

VHDL使用以下算术运算符:

  • +添加
  • - - - - - -减法
  • *乘法
  • /部门
  • 与连接
  • 国防部模量
  • rem剩余
  • 绝对值
  • * *取幂

4.运营商转变

在VHDL中,移位操作符用于对数据执行位操作,方法是将其第一个操作数的位向右或向左移动和旋转。

VHDL支持以下杂项操作符:

  • 逻辑向左平移
  • Srl逻辑右移
  • Sla左移算法
  • Sra移位算术正确
  • 左旋
  • 右转

注意:运算符按其优先级计算。(即从高到低)

最高 优先级顺序 最低
算术运算符 移位运算符关系运算符 逻辑运算符

优先级相等的运算符从左到右求值。


安装Xilinx ISE工具

安装Xilinx ISE Tool -的操作步骤如下

步骤1:点击下面的链接下载Xilinx ISE工具。

https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools/v2012_4---14_7.html

步骤2:现在转到ISE设计套件- 14.7完整的产品安装并选择Windows 7/XP服务器的完整安装程序(TAR/GRIP - 6.18 GB)如下图截图所示。

安装Xilinx ISE Tool

步骤3:一旦你点击“windows 7/XP/Server的完整安装程序,你会看到一个Xilinx标志在页面中出现。如果您没有Xilinx的帐户,请单击创建您的帐户

安装Xilinx ISE Tool

步骤4:在注册页面填写信息,然后点击创建账户

安装Xilinx ISE Tool

步骤5:在点击创建账户,显示如下窗口。

安装Xilinx ISE Tool

步骤6:现在,您将在已注册的电子邮件id上收到一封包含激活链接的邮件。点击链接激活您的帐户。

第七步:一旦你点击链接,a登录激活帐户窗口出现在窗口中,在其中输入您的用户名而且密码,然后点击登录

安装Xilinx ISE Tool

第八步:现在点击下面的链接的名字而且地址验证。

https://www.xilinx.com/member/forms/download/xef.html?filename=Xilinx_ISE_DS_Win_14.7_1015_1.tar

步骤9:填妥验证表单,按下一个

安装Xilinx ISE Tool

第十步:现在,你可以看到Xilinx_ISE焦油文件开始下载。

安装Xilinx ISE Tool

步骤11:双击下载的文件并解压该文件以运行xsetup.exe。

步骤12:运行应用程序后,执行以下操作欢迎窗口出现在屏幕上。

安装Xilinx ISE Tool

步骤13:本人接受及同意上述条款及细则在上面打勾本人亦接受及同意以下条款及条件然后点击Next。

安装Xilinx ISE Tool
安装Xilinx ISE Tool

步骤14:现在,选择列出的要安装的产品。对于VHDL,选择伊势WebPACK,这是该软件的免费版本。选择ISE WebPACK后,单击下一个

安装Xilinx ISE Tool

步骤十五:出现“安装选项”窗口。在此窗口中,单击下一个

安装Xilinx ISE Tool

步骤16:选择目标目录,然后点击下一个

安装Xilinx ISE Tool

步骤17:你可以看到安装总结在下面的截图中。点击安装来安装赛灵思

安装Xilinx ISE Tool

步骤18:您可以看到安装正在进行中。

安装Xilinx ISE Tool

步骤19:安装完成后,单击完成

安装Xilinx ISE Tool

步骤20:修复项目导航器、iMPACT和许可证管理器

修复项目导航器、iMPACT和许可证管理器的步骤如下。

  1. C: \ Xilinx ISE \ 14.7 \ ISE_DS \ \ lib \ nt64将libportable .dll重命名为lib.Portability.dll.orig
  2. 复制粘贴libPortabilityNOSH.dll,并将其重命名为libPortability.dll
  3. 复制libPortabilityNOSH.dll然后粘贴到C: \ Xilinx \ 14.7 \ \ lib \ nt64 ISE_DS \常见
  4. C: \ Xilinx \ 14.7 \ \ lib \ nt64 ISE_DS \常见重命名libPortability.dlllibPortability.dll.orig
  5. C: \ Xilinx \ 14.7 \ \ lib \ nt64 ISE_DS \常见重命名libPortabilityNOSH.dlllibPortability.dll

完成上述步骤后,可以关闭该目录。

步骤21:现在,您可以看到IDE Design Suite出现在屏幕上。双击IDE Design Suite,可以看到弹出如下:

安装Xilinx ISE Tool

22步:现在,出现以下窗口,弹出窗口,单击弹出窗口中的OK。

安装Xilinx ISE Tool

23步:当您单击许可证时,将打开以下窗口,其中选择领取我已购买的牌照然后点击下一个

安装Xilinx ISE Tool

24步:要连接到默认浏览器,请单击现在连接

安装Xilinx ISE Tool

25步:它会打开一个新的XILINX页面在浏览中。在此页上,输入用户名而且密码然后点击登录

安装Xilinx ISE Tool

26步:单击Sign In后,将出现以下窗口。

安装Xilinx ISE Tool

27步:选择文件后,将在您注册的电子邮件id中收到一封电子邮件,该电子邮件id由Xilinx.lic文件。您需要下载这个文件。

点击加载许可证上传下载的许可证文件,然后点击关闭。

安装Xilinx ISE Tool

28步:文件上传后,弹出消息安装牌照成功,点击弹出的确定,然后点击关闭。

下面的截图显示许可证已经上传。

安装Xilinx ISE Tool

29步:现在,您可以在Xilinx工具中创建项目。

安装Xilinx ISE Tool

使用Xilinx IDE工具在VHDL中创建一个项目

在Xilinx -中创建项目的步骤如下

步骤1:创建一个新项目

要创建新项目,请选择File ->新建项目.它将在桌面上打开一个新的项目窗口。

使用Xilinx IDE工具在VHDL中创建一个项目

在新项目窗口中,给出项目名称你想要创造的指定位置(目录路径)您想要保存项目的位置,然后单击下一个

使用Xilinx IDE工具在VHDL中创建一个项目

注意:确保选择的顶级源类型是HDL,而不是Schematic、EDIF或其他东西。

在点击下一个按钮,将出现以下窗口,其中显示项目属性。根据您的要求填写属性,然后单击下一个

使用Xilinx IDE工具在VHDL中创建一个项目

在点击下一个按钮时,将出现以下窗口,其中显示项目总结.如果项目摘要符合您的要求,则单击完成.否则,单击回来并按您的要求填写财产。

使用Xilinx IDE工具在VHDL中创建一个项目

步骤2:创建VHDL源

要在VHDL中添加VHDL源,单击新源,或单击项目向导中的项目->新来源

使用Xilinx IDE工具在VHDL中创建一个项目

键入文件名,指定位置,然后选择硬件描述语言(VHDL)模块作为源类型。确保添加到项目复选框,然后单击下一个

使用Xilinx IDE工具在VHDL中创建一个项目

步骤3:为VHDL源分配端口

要设计半加法器,您可以指定一个端口名称作为A b求和,而且cout.在一个而且b被视为输入端口,因此从下拉菜单中选择in。总和而且cout被视为输出端口,所以选择从下拉菜单中。

使用Xilinx IDE工具在VHDL中创建一个项目

下面的截图显示了项目的摘要。

使用Xilinx IDE工具在VHDL中创建一个项目

步骤4:输入并编辑VHDL代码

下面的截图显示了自动生成的Half_Adder代码。

使用Xilinx IDE工具在VHDL中创建一个项目

要设计Half_Adder,在工作区域输入以下代码。

使用Xilinx IDE工具在VHDL中创建一个项目

第五步:合成代码

完成源文件后,需要检查设计的语法。要检查语法,单击synthesis - xst流程以展开层次结构。现在,双击检查语法

您可以看到ISE编译进程已经启动。如果ISE进程成功完成,将出现一个绿色复选标记。否则,将出现一个红色的X,这表明存在错误和流程失败。

使用Xilinx IDE工具在VHDL中创建一个项目

要查看半加法器的基本设计,双击查看RTL原理图

使用Xilinx IDE工具在VHDL中创建一个项目

现在,您将看到以下弹出窗口,其中单击好吧

使用Xilinx IDE工具在VHDL中创建一个项目

在创建RTL Schematic中,从可用的列表,然后点击添加按钮,将所选项目移动到选中的元素然后点击创建原理图

使用Xilinx IDE工具在VHDL中创建一个项目

现在,你可以在屏幕上看到半个Adder的外部设计。

使用Xilinx IDE工具在VHDL中创建一个项目

当您双击上面的矩形时,您可以看到使用逻辑门的内部图。

使用Xilinx IDE工具在VHDL中创建一个项目
使用Xilinx IDE工具在VHDL中创建一个项目

步骤6:模拟行为模型(ISE模拟器)

要检查行为模型,选择Implementation-> Half_Adder- behavioral (Half_Adder.vhd)并双击模拟行为模型。

使用Xilinx IDE工具在VHDL中创建一个项目

如果模拟成功,将打开以下窗口。

使用Xilinx IDE工具在VHDL中创建一个项目

要分配值,右键单击给定的值(U),然后选择力常数。考虑下面的图像

使用Xilinx IDE工具在VHDL中创建一个项目

将出现以下弹出窗口,您可以在其中分配a的值,然后单击Apply和OK。

使用Xilinx IDE工具在VHDL中创建一个项目

案例1:如果输入为:

A = 0
B = 0

输出:

Sum = 0
Cout = 0

使用Xilinx IDE工具在VHDL中创建一个项目

例2:如果输入是-

A = 0
B = 1

输出:

Sum = 1
Cout = 0

使用Xilinx IDE工具在VHDL中创建一个项目

案例3:输入是-

A = 1
B = 0

输出:

Sum = 1
Cout = 0

使用Xilinx IDE工具在VHDL中创建一个项目

案例4:输入是-

A = 1
B = 1

输出:

Sum = 0
Cout = 1

使用Xilinx IDE工具在VHDL中创建一个项目

VHDL vs. C语言

硬件描述语言(VHDL) C语言
VHDL是一种硬件描述语言。 C语言是高级语言和汇编语言的混合体。
VHDL是可合成的。 C是不可合成的。
VHDL处理顺序指令和并发指令。 C只处理顺序指令。

先决条件

在学习VHDL之前,您必须具备电子电路的基本知识。

观众

我们的VHDL教程旨在帮助初学者和专业人士。

问题

我们向您保证,在本VHDL教程中不会发现任何问题。但如果有任何错误或错误,请将错误贴在联系表格上。





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map