月別アーカイブ: 2014年10月

Synthesijer-20141031

Synthsijer 2014.10.31版のバイナリパッケージを用意しました.細かなバグフィクスが中心ですが,2014.09.23版からの一つ大きな変更としてコマンドライン引数が追加されています.

これまでは,実行するとJavaからVHDLとVerilogの両方を生成していたのですが,生成したファイルをISEやVivado,Quartusのプロジェクトに追加する際の選択が面倒だという声をいただきました.

そこで,次のようにオプションで生成するHDLコードを選択できるようにしました.

VHDLファイルを生成する場合,

java -cp Synthsijer.Main --vhdl Javaファイル

Verilog HDLファイルを生成する場合,

java -cp Synthsijer.Main --verilog Javaファイル

--vhdl--verilogの両方を選択することもできます.

なお,オプションを指定しない場合にはVHDLファイルを生成します.

Synthesijer.scala の大きな変更

Synthesijer.scalaの演算系を大幅に変更しました.従来は,たとえば,カウンタのインクリメントを

counter <= expr(Op.+, counter, 1)

などと不細工に記述する必要があったのですが,

counter <= counter + 1

と,すっきり記述できるようになりました.

今後は,ユーザとして記述するSynthesijer.scalaコードでは,exprメソッドの呼び出しは禁止されるようになります.

また,都合上,定数を利用したい場合に,これまでは,

 new Value(10, 32)

と作成していたのですが,これからはModule.scalaで定義されているvalueメソッドを使って

 value(10, 32)

とするように変更されました.

この変更は,今までのバージョンとの互換性がありません.従来通りexprを自分で呼び出して式を組み立てたい場合には引き続き0.1を利用してください.

新しく始める方は最新版のバイナリパッケージ0.2.1または,Gitからソースコードをcloneしてご利用ください.

RGBTest: サインカーブを描いてみる

SynthesijerでAXIたたいてみたよ,なサンプルです

hdmi_test

DSForum2014やESS2014で紹介させていただいた,InreviumのZynqボードTD-7Z-020-EMCを使って,HDMIディスプレイにサインカーブの出力をしてみたサンプルです.サインカーブを描くというのがやりたいことではなくて,”AXI-HP経由でDDRメモリにアクセスするモジュール”を”Synthesijerを使ってJavaで書いた”というのをご覧いただければ,と思っています.

生成したVHDLを含むVivadoプロジェクトのアーカイブをhttp://www.wasa-labo.com/zynq_test_20141023.zipにまとめています.

続きを読む

DSForum 2014で発表させていただきました

Design Solution Forumにて”オープンソース高位合成処理系 Synthesijer”とういタイトルで発表させていただきました.

内容は,Synthesijerを使った開発のイメージと,どういうつもりでSynthesijerを開発しているか,というものを盛り込んだものになっています.

発表資料は,http://www.dsforum.jp/materials/ からダウンロードできるようです.

例題としては,東京エレクトロンデバイスのZynq評価ボードを使った画像表示回路として,位相の違うsinカーブを描く回路(Javaコード)を紹介してみました.関連リソースは少し整理をして10月末までには公開したいと計画中です.

hdmi_test