1
0
Fork 0

util: use chisel3.core.dontTouch

This commit is contained in:
Henry Cook 2018-03-10 17:04:46 -08:00
parent 1b93b27da4
commit 0e0963d360
1 changed files with 4 additions and 7 deletions

View File

@ -4,21 +4,18 @@
package freechips.rocketchip.util
import Chisel._
import chisel3.experimental.{ChiselAnnotation, RawModule}
import chisel3.experimental.RawModule
import freechips.rocketchip.config.Parameters
import scala.math._
class ParameterizedBundle(implicit p: Parameters) extends Bundle
// TODO: replace this with an implicit class when @chisel unprotects dontTouchPorts
trait DontTouch {
self: RawModule =>
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!"))
case agg: Aggregate => agg.getElements.foreach(dontTouch)
case elt: Element => chisel3.core.dontTouch(elt)
}
/** Marks every port as don't touch