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

如何在 VHDL 中使用循环和退出

在上一个教程中,我们学习了如何使用 wait for 来延迟时间 陈述。我们还了解了流程循环。我们现在知道,如果我们让它,进程“线程”将永远在进程中循环。

但是,如果我们只想在流程开始时做一次事情怎么办?然后在最后循环一些其他代码? VHDL 中最简单的循环可以使用 loop 创建 声明。

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

简单循环的语法是:

loop
end loop;

这样的循环将无限期地继续,或者直到 exit; 遇到。 exit 语句可用于跳出任何循环。

运动

这个视频教程教你如何创建一个简单的循环,以及如何打破它:

我们在本教程中创建的最终代码:

entity T03_LoopTb is
end entity;

architecture sim of T03_LoopTb is
begin

    process is
    begin
 
        report "Hello!";
        
        loop
            report "Peekaboo!";
            exit;
        end loop;
        
        report "Goodbye!";
        wait;
        
    end process;

end architecture;

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

VSIM 2> run
# ** Note: Hello!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb
# ** Note: Peekaboo!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb
# ** Note: Goodbye!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb

分析

在模拟器中运行最终代码时,我们看到第一个“Hello!”打印到 ModelSim 控制台。然后,“躲猫猫!” loop; 之间 和 end loop; 被打印出来了。在下一行,程序点击了 exit; 语句,导致程序跳出循环。最后,“再见!”被打印出来了。在此之后没有任何事情发生,因为程序在 wait; 上永远暂停 声明。

我们可以从打印输出的时间戳中看到,一切都发生在 0 ns 模拟时间。正如我们从上一个教程中了解到的,除了 wait 之外的所有内容 语句消耗零时间。

外卖

转到下一个教程 »


VHDL

  1. 如何在 VHDL 中的进程中使用过程
  2. 如何在 VHDL 中使用不纯函数
  3. 如何在 VHDL 中使用函数
  4. 如何在 VHDL 中使用过程
  5. 如何在 VHDL 中创建计时器
  6. 如何在 VHDL 中使用常量和通用映射
  7. 如何在 VHDL 中使用端口映射实例化
  8. 如何在 VHDL 中使用 Case-When 语句
  9. 如何在 VHDL 中使用有符号和无符号
  10. 如何免费安装 VHDL 模拟器和编辑器
  11. PIC18 微控制器:它是什么以及如何使用它
  12. 什么是参考指示符以及我们如何在装配中使用它?