1
0

Support disabling atomics extension

This commit is contained in:
Andrew Waterman
2016-05-21 16:58:01 -07:00
parent 765b90f6a4
commit 335e2c8a1e
3 changed files with 41 additions and 25 deletions

View File

@ -14,6 +14,7 @@ case object XLen extends Field[Int]
case object FetchWidth extends Field[Int]
case object RetireWidth extends Field[Int]
case object UseVM extends Field[Boolean]
case object UseAtomics extends Field[Boolean]
case object UsePerfCounters extends Field[Boolean]
case object FastLoadWord extends Field[Boolean]
case object FastLoadByte extends Field[Boolean]
@ -32,6 +33,7 @@ trait HasCoreParameters extends HasAddrMapParameters {
val usingVM = p(UseVM)
val usingFPU = p(UseFPU)
val usingAtomics = p(UseAtomics)
val usingFDivSqrt = p(FDivSqrt)
val usingRoCC = !p(BuildRoCC).isEmpty
val usingFastMulDiv = p(FastMulDiv)
@ -119,6 +121,7 @@ class Rocket(implicit p: Parameters) extends CoreModule()(p) {
}
var decode_table = new XDecode().table
if (usingAtomics) decode_table ++= new ADecode().table
if (usingFPU) decode_table ++= new FDecode().table
if (usingFPU && usingFDivSqrt) decode_table ++= new FDivSqrtDecode().table
if (usingRoCC) decode_table ++= new RoCCDecode().table