Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

Chisel3とFIRRTL



Chisel3は、Chisel2よりもモジュラリティが良くなったんだって。

Chisel3からVerilog HDLへの変換は、
 ・Chisel3 (Scala) を FIRRTL ("Chisel RTL"とも呼ぶ)
 ・FIRRTL (Flexible IR for RTL) を Verilog HDLに変換

 ・おまけ:VerilatorでVerilog を シミュレーション用にSystemCに変換

ポイントは、一旦、FIRRTLというフォーマットに変換するということ。
Chisel2では、Chisel2(Scala)から直接Verilog HDLを生成していた。

Chisel3をビルドするには、
 ・sbt (Scala Build System)
 ・FIRRTL 
 ・Verilator
が必要です。

FIRRTLgithubにて公開されています。

言語仕様も公開されている。

FIRRTLは、下記のようにすると、ビルドできます。
 ・verilator と sbtをインストール後、

    $ git clone https://github.com/ucb-bar/firrtl
    $ cd firrtl
    $ sbt compile   ( firrtl をコンパイル )

    $ sbt test      ( firrtl をテストする )  
    $ sbt assembly

   (utils/bin/firrtl を PATH に設定しておくといいよ。)

 ・テスト

    $ mkdir -p build  
    $ ./utils/bin/firrtl -i regress/rocket.fir -o build/rocket.v -X verilog

追記)、2016.12.3
FIRRTLのURLを追加