L2Top.scala (42cb64260d34f2b47839d26c7af8b31eef9031c9) L2Top.scala (8cfc24b28454f1915c339ce79485711f8e438f59)
1/***************************************************************************************
2 * Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences
3 * Copyright (c) 2020-2021 Peng Cheng Laboratory
4 *
5 * XiangShan is licensed under Mulan PSL v2.
6 * You can use this software according to the terms and conditions of the Mulan PSL v2.
7 * You may obtain a copy of Mulan PSL v2 at:
8 * http://license.coscl.org.cn/MulanPSL2

--- 11 unchanged lines hidden (view full) ---

20import chisel3.util._
21import org.chipsalliance.cde.config._
22import chisel3.util.{Valid, ValidIO}
23import freechips.rocketchip.devices.debug.DebugModuleKey
24import freechips.rocketchip.diplomacy._
25import freechips.rocketchip.interrupts._
26import freechips.rocketchip.tile.{BusErrorUnit, BusErrorUnitParams, BusErrors, MaxHartIdBits}
27import freechips.rocketchip.tilelink._
1/***************************************************************************************
2 * Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences
3 * Copyright (c) 2020-2021 Peng Cheng Laboratory
4 *
5 * XiangShan is licensed under Mulan PSL v2.
6 * You can use this software according to the terms and conditions of the Mulan PSL v2.
7 * You may obtain a copy of Mulan PSL v2 at:
8 * http://license.coscl.org.cn/MulanPSL2

--- 11 unchanged lines hidden (view full) ---

20import chisel3.util._
21import org.chipsalliance.cde.config._
22import chisel3.util.{Valid, ValidIO}
23import freechips.rocketchip.devices.debug.DebugModuleKey
24import freechips.rocketchip.diplomacy._
25import freechips.rocketchip.interrupts._
26import freechips.rocketchip.tile.{BusErrorUnit, BusErrorUnitParams, BusErrors, MaxHartIdBits}
27import freechips.rocketchip.tilelink._
28import device.MsiInfoBundle
29import coupledL2.{EnableCHI, L2ParamKey, PrefetchCtrlFromCore}
30import coupledL2.tl2tl.TL2TLCoupledL2
31import coupledL2.tl2chi.{CHIIssue, PortIO, TL2CHICoupledL2}
32import huancun.BankBitsKey
33import system.HasSoCParameter
34import top.BusPerfMonitor
35import utility._
36import utility.sram.SramMbistBundle

--- 130 unchanged lines hidden (view full) ---

167 val fromTile = Input(UInt(PAddrBits.W))
168 val toCore = Output(UInt(PAddrBits.W))
169 }
170 val hartId = new Bundle() {
171 val fromTile = Input(UInt(64.W))
172 val toCore = Output(UInt(64.W))
173 }
174 val msiInfo = new Bundle() {
28import coupledL2.{EnableCHI, L2ParamKey, PrefetchCtrlFromCore}
29import coupledL2.tl2tl.TL2TLCoupledL2
30import coupledL2.tl2chi.{CHIIssue, PortIO, TL2CHICoupledL2}
31import huancun.BankBitsKey
32import system.HasSoCParameter
33import top.BusPerfMonitor
34import utility._
35import utility.sram.SramMbistBundle

--- 130 unchanged lines hidden (view full) ---

166 val fromTile = Input(UInt(PAddrBits.W))
167 val toCore = Output(UInt(PAddrBits.W))
168 }
169 val hartId = new Bundle() {
170 val fromTile = Input(UInt(64.W))
171 val toCore = Output(UInt(64.W))
172 }
173 val msiInfo = new Bundle() {
175 val fromTile = Input(ValidIO(new MsiInfoBundle))
176 val toCore = Output(ValidIO(new MsiInfoBundle))
174 val fromTile = Input(ValidIO(UInt(soc.IMSICParams.MSI_INFO_WIDTH.W)))
175 val toCore = Output(ValidIO(UInt(soc.IMSICParams.MSI_INFO_WIDTH.W)))
177 }
176 }
177 val msiAck = new Bundle {
178 val fromCore = Input(Bool())
179 val toTile = Output(Bool())
180 }
178 val cpu_halt = new Bundle() {
179 val fromCore = Input(Bool())
180 val toTile = Output(Bool())
181 }
182 val cpu_critical_error = new Bundle() {
183 val fromCore = Input(Bool())
184 val toTile = Output(Bool())
185 }

--- 52 unchanged lines hidden (view full) ---

238 beu.module.io.errors.icache := io.beu_errors.icache
239 beu.module.io.errors.dcache := io.beu_errors.dcache
240 resetDelayN.io.in := io.reset_vector.fromTile
241 io.reset_vector.toCore := resetDelayN.io.out
242 io.hartId.toCore := io.hartId.fromTile
243 io.msiInfo.toCore := io.msiInfo.fromTile
244 io.cpu_halt.toTile := io.cpu_halt.fromCore
245 io.cpu_critical_error.toTile := io.cpu_critical_error.fromCore
181 val cpu_halt = new Bundle() {
182 val fromCore = Input(Bool())
183 val toTile = Output(Bool())
184 }
185 val cpu_critical_error = new Bundle() {
186 val fromCore = Input(Bool())
187 val toTile = Output(Bool())
188 }

--- 52 unchanged lines hidden (view full) ---

241 beu.module.io.errors.icache := io.beu_errors.icache
242 beu.module.io.errors.dcache := io.beu_errors.dcache
243 resetDelayN.io.in := io.reset_vector.fromTile
244 io.reset_vector.toCore := resetDelayN.io.out
245 io.hartId.toCore := io.hartId.fromTile
246 io.msiInfo.toCore := io.msiInfo.fromTile
247 io.cpu_halt.toTile := io.cpu_halt.fromCore
248 io.cpu_critical_error.toTile := io.cpu_critical_error.fromCore
249 io.msiAck.toTile := io.msiAck.fromCore
246 io.l3Miss.toCore := io.l3Miss.fromTile
247 io.clintTime.toCore := io.clintTime.fromTile
248 // trace interface
249 val traceToTile = io.traceCoreInterface.toTile
250 val traceFromCore = io.traceCoreInterface.fromCore
251 traceFromCore.fromEncoder := RegNext(traceToTile.fromEncoder)
252 traceToTile.toEncoder.trap := RegEnable(
253 traceFromCore.toEncoder.trap,

--- 130 unchanged lines hidden ---
250 io.l3Miss.toCore := io.l3Miss.fromTile
251 io.clintTime.toCore := io.clintTime.fromTile
252 // trace interface
253 val traceToTile = io.traceCoreInterface.toTile
254 val traceFromCore = io.traceCoreInterface.fromCore
255 traceFromCore.fromEncoder := RegNext(traceToTile.fromEncoder)
256 traceToTile.toEncoder.trap := RegEnable(
257 traceFromCore.toEncoder.trap,

--- 130 unchanged lines hidden ---