XSTester.scala (7f37d55fc418d3b4583220e634da7e459802c6d8) | XSTester.scala (4b0d80d87574e82ba31737496d63ac30bed0d40a) |
---|---|
1package xiangshan 2 3import chisel3._ 4import chiseltest._ 5import chiseltest.{VerilatorBackendAnnotation, WriteVcdAnnotation} 6import chiseltest.simulator.{VerilatorCFlags, VerilatorFlags} 7import firrtl.AnnotationSeq 8import firrtl.stage.RunFirrtlTransformAnnotation 9import org.scalatest.flatspec._ 10import org.scalatest.matchers.should._ | 1package xiangshan 2 3import chisel3._ 4import chiseltest._ 5import chiseltest.{VerilatorBackendAnnotation, WriteVcdAnnotation} 6import chiseltest.simulator.{VerilatorCFlags, VerilatorFlags} 7import firrtl.AnnotationSeq 8import firrtl.stage.RunFirrtlTransformAnnotation 9import org.scalatest.flatspec._ 10import org.scalatest.matchers.should._ |
11 | |
12import top.{ArgParser, DefaultConfig} | 11import top.{ArgParser, DefaultConfig} |
12import xiangshan.backend.regfile.IntPregParams |
|
13 14abstract class XSTester extends AnyFlatSpec with ChiselScalatestTester with Matchers with HasTestAnnos { 15 behavior of "XiangShan Module" 16 val defaultConfig = (new DefaultConfig) 17 implicit val config = defaultConfig.alterPartial({ 18 // Get XSCoreParams and pass it to the "small module" 19 case XSCoreParamsKey => defaultConfig(XSTileKey).head.copy( 20 // Example of how to change params | 13 14abstract class XSTester extends AnyFlatSpec with ChiselScalatestTester with Matchers with HasTestAnnos { 15 behavior of "XiangShan Module" 16 val defaultConfig = (new DefaultConfig) 17 implicit val config = defaultConfig.alterPartial({ 18 // Get XSCoreParams and pass it to the "small module" 19 case XSCoreParamsKey => defaultConfig(XSTileKey).head.copy( 20 // Example of how to change params |
21 IssQueSize = 12 | 21 intPreg = IntPregParams( 22 numEntries = 64, 23 numRead = Some(14), 24 numWrite = Some(8), 25 ), |
22 ) 23 }) 24} 25 26trait HasTestAnnos { 27 var testAnnos: AnnotationSeq = Seq() 28} 29 30trait DumpVCD { this: HasTestAnnos => 31 testAnnos = testAnnos :+ WriteVcdAnnotation 32} 33 34trait UseVerilatorBackend { this: HasTestAnnos => 35 testAnnos = testAnnos ++ Seq(VerilatorBackendAnnotation) 36} | 26 ) 27 }) 28} 29 30trait HasTestAnnos { 31 var testAnnos: AnnotationSeq = Seq() 32} 33 34trait DumpVCD { this: HasTestAnnos => 35 testAnnos = testAnnos :+ WriteVcdAnnotation 36} 37 38trait UseVerilatorBackend { this: HasTestAnnos => 39 testAnnos = testAnnos ++ Seq(VerilatorBackendAnnotation) 40} |