【问题标题】:How to synthesize a Rocket system?如何合成一个火箭系统?
【发布时间】:2017-08-28 06:03:18
【问题描述】:

我正在尝试熟悉 RISC-V ISA 和 Rocket Chip。我已经设置了CONFIG=DefaultSmallConfig 并使用vsim 目录中的make verilog 命令生成了Verilog 代码。我有几个关于输出以及如何使用设计编译器 (DC) 合成系统的问题。

  1. 如何删除与调试相关的端口和电线?我只需要综合核心及其外设,不需要调试相关的模块/线。

  2. 顶层模块是ExampleRocketSystem吗?我必须在DC中设置current_design,并且需要知道顶级模块是什么。

  3. 除了freechips.rocketchip.system.DefaultSmallConfig.v 输出文件,我还需要什么才能运行完整的 DC 综合?

  4. 假设我使用输出 Verilog 文件而不使用其他文件进行 DC 综合,我会得到很多未解析的引用和由于常量而被删除的寄存器。我在这里错过了什么?

【问题讨论】:

    标签: riscv


    【解决方案1】:

    1) 通常很难删除调试端口,我不知道如何干净利落。还值得注意的是,如果您不包含要启动的外围设备,您将希望保留调试端口以帮助您加载测试程序。

    2) 是 ExampleRocketSystem 是顶级模块

    3) 您还需要实现设计中使用的内存。默认情况下,您应该在 generate-src 中有一个*.behav_srams.v 文件,该文件具有一个简单的 ram 的 verilog 行为模型,您可以将其包含在 DC 中,它应该变成一堆触发器。如果您可以访问 SRAM,您可能会用这些触发器替换这些触发器。

    4) 你不应该得到未解析的引用,但由于是常量而删除寄存器是合理的。

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      相关资源
      最近更新 更多