亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> VHDL

掌握VHDL:FPGA和ASIC设计综合介绍

教程 - VHDL 简介

VHDL 是一个可怕的缩写。它代表V HSIC H 硬件D 描述L 语言。首字母缩略词里面有首字母缩略词,太棒了! VHSIC 代表 V 非常H 哎呀S 撒尿I 集成C 电路。因此,VHDL扩展为V 超高速集成电路H 硬件D 描述L 语言。唷,这真是太拗口了。 VHDL 是教育和企业用来设计 FPGA 和 ASIC 的两种语言之一。如果您不熟悉这些迷人的电路,您可能首先会从 FPGA 和 ASIC 简介中受益。 VHDL 和 Verilog 是数字设计人员用来描述电路的两种语言,它们在设计上与 C 和 Java 等传统软件语言不同。

对于下面的示例,我们将创建一个 VHDL 文件,描述 与门。作为复习,简单的与门有两个输入和一个输出。仅当两个输入都等于 1 时,输出才等于 1。下面是我们将用 VHDL 描述的与门的图片。

与门

让我们开始吧! VHDL 的基本单位称为信号 。现在我们假设信号可以是 0 或 1(实际上还有其他可能性,但我们会讨论这一点)。以下是一些基本的 VHDL 逻辑:

<前>07

第一行代码定义了一个 std_logic 类型的信号,称为 and_gate。 Std_logic 是最常用于定义信号的类型,但您还需要了解其他类型。此代码将生成一个具有单个输出 (and_gate) 和 2 个输入(input_1 和 input_2)的 AND 门。关键字“and”在VHDL中是保留的。 <=运算符称为赋值运算符。当您口头解析上面的代码时,您可以大声说:“信号 and_gate GETS input_1 and-ed with input_2。”

现在您可能会问自己 input_1 和 input_2 来自哪里。顾名思义,它们是该文件的输入,因此您需要告诉工具有关它们的信息。文件的输入和输出在实体中定义 。实体包含定义文件的所有输入和输出的端口。让我们创建一个简单的实体:

<前>17

这是你的基本实体。它定义了一个名为 example_and 的实体和 3 个信号、2 个输入和 1 个输出,所有这些都是 std_logic 类型。需要另一个 VHDL 关键字来完成此操作,即架构 。架构用于描述特定实体的功能。将其视为一篇论文:实体是目录,架构是内容。让我们为这个实体创建一个架构:

<前>24

上面的代码定义了实体example_and的一个名为rtl的架构。架构使用的所有信号都必须在“is”和“begin”关键字之间定义。实际的架构逻辑位于“begin”和“end”关键字之间。您即将完成此文件。您需要告诉工具的最后一件事是使用哪个库。库定义某些关键字在文件中的行为方式。现在,请想当然地认为您需要在文件顶部添加以下两行:

<前>38

恭喜!您已经创建了第一个 VHDL 文件。您可以在此处查看已完成的文件:

<前>46

看起来您是否必须编写大量代码才能创建一个愚蠢的“与”门?首先,大门并不愚蠢。其次,你是对的; VHDL 是一种非常冗长的语言。要习惯这样一个事实:在软件中做一些非常简单的事情在 HDL(例如 Verilog 或 VHDL)中会花费更长的时间。但只要请一些软件人员尝试在 VGA 显示器上生成显示康威生命游戏的图像,就会看到他们惊讶地头晕!顺便说一下,该视频是使用 VHDL 和 FPGA 创建的。您很快就能做到这一点!

接下来我们将讨论另一个基本的VHDL关键字:process。


VHDL

  1. 如何在 VHDL 测试平台中停止仿真
  2. 什么是 VHDL?
  3. 如何在 VHDL 中创建有限状态机
  4. 使用来自 FPGA 引脚的 PWM 的 RC 伺服控制器
  5. 如何将 Quartus Prime IP 库链接到 VUnit
  6. 信号与 VHDL 中的变量有何不同
  7. 如何使用最常见的 VHDL 类型:std_logic
  8. 使用 TEXTIO 读取 BMP 文件位图图像
  9. 适用于 Pmod SSD 的 VHDL 双 7 段显示控制器 – 轻松 FPGA 集成
  10. FPGA 课程——您需要了解的关于点阵 VHDL 课程的一切
  11. 如何在 VHDL 中创建字符串列表
  12. 如何在 VHDL 中使用循环和退出