Top.scala (2316cea82d361ad8b181fc0912feb662dc1dc4a8) | Top.scala (2993c5ecece73b73073301e23435ca1b763d0b5f) |
---|---|
1/*************************************************************************************** | 1/*************************************************************************************** |
2* Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences | 2* Copyright (c) 2024 Beijing Institute of Open Source Chip (BOSC) 3* Copyright (c) 2020-2024 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 9* 10* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 11* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 12* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 13* 14* See the Mulan PSL v2 for more details. 15***************************************************************************************/ 16 17package top 18 19import chisel3._ 20import chisel3.util._ | 4* Copyright (c) 2020-2021 Peng Cheng Laboratory 5* 6* XiangShan is licensed under Mulan PSL v2. 7* You can use this software according to the terms and conditions of the Mulan PSL v2. 8* You may obtain a copy of Mulan PSL v2 at: 9* http://license.coscl.org.cn/MulanPSL2 10* 11* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 12* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 13* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 14* 15* See the Mulan PSL v2 for more details. 16***************************************************************************************/ 17 18package top 19 20import chisel3._ 21import chisel3.util._ |
22import chisel3.experimental.dataview._ |
|
21import difftest.DifftestModule 22import xiangshan._ 23import utils._ 24import huancun.{HCCacheParameters, HCCacheParamsKey, HuanCun, PrefetchRecv, TPmetaResp} 25import coupledL2.EnableCHI 26import utility._ 27import system._ 28import device._ --- 140 unchanged lines hidden (view full) --- 169 }) 170 } 171 172 FileRegisters.add("dts", dts) 173 FileRegisters.add("graphml", graphML) 174 FileRegisters.add("json", json) 175 FileRegisters.add("plusArgs", freechips.rocketchip.util.PlusArgArtefacts.serialize_cHeader()) 176 | 23import difftest.DifftestModule 24import xiangshan._ 25import utils._ 26import huancun.{HCCacheParameters, HCCacheParamsKey, HuanCun, PrefetchRecv, TPmetaResp} 27import coupledL2.EnableCHI 28import utility._ 29import system._ 30import device._ --- 140 unchanged lines hidden (view full) --- 171 }) 172 } 173 174 FileRegisters.add("dts", dts) 175 FileRegisters.add("graphml", graphML) 176 FileRegisters.add("json", json) 177 FileRegisters.add("plusArgs", freechips.rocketchip.util.PlusArgArtefacts.serialize_cHeader()) 178 |
177 val dma = socMisc.map(m => IO(Flipped(m.dma.cloneType))) 178 val peripheral = socMisc.map(m => IO(m.peripheral.cloneType)) 179 val memory = IO(misc.memory.cloneType) | 179 val dma = socMisc.map(m => IO(Flipped(new VerilogAXI4Record(m.dma.elts.head.params)))) 180 val peripheral = socMisc.map(m => IO(new VerilogAXI4Record(m.peripheral.elts.head.params))) 181 val memory = IO(new VerilogAXI4Record(misc.memory.elts.head.params)) |
180 181 socMisc match { 182 case Some(m) => | 182 183 socMisc match { 184 case Some(m) => |
183 m.dma <> dma.get 184 peripheral.get <> m.peripheral | 185 m.dma.elements.head._2 <> dma.get.viewAs[AXI4Bundle] 186 peripheral.get.viewAs[AXI4Bundle] <> m.peripheral.elements.head._2 |
185 dontTouch(dma.get) 186 dontTouch(peripheral.get) 187 case None => 188 } | 187 dontTouch(dma.get) 188 dontTouch(peripheral.get) 189 case None => 190 } |
189 190 memory <> misc.memory | |
191 | 191 |
192 memory.viewAs[AXI4Bundle] <> misc.memory.elements.head._2 193 |
|
192 val io = IO(new Bundle { 193 val clock = Input(Bool()) 194 val reset = Input(AsyncReset()) 195 val sram_config = Input(UInt(16.W)) 196 val extIntrs = Input(UInt(NrExtIntr.W)) 197 val pll0_lock = Input(Bool()) 198 val pll0_ctrl = Output(Vec(6, UInt(32.W))) 199 val systemjtag = new Bundle { --- 125 unchanged lines hidden --- | 194 val io = IO(new Bundle { 195 val clock = Input(Bool()) 196 val reset = Input(AsyncReset()) 197 val sram_config = Input(UInt(16.W)) 198 val extIntrs = Input(UInt(NrExtIntr.W)) 199 val pll0_lock = Input(Bool()) 200 val pll0_ctrl = Output(Vec(6, UInt(32.W))) 201 val systemjtag = new Bundle { --- 125 unchanged lines hidden --- |