151981c77SbugGeneratorpackage xiangshan 251981c77SbugGenerator 351981c77SbugGeneratorimport chisel3._ 451981c77SbugGeneratorimport chipsalliance.rocketchip.config.Config 551981c77SbugGeneratorimport chiseltest._ 651981c77SbugGeneratorimport chiseltest.{VerilatorBackendAnnotation, WriteVcdAnnotation} 751981c77SbugGeneratorimport chiseltest.simulator.{VerilatorCFlags, VerilatorFlags} 851981c77SbugGeneratorimport firrtl.AnnotationSeq 951981c77SbugGeneratorimport firrtl.stage.RunFirrtlTransformAnnotation 1051981c77SbugGeneratorimport org.scalatest.flatspec._ 1151981c77SbugGeneratorimport org.scalatest.matchers.should._ 1251981c77SbugGeneratorimport top.{ArgParser, DefaultConfig} 13*8a00ff56SXuan Huimport xiangshan.backend.regfile.IntPregParams 1451981c77SbugGenerator 1551981c77SbugGeneratorabstract class XSTester extends AnyFlatSpec with ChiselScalatestTester with Matchers with HasTestAnnos { 1651981c77SbugGenerator behavior of "XiangShan Module" 1751981c77SbugGenerator val defaultConfig = (new DefaultConfig) 1851981c77SbugGenerator implicit val config = defaultConfig.alterPartial({ 1951981c77SbugGenerator // Get XSCoreParams and pass it to the "small module" 2051981c77SbugGenerator case XSCoreParamsKey => defaultConfig(XSTileKey).head.copy( 2151981c77SbugGenerator // Example of how to change params 22*8a00ff56SXuan Hu intPreg = IntPregParams( 23*8a00ff56SXuan Hu numEntries = 64, 24*8a00ff56SXuan Hu numRead = 14, 25*8a00ff56SXuan Hu numWrite = 8, 26*8a00ff56SXuan Hu ), 2751981c77SbugGenerator ) 2851981c77SbugGenerator }) 2951981c77SbugGenerator} 3051981c77SbugGenerator 3151981c77SbugGeneratortrait HasTestAnnos { 3251981c77SbugGenerator var testAnnos: AnnotationSeq = Seq() 3351981c77SbugGenerator} 3451981c77SbugGenerator 3551981c77SbugGeneratortrait DumpVCD { this: HasTestAnnos => 3651981c77SbugGenerator testAnnos = testAnnos :+ WriteVcdAnnotation 3751981c77SbugGenerator} 3851981c77SbugGenerator 3951981c77SbugGeneratortrait UseVerilatorBackend { this: HasTestAnnos => 4051981c77SbugGenerator testAnnos = testAnnos ++ Seq(VerilatorBackendAnnotation) 4151981c77SbugGenerator}