Synthesijer.Scalaをはじめました

Pocket

Synthesijerの開発をはじめたときからJavaをHDLにするだけじゃなくて,ClojureかScala”で”簡単にハードウェアモジュールを書きたいと思いつつ手を出せていませんでした.

ここ2,3日の空いた時間を使って,ScalaでUDPTest.scalaのようにかけるようにしてみました.76行目あたりのステートマシンの記述がちょっとお気に入りです.

ちなみに,定義した演算子を使わずJavaなAPIを直接たたくバージョンSynthesijerバックエンドでe7UDP/IP IPコアを使うに書いた通り.やっていることはかわらないけど…読みやすくできた…と思います.

Synthesijer使って仕事を楽にこなせるようにするぜ!!と思っても,クロックタイミングを意識しなければならないモジュールはJavaプログラムとしては書きづらい…そんなケースにいかがでしょうか.

ちなみに,ScalaじゃなくてJava”で”HDL生成APIを操作してハードウェアモジュールを設計することもできます.

たとえば,AXI-MMマスタのライトポートはAXI_Writer.javaのような感じ.

行数的には,同じようなものを書いたときの半分くらいになります.
エディタの補完機能で補完がきくため,見た目よりは実際のタイプ量は少なくてすみます.