Rob.scala (9b9e991b39279f1a5b08138e808acbef33217da6) | Rob.scala (6810d1e8e7c0789e9f50ee6bdd52010b8ce506ef) |
---|---|
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 --- 317 unchanged lines hidden (view full) --- 326 lazy val module = new RobImp(this)(p, params) 327} 328 329class RobImp(override val wrapper: Rob)(implicit p: Parameters, params: BackendParams) extends LazyModuleImp(wrapper) 330 with HasXSParameter with HasCircularQueuePtrHelper with HasPerfEvents { 331 332 private val LduCnt = params.LduCnt 333 private val StaCnt = params.StaCnt | 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 --- 317 unchanged lines hidden (view full) --- 326 lazy val module = new RobImp(this)(p, params) 327} 328 329class RobImp(override val wrapper: Rob)(implicit p: Parameters, params: BackendParams) extends LazyModuleImp(wrapper) 330 with HasXSParameter with HasCircularQueuePtrHelper with HasPerfEvents { 331 332 private val LduCnt = params.LduCnt 333 private val StaCnt = params.StaCnt |
334 private val HyuCnt = params.HyuCnt |
|
334 335 val io = IO(new Bundle() { 336 val hartId = Input(UInt(8.W)) 337 val redirect = Input(Valid(new Redirect)) 338 val enq = new RobEnqIO 339 val flushOut = ValidIO(new Redirect) 340 val exception = ValidIO(new ExceptionInfo) 341 // exu + brq --- 11 unchanged lines hidden (view full) --- 353 val headNotReady = Output(Bool()) 354 val cpu_halt = Output(Bool()) 355 val wfi_enable = Input(Bool()) 356 357 val debug_ls = Flipped(new DebugLSIO) 358 val debugRobHead = Output(new DynInst) 359 val debugEnqLsq = Input(new LsqEnqIO) 360 val debugHeadLsIssue = Input(Bool()) | 335 336 val io = IO(new Bundle() { 337 val hartId = Input(UInt(8.W)) 338 val redirect = Input(Valid(new Redirect)) 339 val enq = new RobEnqIO 340 val flushOut = ValidIO(new Redirect) 341 val exception = ValidIO(new ExceptionInfo) 342 // exu + brq --- 11 unchanged lines hidden (view full) --- 354 val headNotReady = Output(Bool()) 355 val cpu_halt = Output(Bool()) 356 val wfi_enable = Input(Bool()) 357 358 val debug_ls = Flipped(new DebugLSIO) 359 val debugRobHead = Output(new DynInst) 360 val debugEnqLsq = Input(new LsqEnqIO) 361 val debugHeadLsIssue = Input(Bool()) |
361 val lsTopdownInfo = Vec(LduCnt, Input(new LsTopdownInfo)) | 362 val lsTopdownInfo = Vec(LduCnt + HyuCnt, Input(new LsTopdownInfo)) |
362 val debugTopDown = new Bundle { 363 val toCore = new RobCoreTopDownIO 364 val toDispatch = new RobDispatchTopDownIO 365 val robHeadLqIdx = Valid(new LqPtr) 366 } 367 val debugRolling = new RobDebugRollingIO 368 }) 369 --- 1062 unchanged lines hidden --- | 363 val debugTopDown = new Bundle { 364 val toCore = new RobCoreTopDownIO 365 val toDispatch = new RobDispatchTopDownIO 366 val robHeadLqIdx = Valid(new LqPtr) 367 } 368 val debugRolling = new RobDebugRollingIO 369 }) 370 --- 1062 unchanged lines hidden --- |