gcc-4.4.7 - info-akiron-com’s diary
引数にtest-fpgaと渡すとFPGAモジュールのコンパイルが行えますっと
> make test-fpga
i++ counter.cpp -I/usr/include/c++/4.4.7 -I/usr/include/c++/4.4.7/x86_64-linux-gnu -L/home/jb/intelFPGA_lite/17.1/hls/linux64/lib/dspba/linux64 -v -march=Arria10 -o test-fpga
Target FPGA part name: 10AX115U1F45I1SG
Target FPGA family name: Arria 10
Target FPGA speed grade: -2
Analyzing counter.cpp for testbench generation
Creating x86-64 testbench
Analyzing counter.cpp for hardware generation
Optimizing component(s) and generating Verilog files
Generating cosimulation support
Generating simulation files for components: count
HLS simulation directory: /home/mizutani/intelFPGA_lite/17.1/hls/examples/counter/test-fpga.prj/verification.
HLS Elaborate verification testbench FAILED.
See /home/mizutani/intelFPGA_lite/17.1/hls/examples/counter/test-fpga.prj/debug.log for details.
Error: Cosim testbench elaboration failed.Makefile:52: ターゲット 'test-fpga' のレシピで失敗しました
make: *** [test-fpga] エラー 1
ありゃまたエラー、もうこんなのは慣れっこです
よく見るとFPGAがArria 10になってる
Makefileを修正して50行を変更
元: test-fpga: CXXFLAGS := $(CXXFLAGS) $(HLS_CXX_FLAGS) -march=Arria10 -o test-fpga
直:test-fpga: CXXFLAGS := $(CXXFLAGS) $(HLS_CXX_FLAGS) -march=CycloneV -o test-fpga
さあmakeしよう
> make test-fpga
i++ counter.cpp -I/usr/include/c++/4.4.7 -I/usr/include/c++/4.4.7/x86_64-linux-gnu -L/home/jb/intelFPGA_lite/17.1/hls/linux64/lib/dspba/linux64 -v -march=CycloneV -o test-fpga
Target FPGA part name: 5CEFA9F23I7
Target FPGA family name: Cyclone V
Target FPGA speed grade: -8
Analyzing counter.cpp for testbench generation
Creating x86-64 testbench
Analyzing counter.cpp for hardware generation
Optimizing component(s) and generating Verilog files
Generating cosimulation support
Generating simulation files for components: count
HLS simulation directory: /home/mizutani/intelFPGA_lite/17.1/hls/examples/counter/test-fpga.prj/verification.
HLS Elaborate verification testbench FAILED.
See /home/mizutani/intelFPGA_lite/17.1/hls/examples/counter/test-fpga.prj/debug.log for details.
Error: Cosim testbench elaboration failed.Makefile:52: ターゲット 'test-fpga' のレシピで失敗しました
make: *** [test-fpga] エラー 1
やっぱりエラー・・・
うん、これは予想できてた
まあデバイスは変更できたみたいだね
昔はこんな長ったらしい(笑)英語が出てきたらほっといたんだけど
ちゃんと読んで見ると、debug.logに詳細が書いてるよんって事なので
見てみると1057行に
# -- Compiling module tb
#
# Top level modules:
# tb
# End time: 16:43:41 on Mar 29,2018, Elapsed time: 0:00:00
# Errors: 0, Warnings: 0
と、書かれてる
ここまではエラーがない
その次にエラーコードが出てる,vsim を実行した時に出てる様だ
# ** Fatal: ** Error: (vsim-3827) Could not compile 'export_tramp.so': cmd = '/usr/bin/gcc -shared -fPIC -m32 -B/usr/lib32 -g -I. -I"/home/mizutani/intelFPGA_lite/17.1/modelsim_ase/include" -I"/home/mizutani/intelFPGA_lite/17.1/modelsim_ase/../oem/include" -o "/tmp/mizutani@ubuntu_dpi_8326/linuxpe_gcc-4.4.7/export_tramp.so" "/tmp/mizutani@ubuntu_dpi_8326/linuxpe_gcc-4.4.7/export_tramp.S"'
# (vsim-50) A call to system(/usr/bin/gcc -shared -fPIC -m32 -B/usr/lib32 -g -I. -I"/home/mizutani/intelFPGA_lite/17.1/modelsim_ase/include" -I"/home/mizutani/intelFPGA_lite/17.1/modelsim_ase/../oem/include" -o "/tmp/mizutani@ubuntu_dpi_8326/linuxpe_gcc-4.4.7/export_tramp.so" "/tmp/mizutani@ubuntu_dpi_8326/linuxpe_gcc-4.4.7/export_tramp.S" >'/tmp/questatmp.weSnfG' 2>&1) returned error code '1'.
調べたら、Modelsimにはエラーコードの内容を教えてくれるコマンドverrorと言うのがあるので、タイプする
verror 3827
# vsim Message # 3827:
# ModelSim automatically generates and compiles "glue" code for exported
# SystemVerilog DPI tasks and functions. The compilation of the generated
# code failed. See the error message text for clues to the problem.
えーっと
verror 3827
# ヴイシム めっせーじ # 3827:
# モデルシム 自動的に 生成してコンパイル "グルー" コード
# SystemVerilog DPI タスクと関数を取り出す?. コード生成には失敗したです
# 手がかりが欲しければ、エラーメッセージをみてね
って事はエラーメッセージに戻るのか・・・
export_tramp.soのコンパイルに失敗してる・・
またCコードの解析か・・・
ハードウェア屋さんなのにな・・・