我正在寻找一个简单的方法来在 Verilog 中转换一个简单的 Chisel3 模块。
我采用凿子官方网页上给出的 Gcd 源代码。
import chisel3._
class GCD extends Module {
val io = IO(new Bundle {
val a = Input(UInt(32.W))
val b = Input(UInt(32.W))
val e = Input(Bool())
val z = Output(UInt(32.W))
val v = Output(Bool())
})
val x = Reg(UInt(32.W))
val y = Reg(UInt(32.W))
when (x > y) {
x := x -% y
}.otherwise {
y := y -% x
}
when (io.e) {
x := io.a
y := io.b
}
io.z := x
io.v := y === 0.U
}
我找不到如何编写 build.sbt 和类实例化以在 Verilog 中进行转换。