rocketchip: include an socBus between l1tol2 and periphery (#415)
Sometimes we have high performance devices that go inbetween.
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							a5ac106bb8
						
					
				
				
					commit
					7dc97674d6
				
			@@ -31,9 +31,10 @@ abstract class BaseTop(q: Parameters) extends LazyModule {
 | 
			
		||||
 | 
			
		||||
  TLImp.emitMonitors = q(TLEmitMonitors)
 | 
			
		||||
 | 
			
		||||
  // Add a peripheral bus
 | 
			
		||||
  // Add a SoC and peripheral bus
 | 
			
		||||
  val socBus = LazyModule(new TLXbar)
 | 
			
		||||
  val peripheryBus = LazyModule(new TLXbar)
 | 
			
		||||
  lazy val peripheryManagers = peripheryBus.node.edgesIn(0).manager.managers
 | 
			
		||||
  lazy val peripheryManagers = socBus.node.edgesIn(0).manager.managers
 | 
			
		||||
 | 
			
		||||
  lazy val c = CoreplexConfig(
 | 
			
		||||
    nTiles = q(NTiles),
 | 
			
		||||
@@ -54,11 +55,15 @@ abstract class BaseTop(q: Parameters) extends LazyModule {
 | 
			
		||||
  val legacy = LazyModule(new TLLegacy()(p.alterPartial({ case TLId => "L2toMMIO" })))
 | 
			
		||||
 | 
			
		||||
  peripheryBus.node :=
 | 
			
		||||
    TLWidthWidget(legacy.tlDataBytes)(
 | 
			
		||||
    TLWidthWidget(p(SOCBusKey).beatBytes)(
 | 
			
		||||
    TLBuffer()(
 | 
			
		||||
    TLAtomicAutomata(arithmetic = p(PeripheryBusKey).arithAMO)(
 | 
			
		||||
    socBus.node)))
 | 
			
		||||
 | 
			
		||||
  socBus.node :=
 | 
			
		||||
    TLWidthWidget(legacy.tlDataBytes)(
 | 
			
		||||
    TLHintHandler()(
 | 
			
		||||
    legacy.node))))
 | 
			
		||||
    legacy.node))
 | 
			
		||||
 | 
			
		||||
  TopModule.contents = Some(this)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user