gemmini icon indicating copy to clipboard operation
gemmini copied to clipboard

Building a Simulator using a Verilator Issue

Open OzU-CAST opened this issue 3 years ago • 1 comments

Hello,

I was trying to build a gemmini simulator using a verilator, therefore following the instructions provided in the README.md

I am using the latest docker image for the chipyard. Once I run the the following commands, I got the following error messages. Is there any quick fix for this?

cd chipyard/generators/gemmini ./scripts/build-verilator.sh

... [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/AccumulatorScale.scala:183:28: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] when (pipe_out.fire && pipe_out.bits.id === j.U && pipe_out.bits.index === w.U) { [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/DMA.scala:544:78: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] tl.a.bits.address := RegEnableThru(io.tlb.resp.paddr, RegNext(io.tlb.req.fire)) [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/DMACommandTracker.scala:85:29: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] when (io.request_returned.fire) { [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/ExecuteController.scala:970:21: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] when(mesh.io.resp.fire && mesh.io.resp.bits.tag.rob_id.valid) { [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:57:22: value hv is not a member of freechips.rocketchip.rocket.SFenceReq [error] tlb.io.sfence.bits.hv := false.B [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:58:22: value hg is not a member of freechips.rocketchip.rocket.SFenceReq [error] tlb.io.sfence.bits.hg := false.B [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:64:36: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] when (interrupt && tlb.io.sfence.fire) { [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:71:70: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] io.counter.connectEventSignal(CounterEvent.DMA_TLB_HIT_REQ, io.req.fire && !tlb.io.resp.miss) [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:72:72: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] io.counter.connectEventSignal(CounterEvent.DMA_TLB_TOTAL_REQ, io.req.fire) [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:76:24: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] PerfCounter(io.req.fire && !tlb.io.resp.miss, "tlb_hits", "total number of tlb hits") [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:77:24: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] PerfCounter(io.req.fire, "tlb_reqs", "total number of tlb reqs") [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/FrontendTLB.scala:128:86: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] val tlbReqFire = if (use_shared_tlb) tlbArbOpt.get.io.in(i).fire else tlb.io.req.fire [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/LoadController.scala:119:56: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] cmd_tracker.io.request_returned.valid := io.dma.resp.fire // TODO use a bundle connect [error] ^ [warn] there were 217 feature warnings; re-run with -feature for details [warn] one warning found [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/ReservationStation.scala:451:22: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] when (io.completed.fire) { [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/ReservationStation.scala:522:100: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] when (io.issue.ld.fire() || io.issue.st.fire() || io.issue.ex.fire() || !io.busy || io.completed.fire) { [error] ^ [error] /root/chipyard/generators/gemmini/src/main/scala/gemmini/StoreController.scala:159:56: missing argument list for method fire in class Valid [error] Unapplied methods are only converted to functions when a function type is expected. [error] You can make this conversion explicit by writing fire _ or fire(_) instead of fire. [error] cmd_tracker.io.request_returned.valid := io.dma.resp.fire // TODO use a bundle connect [error] ...

Thanks OzU-CAST

OzU-CAST avatar Apr 01 '22 16:04 OzU-CAST

Most probably, your Chipyard commit does not match CHIPYARD.hash.

Try checking out an earlier release of Gemmini, which might be compatible with your version of Chipyard.

hngenc avatar Apr 01 '22 19:04 hngenc