0

ShiftRegister 是一个有用的功能,可通过两个触发器将外部信号与主时钟同步:

sync_signal := ShiftRegister(ext_signal, 2)

在这种情况下效果很好。但是有没有办法将它与这样的其他时钟一起使用:

slowClk = Clock(reset=Driver.implicitReset)
sync_signal := ShiftRegister(ext_signal, 2, clock=slowClk)

?

4

2 回答 2

0

有了 Chisel3,现在可以使用 withClock(){}

我们只需要用 withClock 包围 ShiftRegister() 调用:

  withClock(clock) {
    led := ShiftRegister(blinkled, 4)
  }

另请参阅Chisel3 wiki中的多个时钟域章节。

于 2017-04-27T09:45:22.313 回答
0

如果您查看 ChiselUtil.scala,您可以看到 ShiftRegister 对象没有时钟输入,因此它不能包含您建议编写的功能。

修改或扩展类(根据 Chisel 手册的第 18 章)以将同步时钟作为输入是很容易的。

于 2015-08-25T18:55:34.123 回答