【问题标题】:What is the speed of a sequential statement in VHDL?VHDL中顺序语句的速度是多少?
【发布时间】:2021-07-23 09:51:46
【问题描述】:

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

【问题讨论】:

    标签: vhdl sequential


    【解决方案1】:

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

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

    这就是为什么引用your other question,信号不会立即更新。信号分配只是对在硬件中实现的关系的描述。为了让这种关系变成一个执行过程,它需要某种物理刺激 - 因此每个过程的敏感度列表,描述哪些信号充当了对已实现逻辑的哪些部分的刺激。

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

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

    【讨论】:

      【解决方案2】:

      Vhdl 没有速度。假设您指的是使用综合工具编译后达到的 fmax,则最终速度将取决于包括目标技术和您的设计在内的几个因素,这包括您的代码以及您选择的任何约束和策略。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-31
        • 2020-06-24
        相关资源
        最近更新 更多