Cheat-Sheet中有Queue
和Chisel其他标准库接口(interface)(De Coupled
、Valid
等)的简要定义。以及 Chisel Manual 中的更多详细信息。我还在 StackOverflow 上找到了这两个答案 - here和 here .
但是,这些资源都没有以可塑的方式进行解释 - 我觉得这将帮助我更好地理解这些接口(interface)的目的 - 这些代码行合成什么 - 它们在实际硬件中是什么样子?
例如,以下是包 HardFloat 中的 FPU 代码片段:
val input = De Coupled(new DivRecFN_io(expWidth, sigWidth)).flip
其中 DivRecFN_io
是一个类,如下所示:
class DivRecFN_io(expWidth: Int, sigWidth: Int) extends Bundle {
值 a = ...
值 b = ...
瓦尔...
...
}
包含 De Couple
的行到底实现了什么?
谢谢。
最佳答案
实际硬件中的样子:
默认的 Chisel util 队列是标准 circular buffer执行。这意味着它有一系列带有入队和出队指针的寄存器,这些寄存器由于队列上的操作而移动,检查是否满了和空了。
关于riscv - Chisel 3 的队列标准库接口(interface)综合了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823120/