1

这是我从myHDL 手册中复制的示例。在我的代码中,生成器 FSM() 永远不会被调用,因此状态始终是“搜索”。

我无法弄清楚为什么没有调用生成器。

编辑:

将此行更改为:

reset = ResetSignal(0, active=ACTIVE_LOW, async=True)

至:

reset = ResetSignal(1, active=ACTIVE_LOW, async=True)

我认为这是示例中的错误 - 如果重置为 ACTIVE_LOW 它应该初始化为 1,而不是 0?

从我的代码中追踪

跟踪工作版本

4

1 回答 1

1

您需要释放复位信号。这一行:

reset = ResetSignal(0, active=ACTIVE_LOW, async=True)

如示例中所写,是正确的。启动时低电平有效复位(正确)为低电平。

您没有活动的原因是您在任何时候都没有将复位设置为高电平(即不活动)。

更新您的刺激功能:

def stimulus():
        for i in range(3):
            yield clk.posedge
        reset.next = 1
        for n in (12, 8, 8, 4):

我还会调用复位信号reset_n来清楚地表明它的低电平有效性质。

于 2013-10-20T15:33:01.480 回答