├── .gitattributes ├── .github └── workflows │ ├── gitlab-ci.yml │ └── lint.yml ├── .gitignore ├── .gitlab-ci.yml ├── .style.yapf ├── .vscode └── launch.json ├── .yapfignore ├── Bender.local ├── Bender.lock ├── Bender.yml ├── LICENSE.hw ├── LICENSE.sw ├── Makefile ├── PyITA ├── ITA.py ├── ITA_onnx.py ├── __init__.py ├── gelu.py ├── softmax.py ├── test_gelu.py └── util.py ├── README.md ├── modelsim ├── Makefile ├── return_status.sh ├── sim_activation_tb.tcl ├── sim_ita_hwpe_tb.tcl ├── sim_ita_hwpe_tb_wave.tcl ├── sim_ita_tb.tcl └── sim_ita_tb_wave.tcl ├── requirements.txt ├── src ├── hwpe │ ├── ita_hwpe_ctrl.sv │ ├── ita_hwpe_engine.sv │ ├── ita_hwpe_input_bias_buffer.sv │ ├── ita_hwpe_input_bias_fence.sv │ ├── ita_hwpe_input_buffer.sv │ ├── ita_hwpe_output_buffer.sv │ ├── ita_hwpe_package.sv │ ├── ita_hwpe_streamer.sv │ ├── ita_hwpe_top.sv │ ├── ita_hwpe_wrap.sv │ └── tb │ │ ├── ita_hwpe_tb.sv │ │ └── tb_dummy_memory.sv ├── ita.sv ├── ita_accumulator.sv ├── ita_activation.sv ├── ita_controller.sv ├── ita_dotp.sv ├── ita_fifo_controller.sv ├── ita_gelu.sv ├── ita_inp1_mux.sv ├── ita_inp2_mux.sv ├── ita_input_sampler.sv ├── ita_max_finder.sv ├── ita_output_controller.sv ├── ita_package.sv ├── ita_register_file_1w_1r_double_width_write.sv ├── ita_register_file_1w_multi_port_read.sv ├── ita_register_file_1w_multi_port_read_we.sv ├── ita_relu.sv ├── ita_requantization_controller.sv ├── ita_requantizer.sv ├── ita_serdiv.sv ├── ita_softmax.sv ├── ita_softmax_top.sv ├── ita_sumdotp.sv ├── ita_weight_controller.sv └── tb │ ├── activation_tb.sv │ ├── clk_rst_gen.sv │ ├── ita_tb.sv │ └── rst_gen.sv ├── testGenerator.py └── tests ├── run.sh └── run_loop.sh /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/.github/workflows/gitlab-ci.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/.style.yapf -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.yapfignore: -------------------------------------------------------------------------------- 1 | *third_party/ 2 | *venv/ 3 | *simvectors/ -------------------------------------------------------------------------------- /Bender.local: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/Bender.local -------------------------------------------------------------------------------- /Bender.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/Bender.lock -------------------------------------------------------------------------------- /Bender.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/Bender.yml -------------------------------------------------------------------------------- /LICENSE.hw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/LICENSE.hw -------------------------------------------------------------------------------- /LICENSE.sw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/LICENSE.sw -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/Makefile -------------------------------------------------------------------------------- /PyITA/ITA.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/PyITA/ITA.py -------------------------------------------------------------------------------- /PyITA/ITA_onnx.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/PyITA/ITA_onnx.py -------------------------------------------------------------------------------- /PyITA/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/PyITA/__init__.py -------------------------------------------------------------------------------- /PyITA/gelu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/PyITA/gelu.py -------------------------------------------------------------------------------- /PyITA/softmax.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/PyITA/softmax.py -------------------------------------------------------------------------------- /PyITA/test_gelu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/PyITA/test_gelu.py -------------------------------------------------------------------------------- /PyITA/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/PyITA/util.py -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/README.md -------------------------------------------------------------------------------- /modelsim/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/modelsim/Makefile -------------------------------------------------------------------------------- /modelsim/return_status.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/modelsim/return_status.sh -------------------------------------------------------------------------------- /modelsim/sim_activation_tb.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/modelsim/sim_activation_tb.tcl -------------------------------------------------------------------------------- /modelsim/sim_ita_hwpe_tb.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/modelsim/sim_ita_hwpe_tb.tcl -------------------------------------------------------------------------------- /modelsim/sim_ita_hwpe_tb_wave.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/modelsim/sim_ita_hwpe_tb_wave.tcl -------------------------------------------------------------------------------- /modelsim/sim_ita_tb.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/modelsim/sim_ita_tb.tcl -------------------------------------------------------------------------------- /modelsim/sim_ita_tb_wave.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/modelsim/sim_ita_tb_wave.tcl -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/requirements.txt -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_ctrl.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_ctrl.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_engine.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_engine.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_input_bias_buffer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_input_bias_buffer.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_input_bias_fence.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_input_bias_fence.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_input_buffer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_input_buffer.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_output_buffer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_output_buffer.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_package.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_package.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_streamer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_streamer.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_top.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_top.sv -------------------------------------------------------------------------------- /src/hwpe/ita_hwpe_wrap.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/ita_hwpe_wrap.sv -------------------------------------------------------------------------------- /src/hwpe/tb/ita_hwpe_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/tb/ita_hwpe_tb.sv -------------------------------------------------------------------------------- /src/hwpe/tb/tb_dummy_memory.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/hwpe/tb/tb_dummy_memory.sv -------------------------------------------------------------------------------- /src/ita.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita.sv -------------------------------------------------------------------------------- /src/ita_accumulator.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_accumulator.sv -------------------------------------------------------------------------------- /src/ita_activation.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_activation.sv -------------------------------------------------------------------------------- /src/ita_controller.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_controller.sv -------------------------------------------------------------------------------- /src/ita_dotp.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_dotp.sv -------------------------------------------------------------------------------- /src/ita_fifo_controller.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_fifo_controller.sv -------------------------------------------------------------------------------- /src/ita_gelu.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_gelu.sv -------------------------------------------------------------------------------- /src/ita_inp1_mux.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_inp1_mux.sv -------------------------------------------------------------------------------- /src/ita_inp2_mux.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_inp2_mux.sv -------------------------------------------------------------------------------- /src/ita_input_sampler.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_input_sampler.sv -------------------------------------------------------------------------------- /src/ita_max_finder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_max_finder.sv -------------------------------------------------------------------------------- /src/ita_output_controller.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_output_controller.sv -------------------------------------------------------------------------------- /src/ita_package.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_package.sv -------------------------------------------------------------------------------- /src/ita_register_file_1w_1r_double_width_write.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_register_file_1w_1r_double_width_write.sv -------------------------------------------------------------------------------- /src/ita_register_file_1w_multi_port_read.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_register_file_1w_multi_port_read.sv -------------------------------------------------------------------------------- /src/ita_register_file_1w_multi_port_read_we.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_register_file_1w_multi_port_read_we.sv -------------------------------------------------------------------------------- /src/ita_relu.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_relu.sv -------------------------------------------------------------------------------- /src/ita_requantization_controller.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_requantization_controller.sv -------------------------------------------------------------------------------- /src/ita_requantizer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_requantizer.sv -------------------------------------------------------------------------------- /src/ita_serdiv.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_serdiv.sv -------------------------------------------------------------------------------- /src/ita_softmax.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_softmax.sv -------------------------------------------------------------------------------- /src/ita_softmax_top.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_softmax_top.sv -------------------------------------------------------------------------------- /src/ita_sumdotp.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_sumdotp.sv -------------------------------------------------------------------------------- /src/ita_weight_controller.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/ita_weight_controller.sv -------------------------------------------------------------------------------- /src/tb/activation_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/tb/activation_tb.sv -------------------------------------------------------------------------------- /src/tb/clk_rst_gen.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/tb/clk_rst_gen.sv -------------------------------------------------------------------------------- /src/tb/ita_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/tb/ita_tb.sv -------------------------------------------------------------------------------- /src/tb/rst_gen.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/src/tb/rst_gen.sv -------------------------------------------------------------------------------- /testGenerator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/testGenerator.py -------------------------------------------------------------------------------- /tests/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/tests/run.sh -------------------------------------------------------------------------------- /tests/run_loop.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/ITA/HEAD/tests/run_loop.sh --------------------------------------------------------------------------------