【问题标题】:Why does this example from the myHDL manual give me different results?为什么 myHDL 手册中的这个例子给了我不同的结果?
【发布时间】:2013-10-20 23:33:01
【问题描述】:

Here is an example 我从myHDL manual 复制而来。在我的代码中,生成器 FSM() 永远不会被调用,因此状态始终是“搜索”。

我不知道为什么没有调用生成器。

编辑:

将此行更改为:

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

到:

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

我认为这是示例中的一个错误 - 如果重置为 ACTIVE_LOW,则应将其初始化为 1,而不是 0?

【问题讨论】:

  • 听起来你还没有完全准确地复制代码 - 你能得到一个更简单的系统来工作吗?或者发布你正在使用的代码?
  • 我的代码已粘贴在链接中 - 我通过修改复位信号使其工作后添加了更多信息

标签: python myhdl


【解决方案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 以清楚地表明其低电平有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多