Cherry Syn は、C言語風の記述から順序回路を生成する高位合成ツールです。
「誰でも簡単に回路設計ができる世界」を目指して、構造の美しさと詩的な体験を大切にしています。
process logicboy(clkin uint#1 clk, rstin uint#1 rst, in uint#8 din1, in uint#8 din2, out uint#8 dout)
{
dout = din1 + din2;
}
この記述を Cherry Syn に入力し、Synthesis ボタンをクリックすると HDL が生成されます。
「チュートリアル」セクションの tutorial1_1.chc
をクリックすれば、自動入力されます。
「view RTL schematic」の logicboy
ボタンを押すと、生成された回路図が表示されます。
一状態のコントローラと加算器のみの単純な回路です。
while (1) {
dout = din1 + din2;
dout = din1 - din2;
}
加算と減算を交互に行う回路になります。複数状態のコントローラと加減算器が生成されます。
「view CDFG」の logicboy
ボタンを押すと、制御データフローグラフが表示されます。
ステップ1では加算、ステップ2では減算が行われ、同じ演算器にマッピングされます。
while (1) {
uint#8 d = din1 + din2;
dout = d;
if (d > 3)
dout = din1 - din2;
else
dout = din1 + din2;
}
条件に応じて加算・減算を切り替える回路になります。CDFG では分岐がピンク色で表示されます。
.cst
:ピン割り当て情報.sdc
:タイミング制約(現在は空)これらを GOWIN FPGA Designer に入力すれば、FPGA のコンフィグレーションデータが生成されます。
module LOGICBOY (
input wire CLK,
input wire RST,
input wire [7:0] DIN1,
input wire [7:0] DIN2,
output wire [7:0] DOUT);
クロック同期で動作し、リセットは非同期の負論理です。
記述を少しずつ変えて、CDFG や RTL を見ながら回路の構造を理解していきましょう。
Cherry Syn は、回路設計を「詩的な遊び」に変えてくれるツールです。
今日はここまで。これだけでも十分に活用できる人がいるはず。
それでは皆さま、さようならー。