freechipsproject / chisel-bootcamp

Generator Bootcamp Material: Learn Chisel the Right Way
Apache License 2.0
952 stars 274 forks source link

Module 2.5 - DspBlock - not found: type PeekPokeTester #163

Open StephenTaylor1998 opened 3 years ago

StephenTaylor1998 commented 3 years ago

import dsptools.tester.MemMasterModel import freechips.rocketchip.amba.axi4

abstract class FIRBlockTester[D, U, EO, EI, B <: Data](c: FIRBlock[D, U, EO, EI, B]) extends PeekPokeTester(c.module) with MemMasterModel { // check that address 0 is the number of filters require(memReadWord(0) == c.nFilters) // write 1 to all the taps for (i <- 0 until c.nFilters c.nTaps) { memWriteWord(8 + i 8, 1) } }

// specialize the generic tester for axi4 class AXI4FIRBlockTester(c: AXI4FIRBlock with AXI4StandaloneBlock) extends FIRBlockTester(c) with AXI4MasterModel { def memAXI = c.ioMem.get }

// invoking testers on lazymodules is a little strange. // note that the firblocktester takes a lazymodule, not a module (it calls .module in "extends PeekPokeTester()"). val lm = LazyModule(new AXI4FIRBlock(1, 8)(Parameters.empty) with AXI4StandaloneBlock) chisel3.iotesters.Driver(() => lm.module) { _ => new AXI4FIRBlockTester(lm) }

here is the error:

cmd8.sc:5: not found: type PeekPokeTester abstract class FIRBlockTester[D, U, EO, EI, B <: Data](c: FIRBlock[D, U, EO, EI, B]) extends PeekPokeTester(c.module) with MemMasterModel { ^cmd8.sc:22: type mismatch; found : Helper.this.AXI4FIRBlockTester required: chisel3.iotesters.PeekPokeTester[freechips.rocketchip.diplomacy.LazyModuleImp{val in: freechips.rocketchip.amba.axi4stream.AXI4StreamBundle; val out: freechips.rocketchip.amba.axi4stream.AXI4StreamBundle; val taps: chisel3.Vec[chisel3.Vec[chisel3.UInt]]; val mmap: Seq[freechips.rocketchip.regmapper.RegField]; val outs: scala.collection.immutable.IndexedSeq[chisel3.UInt]; val output: chisel3.UInt}] val res85 = chisel3.iotesters.Driver(() => lm.module) { => new AXI4FIRBlockTester(lm) } ^cmd8.sc:5: no arguments allowed for nullary constructor Object: ()Object abstract class FIRBlockTester[D, U, EO, EI, B <: Data](c: FIRBlock[D, U, EO, EI, B]) extends PeekPokeTester(c.module) with MemMasterModel { ^cmd8.sc:15: illegal inheritance; superclass FIRBlockTester is not a subclass of the superclass PeekPokeTester of the mixin trait AXI4MasterModel class AXI4FIRBlockTester(c: AXI4FIRBlock with AXI4StandaloneBlock) extends FIRBlockTester(c) with AXI4MasterModel { ^Compilation Failed

thanks for any support

ekallal commented 9 months ago

this issue still exists

peterwilli commented 1 month ago

I get the same issue too