This is the ILA model of the FlexASR accelerator (all rights reserved - Harvard University).
-
include/flex
contains header files for functions and macros (e.g., state name, bit-width, etc.)top_config.h
defines the top-level AXI interfacegb_config.h
defines the GB-related modules (e.g., Control)pe_config.h
defines the PE-related modules (e.g., ActUnit)flex.h
provides the functions for constructing the ILA modeladpfloat_spec.h
provides parameters related to adpfloat data format used in the modeluninterpreted_func.h
defines the uninterpreted functions
-
src
contains source files for functions to construct the ILA modeltop_input.cc
defines the AXI interface inputsconfig_state_<gb/pe>.cc
defines the configuration statesconfig_instr_<gb/pe>.cc
defines the instructions to set the configurationarch_state_<gb/pe>.cc
defines the non-config architectural statesgb_*.cc
defines the non-config instructions of GB (e.g., zero padding)pe_*.cc
defines the non-config instructions of PE (e.g., RNN layer sizing)flex.cc
is the orchestrating function that construct the ILA modelutil.cc
contains some helper functions
-
app
contains themain.cc
for applications using the ILA model
You need to specify the systemc path when building the generated systemc files in build/sim_model/
- SystemC-2.3.1a or newer is needed
- SystemC needs to be installed using CMake and specified using c++11
- under flexnlp-ila/build/sim_model/build, cmake .. -DCMAKE_INSTALL_PREFIX=<systemc_intall_path> (ex. /home/(user_name)/local/systemc-2.3.3) to specify the systemc path.