ロケットチップのソースコードを読んでいたら、rocc.scala
ファイル内に使用rocket/src/main/scala/
例がありました。コードの最初の部分で、何をしているのかわからない関数がありますか?AccumulatorExample
rocc
Queue()
val n = 4
val regfile = Mem(UInt(width = params(XprLen)), n)
val busy = Vec.fill(n){Reg(init=Bool(false))}
val cmd = Queue(io.cmd)
val funct = cmd.bits.inst.funct
val addr = cmd.bits.inst.rs2(log2Up(n)-1,0)
val doWrite = funct === UInt(0)
val doRead = funct === UInt(1)
val doLoad = funct === UInt(2)
val doAccum = funct === UInt(3)
val memRespTag = io.mem.resp.bits.tag(log2Up(n)-1,0)
ありがとう