首页 > 解决方案 > VHDL中顺序语句的速度是多少?

问题描述

在我的一本关于 VHDL 的教科书中,它指出进程语句中的代码将按顺序执行。这意味着它将一个接一个地执行。与并发语句相比。但是,我想知道代码将以何种速度在顺序语句中执行。在编程中,这个速度是由处理器的时钟速度决定的。那么顺序语句的速度决定因素在哪里呢?

标签: vhdlsequential

解决方案


在编程中,跟踪执行速度是有意义的,因为从根本上说,程序是计算机完成的一组指令。

VHDL,作为一种硬件描述语言,完全是另外一回事。您用 VHDL 编写的代码不提供完成现有硬件的指令。相反,它(不出所料)描述了硬件。反过来,您在代码中定义的逻辑定义了在数字电路中实现的逻辑,该数字电路本身将根据设计中的激励进行操作。

这就是为什么参考您的其他问题,信号不会立即更新的原因。信号分配只是对在硬件中实现的关系的描述。为了使这种关系变成一个执行过程,它需要某种物理刺激 - 因此每个过程的敏感性列表,对哪些信号作为对已实现逻辑的哪些部分的刺激的描述。

因此,要解决您的问题:顺序语句不会像编程命令那样“执行”。相反,它描述了硬件将在给定运行过程中执行的逻辑操作(例如,在时钟设计中,这可能是每个时钟周期)。理想情况下,发生的“快”多快取决于您在代码中的描述以及硬件速度;根据您的设计,您可能会尝试在太短的时间内完成太多工作(例如,同样是一个时钟周期),并且会遇到时序限制。

但需要注意的重要一点是,这不是代码的执行,而是信号/位通过代码描述的物理电路的移动。您用 VHDL 定义的是硬件,而不是指令。要考虑的速度是硬件和设计的运行速度,而不是理解为一组指令的代码的完成度。


推荐阅读