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

如何创建您的第一个 VHDL 程序:Hello World!

在学习一门新的编程语言时,我总是喜欢从学习如何打印开始。当你掌握输出“Hello World!”时,你就知道你已经让环境工作了。它还向您展示了该语言的基本框架,即产生任何输出所需的最少代码。

你可能会想:但 VHDL 是一种硬件描述语言,它怎么能输出任何文本呢?你需要一个连接到 FPGA 或其他东西的屏幕,以及介于两者之间的各种逻辑,这一点都不简单。虽然这一切都是真的,但让我们暂时忘掉 FPGA 和 ASIC,把注意力集中在 VHDL 语言上。

这篇博文是基本 VHDL 教程系列的一部分。

VHDL可以被认为是一种并行编程语言,因此我们可以使用这种程序员的方法来学习它。由于我们使用该语言来描述数字电路,因此我们可以在计算机上运行它的唯一方法是使用 模拟器 ,而且模拟器绝对可以输出“Hello World!”到屏幕上。

如何免费安装 VHDL 模拟器和编辑器

运动

本视频教程将向您展示如何创建您的第一个 VHDL 程序:

我们创建的最终代码:

entity T01_HelloWorldTb is
end entity;

architecture sim of T01_HelloWorldTb is
begin

    process is
    begin

        report "Hello World!";
        wait;

    end process;

end architecture;

当我们在 ModelSim 中按下运行按钮时,模拟器控制台的输出:

VSIM 2> run
# ** Note: Hello World!
#    Time: 0 ns  Iteration: 0  Instance: /t01_helloworld

分析

在前两行,我们声明了 entity .模块的实体声明其输入和输出。为了能够在模拟器中运行模块,它不能有任何输入或输出。因此,我们的模块除了一个空的实体声明之外没有其他任何东西。

接下来,我们声明了架构 的模块。虽然实体是模块与外部世界的接口,但架构是其内部实现。一个模块可能有几种架构,可以与同一个实体一起使用。在这一点上我不会太担心这些事情,因为它们是高级 VHDL 功能。

在架构内部,我们声明了一个进程 .目前,我们可以将进程视为程序中的一个线程,其中的事情是按顺序发生的。

在这个过程中,我们打印“Hello World!”使用 report 关键词。在下一行,有一个 wait; .当模拟器达到这条线时,不会再发生任何事情了。该过程将永远在这里等待。

当我们在 ModelSim 中模拟这个设计时,我们可以看到“Hello World!”被打印到控制台输出。在那之后,什么都没有发生。

外卖

转到下一个教程 »


VHDL

  1. 教程:您的第一个 FPGA 程序:LED 闪光灯
  2. C# Hello World - 你的第一个 C# 程序
  3. Java Hello World 程序
  4. 如何在 VHDL 中创建字符串列表
  5. 如何为 VHDL 代码锁定模块创建 Tcl 驱动的测试平台
  6. 如何在 VHDL 中创建 PWM 控制器
  7. 如何在 VHDL 中创建环形缓冲区 FIFO
  8. 如何在 VHDL 中创建链接列表
  9. 如何在 VHDL 中的进程中使用过程
  10. 如何在 VHDL 中使用函数
  11. 如何在 VHDL 中创建有限状态机
  12. 原型如何改进您的制造过程