CsimulationとSynthesisをやってみる

前回の投稿では、合成対象のソースコード,インクルードファイルとテストベンチを作りました。
次は実際に作ったコードが所望の動作をするのかCシミュレーションをやってみます。

上にある”Run C Simulation”を押すと、"C simulation Dialog"が出てきます。

無題

まずはチェックマークを全て外して、実行してみます。

無題

そうすると、solution1\csim\reportの下に.logファイルができます。
logファイルの中身を確認してみると...

INFO: [SIM 2] *************** CSIM start ***************
INFO: [SIM 4] CSIM will launch GCC as the compiler.
  Compiling ../../../main.cpp in debug mode
  Compiling ../../../test.cpp in debug mode
  Generating csim.exe
1*1 = 1 
2*2 = 4 
3*3 = 9 
4*4 = 16 
5*5 = 25 
----------Pass!------------
INFO: [SIM 1] CSim done with 0 errors.
INFO: [SIM 3] *************** CSIM finish ***************

いぇーい!想定通りの結果が出ました。
次は合成"Synthesis"をしてみます。上のメニューからSynthesisボタンを選択。そうすると合成が始まります。

無題

合成が終わると勝手に合成結果"Synthesis Report"が開きます。
Interfaceをみてみると...

無題

入力ポートは
a[31:0], b[31:0], ap_start
出力ポートは
ap_done, ap_idle, ap_ready, ap_return[31:0]
となっていることがわかります。
ap_return[31:0]がa×bの演算結果ですね。
各ポートの設定はDirectiveにて設定できるようですので次の投稿でいろいろ試してみることにしましょーう!

この記事が気に入ったらサポートをしてみませんか?