VHDL-process()何时第一次运行?

VHDL-process()何时第一次运行?,process,modeling,vhdl,Process,Modeling,Vhdl,考虑:过程(a) 根据文本,我有: 此时首先输入一个流程 模拟的时间,此时 执行,直到它暂停自己到期 等待语句或敏感度 名单 即使在敏感度列表中没有任何事件,流程也必须运行一次,这一推断是否正确?另外,如果一个体系结构中有多个进程,它们是否都执行一次呢?AFAIK,敏感性列表(例如,process(x,y))只是等待x,y的简写就在程序的结束过程之前(第152页,“VHDL设计指南”第3版)。因此,所有过程都将至少运行一次。运行VHDL模拟涉及三个阶段。这些是细化、初始化和模拟 在初始化阶段开始

考虑:过程(a) 根据文本,我有:

此时首先输入一个流程 模拟的时间,此时 执行,直到它暂停自己到期 等待语句或敏感度 名单


即使在敏感度列表中没有任何事件,流程也必须运行一次,这一推断是否正确?另外,如果一个体系结构中有多个进程,它们是否都执行一次呢?

AFAIK,敏感性列表(例如,
process(x,y)
)只是
等待x,y的简写就在程序的
结束过程之前(第152页,“VHDL设计指南”第3版)。因此,所有过程都将至少运行一次。

运行VHDL模拟涉及三个阶段。这些是细化、初始化和模拟

在初始化阶段开始时,当前时间设置为0。然后,模拟内核将所有模拟进程放入活动进程队列中。然后从该队列中提取每个模拟过程并执行,直到其挂起。初始化期间模拟过程的执行顺序并不重要。每个模拟过程的初始执行可确保安排所有初始事务,以便模拟可以继续

模拟过程被隐式或显式挂起。具有敏感度列表的进程在其顺序语句执行到进程结束后被隐式挂起。具有一个或多个wait语句的进程在执行其第一个wait语句时显式挂起

当活动进程队列为空时,初始化阶段完成


因此,为了回答您的问题,所有进程都将在初始化阶段运行一次。

是的,我知道一个进程总是处于活动/等待状态。我要问的是,在任何情况下,模拟时,其中的顺序语句是否运行一次?