亿迅智能制造网
工业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 isend entity;T01_HelloWorldTb 的架构模拟 isbegin process is begin report "Hello World!";等待;结束流程;结束架构;

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

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

分析

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

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

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

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

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

外卖

转到下一个教程»


VHDL

  1. 如何在 VHDL 中创建链表
  2. 如何使用 TEXTIO 从文件初始化 RAM
  3. 如何在 VHDL 中创建有限状态机
  4. 如何创建您的第一个 VHDL 程序:Hello World!
  5. 如何在 VHDL 中使用常量和通用映射
  6. 如何在 VHDL 中创建 PWM 控制器