Bump Chisel and FIRRTL for annotations refactor (#1261)
Also brings in an autoclonetype enhancement and some bug fixes
This commit is contained in:
@ -938,7 +938,7 @@ class TLDebugModuleInner(device: Device, getNComponents: () => Int, beatBytes: I
|
||||
//------------------------
|
||||
// DMI Register Control and Status
|
||||
|
||||
abstractCommandBusy := (ctrlStateReg != CtrlState(Waiting))
|
||||
abstractCommandBusy := (ctrlStateReg =/= CtrlState(Waiting))
|
||||
|
||||
ABSTRACTCSWrEnLegal := (ctrlStateReg === CtrlState(Waiting))
|
||||
COMMANDWrEnLegal := (ctrlStateReg === CtrlState(Waiting))
|
||||
|
@ -10,8 +10,7 @@ import freechips.rocketchip.system.{TestGeneration, DefaultTestSuites}
|
||||
import freechips.rocketchip.config._
|
||||
import freechips.rocketchip.diplomacy.LazyModule
|
||||
import java.io.{File, FileWriter}
|
||||
import net.jcazevedo.moultingyaml._
|
||||
import firrtl.annotations.AnnotationYamlProtocol._
|
||||
import firrtl.annotations.JsonProtocol
|
||||
|
||||
/** Representation of the information this Generator needs to collect from external sources. */
|
||||
case class ParsedInputNames(
|
||||
@ -99,9 +98,9 @@ trait GeneratorApp extends App with HasGeneratorUtilities {
|
||||
}
|
||||
|
||||
def generateAnno {
|
||||
val annotationFile = new File(td, s"$longName.anno")
|
||||
val annotationFile = new File(td, s"$longName.anno.json")
|
||||
val af = new FileWriter(annotationFile)
|
||||
af.write(circuit.annotations.toArray.toYaml.prettyPrint)
|
||||
af.write(JsonProtocol.serialize(circuit.annotations.map(_.toFirrtl)))
|
||||
af.close()
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
package freechips.rocketchip.util
|
||||
|
||||
import Chisel._
|
||||
import chisel3.experimental.{ChiselAnnotation, RawModule}
|
||||
import chisel3.experimental.{dontTouch, RawModule}
|
||||
import freechips.rocketchip.config.Parameters
|
||||
import scala.math._
|
||||
|
||||
@ -14,13 +14,6 @@ class ParameterizedBundle(implicit p: Parameters) extends Bundle
|
||||
trait DontTouch {
|
||||
self: RawModule =>
|
||||
|
||||
def dontTouch(data: Data): Unit = data match {
|
||||
case agg: Aggregate =>
|
||||
agg.getElements.foreach(dontTouch)
|
||||
case elt: Element =>
|
||||
annotate(ChiselAnnotation(elt, classOf[firrtl.Transform], "DONTtouch!"))
|
||||
}
|
||||
|
||||
/** Marks every port as don't touch
|
||||
*
|
||||
* @note This method can only be called after the Module has been fully constructed
|
||||
|
Reference in New Issue
Block a user