FC2カウンター FPGAの部屋 Vivado HLSのExampleを試してみる4(C/RTL Cosimulation)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Vivado HLSのExampleを試してみる4(C/RTL Cosimulation)

前の記事は、”Vivado HLSのExampleを試してみる3(インターフェイス)

今回から、”Vivado Design Suite Tutorial: High-Level SynthesisUG871 (v 2013.2) June 19, 2013”を参考にやってみた(以下、マニュアルとする)。24ページの”Step 4: RTL Verification”からやってみる。

Step 4: RTL Verification
・Run C/RTL Cosimulation アイコンをクリックした。
Vivado_HLS_33_130825.png

・Co-simulation Dialog が表示された。全てデフォルトのままでOKボタンをクリックした。
Vivado_HLS_34_130825.png

・Console に、”*** C/RTL co-simulation finished: PASS ***”が表示され、上のシミュレーションもSuccess してシミュレーションがせいこうしたことがわかった。
・右のExplorer ウインドウに sim フォルダが追加された。
Vivado_HLS_35_130825.png

デフォルトの設定では、SystemCで C/RTL シミュレーションを行うようだ。次にVerilog に設定して C/RTL シミュレーションをやってみた。

・Run C/RTL Cosimulation アイコンをクリックした後の、Co-simulation Dialog で、SystemCのチェックを外して、Verilog にチェックを入れた。OKボタンをクリックした。
Vivado_HLS_41_130825.png

・C/RTL シミュレーションが成功した。
Vivado_HLS_42_130826.png

Vivado Simulator が動いているようだ。下にログをすべて示す。

Starting C/RTL cosimulation ...
C:/HDL/Xilinx/Vivado_HLS/2013.2/Win_x86/bin/vivado_hls_bin.exe C:\Users\Masaaki\Documents\Vivado_HLS\axi_lite\proj_axi_lite\solution1\cosim.tcl
@I [LIC-101] Checked out feature [HLS]
@I [HLS-10] Running 'C:/HDL/Xilinx/Vivado_HLS/2013.2/Win_x86/bin/vivado_hls_bin.exe'
for user 'Masaaki' on host 'masaaki-pc' (Windows NT_intel version 6.1) on Mon Aug 26 04:18:16 +0900 2013
in directory 'C:/Users/Masaaki/Documents/Vivado_HLS/axi_lite'
@I [HLS-10] Opening project 'C:/Users/Masaaki/Documents/Vivado_HLS/axi_lite/proj_axi_lite'.
@I [HLS-10] Opening solution 'C:/Users/Masaaki/Documents/Vivado_HLS/axi_lite/proj_axi_lite/solution1'.
@I [SYN-201] Setting up clock 'default' with a period of 13.3333ns.
@I [HLS-10] Setting target device to 'xc7z020clg484-2'
@I [SIM-47] Using XSIM for RTL simulation.
@I [SIM-14] Instrumenting C test bench ...
Build using "C:/HDL/Xilinx/Vivado_HLS/2013.2/msys/bin/g++.exe"
Compiling apatb_example.cpp
Compiling example.cpp_pre.cpp.tb.cpp
Compiling example_test.cpp_pre.cpp.tb.cpp
Generating cosim.tv.exe
@I [SIM-302] Generating test vectors ...
HLS AXI-Lite Example
Function c += a + b
Initial values a = 5, b = 10, c = 0
HW result = 15
SW result = 15
Success SW and HW results match
@I [SIM-333] Generating C post check test bench ...
@I [SIM-12] Generating RTL test bench ...
@I [SIM-323] Starting verilog simulation.
@I [SIM-15] Starting XSIM ...

C:\Users\Masaaki\Documents\Vivado_HLS\axi_lite\proj_axi_lite\solution1\sim\verilog>call xelab apatb_example_top -prj example.prj --lib "ieee_proposed=./ieee_proposed" -s example
Vivado Simulator 2013.2
Copyright 1986-1999, 2001-2013 Xilinx, Inc. All Rights Reserved.
Running: C:/HDL/Xilinx/Vivado/2013.2/bin/unwrapped/win64.o/xelab.exe apatb_example_top -prj example.prj --lib ieee_proposed=./ieee_proposed -s example
Determining compilation order of HDL files
INFO: [VRFC 10-165] Analyzing Verilog file "example.autotb.v" into library work
INFO: [VRFC 10-165] Analyzing Verilog file "example.v" into library work
Starting static elaboration
Completed static elaboration
Starting simulation data flow analysis
Completed simulation data flow analysis
Time Resolution for simulation is 1ps
Compiling module work.example
Compiling module work.apatb_example_top
Built simulation snapshot example

****** xsim v2013.2 (64-bit)
**** Build 272601 by xbuild on Sat Jun 15 11:27:26 MDT 2013
** Copyright 1986-1999, 2001-2013 Xilinx, Inc. All Rights Reserved.

source xsim.dir/example/xsim_script.tcl
# xsim {example} -maxdeltaid 10000 -tclbatch {example.tcl}
Vivado Simulator 2013.2
Time resolution is 1 ps
source example.tcl
## run all
WARNING: File/Multi-channel descriptor (-1) passed to $fclose is not valid. Please compile the design with -debug for source location information.
$finish called at time : 180509 ps : File "example.autotb.v" Line 394
## quit
INFO: [Common 17-206] Exiting xsim at Mon Aug 26 04:18:44 2013...
@I [SIM-316] Starting C post checking ...
HLS AXI-Lite Example
Function c += a + b
Initial values a = 5, b = 10, c = 0
HW result = 15
SW result = 15
Success SW and HW results match
@I [SIM-1000] *** C/RTL co-simulation finished: PASS ***
@I [LIC-101] Checked in feature [HLS]


マニュアルから引用

・Cテストベンチは、RTLデザインへの入力ベクタを生成するために使用される。
・RTLデザインがシミュレーションされる。
・RTLからの出力ベクタはCテストベンチに戻されて、テストベンチで結果が正しいかどうかを検証するために使われる。


Vivado HLSのExampleを試してみる5(IPにした)”に続く。
  1. 2013年08月26日 04:39 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/2566-e6dbddb7
この記事にトラックバックする(FC2ブログユーザー)