VHDL中顺序语句的速度是多少?



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

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

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

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

那么,回到你的问题:顺序语句不会"执行"。就像编程命令一样。相反,它描述了硬件在给定的运行过程中将执行的逻辑操作(例如,在时钟设计中,这可能是每个时钟周期)。如何"fast"理想情况下,这是由你的代码描述和硬件的速度共同决定的;根据您的设计,您可能会尝试在太短的时间内完成太多的任务(例如,再一次,一个时钟周期),并遇到时间限制。

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

Vhdl没有速度。假设您指的是使用合成工具编译后获得的fmax,那么最终的速度将由几个因素决定,包括目标技术和您的设计,其中包括您的代码以及您选择的任何约束和策略。

最新更新