xref: /XiangShan/src/main/scala/top/Generator.scala (revision e3da8bad334fc71ba0d72f0607e2e93245ddaece)
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:
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 circt.stage._
21import chisel3.stage.ChiselGeneratorAnnotation
22import xiangshan.transforms._
23
24object Generator {
25  def execute(args: Array[String], mod: => chisel3.RawModule, firtoolOpts: Array[String]) = {
26    val annotations = firtoolOpts.map(FirtoolOption.apply).toSeq
27
28    (new XiangShanStage).execute(args, ChiselGeneratorAnnotation(() => mod) +: annotations)
29  }
30}
31