Bump chisel and firrtl (#1232)
* Misc changes to better enable autoclonetype * Bump chisel3 and firrtl and SBT to 1.1.1
This commit is contained in:
		
							
								
								
									
										2
									
								
								chisel3
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								chisel3
									
									
									
									
									
								
							 Submodule chisel3 updated: e27657118f...97871178cb
									
								
							
							
								
								
									
										2
									
								
								firrtl
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								firrtl
									
									
									
									
									
								
							 Submodule firrtl updated: 57025111d3...b90fc784a1
									
								
							| @@ -1 +1 @@ | ||||
| sbt.version=1.0.4 | ||||
| sbt.version=1.1.1 | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								sbt-launch.jar
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sbt-launch.jar
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -62,7 +62,7 @@ class Frontend(val icacheParams: ICacheParams, hartid: Int)(implicit p: Paramete | ||||
|   val slaveNode = icache.slaveNode | ||||
| } | ||||
|  | ||||
| class FrontendBundle(outer: Frontend) extends CoreBundle()(outer.p) | ||||
| class FrontendBundle(val outer: Frontend) extends CoreBundle()(outer.p) | ||||
|     with HasExternallyDrivenTileConstants { | ||||
|   val cpu = new FrontendIO().flip | ||||
|   val ptw = new TLBPTWIO() | ||||
|   | ||||
| @@ -173,7 +173,7 @@ abstract class HellaCache(hartid: Int)(implicit p: Parameters) extends LazyModul | ||||
|   val module: HellaCacheModule | ||||
| } | ||||
|  | ||||
| class HellaCacheBundle(outer: HellaCache)(implicit p: Parameters) extends CoreBundle()(p) { | ||||
| class HellaCacheBundle(val outer: HellaCache)(implicit p: Parameters) extends CoreBundle()(p) { | ||||
|   val hartid = UInt(INPUT, hartIdLen) | ||||
|   val cpu = (new HellaCacheIO).flip | ||||
|   val ptw = new TLBPTWIO() | ||||
|   | ||||
| @@ -81,7 +81,7 @@ class ICachePerfEvents extends Bundle { | ||||
|   val acquire = Bool() | ||||
| } | ||||
|  | ||||
| class ICacheBundle(outer: ICache) extends CoreBundle()(outer.p) { | ||||
| class ICacheBundle(val outer: ICache) extends CoreBundle()(outer.p) { | ||||
|   val hartid = UInt(INPUT, hartIdLen) | ||||
|   val req = Decoupled(new ICacheReq).flip | ||||
|   val s1_paddr = UInt(INPUT, paddrBits) // delayed one cycle w.r.t. req | ||||
|   | ||||
| @@ -143,7 +143,7 @@ class TLRegBundleBase(arg: TLRegBundleArg) extends Bundle | ||||
|   implicit val p = arg.p | ||||
| } | ||||
|  | ||||
| class TLRegBundle[P](val params: P, arg: TLRegBundleArg)(implicit p: Parameters) extends TLRegBundleBase(arg) | ||||
| class TLRegBundle[P](val params: P, val arg: TLRegBundleArg) extends TLRegBundleBase(arg) | ||||
|  | ||||
| class TLRegModule[P, B <: TLRegBundleBase](val params: P, bundleBuilder: => B, router: TLRegisterRouterBase) | ||||
|   extends LazyModuleImp(router) with HasRegMap | ||||
|   | ||||
| @@ -11,7 +11,7 @@ final case class HeterogeneousBag[T <: Data](elts: Seq[T]) extends Record with c | ||||
|   def length = elts.length | ||||
|  | ||||
|   val elements = ListMap(elts.zipWithIndex.map { case (n,i) => (i.toString, n) }:_*) | ||||
|   override def cloneType: this.type = (new HeterogeneousBag(elts.map(_.cloneType))).asInstanceOf[this.type] | ||||
|   override def cloneType: this.type = (new HeterogeneousBag(elts.map(_.chiselCloneType))).asInstanceOf[this.type] | ||||
|  | ||||
|   // IndexedSeq has its own hashCode/equals that we must not use | ||||
|   override def hashCode: Int = super[Record].hashCode | ||||
|   | ||||
| @@ -8,19 +8,7 @@ import chisel3.experimental.{ChiselAnnotation, RawModule} | ||||
| import freechips.rocketchip.config.Parameters | ||||
| import scala.math._ | ||||
|  | ||||
| class ParameterizedBundle(implicit p: Parameters) extends Bundle { | ||||
|   override def cloneType = { | ||||
|     try { | ||||
|       this.getClass.getConstructors.head.newInstance(p).asInstanceOf[this.type] | ||||
|     } catch { | ||||
|       case e: java.lang.IllegalArgumentException => | ||||
|         throwException("Unable to use ParamaterizedBundle.cloneType on " + | ||||
|                        this.getClass + ", probably because " + this.getClass + | ||||
|                        "() takes more than one argument.  Consider overriding " + | ||||
|                        "cloneType() on " + this.getClass, e) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| class ParameterizedBundle(implicit p: Parameters) extends Bundle | ||||
|  | ||||
| // TODO: replace this with an implicit class when @chisel unprotects dontTouchPorts | ||||
| trait DontTouch { | ||||
| @@ -101,7 +89,7 @@ object ValidMux { | ||||
|     apply(v1 +: v2.toSeq) | ||||
|   } | ||||
|   def apply[T <: Data](valids: Seq[ValidIO[T]]): ValidIO[T] = { | ||||
|     val out = Wire(Valid(valids.head.bits)) | ||||
|     val out = Wire(Valid(valids.head.bits.cloneType)) | ||||
|     out.valid := valids.map(_.valid).reduce(_ || _) | ||||
|     out.bits := MuxCase(valids.head.bits, | ||||
|       valids.map(v => (v.valid -> v.bits))) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user