Backend.scala (5110577f41160ca47601103bcbe3e2b80af72096) Backend.scala (195ef4a53ab54326d879e884c4e1568f424f2668)
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

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

160 val vfExuBlock = params.vfSchdParams.map(x => LazyModule(new ExuBlock(x)))
161 val wbFuBusyTable = LazyModule(new WbFuBusyTable(params))
162
163 lazy val module = new BackendImp(this)
164}
165
166class BackendImp(override val wrapper: Backend)(implicit p: Parameters) extends LazyModuleImp(wrapper)
167 with HasXSParameter {
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

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

160 val vfExuBlock = params.vfSchdParams.map(x => LazyModule(new ExuBlock(x)))
161 val wbFuBusyTable = LazyModule(new WbFuBusyTable(params))
162
163 lazy val module = new BackendImp(this)
164}
165
166class BackendImp(override val wrapper: Backend)(implicit p: Parameters) extends LazyModuleImp(wrapper)
167 with HasXSParameter {
168 implicit private val params = wrapper.params
168 implicit private val params: BackendParams = wrapper.params
169
170 val io = IO(new BackendIO()(p, wrapper.params))
171
172 private val ctrlBlock = wrapper.ctrlBlock.module
173 private val pcTargetMem = wrapper.pcTargetMem.module
174 private val intScheduler: SchedulerImpBase = wrapper.intScheduler.get.module
175 private val fpScheduler = wrapper.fpScheduler.get.module
176 private val vfScheduler = wrapper.vfScheduler.get.module

--- 615 unchanged lines hidden ---
169
170 val io = IO(new BackendIO()(p, wrapper.params))
171
172 private val ctrlBlock = wrapper.ctrlBlock.module
173 private val pcTargetMem = wrapper.pcTargetMem.module
174 private val intScheduler: SchedulerImpBase = wrapper.intScheduler.get.module
175 private val fpScheduler = wrapper.fpScheduler.get.module
176 private val vfScheduler = wrapper.vfScheduler.get.module

--- 615 unchanged lines hidden ---