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