-
Notifications
You must be signed in to change notification settings - Fork 17
ASE Testing
#ASE simulation
For details on how to set up ASE simulation, please refer to the ASE User Guide. To enable performance simulator with ASE, please refer to section Performance Simulator.
The only change needed is to the vlog_files.list
file.
-F /nfs/site/disks/scl.work.38/ppt/aayupov/systemc/atd_fpga_app-qa_bblocks/BBB_cci_mpf/hw/sim/cci_mpf_sim_addenda.txt
-F /nfs/site/disks/scl.work.38/ppt/aayupov/systemc/hld_fpga-sysc/rtl/5.0.3/ase_rtl_common_files.txt
+incdir+PATH_TO_YOUR_HLD_DEFINES_DOT_VH
-F /YOUR/RTL/FILE/LIST.f (HLS tool generates one)
Alternatively, if the generated by HLS RTL is in one file (e.g. dut.v)
-F /nfs/site/disks/scl.work.38/ppt/aayupov/systemc/atd_fpga_app-qa_bblocks/BBB_cci_mpf/hw/sim/cci_mpf_sim_addenda.txt
-F /nfs/site/disks/scl.work.38/ppt/aayupov/systemc/hld_fpga-sysc/rtl/5.0.3/ase_rtl_common_files.txt
+incdir+PATH_TO_YOUR_HLD_DEFINES_DOT_VH
/YOUR/RTL/LOCATION/dut.v
Because the SW/HW interface is fixed in the proposed methodology, we provide an application that implements the interface and implements a SW layer to talk to FPGA. This application has to be compiled first. You will need a path to the AALSDK installation location ($AALSDK_INSTALL variable below). In addition, we use the MPF building block (BBB) for virtual-to-physical address space conversion (Variable $MPF_SW_ROOT below).
cd $HLD_ROOT/fpga_sw/aal_5.0.3/AcclAppVtp/
make prefix=$AALSDK_INSTALL
Then, in user application where AcclApp is used, include of AcclApp is needed, for example (see include when FPGA_ACC is defined):
#ifdef SC_KERNEL
#include "cycle_detection_hls_tb.h"
#elif SC_ACC
#include "cycle_detection_acc_tb.h"
#elif FPGA_ACC
#include "AcclApp.h"
#else
#include "cycle_detection_hw_emul.h"
#endif
Both AcclApp library (that was built in AcclAppVtp above) and MPF BBB have to be dynamically linked then with user application. You may need to use LD_LIBRARY_PATH to locate those libraries, or alternatively, use the following options as part of LDFLAGS for the executable creation:
LDFLAGS += -L$(AALSDK_INSTALL)/lib -Wl,-rpath-link -Wl,$(AALSDK_INSTALL)/lib -Wl,-rpath -Wl,$(AALSDK_INSTALL)/lib \
-L$(AALSDK_INSTALL)/lib64 -Wl,-rpath-link -Wl,$(AALSDK_INSTALL)/lib64 -Wl,-rpath -Wl,$(AALSDK_INSTALL)/lib64 \
$(HLD_ROOT)/fpga_sw/aal_5.0.3/AcclAppVtp/libAcclApp.so -Wl,-rpath -Wl,$(HLD_ROOT)/fpga_sw/aal_5.0.3/AcclAppVtp/ \
-Wl,-rpath -Wl,$(MPF_SW_ROOT)/