Top.scala (1bf9a05a3d43e4022922573991a2cecba0de2294) Top.scala (720dd6218ef4045360a23b552db1137cbb6e6e59)
1/***************************************************************************************
2* Copyright (c) 2024 Beijing Institute of Open Source Chip (BOSC)
3* Copyright (c) 2020-2024 Institute of Computing Technology, Chinese Academy of Sciences
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:

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

308 // tools: init to close dpi-c when in fpga
309 val envInFPGA = config(DebugOptionsKey).FPGAPlatform
310 val enableDifftest = config(DebugOptionsKey).EnableDifftest
311 val enableChiselDB = config(DebugOptionsKey).EnableChiselDB
312 val enableConstantin = config(DebugOptionsKey).EnableConstantin
313 Constantin.init(enableConstantin && !envInFPGA)
314 ChiselDB.init(enableChiselDB && !envInFPGA)
315
1/***************************************************************************************
2* Copyright (c) 2024 Beijing Institute of Open Source Chip (BOSC)
3* Copyright (c) 2020-2024 Institute of Computing Technology, Chinese Academy of Sciences
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:

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

308 // tools: init to close dpi-c when in fpga
309 val envInFPGA = config(DebugOptionsKey).FPGAPlatform
310 val enableDifftest = config(DebugOptionsKey).EnableDifftest
311 val enableChiselDB = config(DebugOptionsKey).EnableChiselDB
312 val enableConstantin = config(DebugOptionsKey).EnableConstantin
313 Constantin.init(enableConstantin && !envInFPGA)
314 ChiselDB.init(enableChiselDB && !envInFPGA)
315
316 val soc = DisableMonitors(p => LazyModule(new XSTop()(p)))(config)
316 val soc = if (config(SoCParamsKey).UseXSNoCTop)
317 DisableMonitors(p => LazyModule(new XSNoCTop()(p)))(config)
318 else
319 DisableMonitors(p => LazyModule(new XSTop()(p)))(config)
320
317 Generator.execute(firrtlOpts, soc.module, firtoolOpts)
318
319 // generate difftest bundles (w/o DifftestTopIO)
320 if (enableDifftest) {
321 DifftestModule.finish("XiangShan", false)
322 }
323
324 FileRegisters.write(fileDir = "./build", filePrefix = "XSTop.")
325}
321 Generator.execute(firrtlOpts, soc.module, firtoolOpts)
322
323 // generate difftest bundles (w/o DifftestTopIO)
324 if (enableDifftest) {
325 DifftestModule.finish("XiangShan", false)
326 }
327
328 FileRegisters.write(fileDir = "./build", filePrefix = "XSTop.")
329}