1
0

Bump Chisel and FIRRTL for annotations refactor (#1261)

Also brings in an autoclonetype enhancement and some bug fixes
This commit is contained in:
Jack Koenig
2018-03-07 13:22:38 -05:00
committed by Henry Cook
parent d0b46c5b8f
commit 64b707cbb6
7 changed files with 9 additions and 17 deletions

View File

@ -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))

View File

@ -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()
}

View File

@ -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