【问题标题】:How to specify chisel’s post-processor?如何指定 chisel 的后处理器?
【发布时间】:2018-04-17 03:16:05
【问题描述】:

引用自 libcores wiki

一个后处理器生成一个针对 FPGA 执行进行调整的 Verilog。第二个生成针对 ASIC 调整的 Verilog。

这是真的吗?如何指定使用哪个后处理器?

我注意到我们可以向chisel发送一个选项'-X xxx',其中'xxx'可以是high,middle,low,verilog......这有关系吗?这些“编译器”的确切含义是什么?

谢谢!

【问题讨论】:

    标签: chisel


    【解决方案1】:

    我对 librecores 流程并不完全熟悉,但看了一眼https://github.com/librecores/riscv-sodor,我没有看到任何后处理脚本。可能值得在 repo 上提出问题以要求澄清这一点。

    对于一般的 Chisel 设计,人们使用 IR 上的转换来专门针对 FPGA 与 ASIC 的代码。最常见的是处理内存结构。默认情况下发出的行为记忆适用于 FPGA,因为它们被正确推断为 BRAM。对于 ASIC,有一个标准转换可以用黑盒接口替换存储器,这样用户就可以提供使用来自其给定实现技术的 SRAM 宏的实现。

    【讨论】:

      【解决方案2】:

      非常狭窄地解决了您的后一个问题,-X/--compiler 命令行参数决定了使用哪个 FIRRTL 编译器和发射器。

      Chisel3 编译器生成 CHIRRTL(FIRRTL 中间表示的高级形式)。 FIRRTL 中间表示 (IR),在 UC Berkeley Technical Report 中有更详细的描述,是一种用于描述电路的简单语言。

      FIRRTL 编译器从广义上讲是将 FIRRTL IR 中表示的电路从高级表示(在规范中描述)移动到中级表示,最后到低级表示将很容易映射到 Verilog。 FIRRTL 编译器可以选择在高 FIRRTL、中 FIRRTL 或低 FIRRTL 处提前停止,或者一直到 Verilog。 -X/--compiler 参数告诉它您是否想提前退出并且只针对这些表示之一。

      注意:CHIRRTL 最终将被移除,而高 FIRRTL 将由 Chisel 编译器直接发出。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-08
        • 2012-03-11
        • 1970-01-01
        相关资源
        最近更新 更多