├── .clang-format ├── .editorconfig ├── .gitignore ├── .gitlab-ci.d ├── compiler-smoketest.sh ├── llvm-project-update-hero-branch.sh ├── memora_retry.sh ├── release-test.sh ├── tests-pulp.sh ├── track-pbench-perf.sh └── verify-bench.sh ├── .gitlab-ci.yml ├── .gitmodules ├── CHANGELOG.md ├── Config.in ├── LICENSE ├── Makefile ├── Memora.yml ├── PREREQUISITES.md ├── README.md ├── apps ├── README.md ├── ariane │ ├── addentropy.c │ └── cachetest.c └── hero │ ├── README.md │ ├── physmem │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── example.cc │ └── inc │ │ ├── aixlog.hpp │ │ ├── physmem.hpp │ │ └── string_format.hpp │ ├── standalone │ ├── .gitignore │ ├── Makefile │ └── standalone.c │ └── uart │ ├── .gitignore │ ├── Makefile │ └── uart.c ├── board ├── README.md ├── common │ ├── boot_logo.txt │ ├── busybox.config │ ├── overlay │ │ ├── etc │ │ │ ├── dropbear │ │ │ │ └── dropbear_ecdsa_host_key │ │ │ ├── init.d │ │ │ │ └── S99extroot │ │ │ ├── network │ │ │ │ └── interfaces │ │ │ ├── profile.d │ │ │ │ ├── path-local.sh │ │ │ │ ├── profile-rc.sh │ │ │ │ └── prompt.sh │ │ │ └── sysctl.conf │ │ └── usr │ │ │ └── share │ │ │ └── udhcpc │ │ │ └── default.script │ └── post_build.sh ├── diggenesys2 │ ├── linux-extras.config │ ├── linux-patches │ │ └── 0099-lowrisc-ethernet.patch │ └── post_image.sh ├── hero │ ├── busybox.config │ └── post_build.sh ├── qemu │ ├── linux-extras.config │ ├── overlay │ │ └── etc │ │ │ └── init.d │ │ │ └── S99vdbroot │ ├── patches │ │ └── riscv-pk │ │ │ └── 0001-allow-boot-nonchangeable-misa.patch │ └── post_image.sh ├── rv │ ├── linux.config │ └── post_build.sh └── xilzcu102 │ ├── S95fpga │ ├── bitstream.bif │ ├── genimage.cfg │ ├── hero.dts │ ├── hero.dtsi │ ├── kernel_config │ ├── pmufw.bin │ ├── post_build.sh │ ├── post_image.sh │ └── uboot-extras.config ├── configs ├── README.md ├── har_defconfig ├── har_exilzcu102_defconfig ├── hrv_defconfig ├── hrv_ediggenesys2_defconfig └── hrv_eqemu_defconfig ├── doc ├── OpenMPOffloadingStack.md ├── hw_arch.png └── sw_stack.png ├── env ├── README.md ├── check_environment.sh ├── ediggenesys2.sh ├── esim-exilzcu102.sh ├── esim.sh └── exilzcu102.sh ├── external.desc ├── external.mk ├── hardware ├── .gitignore ├── Bender.lock ├── Bender.yml ├── Makefile ├── README.md ├── deps │ ├── apb │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ └── src │ │ │ └── apb_intf.sv │ ├── axi │ │ ├── .ci │ │ │ └── Memora.yml │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── doc.yml │ │ ├── .gitignore │ │ ├── .gitlab-ci.yml │ │ ├── .gitrepo │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc │ │ │ ├── README.md │ │ │ ├── axi_demux.md │ │ │ ├── axi_demux.png │ │ │ ├── axi_lite_demux.md │ │ │ ├── axi_lite_mailbox.md │ │ │ ├── axi_lite_mux.md │ │ │ ├── axi_lite_mux.png │ │ │ ├── axi_lite_xbar.md │ │ │ ├── axi_lite_xbar.png │ │ │ ├── axi_mux.md │ │ │ ├── axi_mux.png │ │ │ ├── axi_xbar.md │ │ │ ├── axi_xbar.png │ │ │ └── svg │ │ │ │ ├── axi_demux.svg │ │ │ │ ├── axi_lite_mux.svg │ │ │ │ ├── axi_lite_xbar.svg │ │ │ │ ├── axi_mux.svg │ │ │ │ └── axi_xbar.svg │ │ ├── include │ │ │ └── axi │ │ │ │ ├── assign.old.svh │ │ │ │ ├── assign.svh │ │ │ │ └── typedef.svh │ │ ├── ips_list.yml │ │ ├── scripts │ │ │ ├── axi_intercon_gen.py │ │ │ ├── compile_vsim.sh │ │ │ ├── run_vsim.sh │ │ │ ├── synth.sh │ │ │ └── verilogwriter.py │ │ ├── src │ │ │ ├── axi_atop_filter.sv │ │ │ ├── axi_burst_splitter.sv │ │ │ ├── axi_cdc.sv │ │ │ ├── axi_cut.sv │ │ │ ├── axi_delayer.sv │ │ │ ├── axi_demux.sv │ │ │ ├── axi_dw_converter.sv │ │ │ ├── axi_dw_downsizer.sv │ │ │ ├── axi_dw_upsizer.sv │ │ │ ├── axi_err_slv.sv │ │ │ ├── axi_id_prepend.sv │ │ │ ├── axi_id_remap.sv │ │ │ ├── axi_id_serialize.sv │ │ │ ├── axi_intf.sv │ │ │ ├── axi_isolate.sv │ │ │ ├── axi_iw_converter.sv │ │ │ ├── axi_join.sv │ │ │ ├── axi_lite_demux.sv │ │ │ ├── axi_lite_join.sv │ │ │ ├── axi_lite_mailbox.sv │ │ │ ├── axi_lite_mux.sv │ │ │ ├── axi_lite_regs.sv │ │ │ ├── axi_lite_to_apb.sv │ │ │ ├── axi_lite_to_axi.sv │ │ │ ├── axi_lite_xbar.sv │ │ │ ├── axi_modify_address.sv │ │ │ ├── axi_multicut.sv │ │ │ ├── axi_mux.sv │ │ │ ├── axi_pkg.sv │ │ │ ├── axi_read_burst_buffer.sv │ │ │ ├── axi_serializer.sv │ │ │ ├── axi_sim_mem.sv │ │ │ ├── axi_test.sv │ │ │ ├── axi_tlb.sv │ │ │ ├── axi_tlb_l1.sv │ │ │ ├── axi_to_axi_lite.sv │ │ │ ├── axi_write_burst_packer.sv │ │ │ ├── axi_xbar.sv │ │ │ └── dma │ │ │ │ ├── axi_dma_backend.sv │ │ │ │ ├── axi_dma_burst_reshaper.sv │ │ │ │ ├── axi_dma_data_mover.sv │ │ │ │ └── axi_dma_data_path.sv │ │ ├── src_files.yml │ │ └── test │ │ │ ├── synth_bench.sv │ │ │ ├── tb_axi_addr_test.sv │ │ │ ├── tb_axi_atop_filter.sv │ │ │ ├── tb_axi_atop_filter.wave.do │ │ │ ├── tb_axi_cdc.sv │ │ │ ├── tb_axi_delayer.sv │ │ │ ├── tb_axi_dw_downsizer.do │ │ │ ├── tb_axi_dw_downsizer.sv │ │ │ ├── tb_axi_dw_upsizer.do │ │ │ ├── tb_axi_dw_upsizer.sv │ │ │ ├── tb_axi_isolate.sv │ │ │ ├── tb_axi_isolate.wave.do │ │ │ ├── tb_axi_lite_mailbox.sv │ │ │ ├── tb_axi_lite_mailbox.wave.do │ │ │ ├── tb_axi_lite_regs.sv │ │ │ ├── tb_axi_lite_to_apb.sv │ │ │ ├── tb_axi_lite_to_apb.wave.do │ │ │ ├── tb_axi_lite_to_axi.sv │ │ │ ├── tb_axi_lite_to_axi.wave.do │ │ │ ├── tb_axi_lite_xbar.sv │ │ │ ├── tb_axi_lite_xbar.wave.do │ │ │ ├── tb_axi_modify_address.sv │ │ │ ├── tb_axi_serializer.sv │ │ │ ├── tb_axi_serializer.wave.do │ │ │ ├── tb_axi_to_axi_lite.sv │ │ │ ├── tb_axi_to_axi_lite.wave.do │ │ │ ├── tb_axi_xbar.sv │ │ │ ├── tb_axi_xbar.wave.do │ │ │ └── tb_axi_xbar_pkg.sv │ ├── axi2apb │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── src │ │ │ ├── axi2apb.sv │ │ │ ├── axi2apb_64_32.sv │ │ │ └── axi2apb_wrap.sv │ │ └── src_files.yml │ ├── axi2mem │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── axi2mem.sv │ │ └── src_files.yml │ ├── axi2per │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── axi2per.sv │ │ ├── axi2per_req_channel.sv │ │ ├── axi2per_res_channel.sv │ │ └── src_files.yml │ ├── axi_riscv_atomics │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── src │ │ │ ├── axi_res_tbl.sv │ │ │ ├── axi_riscv_amos.sv │ │ │ ├── axi_riscv_amos_alu.sv │ │ │ ├── axi_riscv_amos_wrap.sv │ │ │ ├── axi_riscv_atomics.sv │ │ │ ├── axi_riscv_atomics_wrap.sv │ │ │ ├── axi_riscv_lrsc.sv │ │ │ └── axi_riscv_lrsc_wrap.sv │ │ ├── src_files.yml │ │ └── test │ │ │ ├── axi_memory.sv │ │ │ ├── axi_riscv_atomics_synth.v │ │ │ ├── axi_riscv_lrsc_synth.v │ │ │ ├── axi_riscv_lrsc_tb.sv │ │ │ ├── axi_riscv_lrsc_tb_wave.do │ │ │ ├── generic_memory.sv │ │ │ ├── golden_memory.sv │ │ │ ├── tb_axi_pkg.sv │ │ │ └── tb_top.sv │ ├── axi_slice │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── src │ │ │ ├── axi_ar_buffer.sv │ │ │ ├── axi_aw_buffer.sv │ │ │ ├── axi_b_buffer.sv │ │ │ ├── axi_r_buffer.sv │ │ │ ├── axi_single_slice.sv │ │ │ ├── axi_slice.sv │ │ │ ├── axi_slice_wrap.sv │ │ │ └── axi_w_buffer.sv │ │ └── src_files.yml │ ├── axi_slice_dc │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── src │ │ │ ├── axi_cdc.sv │ │ │ ├── axi_slice_dc_master.sv │ │ │ ├── axi_slice_dc_master_wrap.sv │ │ │ ├── axi_slice_dc_slave.sv │ │ │ ├── axi_slice_dc_slave_wrap.sv │ │ │ ├── dc_data_buffer.sv │ │ │ ├── dc_full_detector.v │ │ │ ├── dc_synchronizer.v │ │ │ ├── dc_token_ring.v │ │ │ ├── dc_token_ring_fifo_din.v │ │ │ └── dc_token_ring_fifo_dout.v │ │ └── src_files.yml │ ├── cluster_interconnect │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── doc │ │ │ └── tcdm_interconnect │ │ │ │ ├── bfly_net.pdf │ │ │ │ ├── bfly_net.png │ │ │ │ ├── clos_net.pdf │ │ │ │ ├── clos_net.png │ │ │ │ ├── xbar.pdf │ │ │ │ └── xbar.png │ │ ├── rtl │ │ │ ├── core_demux │ │ │ │ └── CORE_DEMUX.v │ │ │ ├── interfaces │ │ │ │ ├── tcdm_bank_mem_bus.sv │ │ │ │ ├── xbar_demux_bus.sv │ │ │ │ ├── xbar_periph_bus.sv │ │ │ │ ├── xbar_tcdm_bus.sv │ │ │ │ └── xbar_tcdm_bus_64.sv │ │ │ ├── low_latency_interco │ │ │ │ ├── AddressDecoder_Req.sv │ │ │ │ ├── AddressDecoder_Resp.sv │ │ │ │ ├── ArbitrationTree.sv │ │ │ │ ├── FanInPrimitive_Req.sv │ │ │ │ ├── FanInPrimitive_Resp.sv │ │ │ │ ├── MUX2_REQ.sv │ │ │ │ ├── RequestBlock1CH.sv │ │ │ │ ├── RequestBlock2CH.sv │ │ │ │ ├── ResponseBlock.sv │ │ │ │ ├── ResponseTree.sv │ │ │ │ ├── TCDM_PIPE_REQ.sv │ │ │ │ ├── TCDM_PIPE_RESP.sv │ │ │ │ ├── TestAndSet.sv │ │ │ │ ├── XBAR_TCDM.sv │ │ │ │ ├── XBAR_TCDM_WRAPPER.sv │ │ │ │ ├── grant_mask.sv │ │ │ │ ├── parameters.v │ │ │ │ ├── priority_Flag_Req.sv │ │ │ │ └── tcdm_xbar_wrap.sv │ │ │ ├── peripheral_interco │ │ │ │ ├── AddressDecoder_PE_Req.sv │ │ │ │ ├── AddressDecoder_Resp_PE.sv │ │ │ │ ├── ArbitrationTree_PE.sv │ │ │ │ ├── FanInPrimitive_PE_Resp.sv │ │ │ │ ├── FanInPrimitive_Req_PE.sv │ │ │ │ ├── MUX2_REQ_PE.sv │ │ │ │ ├── RR_Flag_Req_PE.sv │ │ │ │ ├── RequestBlock1CH_PE.sv │ │ │ │ ├── RequestBlock2CH_PE.sv │ │ │ │ ├── ResponseBlock_PE.sv │ │ │ │ ├── ResponseTree_PE.sv │ │ │ │ ├── XBAR_PE.sv │ │ │ │ └── parameters.v │ │ │ └── tcdm_interconnect │ │ │ │ ├── README.md │ │ │ │ ├── addr_dec_resp_mux.sv │ │ │ │ ├── amo_shim.sv │ │ │ │ ├── bfly_net.sv │ │ │ │ ├── clos_net.sv │ │ │ │ ├── tcdm_interconnect.sv │ │ │ │ ├── tcdm_interconnect_pkg.sv │ │ │ │ └── xbar.sv │ │ ├── src_files.yml │ │ └── tb │ │ │ ├── common │ │ │ └── tb.svh │ │ │ └── tb_tcdm_interconnect │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── hdl │ │ │ ├── defaults.svh │ │ │ ├── tb.sv │ │ │ ├── tb_patterns.sv │ │ │ ├── tb_pkg.sv │ │ │ └── tcdm_interconnect_wrap.sv │ │ │ ├── matlab │ │ │ ├── clos_cost.m │ │ │ ├── evaluation.m │ │ │ ├── fairness_test.m │ │ │ ├── gen_clos_params.m │ │ │ ├── plot_scaling.m │ │ │ ├── plot_tests.m │ │ │ ├── read_stats.m │ │ │ ├── read_synth.m │ │ │ └── scatterplot_tests.m │ │ │ ├── plots │ │ │ ├── pareto_random_linear_128x.pdf │ │ │ ├── pareto_random_linear_128x.png │ │ │ ├── pareto_random_linear_16x.pdf │ │ │ ├── pareto_random_linear_16x.png │ │ │ ├── pareto_random_linear_256x.pdf │ │ │ ├── pareto_random_linear_256x.png │ │ │ ├── pareto_random_linear_32x.pdf │ │ │ ├── pareto_random_linear_32x.png │ │ │ ├── pareto_random_linear_64x.pdf │ │ │ ├── pareto_random_linear_64x.png │ │ │ ├── pareto_random_linear_8x.pdf │ │ │ ├── pareto_random_linear_8x.png │ │ │ ├── pareto_random_uniform_128x.pdf │ │ │ ├── pareto_random_uniform_128x.png │ │ │ ├── pareto_random_uniform_16x.pdf │ │ │ ├── pareto_random_uniform_16x.png │ │ │ ├── pareto_random_uniform_256x.pdf │ │ │ ├── pareto_random_uniform_256x.png │ │ │ ├── pareto_random_uniform_32x.pdf │ │ │ ├── pareto_random_uniform_32x.png │ │ │ ├── pareto_random_uniform_64x.pdf │ │ │ ├── pareto_random_uniform_64x.png │ │ │ ├── pareto_random_uniform_8x.pdf │ │ │ ├── pareto_random_uniform_8x.png │ │ │ ├── scaling_bf1.pdf │ │ │ ├── scaling_bf1.png │ │ │ ├── scaling_bf2.pdf │ │ │ ├── scaling_bf2.png │ │ │ ├── scaling_bf4.pdf │ │ │ ├── scaling_bf4.png │ │ │ ├── stats.mat │ │ │ ├── stats_bf2_64x.pdf │ │ │ ├── stats_bf2_64x.png │ │ │ ├── stats_clos_32x.pdf │ │ │ ├── stats_clos_32x.png │ │ │ ├── stats_selection_128x.pdf │ │ │ ├── stats_selection_128x.png │ │ │ ├── stats_selection_16x.pdf │ │ │ ├── stats_selection_16x.png │ │ │ ├── stats_selection_256x.pdf │ │ │ ├── stats_selection_256x.png │ │ │ ├── stats_selection_32x.pdf │ │ │ ├── stats_selection_32x.png │ │ │ ├── stats_selection_64x.pdf │ │ │ ├── stats_selection_64x.png │ │ │ ├── stats_selection_8x.pdf │ │ │ └── stats_selection_8x.png │ │ │ └── scripts │ │ │ ├── batch-clos.list │ │ │ ├── batch.list │ │ │ ├── src.list │ │ │ ├── synth.list │ │ │ ├── synth.tcl │ │ │ └── tb-src.list │ ├── cluster_peripherals │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── cluster_control_unit │ │ │ └── cluster_control_unit.sv │ │ ├── event_unit │ │ │ ├── HW_barrier.sv │ │ │ ├── HW_barrier_logic.sv │ │ │ ├── event_unit.sv │ │ │ ├── event_unit_arbiter.sv │ │ │ ├── event_unit_input.sv │ │ │ ├── event_unit_mux.sv │ │ │ ├── event_unit_sm.sv │ │ │ ├── include │ │ │ │ └── old_event_unit_defines.sv │ │ │ ├── interfaces │ │ │ │ ├── bbmux_config_bus.sv │ │ │ │ └── clkgate_config_bus.sv │ │ │ └── interrupt_mask.sv │ │ ├── icache_ctrl_unit │ │ │ ├── icache_ctrl_unit.sv │ │ │ ├── icache_ctrl_unit_address_map.xls │ │ │ ├── interfaces │ │ │ │ ├── l0_ctrl_unit_bus.sv │ │ │ │ ├── mp_icache_ctrl_unit_bus.sv │ │ │ │ ├── mp_pf_icache_ctrl_unit_bus.sv │ │ │ │ ├── pri_icache_ctrl_unit_bus.sv │ │ │ │ └── sp_icache_ctrl_unit_bus.sv │ │ │ ├── mp_icache_ctrl_unit.sv │ │ │ ├── mp_pf_icache_ctrl_unit.sv │ │ │ ├── new_icache_ctrl_unit.sv │ │ │ ├── pri_icache_ctrl_unit.sv │ │ │ └── sp_icache_ctrl_unit.sv │ │ ├── mmu_config_unit │ │ │ ├── interfaces │ │ │ │ └── mmu_config_bus.sv │ │ │ └── mmu_config_unit.sv │ │ ├── perf_counters_unit │ │ │ └── perf_counters_unit.sv │ │ ├── src_files.yml │ │ └── tcdm_pipe_unit │ │ │ └── tcdm_pipe_unit.sv │ ├── common_cells │ │ ├── .gitignore │ │ ├── .gitlab-ci.yml │ │ ├── .gitrepo │ │ ├── .travis.yml │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── ci │ │ │ └── install-verilator.sh │ │ ├── formal │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── counter.sby │ │ │ ├── counter_properties.sv │ │ │ ├── fall_through_register.sby │ │ │ ├── fall_through_register_properties.sv │ │ │ ├── fifo_v3.sby │ │ │ └── fifo_v3_properties.sv │ │ ├── include │ │ │ └── common_cells │ │ │ │ └── registers.svh │ │ ├── ips_list.yml │ │ ├── src │ │ │ ├── addr_decode.sv │ │ │ ├── cb_filter.sv │ │ │ ├── cdc_2phase.sv │ │ │ ├── cdc_fifo_2phase.sv │ │ │ ├── cdc_fifo_gray.sv │ │ │ ├── cf_math_pkg.sv │ │ │ ├── clk_div.sv │ │ │ ├── counter.sv │ │ │ ├── delta_counter.sv │ │ │ ├── deprecated │ │ │ │ ├── clock_divider.sv │ │ │ │ ├── clock_divider_counter.sv │ │ │ │ ├── fifo_v1.sv │ │ │ │ ├── fifo_v2.sv │ │ │ │ ├── find_first_one.sv │ │ │ │ ├── generic_LFSR_8bit.sv │ │ │ │ ├── generic_fifo.sv │ │ │ │ ├── generic_fifo_adv.sv │ │ │ │ ├── prioarbiter.sv │ │ │ │ ├── pulp_sync.sv │ │ │ │ ├── pulp_sync_wedge.sv │ │ │ │ └── rrarbiter.sv │ │ │ ├── ecc_decode.sv │ │ │ ├── ecc_encode.sv │ │ │ ├── ecc_pkg.sv │ │ │ ├── edge_detect.sv │ │ │ ├── edge_propagator.sv │ │ │ ├── edge_propagator_rx.sv │ │ │ ├── edge_propagator_tx.sv │ │ │ ├── exp_backoff.sv │ │ │ ├── fall_through_register.sv │ │ │ ├── fifo_v3.sv │ │ │ ├── graycode.sv │ │ │ ├── id_queue.sv │ │ │ ├── isochronous_spill_register.sv │ │ │ ├── lfsr.sv │ │ │ ├── lfsr_16bit.sv │ │ │ ├── lfsr_8bit.sv │ │ │ ├── lzc.sv │ │ │ ├── max_counter.sv │ │ │ ├── mv_filter.sv │ │ │ ├── onehot_to_bin.sv │ │ │ ├── plru_tree.sv │ │ │ ├── popcount.sv │ │ │ ├── rr_arb_tree.sv │ │ │ ├── rr_distributor.sv │ │ │ ├── rstgen.sv │ │ │ ├── rstgen_bypass.sv │ │ │ ├── serial_deglitch.sv │ │ │ ├── shift_reg.sv │ │ │ ├── spill_register.sv │ │ │ ├── stream_arbiter.sv │ │ │ ├── stream_arbiter_flushable.sv │ │ │ ├── stream_delay.sv │ │ │ ├── stream_demux.sv │ │ │ ├── stream_fifo.sv │ │ │ ├── stream_filter.sv │ │ │ ├── stream_fork.sv │ │ │ ├── stream_fork_dynamic.sv │ │ │ ├── stream_intf.sv │ │ │ ├── stream_join.sv │ │ │ ├── stream_mux.sv │ │ │ ├── stream_register.sv │ │ │ ├── stream_to_mem.sv │ │ │ ├── stream_xbar.sv │ │ │ ├── sub_per_hash.sv │ │ │ ├── sync.sv │ │ │ ├── sync_wedge.sv │ │ │ └── unread.sv │ │ ├── src_files.yml │ │ └── test │ │ │ ├── .gitignore │ │ │ ├── addr_decode_tb.sv │ │ │ ├── cb_filter_tb.sv │ │ │ ├── cdc_2phase_synth.sv │ │ │ ├── cdc_2phase_synth.tcl │ │ │ ├── cdc_2phase_tb.sv │ │ │ ├── cdc_fifo_tb.sv │ │ │ ├── ecc │ │ │ ├── ecc.cpp │ │ │ ├── ecc.h │ │ │ ├── ecc_decode.cpp │ │ │ └── ecc_encode.cpp │ │ │ ├── ecc_synth.sv │ │ │ ├── fifo_tb.sv │ │ │ ├── graycode_tb.sv │ │ │ ├── id_queue_synth.sv │ │ │ ├── id_queue_tb.sv │ │ │ ├── isochronous_spill_register_tb.sv │ │ │ ├── popcount_tb.sv │ │ │ ├── rr_arb_tree_tb.sv │ │ │ ├── simulate.sh │ │ │ ├── stream_arbiter_synth.sv │ │ │ ├── stream_register_tb.sv │ │ │ ├── stream_test.sv │ │ │ ├── stream_to_mem_tb.sv │ │ │ ├── stream_xbar_tb.sv │ │ │ ├── sub_per_hash_tb.sv │ │ │ ├── synth.sh │ │ │ ├── synth_bench.sv │ │ │ └── waves │ │ │ ├── addr_decode_tb.wave.do │ │ │ ├── cb_filter_tb.wave.do │ │ │ ├── cdc_2phase.tcl │ │ │ ├── cdc_fifo_2phase.tcl │ │ │ ├── cdc_fifo_gray.tcl │ │ │ ├── id_queue.do │ │ │ └── sub_per_hash_tb.wave.do │ ├── common_verification │ │ ├── .editorconfig │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ └── src │ │ │ ├── clk_rst_gen.sv │ │ │ ├── rand_id_queue.sv │ │ │ ├── rand_stream_mst.sv │ │ │ ├── rand_stream_slv.sv │ │ │ ├── rand_synch_driver.sv │ │ │ ├── rand_synch_holdable_driver.sv │ │ │ └── rand_verif_pkg.sv │ ├── event_unit_flex │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── event_unit_core.sv │ │ ├── event_unit_interface_mux.sv │ │ ├── event_unit_top.sv │ │ ├── hw_barrier_unit.sv │ │ ├── hw_dispatch.sv │ │ ├── hw_mutex_unit.sv │ │ ├── interc_sw_evt_trig.sv │ │ ├── message_bus.sv │ │ ├── soc_periph_fifo.sv │ │ └── src_files.yml │ ├── fpnew │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── docs │ │ │ ├── CHANGELOG.md │ │ │ ├── CODEOWNERS │ │ │ ├── CONTRIBUTING.md │ │ │ ├── README.md │ │ │ └── fig │ │ │ │ ├── multislice_block.png │ │ │ │ ├── opgrp_block.png │ │ │ │ ├── slice_block.png │ │ │ │ └── top_block.png │ │ ├── ips_list.yml │ │ ├── src │ │ │ ├── fpnew_cast_multi.sv │ │ │ ├── fpnew_classifier.sv │ │ │ ├── fpnew_divsqrt_multi.sv │ │ │ ├── fpnew_fma.sv │ │ │ ├── fpnew_fma_multi.sv │ │ │ ├── fpnew_noncomp.sv │ │ │ ├── fpnew_opgroup_block.sv │ │ │ ├── fpnew_opgroup_fmt_slice.sv │ │ │ ├── fpnew_opgroup_multifmt_slice.sv │ │ │ ├── fpnew_pkg.sv │ │ │ ├── fpnew_rounding.sv │ │ │ └── fpnew_top.sv │ │ └── src_files.yml │ ├── fpu_div_sqrt_mvp │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── document │ │ │ └── Datasheet_of_transprecision.pdf │ │ ├── hdl │ │ │ ├── .gitignore │ │ │ ├── control_mvp.sv │ │ │ ├── defs_div_sqrt_mvp.sv │ │ │ ├── div_sqrt_mvp_wrapper.sv │ │ │ ├── div_sqrt_top_mvp.sv │ │ │ ├── iteration_div_sqrt_mvp.sv │ │ │ ├── norm_div_sqrt_mvp.sv │ │ │ ├── nrbd_nrsc_mvp.sv │ │ │ └── preprocess_mvp.sv │ │ └── src_files.yml │ ├── icache-intc │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── DistributedArbitrationNetwork_Req_icache_intc.sv │ │ ├── DistributedArbitrationNetwork_Resp_icache_intc.sv │ │ ├── LICENSE │ │ ├── Req_Arb_Node_icache_intc.sv │ │ ├── Resp_Arb_Node_icache_intc.sv │ │ ├── RoutingBlock_2ch_Req_icache_intc.sv │ │ ├── RoutingBlock_Req_icache_intc.sv │ │ ├── RoutingBlock_Resp_icache_intc.sv │ │ ├── icache_intc.sv │ │ ├── lint_mux.sv │ │ ├── src_files.yml │ │ └── template.sv │ ├── icache_mp_128_pf │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── RTL │ │ │ ├── cache_controller_to_axi_128_PF.sv │ │ │ ├── central_controller_128.sv │ │ │ ├── icache_bank_mp_128.sv │ │ │ ├── icache_bank_mp_PF.sv │ │ │ ├── icache_top_mp_128_PF.sv │ │ │ ├── merge_refill_cam_128_16.sv │ │ │ ├── pf_miss_mux.sv │ │ │ └── prefetcher_if.sv │ │ ├── SIM │ │ │ └── compile_rtl.csh │ │ └── src_files.yml │ ├── per2axi │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── src │ │ │ ├── per2axi.sv │ │ │ ├── per2axi_busy_unit.sv │ │ │ ├── per2axi_req_channel.sv │ │ │ └── per2axi_res_channel.sv │ │ └── src_files.yml │ ├── pulp_cluster │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── ips_list.yml │ │ ├── packages │ │ │ ├── apu_package.sv │ │ │ └── pulp_cluster_package.sv │ │ ├── rtl │ │ │ ├── axi2per_wrap.sv │ │ │ ├── axi_slice_wrap.sv │ │ │ ├── cluster_bus_wrap.sv │ │ │ ├── cluster_clock_gate.sv │ │ │ ├── cluster_dma_frontend.sv │ │ │ ├── cluster_dma_frontend_regs.sv │ │ │ ├── cluster_dma_transfer_id_gen.sv │ │ │ ├── cluster_event_map.sv │ │ │ ├── cluster_interconnect_wrap.sv │ │ │ ├── cluster_peripherals.sv │ │ │ ├── cluster_timer_wrap.sv │ │ │ ├── core_demux.sv │ │ │ ├── core_region.sv │ │ │ ├── cpu_marx_if.sv │ │ │ ├── dmac_wrap.sv │ │ │ ├── per2axi_wrap.sv │ │ │ ├── per_demux_wrap.sv │ │ │ ├── periph_FIFO.sv │ │ │ ├── periph_demux.sv │ │ │ ├── pulp_cluster.sv │ │ │ ├── tryx_ctrl.sv │ │ │ └── xne_wrap.sv │ │ └── src_files.yml │ ├── riscv │ │ ├── .dir-locals.el │ │ ├── .gitignore │ │ ├── .gitlab-ci.yml │ │ ├── .travis.yml │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ci │ │ │ ├── Jenkinsfile │ │ │ ├── build-riscv-gcc.sh │ │ │ ├── get-gcc.sh │ │ │ ├── get-openocd.sh │ │ │ ├── install-verilator.sh │ │ │ ├── make-tmp.sh │ │ │ ├── openocd-to-junit.py │ │ │ ├── run-openocd-compliance.sh │ │ │ ├── rv32tests-to-junit.py │ │ │ └── veri-run-openocd-compliance.sh │ │ ├── doc │ │ │ ├── NONSECURED_RI5CY_DEBUG_reference.xlsx │ │ │ ├── SECURED_RI5CY_DEBUG_reference.xlsx │ │ │ └── user_manual.doc │ │ ├── rtl │ │ │ ├── include │ │ │ │ ├── apu_core_package.sv │ │ │ │ ├── apu_macros.sv │ │ │ │ ├── riscv_config.sv │ │ │ │ ├── riscv_defines.sv │ │ │ │ └── riscv_tracer_defines.sv │ │ │ ├── register_file_test_wrap.sv │ │ │ ├── riscv_L0_buffer.sv │ │ │ ├── riscv_alu.sv │ │ │ ├── riscv_alu_basic.sv │ │ │ ├── riscv_alu_div.sv │ │ │ ├── riscv_apu_disp.sv │ │ │ ├── riscv_compressed_decoder.sv │ │ │ ├── riscv_controller.sv │ │ │ ├── riscv_core.sv │ │ │ ├── riscv_cs_registers.sv │ │ │ ├── riscv_decoder.sv │ │ │ ├── riscv_ex_stage.sv │ │ │ ├── riscv_fetch_fifo.sv │ │ │ ├── riscv_hwloop_controller.sv │ │ │ ├── riscv_hwloop_regs.sv │ │ │ ├── riscv_id_stage.sv │ │ │ ├── riscv_if_stage.sv │ │ │ ├── riscv_int_controller.sv │ │ │ ├── riscv_load_store_unit.sv │ │ │ ├── riscv_mult.sv │ │ │ ├── riscv_pmp.sv │ │ │ ├── riscv_prefetch_L0_buffer.sv │ │ │ ├── riscv_prefetch_buffer.sv │ │ │ ├── riscv_register_file.sv │ │ │ ├── riscv_register_file_latch.sv │ │ │ └── riscv_tracer.sv │ │ ├── src_files.yml │ │ └── tb │ │ │ ├── core │ │ │ ├── .clang-format │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── cluster_clock_gating.sv │ │ │ ├── csmith │ │ │ │ ├── license_notes │ │ │ │ ├── link.ld │ │ │ │ ├── riscv-isa-sim.diff │ │ │ │ ├── start.S │ │ │ │ └── syscalls.c │ │ │ ├── custom │ │ │ │ ├── crt0.S │ │ │ │ ├── hello_world.c │ │ │ │ ├── link.ld │ │ │ │ ├── syscalls.c │ │ │ │ └── vectors.S │ │ │ ├── dp_ram.sv │ │ │ ├── firmware │ │ │ │ ├── README │ │ │ │ ├── firmware.h │ │ │ │ ├── link.ld │ │ │ │ ├── makehex.py │ │ │ │ ├── multest.c │ │ │ │ ├── print.c │ │ │ │ ├── riscv.ld │ │ │ │ ├── riscv.ld.orig │ │ │ │ ├── sieve.c │ │ │ │ ├── start.S │ │ │ │ └── stats.c │ │ │ ├── mm_ram.sv │ │ │ ├── riscv_compliance_tests │ │ │ │ ├── I-ADD-01.S │ │ │ │ ├── I-ADDI-01.S │ │ │ │ ├── I-AND-01.S │ │ │ │ ├── I-ANDI-01.S │ │ │ │ ├── I-AUIPC-01.S │ │ │ │ ├── I-BEQ-01.S │ │ │ │ ├── I-BGE-01.S │ │ │ │ ├── I-BGEU-01.S │ │ │ │ ├── I-BLT-01.S │ │ │ │ ├── I-BLTU-01.S │ │ │ │ ├── I-BNE-01.S │ │ │ │ ├── I-CSRRC-01.S │ │ │ │ ├── I-CSRRCI-01.S │ │ │ │ ├── I-CSRRS-01.S │ │ │ │ ├── I-CSRRSI-01.S │ │ │ │ ├── I-CSRRW-01.S │ │ │ │ ├── I-CSRRWI-01.S │ │ │ │ ├── I-DELAY_SLOTS-01.S │ │ │ │ ├── I-EBREAK-01.S │ │ │ │ ├── I-ECALL-01.S │ │ │ │ ├── I-ENDIANESS-01.S │ │ │ │ ├── I-FENCE.I-01.S │ │ │ │ ├── I-IO.S │ │ │ │ ├── I-JAL-01.S │ │ │ │ ├── I-JALR-01.S │ │ │ │ ├── I-LB-01.S │ │ │ │ ├── I-LBU-01.S │ │ │ │ ├── I-LH-01.S │ │ │ │ ├── I-LHU-01.S │ │ │ │ ├── I-LUI-01.S │ │ │ │ ├── I-LW-01.S │ │ │ │ ├── I-NOP-01.S │ │ │ │ ├── I-OR-01.S │ │ │ │ ├── I-ORI-01.S │ │ │ │ ├── I-RF_size-01.S │ │ │ │ ├── I-RF_width-01.S │ │ │ │ ├── I-RF_x0-01.S │ │ │ │ ├── I-SB-01.S │ │ │ │ ├── I-SH-01.S │ │ │ │ ├── I-SLL-01.S │ │ │ │ ├── I-SLLI-01.S │ │ │ │ ├── I-SLT-01.S │ │ │ │ ├── I-SLTI-01.S │ │ │ │ ├── I-SLTIU-01.S │ │ │ │ ├── I-SLTU-01.S │ │ │ │ ├── I-SRA-01.S │ │ │ │ ├── I-SRAI-01.S │ │ │ │ ├── I-SRL-01.S │ │ │ │ ├── I-SRLI-01.S │ │ │ │ ├── I-SUB-01.S │ │ │ │ ├── I-SW-01.S │ │ │ │ ├── I-XOR-01.S │ │ │ │ ├── I-XORI-01.S │ │ │ │ ├── aw_test_macros.h │ │ │ │ ├── compliance_io.h │ │ │ │ ├── compliance_test.h │ │ │ │ ├── disabled │ │ │ │ │ ├── I-FENCE.I-01.S │ │ │ │ │ ├── I-MISALIGN_JMP-01.S │ │ │ │ │ └── I-MISALIGN_LDST-01.S │ │ │ │ ├── riscv_test.h │ │ │ │ └── test_macros.h │ │ │ ├── riscv_tests │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── macros │ │ │ │ │ └── scalar │ │ │ │ │ │ └── test_macros.h │ │ │ │ ├── riscv_test.h │ │ │ │ ├── rv32mi │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── breakpoint.S │ │ │ │ │ ├── csr.S │ │ │ │ │ ├── illegal.S │ │ │ │ │ ├── ma_addr.S │ │ │ │ │ ├── ma_fetch.S │ │ │ │ │ ├── mcsr.S │ │ │ │ │ ├── sbreak.S │ │ │ │ │ ├── scall.S │ │ │ │ │ └── shamt.S │ │ │ │ ├── rv32si │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── csr.S │ │ │ │ │ ├── dirty.S │ │ │ │ │ ├── ma_fetch.S │ │ │ │ │ ├── sbreak.S │ │ │ │ │ ├── scall.S │ │ │ │ │ └── wfi.S │ │ │ │ ├── rv32ua │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── amoadd_w.S │ │ │ │ │ ├── amoand_w.S │ │ │ │ │ ├── amomax_w.S │ │ │ │ │ ├── amomaxu_w.S │ │ │ │ │ ├── amomin_w.S │ │ │ │ │ ├── amominu_w.S │ │ │ │ │ ├── amoor_w.S │ │ │ │ │ ├── amoswap_w.S │ │ │ │ │ ├── amoxor_w.S │ │ │ │ │ └── lrsc.S │ │ │ │ ├── rv32uc │ │ │ │ │ ├── Makefrag │ │ │ │ │ └── rvc.S │ │ │ │ ├── rv32ud │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── fadd.S │ │ │ │ │ ├── fclass.S │ │ │ │ │ ├── fcmp.S │ │ │ │ │ ├── fcvt.S │ │ │ │ │ ├── fcvt_w.S │ │ │ │ │ ├── fdiv.S │ │ │ │ │ ├── fmadd.S │ │ │ │ │ ├── fmin.S │ │ │ │ │ ├── ldst.S │ │ │ │ │ ├── move.S │ │ │ │ │ └── recoding.S │ │ │ │ ├── rv32uf │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── fadd.S │ │ │ │ │ ├── fclass.S │ │ │ │ │ ├── fcmp.S │ │ │ │ │ ├── fcvt.S │ │ │ │ │ ├── fcvt_w.S │ │ │ │ │ ├── fdiv.S │ │ │ │ │ ├── fmadd.S │ │ │ │ │ ├── fmin.S │ │ │ │ │ ├── ldst.S │ │ │ │ │ ├── move.S │ │ │ │ │ └── recoding.S │ │ │ │ ├── rv32ui │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── add.S │ │ │ │ │ ├── addi.S │ │ │ │ │ ├── and.S │ │ │ │ │ ├── andi.S │ │ │ │ │ ├── auipc.S │ │ │ │ │ ├── beq.S │ │ │ │ │ ├── bge.S │ │ │ │ │ ├── bgeu.S │ │ │ │ │ ├── blt.S │ │ │ │ │ ├── bltu.S │ │ │ │ │ ├── bne.S │ │ │ │ │ ├── fence_i.S │ │ │ │ │ ├── jal.S │ │ │ │ │ ├── jalr.S │ │ │ │ │ ├── lb.S │ │ │ │ │ ├── lbu.S │ │ │ │ │ ├── lh.S │ │ │ │ │ ├── lhu.S │ │ │ │ │ ├── lui.S │ │ │ │ │ ├── lw.S │ │ │ │ │ ├── or.S │ │ │ │ │ ├── ori.S │ │ │ │ │ ├── sb.S │ │ │ │ │ ├── sh.S │ │ │ │ │ ├── simple.S │ │ │ │ │ ├── sll.S │ │ │ │ │ ├── slli.S │ │ │ │ │ ├── slt.S │ │ │ │ │ ├── slti.S │ │ │ │ │ ├── sltiu.S │ │ │ │ │ ├── sltu.S │ │ │ │ │ ├── sra.S │ │ │ │ │ ├── srai.S │ │ │ │ │ ├── srl.S │ │ │ │ │ ├── srli.S │ │ │ │ │ ├── sub.S │ │ │ │ │ ├── sw.S │ │ │ │ │ ├── xor.S │ │ │ │ │ └── xori.S │ │ │ │ ├── rv32um │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── div.S │ │ │ │ │ ├── divu.S │ │ │ │ │ ├── mul.S │ │ │ │ │ ├── mulh.S │ │ │ │ │ ├── mulhsu.S │ │ │ │ │ ├── mulhu.S │ │ │ │ │ ├── rem.S │ │ │ │ │ └── remu.S │ │ │ │ ├── rv64mi │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── access.S │ │ │ │ │ ├── breakpoint.S │ │ │ │ │ ├── csr.S │ │ │ │ │ ├── illegal.S │ │ │ │ │ ├── ma_addr.S │ │ │ │ │ ├── ma_fetch.S │ │ │ │ │ ├── mcsr.S │ │ │ │ │ ├── sbreak.S │ │ │ │ │ └── scall.S │ │ │ │ ├── rv64si │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── csr.S │ │ │ │ │ ├── dirty.S │ │ │ │ │ ├── ma_fetch.S │ │ │ │ │ ├── sbreak.S │ │ │ │ │ ├── scall.S │ │ │ │ │ └── wfi.S │ │ │ │ ├── rv64ua │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── amoadd_d.S │ │ │ │ │ ├── amoadd_w.S │ │ │ │ │ ├── amoand_d.S │ │ │ │ │ ├── amoand_w.S │ │ │ │ │ ├── amomax_d.S │ │ │ │ │ ├── amomax_w.S │ │ │ │ │ ├── amomaxu_d.S │ │ │ │ │ ├── amomaxu_w.S │ │ │ │ │ ├── amomin_d.S │ │ │ │ │ ├── amomin_w.S │ │ │ │ │ ├── amominu_d.S │ │ │ │ │ ├── amominu_w.S │ │ │ │ │ ├── amoor_d.S │ │ │ │ │ ├── amoor_w.S │ │ │ │ │ ├── amoswap_d.S │ │ │ │ │ ├── amoswap_w.S │ │ │ │ │ ├── amoxor_d.S │ │ │ │ │ ├── amoxor_w.S │ │ │ │ │ └── lrsc.S │ │ │ │ ├── rv64uc │ │ │ │ │ ├── Makefrag │ │ │ │ │ └── rvc.S │ │ │ │ ├── rv64ud │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── fadd.S │ │ │ │ │ ├── fclass.S │ │ │ │ │ ├── fcmp.S │ │ │ │ │ ├── fcvt.S │ │ │ │ │ ├── fcvt_w.S │ │ │ │ │ ├── fdiv.S │ │ │ │ │ ├── fmadd.S │ │ │ │ │ ├── fmin.S │ │ │ │ │ ├── ldst.S │ │ │ │ │ ├── move.S │ │ │ │ │ ├── recoding.S │ │ │ │ │ └── structural.S │ │ │ │ ├── rv64uf │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── fadd.S │ │ │ │ │ ├── fclass.S │ │ │ │ │ ├── fcmp.S │ │ │ │ │ ├── fcvt.S │ │ │ │ │ ├── fcvt_w.S │ │ │ │ │ ├── fdiv.S │ │ │ │ │ ├── fmadd.S │ │ │ │ │ ├── fmin.S │ │ │ │ │ ├── ldst.S │ │ │ │ │ ├── move.S │ │ │ │ │ └── recoding.S │ │ │ │ ├── rv64ui │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── add.S │ │ │ │ │ ├── addi.S │ │ │ │ │ ├── addiw.S │ │ │ │ │ ├── addw.S │ │ │ │ │ ├── and.S │ │ │ │ │ ├── andi.S │ │ │ │ │ ├── auipc.S │ │ │ │ │ ├── beq.S │ │ │ │ │ ├── bge.S │ │ │ │ │ ├── bgeu.S │ │ │ │ │ ├── blt.S │ │ │ │ │ ├── bltu.S │ │ │ │ │ ├── bne.S │ │ │ │ │ ├── fence_i.S │ │ │ │ │ ├── jal.S │ │ │ │ │ ├── jalr.S │ │ │ │ │ ├── lb.S │ │ │ │ │ ├── lbu.S │ │ │ │ │ ├── ld.S │ │ │ │ │ ├── lh.S │ │ │ │ │ ├── lhu.S │ │ │ │ │ ├── lui.S │ │ │ │ │ ├── lw.S │ │ │ │ │ ├── lwu.S │ │ │ │ │ ├── or.S │ │ │ │ │ ├── ori.S │ │ │ │ │ ├── sb.S │ │ │ │ │ ├── sd.S │ │ │ │ │ ├── sh.S │ │ │ │ │ ├── simple.S │ │ │ │ │ ├── sll.S │ │ │ │ │ ├── slli.S │ │ │ │ │ ├── slliw.S │ │ │ │ │ ├── sllw.S │ │ │ │ │ ├── slt.S │ │ │ │ │ ├── slti.S │ │ │ │ │ ├── sltiu.S │ │ │ │ │ ├── sltu.S │ │ │ │ │ ├── sra.S │ │ │ │ │ ├── srai.S │ │ │ │ │ ├── sraiw.S │ │ │ │ │ ├── sraw.S │ │ │ │ │ ├── srl.S │ │ │ │ │ ├── srli.S │ │ │ │ │ ├── srliw.S │ │ │ │ │ ├── srlw.S │ │ │ │ │ ├── sub.S │ │ │ │ │ ├── subw.S │ │ │ │ │ ├── sw.S │ │ │ │ │ ├── xor.S │ │ │ │ │ └── xori.S │ │ │ │ └── rv64um │ │ │ │ │ ├── Makefrag │ │ │ │ │ ├── div.S │ │ │ │ │ ├── divu.S │ │ │ │ │ ├── divuw.S │ │ │ │ │ ├── divw.S │ │ │ │ │ ├── mul.S │ │ │ │ │ ├── mulh.S │ │ │ │ │ ├── mulhsu.S │ │ │ │ │ ├── mulhu.S │ │ │ │ │ ├── mulw.S │ │ │ │ │ ├── rem.S │ │ │ │ │ ├── remu.S │ │ │ │ │ ├── remuw.S │ │ │ │ │ └── remw.S │ │ │ ├── riscv_wrapper.sv │ │ │ ├── software.tcl │ │ │ ├── tb_top.sv │ │ │ ├── tb_top_verilator.cpp │ │ │ ├── tb_top_verilator.sv │ │ │ ├── vsim.tcl │ │ │ └── waves.tcl │ │ │ ├── dm │ │ │ ├── .clang-format │ │ │ ├── .gitignore │ │ │ ├── LICENSE.Berkeley │ │ │ ├── LICENSE.SiFive │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── SimJTAG.sv │ │ │ ├── boot_rom.sv │ │ │ ├── dp_ram.sv │ │ │ ├── mm_ram.sv │ │ │ ├── prog │ │ │ │ ├── link.ld │ │ │ │ ├── start.S │ │ │ │ ├── syscalls.c │ │ │ │ └── test.c │ │ │ ├── pulpissimo_compliance_test.cfg │ │ │ ├── pulpissimo_debug.cfg │ │ │ ├── remote_bitbang │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── rbs_test.c │ │ │ │ ├── remote_bitbang.c │ │ │ │ ├── remote_bitbang.h │ │ │ │ └── sim_jtag.c │ │ │ ├── riscv_tb_pkg.sv │ │ │ ├── tb_test_env.sv │ │ │ ├── tb_top.sv │ │ │ ├── tb_top_verilator.cpp │ │ │ ├── tb_top_verilator.sv │ │ │ ├── unused │ │ │ │ └── SimDTM.sv │ │ │ ├── vsim_batch.tcl │ │ │ ├── vsim_gui.tcl │ │ │ └── waves.tcl │ │ │ ├── scripts │ │ │ └── pulptrace │ │ │ ├── serDiv │ │ │ ├── scripts │ │ │ │ ├── compile.sh │ │ │ │ ├── sim.sh │ │ │ │ ├── tb.do │ │ │ │ ├── tb_nogui.do │ │ │ │ └── wave.do │ │ │ ├── tb.sv │ │ │ ├── tb_div.sv │ │ │ ├── tb_rem.sv │ │ │ ├── tb_udiv.sv │ │ │ └── tb_urem.sv │ │ │ ├── tb_MPU │ │ │ └── tb.sv │ │ │ ├── tb_riscv │ │ │ ├── README.md │ │ │ ├── include │ │ │ │ └── perturbation_defines.sv │ │ │ ├── riscv_perturbation.sv │ │ │ ├── riscv_random_interrupt_generator.sv │ │ │ ├── riscv_random_stall.sv │ │ │ ├── riscv_simchecker.sv │ │ │ └── tb_riscv_core.sv │ │ │ └── verilator-model │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── cluster_clock_gating.sv │ │ │ ├── dp_ram.sv │ │ │ ├── ram.sv │ │ │ ├── testbench.cpp │ │ │ └── top.sv │ ├── scm │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── fpga_scm │ │ │ ├── register_file_1r_1w.sv │ │ │ ├── register_file_1r_1w_1row.sv │ │ │ ├── register_file_1r_1w_all.sv │ │ │ ├── register_file_1r_1w_be.sv │ │ │ ├── register_file_1r_1w_raw.sv │ │ │ ├── register_file_1w_64b_1r_32b.sv │ │ │ ├── register_file_1w_64b_multi_port_read_32b.sv │ │ │ ├── register_file_1w_multi_port_read.sv │ │ │ ├── register_file_2r_1w_asymm.sv │ │ │ ├── register_file_2r_1w_asymm_test_wrap.sv │ │ │ ├── register_file_2r_2w.sv │ │ │ └── register_file_3r_2w.sv │ │ ├── latch_scm │ │ │ ├── register_file_1r_1w.sv │ │ │ ├── register_file_1r_1w_1row.sv │ │ │ ├── register_file_1r_1w_all.sv │ │ │ ├── register_file_1r_1w_all_test_wrap.sv │ │ │ ├── register_file_1r_1w_be.sv │ │ │ ├── register_file_1r_1w_test_wrap.sv │ │ │ ├── register_file_1w_128b_multi_port_read_32b.sv │ │ │ ├── register_file_1w_64b_1r_32b.sv │ │ │ ├── register_file_1w_64b_multi_port_read_128b.sv │ │ │ ├── register_file_1w_64b_multi_port_read_32b.sv │ │ │ ├── register_file_1w_64b_multi_port_read_32b_1row.sv │ │ │ ├── register_file_1w_multi_port_read.sv │ │ │ ├── register_file_1w_multi_port_read_1row.sv │ │ │ ├── register_file_1w_multi_port_read_be.sv │ │ │ ├── register_file_2r_1w_asymm.sv │ │ │ ├── register_file_2r_1w_asymm_test_wrap.sv │ │ │ ├── register_file_2r_2w.sv │ │ │ ├── register_file_3r_2w.sv │ │ │ ├── register_file_3r_2w_be.sv │ │ │ ├── register_file_multi_way_1w_64b_multi_port_read_32b.sv │ │ │ └── register_file_multi_way_1w_multi_port_read.sv │ │ └── src_files.yml │ ├── tech_cells_generic │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── scripts │ │ │ ├── compile_vsim.sh │ │ │ ├── run_vsim.sh │ │ │ ├── run_xsim.sh │ │ │ └── vivado │ │ │ │ └── run_xsim.tcl │ │ ├── src │ │ │ ├── deprecated │ │ │ │ ├── cluster_clk_cells.sv │ │ │ │ ├── cluster_clk_cells_xilinx.sv │ │ │ │ ├── cluster_pwr_cells.sv │ │ │ │ ├── generic_memory.sv │ │ │ │ ├── generic_rom.sv │ │ │ │ ├── pad_functional.sv │ │ │ │ ├── pulp_buffer.sv │ │ │ │ ├── pulp_clk_cells.sv │ │ │ │ ├── pulp_clk_cells_xilinx.sv │ │ │ │ ├── pulp_clock_gating_async.sv │ │ │ │ └── pulp_pwr_cells.sv │ │ │ ├── fpga │ │ │ │ ├── tc_clk_xilinx.sv │ │ │ │ └── tc_sram_xilinx.sv │ │ │ ├── rtl │ │ │ │ ├── tc_clk.sv │ │ │ │ └── tc_sram.sv │ │ │ └── tc_pwr.sv │ │ ├── src_files.yml │ │ └── test │ │ │ └── tb_tc_sram.sv │ └── timer_unit │ │ ├── .gitignore │ │ ├── Bender.yml │ │ ├── LICENSE │ │ ├── doc │ │ ├── TIMER_UNIT_reference.xlsx │ │ └── timer_unit.pdf │ │ ├── rtl │ │ ├── apb_timer_unit.sv │ │ ├── timer_unit.sv │ │ ├── timer_unit_counter.sv │ │ └── timer_unit_counter_presc.sv │ │ └── src_files.yml ├── fpga │ ├── .gitignore │ ├── Makefile │ ├── hero_exilzcu102.tcl │ ├── hero_exilzcu102_debug.xdc │ ├── src │ │ ├── pulp.py │ │ └── pulp.template_v │ └── vivado_ips │ │ ├── .gitignore │ │ ├── pulp_txilzu9eg.tcl │ │ ├── pulp_txilzu9eg.v │ │ ├── pulp_txilzu9eg_impl.xdc │ │ └── pulp_txilzu9eg_synth.xdc ├── src │ ├── apb │ │ ├── apb_bus.sv │ │ ├── apb_bus_wrap.sv │ │ ├── apb_ro_regs.sv │ │ ├── apb_rw_regs.sv │ │ ├── apb_stdout.sv │ │ └── include │ │ │ └── apb │ │ │ └── assign.svh │ ├── dmac_wrap_ooc.sv │ ├── hero_axi_mailbox.sv │ ├── l2_mem.sv │ ├── pulp.sv │ ├── pulp_cluster_cfg_pkg.sv │ ├── pulp_cluster_ooc.sv │ ├── pulp_ooc.sv │ ├── soc_bus.sv │ ├── soc_ctrl_regs.sv │ └── soc_peripherals.sv ├── test │ ├── .gitignore │ ├── gen_slm_files.sh │ ├── pulp_tb.sv │ └── pulp_tb.wave.do └── vsim │ ├── .gitignore │ ├── compile.sh │ ├── run.tcl │ └── start_sim.sh ├── openmp-examples ├── .editorconfig ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── common │ ├── bench.h │ ├── default.mk │ ├── extract_device_image.py │ ├── hero_64.h │ └── one_word_per_line.py ├── darknet-layer │ ├── .gitignore │ ├── LICENSE.Apache-2.0 │ ├── LICENSE.MIT │ ├── Makefile │ ├── README.md │ ├── gemm.c │ ├── gemm.h │ ├── gemm_layers.c │ ├── gemm_layers.h │ ├── inputs │ └── main.c ├── darknet │ ├── .gitignore │ ├── LICENSE.Apache-2.0 │ ├── LICENSE.MIT │ ├── Makefile │ ├── README.md │ ├── activation_layer.c │ ├── activation_layer.h │ ├── activations.c │ ├── activations.h │ ├── avgpool_layer.c │ ├── avgpool_layer.h │ ├── batchnorm_layer.c │ ├── batchnorm_layer.h │ ├── blas.c │ ├── blas.h │ ├── box.c │ ├── box.h │ ├── col2im.c │ ├── col2im.h │ ├── connected_layer.c │ ├── connected_layer.h │ ├── convolutional_layer.c │ ├── convolutional_layer.h │ ├── cost_layer.c │ ├── cost_layer.h │ ├── crnn_layer.c │ ├── crnn_layer.h │ ├── crop_layer.c │ ├── crop_layer.h │ ├── cuda.c │ ├── cuda.h │ ├── darknet.h │ ├── data.c │ ├── data.h │ ├── deconvolutional_layer.c │ ├── deconvolutional_layer.h │ ├── demo.c │ ├── demo.h │ ├── detection_layer.c │ ├── detection_layer.h │ ├── dropout_layer.c │ ├── dropout_layer.h │ ├── gemm.c │ ├── gemm.h │ ├── gemm_layers.c │ ├── gemm_layers.h │ ├── gru_layer.c │ ├── gru_layer.h │ ├── im2col.c │ ├── im2col.h │ ├── image.c │ ├── image.h │ ├── image_opencv.cpp │ ├── inputs │ │ ├── .gitattributes │ │ ├── cfg │ │ │ ├── coco.data │ │ │ └── yolov3-tiny.cfg │ │ ├── data │ │ │ ├── coco.names │ │ │ └── dog.jpg │ │ └── yolov3-tiny.weights │ ├── iseg_layer.c │ ├── iseg_layer.h │ ├── l2norm_layer.c │ ├── l2norm_layer.h │ ├── layer.c │ ├── layer.h │ ├── list.c │ ├── list.h │ ├── local_layer.c │ ├── local_layer.h │ ├── logistic_layer.c │ ├── logistic_layer.h │ ├── lstm_layer.c │ ├── lstm_layer.h │ ├── main.c │ ├── matrix.c │ ├── matrix.h │ ├── maxpool_layer.c │ ├── maxpool_layer.h │ ├── network.c │ ├── network.h │ ├── normalization_layer.c │ ├── normalization_layer.h │ ├── option_list.c │ ├── option_list.h │ ├── parser.c │ ├── parser.h │ ├── region_layer.c │ ├── region_layer.h │ ├── reorg_layer.c │ ├── reorg_layer.h │ ├── rnn_layer.c │ ├── rnn_layer.h │ ├── route_layer.c │ ├── route_layer.h │ ├── shortcut_layer.c │ ├── shortcut_layer.h │ ├── softmax_layer.c │ ├── softmax_layer.h │ ├── static_layer_generator.py │ ├── stb_image.h │ ├── stb_image_write.h │ ├── tree.c │ ├── tree.h │ ├── upsample_layer.c │ ├── upsample_layer.h │ ├── utils.c │ ├── utils.h │ ├── yolo_layer.c │ └── yolo_layer.h ├── dma-perf │ ├── .gitignore │ ├── Makefile │ ├── dma-perf.c │ └── evaluate ├── helloworld │ ├── .gitignore │ ├── Makefile │ └── helloworld.c ├── linked-list │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── erdos-10000.txt │ ├── linked-list.c │ ├── testset.cfg │ └── tutte.txt ├── mm-large │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── mm-large.c │ └── testset.cfg ├── mm-small │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── mm-small.c │ └── testset.cfg ├── polybench-acc │ ├── 2mm │ │ ├── .gitignore │ │ ├── 2mm.c │ │ ├── 2mm.exp │ │ ├── 2mm.h │ │ └── Makefile │ ├── 3mm │ │ ├── .gitignore │ │ ├── 3mm.c │ │ ├── 3mm.exp │ │ ├── 3mm.h │ │ └── Makefile │ ├── LICENSE │ ├── README.md │ ├── atax │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── atax.c │ │ ├── atax.exp │ │ └── atax.h │ ├── bicg │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── bicg.c │ │ ├── bicg.exp │ │ └── bicg.h │ ├── common │ │ ├── .gitignore │ │ ├── polybench.c │ │ ├── polybench.h │ │ ├── polybench.mk │ │ └── polybenchUtilFuncts.h │ ├── convolution-2d │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── convolution-2d.c │ │ ├── convolution-2d.exp │ │ └── convolution-2d.h │ ├── covariance │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── covariance.c │ │ ├── covariance.exp │ │ └── covariance.h │ └── gemm │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── gemm.c │ │ ├── gemm.exp │ │ └── gemm.h ├── sobel-filter │ ├── .gitignore │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── file_operations.c │ ├── file_operations.h │ ├── imgs │ │ └── img.png │ ├── macros.h │ ├── main.c │ ├── readme_imgs │ │ ├── imgin.png │ │ └── imgout.png │ ├── sobel.c │ ├── sobel.h │ └── testset.cfg ├── tests-hero │ └── perf │ │ ├── .gitignore │ │ ├── Makefile │ │ └── perf.c ├── tests-pulp │ ├── Makefile │ ├── api │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── dma.c │ │ ├── main.c │ │ └── perf.c │ ├── compiler │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── addr_trunc.c │ │ ├── main.c │ │ ├── memset.c │ │ └── va_list.c │ ├── hero_64 │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── hero_64.c │ │ └── main.c │ ├── include │ │ ├── common.mk │ │ ├── omp_my_sleep.h │ │ ├── omp_testsuite.h │ │ ├── report.h │ │ └── test.h │ ├── omp_atomic │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── main.c │ │ └── omp_atomic.c │ ├── omp_gcc │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── gcc_omp_parallel_for_schedule_dynamic.c │ │ ├── gcc_omp_parallel_for_schedule_static.c │ │ └── main.c │ ├── omp_sync │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── main.c │ │ ├── omp_barrier.c │ │ ├── omp_critical.c │ │ ├── omp_master_3.c │ │ └── omp_single.c │ ├── omp_worksharing_for │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── main.c │ │ ├── omp_for_schedule_dynamic.c │ │ ├── omp_for_schedule_static.c │ │ ├── omp_parallel_for_firstprivate.c │ │ ├── omp_parallel_for_lastprivate.c │ │ ├── omp_parallel_for_private.c │ │ └── omp_parallel_for_reduction.c │ ├── omp_worksharing_sections │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── main.c │ │ ├── omp_parallel_sections_firstprivate.c │ │ ├── omp_parallel_sections_lastprivate.c │ │ ├── omp_parallel_sections_private.c │ │ ├── omp_parallel_sections_reduction.c │ │ ├── omp_section_firstprivate.c │ │ ├── omp_section_lastprivate.c │ │ ├── omp_section_private.c │ │ └── omp_sections_reduction.c │ └── pulp │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── atomic.c │ │ ├── floats.c │ │ ├── intrinsics.c │ │ ├── m_instrs.c │ │ ├── main.c │ │ └── qsort.c └── testset.cfg ├── package ├── Config.in ├── README.md ├── ariane-support │ ├── Config.in │ ├── S20urandom │ ├── S30ethfix │ └── ariane-support.mk ├── hero-apps │ ├── Config.in │ └── hero-apps.mk ├── hero-openmp │ ├── Config.in │ └── hero-openmk.mk ├── libhero-target │ ├── Config.in │ └── libhero-target.mk ├── libpulp │ ├── Config.in │ └── libpulp.mk ├── prem-cmux │ ├── Config.in │ └── prem-cmux.mk ├── pulp-driver │ ├── Config.in │ └── pulp-driver.mk ├── riscv-pk-ariane │ ├── 0001-allow-boot-nonchangeable-misa.patch │ ├── 0002-disable-stack-protector.patch │ ├── Config.in │ └── riscv-pk-ariane.mk ├── vitetris │ ├── Config.in │ └── vitetris.mk └── zynq-mkbootimage │ ├── Config.in.host │ └── zynq-mkbootimage.mk ├── petalinux ├── .gitignore ├── recipes-apps │ ├── init-exec-scripts │ │ ├── files │ │ │ └── init-exec-scripts │ │ └── init-exec-scripts.bb.patch │ ├── init-mount │ │ ├── files │ │ │ └── init-mount │ │ └── init-mount.bb.patch │ └── sysctl-conf │ │ ├── files │ │ ├── .gitignore │ │ └── README │ │ └── sysctl-conf.bb.patch └── zcu102.sh ├── pulp ├── README.md ├── refs │ ├── hero-sim │ │ ├── cl_config.h │ │ ├── config.ld │ │ └── fc_config.h │ ├── hero-urania │ │ ├── cl_config.h │ │ ├── config.ld │ │ └── fc_config.h │ ├── hero-z-7045 │ │ ├── cl_config.h │ │ ├── config.ld │ │ └── fc_config.h │ ├── omptarget.ld │ └── rt_conf.c ├── sdk │ ├── .gitignore │ ├── .gitmodules │ ├── .gitrepo │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── ci.makefile │ ├── configs │ │ ├── arnold.sh │ │ ├── bigpulp-standalone.sh │ │ ├── bigpulp-z-7045.sh │ │ ├── bigpulp.sh │ │ ├── fulmine.sh │ │ ├── gap.sh │ │ ├── hero-urania.sh │ │ ├── hero-z-7045.sh │ │ ├── honey.sh │ │ ├── json │ │ │ ├── arnold.json │ │ │ ├── bigpulp-standalone.json │ │ │ ├── bigpulp-z-7045.json │ │ │ ├── bigpulp.json │ │ │ ├── fulmine.json │ │ │ ├── gap.json │ │ │ ├── hero-urania.json │ │ │ ├── hero-z-7045.json │ │ │ ├── honey.json │ │ │ ├── multino.json │ │ │ ├── neuraghe.json │ │ │ ├── oprecompkw.json │ │ │ ├── oprecompkw_sa.json │ │ │ ├── oprecompkw_sfloat.json │ │ │ ├── oprecompkw_sfloat_sa.json │ │ │ ├── oprecompkw_sfloat_sa_dual_regfile.json │ │ │ ├── pulp.json │ │ │ ├── pulpissimo-microriscy.json │ │ │ ├── pulpissimo-riscy.json │ │ │ ├── pulpissimo-zeroriscy.json │ │ │ ├── pulpissimo.json │ │ │ ├── quentin.json │ │ │ ├── vega.json │ │ │ ├── vivosoc2.json │ │ │ ├── vivosoc2_1.json │ │ │ ├── vivosoc3.json │ │ │ └── wolfe.json │ │ ├── multino.sh │ │ ├── neuraghe.sh │ │ ├── oprecompkw.sh │ │ ├── oprecompkw_sa.sh │ │ ├── oprecompkw_sfloat.sh │ │ ├── oprecompkw_sfloat_sa.sh │ │ ├── oprecompkw_sfloat_sa_dual_regfile.sh │ │ ├── platform-board.sh │ │ ├── platform-fpga.sh │ │ ├── platform-gvsoc.sh │ │ ├── platform-hsa.sh │ │ ├── platform-rtl.sh │ │ ├── pulp.sh │ │ ├── pulpissimo-microriscy.sh │ │ ├── pulpissimo-riscy.sh │ │ ├── pulpissimo-zeroriscy.sh │ │ ├── pulpissimo.sh │ │ ├── quentin.sh │ │ ├── vega.sh │ │ ├── vivosoc2.sh │ │ ├── vivosoc2_1.sh │ │ ├── vivosoc3.sh │ │ └── wolfe.sh │ ├── doc │ │ ├── Makefile │ │ ├── dox │ │ │ ├── .gitignore │ │ │ ├── Doxygen_Templates │ │ │ │ ├── DoxygenLayout_forUser.xml │ │ │ │ ├── _cp_search.bat │ │ │ │ ├── check.png │ │ │ │ ├── navtree.css │ │ │ │ ├── printComponentTabs.js │ │ │ │ ├── pulp.css │ │ │ │ ├── pulp_dap_header.html │ │ │ │ ├── pulp_footer.html │ │ │ │ ├── pulp_header.html │ │ │ │ ├── search.css │ │ │ │ ├── tab_topnav.png │ │ │ │ └── tabs.css │ │ │ ├── Makefile │ │ │ ├── groups.h │ │ │ └── pulp-rt │ │ │ │ ├── Pulp_logo_inline.png │ │ │ │ └── pulp-rt.dxy │ │ └── top │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── board.rst │ │ │ ├── conf.py │ │ │ ├── configuration.rst │ │ │ ├── index.rst │ │ │ ├── issues.rst │ │ │ ├── makefile.rst │ │ │ ├── references.rst │ │ │ └── virtual_platform.rst │ ├── get-platform │ ├── init.csh │ ├── init.sh │ ├── install │ │ ├── Makefile │ │ ├── configs │ │ ├── env │ │ │ ├── setup.csh │ │ │ └── setup.sh │ │ ├── gap.sh │ │ └── setup.sh │ ├── project.cfg │ ├── pulp-configs │ │ ├── .gitignore │ │ ├── .gitrepo │ │ ├── CMake │ │ │ ├── FindAddJsonTools.cmake │ │ │ ├── FindAddPulpConfigs.cmake │ │ │ └── FindPythonModule.cmake │ │ ├── CMakeLists.txt │ │ ├── Makefile │ │ ├── bin │ │ │ ├── comp_gen.py │ │ │ ├── pulp_chip_gen │ │ │ ├── pulp_cluster_gen │ │ │ ├── pulp_config_gen │ │ │ ├── pulp_graph_gen │ │ │ ├── pulp_soc_gen │ │ │ ├── pulp_system_gen │ │ │ ├── pulp_top_gen │ │ │ ├── pulp_usecase_gen │ │ │ └── pulp_user_config_gen │ │ └── configs │ │ │ ├── bigpulp-z-7045.json │ │ │ ├── bigpulp-z-7045_system.json │ │ │ ├── bigpulp-zux.json │ │ │ ├── bigpulp-zux_system.json │ │ │ ├── bigpulp.json │ │ │ ├── bigpulp_system.json │ │ │ ├── chips │ │ │ ├── arnold │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── bigpulp-standalone │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── bigpulp-z-7045 │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── bigpulp │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── gap │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── hero-urania │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── hero-urania.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── hero-z-7045 │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── multino │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── cluster_1.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── neuraghe │ │ │ │ └── soc.json │ │ │ ├── oprecompkw │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── job_fifo.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── oprecompkw_sa │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── job_fifo.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── oprecompkw_sfloat │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── job_fifo.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── oprecompkw_sfloat_sa │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── job_fifo.json │ │ │ │ ├── padframe.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── oprecompkw_sfloat_sa_dual_regfile │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── job_fifo.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── pulp │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── pulpissimo-microriscy │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── pulpissimo-riscy │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── pulpissimo-zeroriscy │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── pulpissimo │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── vega │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ ├── soc_events.json │ │ │ │ └── system.json │ │ │ ├── vivosoc3 │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ └── wolfe │ │ │ │ ├── apb_soc.json │ │ │ │ ├── chip.json │ │ │ │ ├── cluster_0.json │ │ │ │ ├── defaults.json │ │ │ │ ├── soc.json │ │ │ │ └── system.json │ │ │ ├── defaults.json │ │ │ ├── devchip.json │ │ │ ├── devchip_system.json │ │ │ ├── fulmine.json │ │ │ ├── fulmine_system.json │ │ │ ├── gap.json │ │ │ ├── gap_system.json │ │ │ ├── gvsoc.json │ │ │ ├── hero-z-7045.json │ │ │ ├── hero-z-7045_system.json │ │ │ ├── honey.json │ │ │ ├── honey_system.json │ │ │ ├── ips │ │ │ ├── adv_dbg_unit │ │ │ │ └── adv_dbg_unit.json │ │ │ ├── apb_soc_template.json │ │ │ ├── apb_soc_v1.json │ │ │ ├── apb_soc_v2.json │ │ │ ├── apb_soc_v3.json │ │ │ ├── apb_soc_v3_help.json │ │ │ ├── apb_soc_v4.json │ │ │ ├── apb_soc_vivosoc3.json │ │ │ ├── archi_host │ │ │ │ └── archi_host_v1.json │ │ │ ├── ariane.json │ │ │ ├── bigpulp │ │ │ │ └── soc_bigpulp.json │ │ │ ├── cluster_ctrl_v2.json │ │ │ ├── cluster_v3.json │ │ │ ├── cluster_v4.json │ │ │ ├── cluster_v5.json │ │ │ ├── cluster_v5_fpu.json │ │ │ ├── cluster_v5_template.json │ │ │ ├── cluster_v6.json │ │ │ ├── cluster_v6_template.json │ │ │ ├── devchip │ │ │ │ ├── padframe.json │ │ │ │ ├── soc.json │ │ │ │ └── udma.json │ │ │ ├── efuse_v1.json │ │ │ ├── eu_v1.json │ │ │ ├── eu_v3.json │ │ │ ├── eu_v3_sec.json │ │ │ ├── fll_v1.json │ │ │ ├── fulmine │ │ │ │ └── padframe.json │ │ │ ├── gap │ │ │ │ ├── padframe.json │ │ │ │ ├── soc_gap.json │ │ │ │ └── udma_gap.json │ │ │ ├── gpio_v2.json │ │ │ ├── hwce_v4.json │ │ │ ├── hwce_v5.json │ │ │ ├── hwme_v1.json │ │ │ ├── icache_ctrl_v1.json │ │ │ ├── icache_ctrl_v2.json │ │ │ ├── interco │ │ │ │ ├── converter.json │ │ │ │ ├── interleaver.json │ │ │ │ ├── l1_interleaver.json │ │ │ │ ├── l1_tas.json │ │ │ │ └── router.json │ │ │ ├── itc_v1.json │ │ │ ├── mailbox │ │ │ │ └── mailbox_v0.json │ │ │ ├── mchan_v4.json │ │ │ ├── mchan_v5.json │ │ │ ├── mchan_v6.json │ │ │ ├── mchan_v7.json │ │ │ ├── memory │ │ │ │ └── ddr.json │ │ │ ├── microriscy.json │ │ │ ├── or10n_v2.json │ │ │ ├── padframe │ │ │ │ └── padframe_v1.json │ │ │ ├── pmu_v1.json │ │ │ ├── pmu_v2.json │ │ │ ├── pmu_v3.json │ │ │ ├── quentin │ │ │ │ ├── padframe.json │ │ │ │ └── soc_quentin.json │ │ │ ├── rab │ │ │ │ └── rab_v1.json │ │ │ ├── ri5ky_v0.json │ │ │ ├── ri5ky_v1.json │ │ │ ├── ri5ky_v2.json │ │ │ ├── ri5ky_v2_a.json │ │ │ ├── ri5ky_v2_cplx.json │ │ │ ├── ri5ky_v2_fpu.json │ │ │ ├── ri5ky_v2_fpu_a.json │ │ │ ├── ri5ky_v2_fpu_sec.json │ │ │ ├── ri5ky_v2_sec.json │ │ │ ├── ri5ky_v2_sfloat.json │ │ │ ├── ri5ky_v2_sfloat_single_regfile.json │ │ │ ├── rom_v2.json │ │ │ ├── rtc.json │ │ │ ├── soc_eu_v1.h │ │ │ ├── soc_eu_v1.json │ │ │ ├── soc_eu_v2.json │ │ │ ├── soc_v4.2.json │ │ │ ├── soc_v4.3.json │ │ │ ├── soc_v4.4.json │ │ │ ├── spi_master_v1.json │ │ │ ├── stdout_v2.json │ │ │ ├── stdout_v3.json │ │ │ ├── timer_v1.json │ │ │ ├── timer_v2.json │ │ │ ├── tryx │ │ │ │ └── tryx_v1.json │ │ │ ├── uart_v0.json │ │ │ ├── udma │ │ │ │ ├── udma_v1.json │ │ │ │ ├── udma_v2.json │ │ │ │ └── udma_v3.json │ │ │ ├── udma_v2.1.json │ │ │ ├── udma_v2.2.json │ │ │ ├── vega │ │ │ │ ├── padframe.json │ │ │ │ ├── soc.json │ │ │ │ └── udma.json │ │ │ ├── vendors │ │ │ │ └── iid │ │ │ │ │ └── quiddikey_v1.json │ │ │ ├── vivosoc3 │ │ │ │ └── padframe.json │ │ │ ├── wolfe │ │ │ │ └── padframe.json │ │ │ ├── xne_v1.json │ │ │ └── zeroriscy.json │ │ │ ├── kerbin.json │ │ │ ├── kerbin_system.json │ │ │ ├── lupo.json │ │ │ ├── lupo_system.json │ │ │ ├── multino.json │ │ │ ├── multino_system.json │ │ │ ├── neuraghe.json │ │ │ ├── neuraghe_system.json │ │ │ ├── oprecompkw.json │ │ │ ├── periph │ │ │ ├── camera.json │ │ │ ├── dpi_wrapper.json │ │ │ ├── hyper.json │ │ │ ├── hyperflash.json │ │ │ ├── hyperram.json │ │ │ ├── jtag_proxy.json │ │ │ ├── spim_verif.json │ │ │ └── uart_tb.json │ │ │ ├── periphs │ │ │ ├── himax.json │ │ │ ├── hyperflash.json │ │ │ ├── hyperram.json │ │ │ ├── jtag-proxy.json │ │ │ ├── microphone.json │ │ │ ├── ov7670.json │ │ │ ├── spiflash.json │ │ │ ├── spim_verif.json │ │ │ └── uart_tb.json │ │ │ ├── power_models │ │ │ ├── core │ │ │ │ ├── riscy.json │ │ │ │ └── values │ │ │ │ │ ├── clock_gated.json │ │ │ │ │ ├── insn.json │ │ │ │ │ └── leakage.json │ │ │ └── l1 │ │ │ │ ├── l1.json │ │ │ │ └── values │ │ │ │ ├── idle.json │ │ │ │ ├── leakage.json │ │ │ │ ├── read_16.json │ │ │ │ ├── read_32.json │ │ │ │ ├── read_8.json │ │ │ │ ├── write_16.json │ │ │ │ ├── write_32.json │ │ │ │ └── write_8.json │ │ │ ├── pulp.json │ │ │ ├── pulp_chip_common.json │ │ │ ├── pulp_system.json │ │ │ ├── pulp_system_common.json │ │ │ ├── pulpino.json │ │ │ ├── pulpino_system.json │ │ │ ├── quentin.json │ │ │ ├── quentin_system.json │ │ │ ├── systems │ │ │ ├── arnold.json │ │ │ ├── bigpulp-standalone.json │ │ │ ├── bigpulp-z-7045.json │ │ │ ├── bigpulp.json │ │ │ ├── fulmine.json │ │ │ ├── gap.json │ │ │ ├── hero-urania.json │ │ │ ├── hero-z-7045.json │ │ │ ├── honey.json │ │ │ ├── multino.json │ │ │ ├── neuraghe.json │ │ │ ├── oprecompkw.json │ │ │ ├── oprecompkw_sa.json │ │ │ ├── oprecompkw_sfloat.json │ │ │ ├── oprecompkw_sfloat_sa.json │ │ │ ├── oprecompkw_sfloat_sa_dual_regfile.json │ │ │ ├── pulp.json │ │ │ ├── pulpino.json │ │ │ ├── pulpissimo-microriscy.json │ │ │ ├── pulpissimo-riscy.json │ │ │ ├── pulpissimo-zeroriscy.json │ │ │ ├── pulpissimo.json │ │ │ ├── quentin.json │ │ │ ├── vega.json │ │ │ ├── vivosoc2.json │ │ │ ├── vivosoc2_1.json │ │ │ ├── vivosoc3.json │ │ │ ├── wolfe-vp.json │ │ │ └── wolfe.json │ │ │ ├── templates │ │ │ └── chips │ │ │ │ ├── arnold │ │ │ │ ├── arnold.json │ │ │ │ ├── padframe.json │ │ │ │ └── udma.json │ │ │ │ ├── bigpulp-standalone │ │ │ │ ├── bigpulp.json │ │ │ │ └── padframe.json │ │ │ │ ├── bigpulp-z-7045 │ │ │ │ ├── bigpulp-z-7045.json │ │ │ │ └── padframe.json │ │ │ │ ├── bigpulp │ │ │ │ ├── bigpulp.json │ │ │ │ └── padframe.json │ │ │ │ ├── gap │ │ │ │ ├── gap.json │ │ │ │ ├── padframe.json │ │ │ │ └── udma.json │ │ │ │ ├── hero-z-7045 │ │ │ │ └── hero-z-7045.json │ │ │ │ ├── multino │ │ │ │ ├── multino.json │ │ │ │ └── padframe.json │ │ │ │ ├── oprecompkw │ │ │ │ └── oprecompkw.json │ │ │ │ ├── oprecompkw_sa │ │ │ │ ├── oprecompkw_sa.json │ │ │ │ └── padframe.json │ │ │ │ ├── oprecompkw_sfloat │ │ │ │ └── oprecompkw_sfloat.json │ │ │ │ ├── oprecompkw_sfloat_sa │ │ │ │ └── oprecompkw_sfloat_sa.json │ │ │ │ ├── oprecompkw_sfloat_sa_dual_regfile │ │ │ │ ├── oprecompkw_sfloat_sa_dual_regfile.json │ │ │ │ └── padframe.json │ │ │ │ ├── pulp │ │ │ │ ├── padframe.json │ │ │ │ ├── pulp.json │ │ │ │ └── udma.json │ │ │ │ ├── pulpissimo-microriscy │ │ │ │ ├── padframe.json │ │ │ │ ├── pulpissimo-microriscy.json │ │ │ │ └── udma.json │ │ │ │ ├── pulpissimo-riscy │ │ │ │ ├── padframe.json │ │ │ │ ├── pulpissimo-riscy.json │ │ │ │ └── udma.json │ │ │ │ ├── pulpissimo-zeroriscy │ │ │ │ ├── padframe.json │ │ │ │ ├── pulpissimo-zeroriscy.json │ │ │ │ └── udma.json │ │ │ │ ├── pulpissimo │ │ │ │ ├── padframe.json │ │ │ │ ├── pulpissimo.json │ │ │ │ └── udma.json │ │ │ │ ├── vega │ │ │ │ ├── padframe.json │ │ │ │ ├── udma.json │ │ │ │ └── vega.json │ │ │ │ ├── vivosoc3 │ │ │ │ ├── padframe.json │ │ │ │ ├── udma.json │ │ │ │ └── vivosoc3.json │ │ │ │ └── wolfe │ │ │ │ ├── padframe.json │ │ │ │ ├── udma.json │ │ │ │ └── wolfe.json │ │ │ ├── tools │ │ │ ├── debug-bridge │ │ │ │ ├── cable_ftdi.json │ │ │ │ ├── cable_jtag-proxy.json │ │ │ │ └── debug_bridge.json │ │ │ ├── plt_loader │ │ │ │ └── plt_loader.json │ │ │ └── vp │ │ │ │ └── injector.json │ │ │ ├── usecases │ │ │ ├── jtag-cam.json │ │ │ └── jtag.json │ │ │ ├── vega.json │ │ │ ├── vega_system.json │ │ │ ├── vivosoc2.json │ │ │ ├── vivosoc2_1.json │ │ │ ├── vivosoc2_1_system.json │ │ │ ├── vivosoc2_system.json │ │ │ ├── vivosoc3.json │ │ │ ├── vivosoc3_system.json │ │ │ ├── wolfe-mc_system.json │ │ │ ├── wolfe.json │ │ │ └── wolfe_system.json │ ├── runtime │ │ ├── archi-host │ │ │ ├── .editorconfig │ │ │ ├── .github │ │ │ │ └── CODEOWNERS │ │ │ ├── .gitrepo │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── include │ │ │ │ └── archi-host │ │ │ │ │ ├── arm │ │ │ │ │ ├── pgtable_hwdef.h │ │ │ │ │ └── phys_addr.h │ │ │ │ │ ├── arm64 │ │ │ │ │ ├── pgtable_dbg.h │ │ │ │ │ ├── pgtable_hwdef.h │ │ │ │ │ └── phys_addr.h │ │ │ │ │ ├── pgtable_hwdef.h │ │ │ │ │ ├── phys_addr.h │ │ │ │ │ ├── riscv64 │ │ │ │ │ ├── pgtable_hwdef.h │ │ │ │ │ └── phys_addr.h │ │ │ │ │ └── virt_addr.h │ │ │ └── src │ │ │ │ ├── arm │ │ │ │ └── phys_addr.c │ │ │ │ ├── arm64 │ │ │ │ ├── pgtable_dbg.c │ │ │ │ └── phys_addr.c │ │ │ │ ├── phys_addr.c │ │ │ │ ├── riscv64 │ │ │ │ └── phys_addr.c │ │ │ │ └── virt_addr.c │ │ ├── archi │ │ │ ├── .gitignore │ │ │ ├── .gitrepo │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ └── include │ │ │ │ └── archi │ │ │ │ ├── chips │ │ │ │ ├── arnold │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── bigpulp │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── devchip │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── fulmine │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── gap │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── honey │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── padframe.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── multino │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── neuraghe │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── oprecompkw │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── pulp │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── pulpissimo │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── quentin │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── vega │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── vivosoc2 │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── vivosoc2_1 │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── vivosoc3 │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ └── wolfe │ │ │ │ │ ├── apb_soc.h │ │ │ │ │ ├── memory_map.h │ │ │ │ │ ├── properties.h │ │ │ │ │ └── pulp.h │ │ │ │ ├── cluster_ctrl │ │ │ │ └── cluster_ctrl_v2.h │ │ │ │ ├── dma │ │ │ │ ├── mchan_v3.h │ │ │ │ ├── mchan_v5.h │ │ │ │ ├── mchan_v6.h │ │ │ │ └── mchan_v7.h │ │ │ │ ├── efuse │ │ │ │ └── efuse_v1.h │ │ │ │ ├── eu │ │ │ │ ├── eu_v1.h │ │ │ │ └── eu_v3.h │ │ │ │ ├── fll │ │ │ │ ├── fll_v0.h │ │ │ │ └── fll_v1.h │ │ │ │ ├── gpio │ │ │ │ └── gpio_v2.h │ │ │ │ ├── hwce │ │ │ │ ├── hwce_v4.h │ │ │ │ └── hwce_v5.h │ │ │ │ ├── hwme │ │ │ │ └── hwme_v1.h │ │ │ │ ├── itc │ │ │ │ └── itc_v1.h │ │ │ │ ├── maestro │ │ │ │ ├── maestro_v1.h │ │ │ │ ├── maestro_v2.h │ │ │ │ └── maestro_v3.h │ │ │ │ ├── mailbox │ │ │ │ └── mailbox_v0.h │ │ │ │ ├── or1k │ │ │ │ └── spr-defs.h │ │ │ │ ├── pulp.h │ │ │ │ ├── pulp_defs.h │ │ │ │ ├── rab │ │ │ │ └── rab_v1.h │ │ │ │ ├── riscv │ │ │ │ ├── pcer_v1.h │ │ │ │ ├── priv_1.9.h │ │ │ │ ├── priv_1_7.h │ │ │ │ └── priv_1_9.h │ │ │ │ ├── soc_eu │ │ │ │ ├── soc_eu_v1.h │ │ │ │ └── soc_eu_v2.h │ │ │ │ ├── spim │ │ │ │ └── spi_v1.h │ │ │ │ ├── stdout │ │ │ │ ├── stdout_v2.h │ │ │ │ └── stdout_v3.h │ │ │ │ ├── timer │ │ │ │ └── timer_v2.h │ │ │ │ ├── udma │ │ │ │ ├── hyper.h │ │ │ │ ├── udma_periph_v1.h │ │ │ │ ├── udma_periph_v2.h │ │ │ │ ├── udma_periph_v3.h │ │ │ │ ├── udma_v1.h │ │ │ │ ├── udma_v2.h │ │ │ │ └── udma_v3.h │ │ │ │ ├── utils.h │ │ │ │ ├── vendors │ │ │ │ ├── dolphin │ │ │ │ │ └── rtc.h │ │ │ │ └── iid │ │ │ │ │ └── quiddikey_v1.h │ │ │ │ └── xne │ │ │ │ └── xne_v1.h │ │ ├── hal │ │ │ ├── .gitignore │ │ │ ├── .gitrepo │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── include │ │ │ │ └── hal │ │ │ │ │ ├── apb_soc │ │ │ │ │ ├── apb_soc_v1.h │ │ │ │ │ ├── apb_soc_v2.h │ │ │ │ │ ├── apb_soc_v3.h │ │ │ │ │ └── apb_soc_v4.h │ │ │ │ │ ├── chips │ │ │ │ │ ├── arnold │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── bigpulp │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── devchip │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── fulmine │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── gap │ │ │ │ │ │ ├── efuse.h │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── honey │ │ │ │ │ │ ├── fll.h │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── multino │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── neuraghe │ │ │ │ │ │ ├── pulp.h │ │ │ │ │ │ └── pulp.h~ │ │ │ │ │ ├── oprecompkw │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── pulp │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── pulpissimo │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── quentin │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── vega │ │ │ │ │ │ ├── pulp.h │ │ │ │ │ │ └── pulp.h~ │ │ │ │ │ ├── vivosoc2 │ │ │ │ │ │ ├── pulp.h │ │ │ │ │ │ └── pulp.h~ │ │ │ │ │ ├── vivosoc2_1 │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── vivosoc3 │ │ │ │ │ │ └── pulp.h │ │ │ │ │ └── wolfe │ │ │ │ │ │ └── pulp.h │ │ │ │ │ ├── cluster_ctrl │ │ │ │ │ └── cluster_ctrl_v2.h │ │ │ │ │ ├── debug_bridge │ │ │ │ │ └── debug_bridge.h │ │ │ │ │ ├── dma │ │ │ │ │ ├── mchan_v4.h │ │ │ │ │ ├── mchan_v5.h │ │ │ │ │ ├── mchan_v6.h │ │ │ │ │ └── mchan_v7.h │ │ │ │ │ ├── efuse │ │ │ │ │ └── efuse_v1.h │ │ │ │ │ ├── eu │ │ │ │ │ ├── eu_v1.h │ │ │ │ │ ├── eu_v1_ids.h │ │ │ │ │ └── eu_v3.h │ │ │ │ │ ├── fll │ │ │ │ │ └── fll_v1.h │ │ │ │ │ ├── gpio │ │ │ │ │ ├── gpio_v0.h │ │ │ │ │ └── gpio_v2.h │ │ │ │ │ ├── hwce │ │ │ │ │ ├── hwce_v4.h │ │ │ │ │ └── hwce_v5.h │ │ │ │ │ ├── hwme │ │ │ │ │ └── hwme_v1.h │ │ │ │ │ ├── icache │ │ │ │ │ ├── icache_ctrl_v1.h │ │ │ │ │ └── icache_ctrl_v2.h │ │ │ │ │ ├── itc │ │ │ │ │ └── itc_v1.h │ │ │ │ │ ├── maestro │ │ │ │ │ ├── pmu_v1.h │ │ │ │ │ ├── pmu_v2.h │ │ │ │ │ └── pmu_v3.h │ │ │ │ │ ├── mailbox │ │ │ │ │ └── mailbox_v0.h │ │ │ │ │ ├── or1k │ │ │ │ │ ├── or10nv2_builtins.h │ │ │ │ │ └── or1k_v5.h │ │ │ │ │ ├── periph │ │ │ │ │ └── spi_v1.h │ │ │ │ │ ├── pulp.h │ │ │ │ │ ├── pulp_io.h │ │ │ │ │ ├── rab │ │ │ │ │ └── rab_v1.h │ │ │ │ │ ├── riscv │ │ │ │ │ ├── builtins_v2.h │ │ │ │ │ ├── builtins_v2_emu.h │ │ │ │ │ ├── riscv_v3.h │ │ │ │ │ ├── riscv_v4.h │ │ │ │ │ └── types.h │ │ │ │ │ ├── rom │ │ │ │ │ └── rom_v2.h │ │ │ │ │ ├── soc_eu │ │ │ │ │ ├── soc_eu_v1.h │ │ │ │ │ └── soc_eu_v2.h │ │ │ │ │ ├── timer │ │ │ │ │ ├── timer_v1.h │ │ │ │ │ └── timer_v2.h │ │ │ │ │ ├── tryx │ │ │ │ │ └── tryx_v1.h │ │ │ │ │ ├── udma │ │ │ │ │ ├── udma_periph_hyper_v1.h │ │ │ │ │ ├── udma_periph_i2s_v1.h │ │ │ │ │ ├── udma_periph_v1.h │ │ │ │ │ ├── udma_periph_v2.h │ │ │ │ │ ├── udma_periph_v3.h │ │ │ │ │ ├── udma_v1.h │ │ │ │ │ ├── udma_v2.h │ │ │ │ │ └── udma_v3.h │ │ │ │ │ ├── utils.h │ │ │ │ │ ├── vendors │ │ │ │ │ ├── dolphin │ │ │ │ │ │ └── rtc.h │ │ │ │ │ └── iid │ │ │ │ │ │ └── quiddikey_v1.h │ │ │ │ │ └── xne │ │ │ │ │ └── xne_v1.h │ │ │ └── src │ │ │ │ └── hal │ │ │ │ ├── mailbox │ │ │ │ └── mailbox_v0.c │ │ │ │ ├── rab │ │ │ │ └── rab_v1.c │ │ │ │ └── tryx │ │ │ │ └── tryx_v1.c │ │ ├── libgomp │ │ │ ├── .gitignore │ │ │ ├── .gitrepo │ │ │ ├── COPYING.RUNTIME │ │ │ ├── COPYING3 │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── barrier.c │ │ │ ├── config │ │ │ │ └── pulp │ │ │ │ │ ├── appsupport.h │ │ │ │ │ ├── bar-hw.h │ │ │ │ │ ├── bar-sw.h │ │ │ │ │ ├── config.h │ │ │ │ │ ├── hero │ │ │ │ │ ├── offload-manager.c │ │ │ │ │ ├── offload-manager.h │ │ │ │ │ └── refs │ │ │ │ │ │ └── hero-z-7045 │ │ │ │ │ │ ├── cl_config.h │ │ │ │ │ │ ├── fc_config.h │ │ │ │ │ │ ├── rt_conf.c │ │ │ │ │ │ ├── rt_conf.o │ │ │ │ │ │ ├── test.ld │ │ │ │ │ │ └── test_config.ld │ │ │ │ │ ├── lock.c │ │ │ │ │ ├── mutex.h │ │ │ │ │ ├── omp-bar.h │ │ │ │ │ ├── omp-hal.h │ │ │ │ │ ├── omp-lock.h │ │ │ │ │ └── synthWork.h │ │ │ ├── critical.c │ │ │ ├── env.c │ │ │ ├── iter.c │ │ │ ├── libgomp.c │ │ │ ├── libgomp.h │ │ │ ├── libgomp_config.h │ │ │ ├── libgomp_globals.h │ │ │ ├── loop.c │ │ │ ├── omp.h │ │ │ ├── ompNative.h │ │ │ ├── parallel.c │ │ │ ├── root.c │ │ │ ├── sections.c │ │ │ ├── single.c │ │ │ ├── target.c │ │ │ ├── team.c │ │ │ └── work.c │ │ ├── libomptarget-pulp-rtl │ │ │ ├── .gitignore │ │ │ ├── .gitrepo │ │ │ ├── Makefile │ │ │ ├── interface.h │ │ │ ├── kmp.c │ │ │ ├── kmpcall.c │ │ │ ├── libcall.c │ │ │ ├── main.c │ │ │ ├── omptarget-pulp.c │ │ │ ├── omptarget-pulp.h │ │ │ └── root.c │ │ ├── libvmm │ │ │ ├── .editorconfig │ │ │ ├── .github │ │ │ │ └── CODEOWNERS │ │ │ ├── .gitrepo │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── include │ │ │ │ └── vmm │ │ │ │ │ ├── config.h │ │ │ │ │ ├── host.h │ │ │ │ │ └── vmm.h │ │ │ └── src │ │ │ │ ├── arch │ │ │ │ ├── arm │ │ │ │ │ └── pgtable_walk.c │ │ │ │ ├── arm64 │ │ │ │ │ └── pgtable_walk.c │ │ │ │ └── riscv64 │ │ │ │ │ └── pgtable_walk.c │ │ │ │ └── vmm.c │ │ └── pulp-rt │ │ │ ├── .gitignore │ │ │ ├── .gitrepo │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── configs │ │ │ ├── bare.mk │ │ │ ├── pulpos.mk │ │ │ └── tiny.mk │ │ │ ├── drivers │ │ │ ├── camera │ │ │ │ ├── camera.c │ │ │ │ ├── himax.c │ │ │ │ └── ov7670.c │ │ │ ├── dolphin │ │ │ │ ├── rtc.c │ │ │ │ └── rtc_asm.S │ │ │ ├── drivers.mk │ │ │ ├── flash.c │ │ │ ├── gpio │ │ │ │ ├── gpio-v0.c │ │ │ │ └── gpio-v2.c │ │ │ ├── hyper │ │ │ │ ├── hyperflash.c │ │ │ │ └── hyperram.c │ │ │ ├── i2c │ │ │ │ ├── i2c-v1.c │ │ │ │ ├── i2c-v2.c │ │ │ │ └── i2c-v3.c │ │ │ ├── i2s │ │ │ │ └── i2s.c │ │ │ ├── pads │ │ │ │ ├── pads-v0.c │ │ │ │ └── pads-v1.c │ │ │ ├── read_fs.c │ │ │ ├── spim │ │ │ │ ├── spiflash-v1.c │ │ │ │ ├── spiflash-v2-asm.S │ │ │ │ ├── spiflash-v2.c │ │ │ │ ├── spiflash-v3.c │ │ │ │ ├── spim-v0.c │ │ │ │ ├── spim-v1.c │ │ │ │ ├── spim-v2.c │ │ │ │ └── spim-v3.c │ │ │ └── uart │ │ │ │ ├── uart-v0.c │ │ │ │ └── uart.c │ │ │ ├── include │ │ │ ├── bench │ │ │ │ └── bench.h │ │ │ ├── io │ │ │ │ ├── ctype.h │ │ │ │ ├── stdio.h │ │ │ │ ├── stdlib.h │ │ │ │ └── string.h │ │ │ ├── omp.h │ │ │ ├── pulp.h │ │ │ ├── rt.h │ │ │ └── rt │ │ │ │ ├── data │ │ │ │ ├── rt_data_bridge.h │ │ │ │ ├── rt_data_camera.h │ │ │ │ ├── rt_data_i2c.h │ │ │ │ └── rt_data_spim.h │ │ │ │ ├── rt_alloc.h │ │ │ │ ├── rt_api.h │ │ │ │ ├── rt_bridge.h │ │ │ │ ├── rt_camera.h │ │ │ │ ├── rt_cluster.h │ │ │ │ ├── rt_compat.h │ │ │ │ ├── rt_config.h │ │ │ │ ├── rt_data.h │ │ │ │ ├── rt_debug.h │ │ │ │ ├── rt_dev.h │ │ │ │ ├── rt_dma.h │ │ │ │ ├── rt_error.h │ │ │ │ ├── rt_event.h │ │ │ │ ├── rt_extern_alloc.h │ │ │ │ ├── rt_flash.h │ │ │ │ ├── rt_freq.h │ │ │ │ ├── rt_fs.h │ │ │ │ ├── rt_gpio.h │ │ │ │ ├── rt_himax.h │ │ │ │ ├── rt_hyper.h │ │ │ │ ├── rt_i2c.h │ │ │ │ ├── rt_i2s.h │ │ │ │ ├── rt_irq.h │ │ │ │ ├── rt_omp.h │ │ │ │ ├── rt_ov7670.h │ │ │ │ ├── rt_pad.h │ │ │ │ ├── rt_pe.h │ │ │ │ ├── rt_perf.h │ │ │ │ ├── rt_periph.h │ │ │ │ ├── rt_pm.h │ │ │ │ ├── rt_rtc.h │ │ │ │ ├── rt_spim.h │ │ │ │ ├── rt_sync_mc.h │ │ │ │ ├── rt_thread.h │ │ │ │ ├── rt_time.h │ │ │ │ ├── rt_timer.h │ │ │ │ ├── rt_uart.h │ │ │ │ ├── rt_utils.h │ │ │ │ └── rt_voltage.h │ │ │ ├── kernel │ │ │ ├── alloc.c │ │ │ ├── alloc_extern.c │ │ │ ├── bridge.c │ │ │ ├── cluster.c │ │ │ ├── debug.c │ │ │ ├── dev.c │ │ │ ├── error.c │ │ │ ├── events.c │ │ │ ├── fll-v0.c │ │ │ ├── fll-v1.c │ │ │ ├── freq-v0.c │ │ │ ├── freq-v1.c │ │ │ ├── gap │ │ │ │ ├── freq.c │ │ │ │ ├── maestro.c │ │ │ │ ├── pm.c │ │ │ │ ├── pmu_driver.c │ │ │ │ └── pmu_driver.h │ │ │ ├── init.c │ │ │ ├── irq.c │ │ │ ├── kernel.mk │ │ │ ├── oprecompkw │ │ │ │ ├── rt │ │ │ │ │ └── crt0.S │ │ │ │ ├── rtbare │ │ │ │ └── rttiny │ │ │ ├── or1k │ │ │ │ ├── pe-eu-v1.S │ │ │ │ ├── rt │ │ │ │ │ └── crt0.S │ │ │ │ ├── rtbare │ │ │ │ ├── rttiny │ │ │ │ ├── thread.S │ │ │ │ ├── udma-v1.S │ │ │ │ └── udma_spim-v1.S │ │ │ ├── perf.c │ │ │ ├── periph-v1.c │ │ │ ├── periph-v2.c │ │ │ ├── periph-v3.c │ │ │ ├── riscv │ │ │ │ ├── gpio.S │ │ │ │ ├── pe-eu-v1-entry.c │ │ │ │ ├── pe-eu-v1.S │ │ │ │ ├── pe-eu-v3.S │ │ │ │ ├── rt │ │ │ │ │ └── crt0.S │ │ │ │ ├── rtbare │ │ │ │ ├── rttiny │ │ │ │ ├── sched.S │ │ │ │ ├── soc_event_eu.S │ │ │ │ ├── soc_event_itc-v1.S │ │ │ │ ├── soc_event_itc-v2.S │ │ │ │ ├── thread.S │ │ │ │ ├── udma-v2.S │ │ │ │ ├── udma-v3.S │ │ │ │ ├── udma_spim-v2.S │ │ │ │ ├── udma_spim-v3.S │ │ │ │ └── vectors.S │ │ │ ├── sync_mc.c │ │ │ ├── thread.c │ │ │ ├── time.c │ │ │ ├── time_irq.c │ │ │ ├── utils.c │ │ │ ├── vega │ │ │ │ └── maestro.c │ │ │ └── wolfe │ │ │ │ └── maestro.c │ │ │ ├── libs │ │ │ ├── bench │ │ │ │ └── bench.c │ │ │ ├── io │ │ │ │ ├── fprintf.c │ │ │ │ ├── io.c │ │ │ │ ├── prf.c │ │ │ │ └── sprintf.c │ │ │ ├── libs.mk │ │ │ └── omp │ │ │ │ ├── omp.c │ │ │ │ ├── ompRt.h │ │ │ │ ├── omp_asm.S │ │ │ │ ├── omp_wrapper_gcc.c │ │ │ │ └── omp_wrapper_llvm.c │ │ │ └── rules │ │ │ ├── bigpulp │ │ │ └── link.ld │ │ │ ├── gap │ │ │ └── link.ld │ │ │ ├── quentin │ │ │ ├── link-scm.ld │ │ │ ├── link-sram.ld │ │ │ └── link.ld │ │ │ ├── vega │ │ │ └── link.ld │ │ │ ├── vivosoc3 │ │ │ └── link.ld │ │ │ └── wolfe │ │ │ └── link.ld │ └── versions.cfg ├── setup-libprem-pulp.sh └── setup-sdk.sh ├── support ├── README.md ├── libhero-target │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── host │ │ ├── Makefile │ │ └── hero-target.c │ ├── inc │ │ └── hero-target.h │ └── pulp │ │ ├── Makefile │ │ └── hero-target.c ├── libpulp │ ├── .gitignore │ ├── Makefile │ ├── inc │ │ ├── pulp.h │ │ └── pulp_common.h │ ├── src │ │ └── pulp.c │ └── vendor │ │ └── o1heap │ │ ├── .clang-format │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── docs │ │ ├── H.png │ │ └── plots.nb │ │ ├── o1heap │ │ ├── .clang-tidy │ │ ├── o1heap.c │ │ └── o1heap.h │ │ ├── sonar-project.properties │ │ └── tests │ │ ├── .clang-tidy │ │ ├── CMakeLists.txt │ │ ├── catch │ │ ├── catch.hpp │ │ └── main.cpp │ │ ├── internal.hpp │ │ ├── test_general.cpp │ │ └── test_private.cpp └── pulp-driver │ ├── Makefile │ ├── README.md │ ├── arm64.h │ ├── doc │ ├── .gitignore │ ├── Doxyfile │ ├── DoxygenLayout.xml │ ├── Makefile │ ├── latex │ │ ├── Makefile │ │ └── logo_rev.tex │ └── pulp_logo.png │ ├── juno.h │ ├── pulp_cache.S │ ├── pulp_ctrl.c │ ├── pulp_ctrl.h │ ├── pulp_dma.c │ ├── pulp_dma.h │ ├── pulp_mbox.c │ ├── pulp_mbox.h │ ├── pulp_mem.c │ ├── pulp_mem.h │ ├── pulp_module.c │ ├── pulp_module.h │ ├── pulp_profile.c │ ├── pulp_profile.h │ ├── pulp_rab.c │ ├── pulp_rab.h │ ├── pulp_smmu.c │ ├── pulp_smmu.h │ ├── zynq.h │ └── zynqmp.h ├── toolchain ├── README.md ├── build.sh ├── har-obare.config ├── har-olinux.config ├── hc-omp-pass ├── hrv-obare.config ├── hrv-olinux.config ├── install-sdk.sh ├── llvm-support │ ├── CMakeLists.txt │ ├── OmpHostPointerLegalizer │ │ ├── CMakeLists.txt │ │ ├── OmpHostPointerLegalizer.cpp │ │ └── OmpHostPointerLegalizer.h │ └── OmpKernelWrapper │ │ ├── CMakeLists.txt │ │ ├── OmpKernelWrapper.cpp │ │ └── OmpKernelWrapper.h ├── patches │ ├── binutils │ │ └── git-01af9dd6 │ │ │ └── 0000-fix-gcc-path-crosstool.patch │ └── crosstool-ng │ │ ├── 0001-provide-other-mirrors-for-zlib-and-expat.patch │ │ ├── 0002-provide-other-mirrors-for-isl.patch │ │ └── 0003-use-default-gcc-if-prepostfix-is-unspecified.patch ├── pulp.config └── setup-llvm.sh └── util ├── README.md ├── configfile └── get_value └── devrebuild ├── README.md ├── common.sh └── har-exilzcu102 ├── all-hero-pkgs ├── hero-openmp ├── hero-openmp.sh ├── libhero-target ├── libhero-target.sh ├── libpulp ├── libpulp.sh ├── prem-cmux ├── prem-cmux.sh ├── pulp-driver └── pulp-driver.sh /.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: Google 2 | ColumnLimit: 100 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.bin 2 | *.mcs 3 | /install/ 4 | output/* 5 | local.mk 6 | local.cfg 7 | *.swp 8 | -------------------------------------------------------------------------------- /.gitlab-ci.d/memora_retry.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | i=1 4 | max_attempts=10 5 | while ! memora "$@"; do 6 | echo "Attempt $i/$max_attempts of 'memora $@' failed." 7 | if test $i -ge $max_attempts; then 8 | echo "'memora $@' keeps failing; aborting!" 9 | exit 1 10 | fi 11 | i=$(($i+1)) 12 | done 13 | -------------------------------------------------------------------------------- /apps/README.md: -------------------------------------------------------------------------------- 1 | # Apps 2 | This directory includes Ariane specific applications as well as HERO applications. 3 | -------------------------------------------------------------------------------- /apps/hero/physmem/.gitignore: -------------------------------------------------------------------------------- 1 | /example 2 | -------------------------------------------------------------------------------- /apps/hero/physmem/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: all 2 | all: example 3 | 4 | example: example.cc $(wildcard inc/*) 5 | $(CXX) -std=c++11 -Wall -Iinc $< -o $@ 6 | 7 | .PHONY: clean 8 | clean: 9 | rm -f example 10 | -------------------------------------------------------------------------------- /apps/hero/physmem/example.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "physmem.hpp" 4 | 5 | int main() { 6 | PhysMem mem(0xA0000000, 0x10000000); 7 | 8 | std::cout << std::hex 9 | << "0x" << mem.read_u32(0xA8000040) << std::endl 10 | << "0x" << mem.read_u32(0xA8000048) << std::endl 11 | << "0x" << mem.read_u32(0xA8000050) << std::endl 12 | << "0x" << mem.read_u32(0xA8000058) << std::endl; 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /apps/hero/standalone/.gitignore: -------------------------------------------------------------------------------- 1 | /standalone 2 | -------------------------------------------------------------------------------- /apps/hero/uart/.gitignore: -------------------------------------------------------------------------------- 1 | /uart 2 | -------------------------------------------------------------------------------- /board/common/overlay/etc/dropbear/dropbear_ecdsa_host_key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/board/common/overlay/etc/dropbear/dropbear_ecdsa_host_key -------------------------------------------------------------------------------- /board/common/overlay/etc/network/interfaces: -------------------------------------------------------------------------------- 1 | # configure eth0 with dhcp IP 2 | auto lo 3 | iface lo inet loopback 4 | 5 | auto eth0 6 | iface eth0 inet dhcp -------------------------------------------------------------------------------- /board/common/overlay/etc/profile.d/path-local.sh: -------------------------------------------------------------------------------- 1 | # add local to standard path 2 | export PATH=$PATH:/usr/local/bin:/usr/local/sbin 3 | -------------------------------------------------------------------------------- /board/common/overlay/etc/profile.d/profile-rc.sh: -------------------------------------------------------------------------------- 1 | # always execute /etc/profile for new shells 2 | export ENV=/etc/profile 3 | -------------------------------------------------------------------------------- /board/common/overlay/etc/profile.d/prompt.sh: -------------------------------------------------------------------------------- 1 | # temporary script to display hostname to distinguish between host and chroot 2 | hostname -F /etc/hostname 3 | host=$(hostname) 4 | export PS1="($host) \\$ " 5 | -------------------------------------------------------------------------------- /board/common/overlay/etc/sysctl.conf: -------------------------------------------------------------------------------- 1 | # Disable Address Space Layout Randomization (ASLR) since it can cause VAs to fall into address 2 | # spaces that we have to reserve for the accelerator(s). 3 | kernel.randomize_va_space = 0 4 | -------------------------------------------------------------------------------- /board/diggenesys2/linux-extras.config: -------------------------------------------------------------------------------- 1 | CONFIG_BLOCK=n 2 | CONFIG_NET_VENDOR_LOWRISC=y 3 | CONFIG_LOWRISC_DIGILENT_100MHZ=y 4 | -------------------------------------------------------------------------------- /board/diggenesys2/post_image.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Creating binary image" 4 | TARGET_TUPLE=$(grep BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX ${BR2_CONFIG} | sed 's/.*=//' | sed 's/$(ARCH)/riscv64/' | tr -d '"') 5 | $TARGET_TUPLE-objcopy -S -O binary --change-addresses -0x80000000 $1/bbl $1/bbl.bin 6 | -------------------------------------------------------------------------------- /board/qemu/linux-extras.config: -------------------------------------------------------------------------------- 1 | CONFIG_VIRTIO_MENU=y 2 | CONFIG_VIRTIO_CONSOLE=y 3 | CONFIG_VIRTIO_BLK=y 4 | CONFIG_VIRTIO_NET=y 5 | CONFIG_PCI=y 6 | CONFIG_VIRTIO_PCI=y 7 | CONFIG_HW_RANDOM=y 8 | CONFIG_HW_RANDOM_VIRTIO=y -------------------------------------------------------------------------------- /board/qemu/post_image.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # FIXME: ensures bbl is always up to date, as bootloader does not auto update after changes 4 | echo "Recreating bbl with payload" 5 | make -C ${BASE_DIR} opensbi-rebuild 6 | -------------------------------------------------------------------------------- /board/rv/post_build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Adding required symlinks to library directories" 4 | # FIXME: those symlinks should be copied by buildroot from the toolchain 5 | abidir=$(find $1/lib -iname 'ld-linux-*' | sed -e "s|.*/ld-linux-||" -e "s|.so.*||" | cut -d '-' -f 2) 6 | ln -s . $1/usr/lib/$abidir >/dev/null 2>&1 || true 7 | ln -s . $1/lib/$abidir >/dev/null 2>&1 || true 8 | -------------------------------------------------------------------------------- /board/xilzcu102/bitstream.bif: -------------------------------------------------------------------------------- 1 | all: 2 | { 3 | [destination_device=pl] fpga.bit 4 | } 5 | -------------------------------------------------------------------------------- /board/xilzcu102/hero.dts: -------------------------------------------------------------------------------- 1 | #include "xilinx/zynqmp-zcu102-revB.dts" 2 | #include "hero.dtsi" 3 | -------------------------------------------------------------------------------- /board/xilzcu102/kernel_config: -------------------------------------------------------------------------------- 1 | CONFIG_LOCALVERSION="" 2 | CONFIG_LOCALVERSION_AUTO=n 3 | -------------------------------------------------------------------------------- /board/xilzcu102/pmufw.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/board/xilzcu102/pmufw.bin -------------------------------------------------------------------------------- /board/xilzcu102/uboot-extras.config: -------------------------------------------------------------------------------- 1 | CONFIG_BOOTARGS="earlycon clk_ignore_unused kernel.randomize_va_space=0 cpuidle.off=1" 2 | -------------------------------------------------------------------------------- /doc/hw_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/doc/hw_arch.png -------------------------------------------------------------------------------- /doc/sw_stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/doc/sw_stack.png -------------------------------------------------------------------------------- /env/esim-exilzcu102.sh: -------------------------------------------------------------------------------- 1 | THIS_DIR=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")") 2 | 3 | source ${THIS_DIR}/exilzcu102.sh 4 | export PULP_CURRENT_CONFIG=hero-sim@config_file=${HERO_PULP_SDK_DIR}/configs/json/hero-urania.json 5 | -------------------------------------------------------------------------------- /env/esim.sh: -------------------------------------------------------------------------------- 1 | THIS_DIR=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")") 2 | 3 | # FIXME: this should not be based on the genesys2 execution environment 4 | source ${THIS_DIR}/ediggenesys2.sh 5 | export PULP_CURRENT_CONFIG=hero-sim@config_file=${HERO_PULP_SDK_DIR}/configs/json/hero-urania.json 6 | -------------------------------------------------------------------------------- /external.desc: -------------------------------------------------------------------------------- 1 | name: HERO 2 | desc: Heterogeneous Research Platform 3 | -------------------------------------------------------------------------------- /external.mk: -------------------------------------------------------------------------------- 1 | include $(sort $(wildcard $(BR2_EXTERNAL_HERO_PATH)/package/*/*.mk)) 2 | -------------------------------------------------------------------------------- /hardware/.gitignore: -------------------------------------------------------------------------------- 1 | /.bender/ 2 | /bender 3 | /component.xml 4 | /xgui 5 | -------------------------------------------------------------------------------- /hardware/deps/apb/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | /build 4 | /Bender.lock 5 | /Bender.local 6 | -------------------------------------------------------------------------------- /hardware/deps/apb/Bender.yml: -------------------------------------------------------------------------------- 1 | package: 2 | name: apb 3 | authors: ["Fabian Schuiki "] 4 | 5 | sources: 6 | - src/apb_intf.sv 7 | -------------------------------------------------------------------------------- /hardware/deps/apb/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | All notable changes to this project will be documented in this file. 3 | 4 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 5 | and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). 6 | 7 | ## Unreleased 8 | 9 | ## 0.1.0 - 2018-09-12 10 | ### Changed 11 | - Open source release. 12 | 13 | ### Added 14 | - Initial commit. -------------------------------------------------------------------------------- /hardware/deps/apb/README.md: -------------------------------------------------------------------------------- 1 | # APB 2 | 3 | This repository contains common functions and hardware modules for the Advanced Peripherals Bus (APB). -------------------------------------------------------------------------------- /hardware/deps/axi/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | !.ci/ 4 | /.git/ 5 | /build 6 | /Bender.lock 7 | /Bender.local 8 | -------------------------------------------------------------------------------- /hardware/deps/axi/doc/axi_demux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/axi/doc/axi_demux.png -------------------------------------------------------------------------------- /hardware/deps/axi/doc/axi_lite_mux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/axi/doc/axi_lite_mux.png -------------------------------------------------------------------------------- /hardware/deps/axi/doc/axi_lite_xbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/axi/doc/axi_lite_xbar.png -------------------------------------------------------------------------------- /hardware/deps/axi/doc/axi_mux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/axi/doc/axi_mux.png -------------------------------------------------------------------------------- /hardware/deps/axi/doc/axi_xbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/axi/doc/axi_xbar.png -------------------------------------------------------------------------------- /hardware/deps/axi/ips_list.yml: -------------------------------------------------------------------------------- 1 | common_cells: 2 | commit: 1.16.4 3 | group: pulp-platform 4 | -------------------------------------------------------------------------------- /hardware/deps/axi/test/tb_axi_dw_downsizer.do: -------------------------------------------------------------------------------- 1 | add wave -position insertpoint \ 2 | sim:/tb_axi_dw_downsizer/i_dw_converter/gen_dw_downsize/i_axi_dw_downsizer/AxiMstDataWidth \ 3 | sim:/tb_axi_dw_downsizer/i_dw_converter/gen_dw_downsize/i_axi_dw_downsizer/AxiSlvDataWidth \ 4 | sim:/tb_axi_dw_downsizer/i_dw_converter/gen_dw_downsize/i_axi_dw_downsizer/* 5 | -------------------------------------------------------------------------------- /hardware/deps/axi/test/tb_axi_dw_upsizer.do: -------------------------------------------------------------------------------- 1 | add wave -position insertpoint \ 2 | sim:/tb_axi_dw_upsizer/i_dw_converter/gen_dw_upsize/i_axi_dw_upsizer/AxiMstDataWidth \ 3 | sim:/tb_axi_dw_upsizer/i_dw_converter/gen_dw_upsize/i_axi_dw_upsizer/AxiSlvDataWidth \ 4 | sim:/tb_axi_dw_upsizer/i_dw_converter/gen_dw_upsize/i_axi_dw_upsizer/* 5 | -------------------------------------------------------------------------------- /hardware/deps/axi2apb/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | !.editorconfig 4 | build 5 | Bender.lock -------------------------------------------------------------------------------- /hardware/deps/axi2apb/Bender.yml: -------------------------------------------------------------------------------- 1 | package: 2 | name: axi2apb 3 | authors: [ 4 | "Davide Rossi ", 5 | "Florian Zaruba " 6 | ] 7 | 8 | dependencies: 9 | axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.6.0 } 10 | apb: { git: "https://github.com/pulp-platform/apb.git", version: 0.1.0 } 11 | sources: 12 | - src/axi2apb.sv 13 | - src/axi2apb_64_32.sv 14 | - src/axi2apb_wrap.sv -------------------------------------------------------------------------------- /hardware/deps/axi2apb/src_files.yml: -------------------------------------------------------------------------------- 1 | axi2apb: 2 | files: [ 3 | src/axi2apb.sv, 4 | src/axi2apb_64_32.sv, 5 | src/axi2apb_wrap.sv, 6 | ] 7 | -------------------------------------------------------------------------------- /hardware/deps/axi2mem/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | /build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/axi2mem/Bender.yml: -------------------------------------------------------------------------------- 1 | package: 2 | name: axi2mem 3 | 4 | dependencies: 5 | axi: { git: "https://github.com/pulp-platform/common_cells.git", version: 0.7.0 } 6 | common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.2.2 } 7 | riscv: { git: "https://github.com/pulp-platform/riscv.git", rev: atomics } 8 | 9 | sources: 10 | - axi2mem.sv 11 | -------------------------------------------------------------------------------- /hardware/deps/axi2mem/src_files.yml: -------------------------------------------------------------------------------- 1 | axi2mem: 2 | files: [ 3 | axi2mem.sv, 4 | ] 5 | -------------------------------------------------------------------------------- /hardware/deps/axi2per/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/axi2per/Bender.yml: -------------------------------------------------------------------------------- 1 | package: 2 | name: axi2per 3 | 4 | dependencies: 5 | axi_slice: { git: "https://github.com/pulp-platform/axi_slice.git", rev: atomics } 6 | 7 | sources: 8 | # Level 0 9 | - axi2per_req_channel.sv 10 | - axi2per_res_channel.sv 11 | # Level 1 12 | - axi2per.sv 13 | -------------------------------------------------------------------------------- /hardware/deps/axi2per/README.md: -------------------------------------------------------------------------------- 1 | # AXI to Peripheral Bus Converter 2 | 3 | Converts an AXI transaction to a transaction supported by some peripherals in the PULP project (like caches, debug unit, etc.). This version supports peripheral data widths of 32 and 64 bit. 4 | 5 | AXI data width has to be 64 bit. 6 | -------------------------------------------------------------------------------- /hardware/deps/axi2per/src_files.yml: -------------------------------------------------------------------------------- 1 | axi2per: 2 | files: [ 3 | axi2per_req_channel.sv, 4 | axi2per_res_channel.sv, 5 | axi2per.sv, 6 | ] 7 | -------------------------------------------------------------------------------- /hardware/deps/axi_riscv_atomics/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig (http://editorconfig.org/) 2 | root = true 3 | 4 | # Default Settings 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 4 9 | indent_style = space 10 | insert_final_newline = true 11 | tab_width = 4 12 | trim_trailing_whitespace = true 13 | max_line_length = 100 14 | 15 | [Makefile] 16 | indent_style = tab 17 | 18 | [*.yml] 19 | indent_size = 2 20 | -------------------------------------------------------------------------------- /hardware/deps/axi_riscv_atomics/.gitignore: -------------------------------------------------------------------------------- 1 | # Bender 2 | .bender/ 3 | *.lock 4 | Bender.local 5 | # Build 6 | build/ 7 | # Override dependencies 8 | deps/ 9 | # Backup 10 | *.bk 11 | *.tmp 12 | # OS 13 | *.DS_Store 14 | -------------------------------------------------------------------------------- /hardware/deps/axi_riscv_atomics/src_files.yml: -------------------------------------------------------------------------------- 1 | axi_riscv_atomics: 2 | files: [ 3 | src/axi_res_tbl.sv, 4 | src/axi_riscv_amos_alu.sv, 5 | src/axi_riscv_amos.sv, 6 | src/axi_riscv_amos_wrap.sv, 7 | src/axi_riscv_lrsc.sv, 8 | src/axi_riscv_lrsc_wrap.sv, 9 | src/axi_riscv_atomics.sv, 10 | src/axi_riscv_atomics_wrap.sv, 11 | ] 12 | -------------------------------------------------------------------------------- /hardware/deps/axi_slice/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | /Bender.lock 4 | /Bender.local 5 | build/ 6 | -------------------------------------------------------------------------------- /hardware/deps/axi_slice/Bender.yml: -------------------------------------------------------------------------------- 1 | package: 2 | name: axi_slice 3 | 4 | dependencies: 5 | common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.7.4 } 6 | 7 | sources: 8 | - src/axi_single_slice.sv 9 | - src/axi_ar_buffer.sv 10 | - src/axi_aw_buffer.sv 11 | - src/axi_b_buffer.sv 12 | - src/axi_r_buffer.sv 13 | - src/axi_slice.sv 14 | - src/axi_w_buffer.sv 15 | - src/axi_slice_wrap.sv 16 | -------------------------------------------------------------------------------- /hardware/deps/axi_slice/README.md: -------------------------------------------------------------------------------- 1 | # AXI Slice 2 | 3 | This IP provides AXI slices, i.e. it can be inserted in AXI channels and adds a 4 | FIFO there to ease timing closure. 5 | 6 | It uses a generic FIFO which is not part of this IP. For the generic FIFO see 7 | either the PULP common cells or the PULPino RTL sources. 8 | -------------------------------------------------------------------------------- /hardware/deps/axi_slice/src_files.yml: -------------------------------------------------------------------------------- 1 | axi_slice: 2 | files: [ 3 | src/axi_single_slice.sv, 4 | src/axi_ar_buffer.sv, 5 | src/axi_aw_buffer.sv, 6 | src/axi_b_buffer.sv, 7 | src/axi_r_buffer.sv, 8 | src/axi_slice.sv, 9 | src/axi_w_buffer.sv, 10 | src/axi_slice_wrap.sv, 11 | ] 12 | -------------------------------------------------------------------------------- /hardware/deps/axi_slice_dc/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.gitignore 3 | build/ 4 | /Bender.lock 5 | /Bender.local 6 | -------------------------------------------------------------------------------- /hardware/deps/axi_slice_dc/README.md: -------------------------------------------------------------------------------- 1 | # AXI Slice Dual-Clock 2 | 3 | This is an implementation of a dual-clock FIFO to be used as an AXI slice. It 4 | can be inserted in an AXI channel and allows to cross a clock domain this way. 5 | This IP was written for the use in the [PULP platform](http://pulp-platform.org). 6 | -------------------------------------------------------------------------------- /hardware/deps/axi_slice_dc/src_files.yml: -------------------------------------------------------------------------------- 1 | axi_slice_dc: 2 | files: [ 3 | src/axi_slice_dc_master.sv, 4 | src/axi_slice_dc_slave.sv, 5 | src/dc_data_buffer.sv, 6 | src/dc_full_detector.v, 7 | src/dc_synchronizer.v, 8 | src/dc_token_ring_fifo_din.v, 9 | src/dc_token_ring_fifo_dout.v, 10 | src/dc_token_ring.v, 11 | src/axi_slice_dc_master_wrap.sv, 12 | src/axi_slice_dc_slave_wrap.sv, 13 | src/axi_cdc.sv, 14 | ] 15 | -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "tb/tb_tcdm_interconnect/matlab/export_fig"] 2 | path = tb/tb_tcdm_interconnect/matlab/export_fig 3 | url = https://github.com/altmany/export_fig.git 4 | -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/doc/tcdm_interconnect/bfly_net.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/doc/tcdm_interconnect/bfly_net.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/doc/tcdm_interconnect/bfly_net.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/doc/tcdm_interconnect/bfly_net.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/doc/tcdm_interconnect/clos_net.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/doc/tcdm_interconnect/clos_net.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/doc/tcdm_interconnect/clos_net.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/doc/tcdm_interconnect/clos_net.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/doc/tcdm_interconnect/xbar.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/doc/tcdm_interconnect/xbar.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/doc/tcdm_interconnect/xbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/doc/tcdm_interconnect/xbar.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/rtl/peripheral_interco/parameters.v: -------------------------------------------------------------------------------- 1 | ../low_latency_interco/parameters.v -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/.gitignore: -------------------------------------------------------------------------------- 1 | work 2 | *.rep 3 | transcript 4 | *.ini 5 | *.wlf 6 | *.log 7 | 8 | -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_128x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_128x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_128x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_128x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_16x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_16x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_16x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_16x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_256x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_256x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_256x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_256x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_32x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_32x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_32x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_64x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_64x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_64x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_64x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_8x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_8x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_8x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_linear_8x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_128x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_128x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_128x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_128x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_16x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_16x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_16x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_16x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_256x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_256x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_256x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_256x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_32x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_32x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_32x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_64x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_64x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_64x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_64x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_8x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_8x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_8x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/pareto_random_uniform_8x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf1.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf1.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf2.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf2.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf4.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/scaling_bf4.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats.mat -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_bf2_64x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_bf2_64x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_bf2_64x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_bf2_64x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_clos_32x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_clos_32x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_clos_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_clos_32x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_128x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_128x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_128x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_128x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_16x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_16x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_16x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_16x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_256x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_256x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_256x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_256x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_32x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_32x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_32x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_64x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_64x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_64x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_64x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_8x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_8x.pdf -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_8x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/plots/stats_selection_8x.png -------------------------------------------------------------------------------- /hardware/deps/cluster_interconnect/tb/tb_tcdm_interconnect/scripts/tb-src.list: -------------------------------------------------------------------------------- 1 | hdl/tb_pkg.sv 2 | hdl/tb.sv 3 | -------------------------------------------------------------------------------- /hardware/deps/cluster_peripherals/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/cluster_peripherals/icache_ctrl_unit/icache_ctrl_unit_address_map.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/cluster_peripherals/icache_ctrl_unit/icache_ctrl_unit_address_map.xls -------------------------------------------------------------------------------- /hardware/deps/common_cells/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.travis.yml 3 | !.git* 4 | *.out 5 | *~ 6 | /Bender.lock 7 | /Bender.local 8 | build 9 | formal/fifo_v3 10 | formal/counter 11 | formal/fall_through_register 12 | *.check 13 | *.vcd 14 | obj_dir/ 15 | -------------------------------------------------------------------------------- /hardware/deps/common_cells/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | 3 | VERILATOR ?= verilator 4 | 5 | all: ecc_encode ecc_decode 6 | 7 | ecc_%: test/ecc/ecc_%.cpp test/ecc/ecc.cpp src/ecc_pkg.sv src/ecc_%.sv 8 | $(VERILATOR) --cc $^ --top-module $@ --trace --exe 9 | cd obj_dir && make -f V$@.mk > /dev/zero 10 | -------------------------------------------------------------------------------- /hardware/deps/common_cells/formal/counter.sby: -------------------------------------------------------------------------------- 1 | [options] 2 | mode prove 3 | depth 100 4 | 5 | [engines] 6 | smtbmc 7 | 8 | [script] 9 | read -formal delta_counter.sv 10 | read -formal counter.sv 11 | read -formal counter_properties.sv 12 | prep -top counter 13 | 14 | [files] 15 | counter_properties.sv 16 | ../src/counter.sv 17 | ../src/delta_counter.sv 18 | -------------------------------------------------------------------------------- /hardware/deps/common_cells/formal/fifo_v3.sby: -------------------------------------------------------------------------------- 1 | [options] 2 | mode prove 3 | depth 100 4 | 5 | [engines] 6 | smtbmc 7 | 8 | [script] 9 | read -formal fifo_v3.sv 10 | read -formal fifo_v3_properties.sv 11 | prep -top fifo_v3 12 | 13 | [files] 14 | fifo_v3_properties.sv 15 | ../src/fifo_v3.sv 16 | -------------------------------------------------------------------------------- /hardware/deps/common_cells/ips_list.yml: -------------------------------------------------------------------------------- 1 | common_verification: 2 | commit: v0.1.1 3 | -------------------------------------------------------------------------------- /hardware/deps/common_cells/test/.gitignore: -------------------------------------------------------------------------------- 1 | *.syn 2 | *.pvl 3 | *.mr 4 | *.pvk 5 | *.svf 6 | synth.tcl 7 | -------------------------------------------------------------------------------- /hardware/deps/common_cells/test/ecc/ecc.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | bool ispowerof2(unsigned int x); 5 | void toBin(uint8_t *data, uint64_t word, size_t len); 6 | void toByte(uint8_t *data, uint8_t *in_data, size_t len); 7 | void printBits(const char *preamble, uint8_t *data, size_t len); 8 | int calcParityLen(int data_bits); 9 | void ecc_encode (uint64_t word, int d, uint8_t *codeword); 10 | -------------------------------------------------------------------------------- /hardware/deps/event_unit_flex/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/event_unit_flex/Bender.yml: -------------------------------------------------------------------------------- 1 | package: 2 | name: event_unit_flex 3 | 4 | sources: 5 | include_dirs: ["."] 6 | files: 7 | - message_bus.sv 8 | - event_unit_core.sv 9 | - event_unit_interface_mux.sv 10 | - event_unit_top.sv 11 | - soc_periph_fifo.sv 12 | - interc_sw_evt_trig.sv 13 | - hw_barrier_unit.sv 14 | - hw_mutex_unit.sv 15 | - hw_dispatch.sv 16 | -------------------------------------------------------------------------------- /hardware/deps/event_unit_flex/src_files.yml: -------------------------------------------------------------------------------- 1 | event_unit_flex: 2 | incdirs: [ 3 | ., 4 | ] 5 | files: [ 6 | event_unit_core.sv, 7 | event_unit_interface_mux.sv, 8 | event_unit_top.sv, 9 | soc_periph_fifo.sv, 10 | interc_sw_evt_trig.sv, 11 | hw_barrier_unit.sv, 12 | hw_mutex_unit.sv, 13 | hw_dispatch.sv 14 | ] 15 | -------------------------------------------------------------------------------- /hardware/deps/fpnew/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | html 3 | Bender.lock 4 | -------------------------------------------------------------------------------- /hardware/deps/fpnew/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src-sv/common_cells"] 2 | path = src/common_cells 3 | url = https://github.com/pulp-platform/common_cells.git 4 | [submodule "src-sv/fpu_div_sqrt_mvp"] 5 | path = src/fpu_div_sqrt_mvp 6 | url = https://github.com/pulp-platform/fpu_div_sqrt_mvp.git 7 | [submodule "tb/flexfloat"] 8 | path = tb/flexfloat 9 | url = https://github.com/oprecomp/flexfloat.git 10 | -------------------------------------------------------------------------------- /hardware/deps/fpnew/docs/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Global owners 2 | * @stmach 3 | -------------------------------------------------------------------------------- /hardware/deps/fpnew/docs/fig/multislice_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/fpnew/docs/fig/multislice_block.png -------------------------------------------------------------------------------- /hardware/deps/fpnew/docs/fig/opgrp_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/fpnew/docs/fig/opgrp_block.png -------------------------------------------------------------------------------- /hardware/deps/fpnew/docs/fig/slice_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/fpnew/docs/fig/slice_block.png -------------------------------------------------------------------------------- /hardware/deps/fpnew/docs/fig/top_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/fpnew/docs/fig/top_block.png -------------------------------------------------------------------------------- /hardware/deps/fpu_div_sqrt_mvp/document/Datasheet_of_transprecision.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/fpu_div_sqrt_mvp/document/Datasheet_of_transprecision.pdf -------------------------------------------------------------------------------- /hardware/deps/fpu_div_sqrt_mvp/hdl/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | */*~ -------------------------------------------------------------------------------- /hardware/deps/fpu_div_sqrt_mvp/src_files.yml: -------------------------------------------------------------------------------- 1 | div_sqrt_top_mvp: 2 | files: [ 3 | hdl/defs_div_sqrt_mvp.sv, 4 | hdl/control_mvp.sv, 5 | hdl/div_sqrt_mvp_wrapper.sv, 6 | hdl/div_sqrt_top_mvp.sv, 7 | hdl/iteration_div_sqrt_mvp.sv, 8 | hdl/norm_div_sqrt_mvp.sv, 9 | hdl/nrbd_nrsc_mvp.sv, 10 | hdl/preprocess_mvp.sv, 11 | ] -------------------------------------------------------------------------------- /hardware/deps/icache-intc/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/icache-intc/src_files.yml: -------------------------------------------------------------------------------- 1 | icache-intc: 2 | files: [ 3 | DistributedArbitrationNetwork_Req_icache_intc.sv, 4 | DistributedArbitrationNetwork_Resp_icache_intc.sv, 5 | icache_intc.sv, 6 | Req_Arb_Node_icache_intc.sv, 7 | Resp_Arb_Node_icache_intc.sv, 8 | RoutingBlock_Req_icache_intc.sv, 9 | RoutingBlock_Resp_icache_intc.sv, 10 | lint_mux.sv, 11 | RoutingBlock_2ch_Req_icache_intc.sv, 12 | ] 13 | -------------------------------------------------------------------------------- /hardware/deps/icache_mp_128_pf/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/icache_mp_128_pf/src_files.yml: -------------------------------------------------------------------------------- 1 | icache_mp_128_pf: 2 | incdirs: [ 3 | ../../rtl/includes, 4 | ] 5 | files: [ 6 | RTL/cache_controller_to_axi_128_PF.sv, 7 | RTL/central_controller_128.sv, 8 | RTL/icache_bank_mp_128.sv, 9 | RTL/icache_bank_mp_PF.sv, 10 | RTL/icache_top_mp_128_PF.sv, 11 | RTL/merge_refill_cam_128_16.sv, 12 | RTL/pf_miss_mux.sv, 13 | RTL/prefetcher_if.sv, 14 | ] 15 | -------------------------------------------------------------------------------- /hardware/deps/per2axi/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/per2axi/src_files.yml: -------------------------------------------------------------------------------- 1 | per2axi: 2 | files: [ 3 | src/per2axi_busy_unit.sv, 4 | src/per2axi_req_channel.sv, 5 | src/per2axi_res_channel.sv, 6 | src/per2axi.sv, 7 | ] 8 | -------------------------------------------------------------------------------- /hardware/deps/pulp_cluster/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/riscv/.gitignore: -------------------------------------------------------------------------------- 1 | TAGS 2 | *.swp 3 | *~ 4 | *.o 5 | *.log 6 | *.vcd 7 | *.xml 8 | *.dbg 9 | *.wlf 10 | *.elf 11 | *.hex 12 | *.map 13 | *.out 14 | *.json 15 | .build-rtl 16 | .lib-rtl 17 | .opt-rtl 18 | /build 19 | /Bender.lock 20 | /Bender.local 21 | -------------------------------------------------------------------------------- /hardware/deps/riscv/.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | dummy_test_to_trigger_pulpino_ci: 2 | stage: test 3 | script: 4 | - ci/dummy.csh 5 | 6 | trigger_build: 7 | stage: deploy 8 | script: 9 | - "curl -X POST -F token=d80b010cbbb5f0143e0aed386e3202 -F ref=master https://iis-git.ee.ethz.ch/api/v4/projects/72/trigger/pipeline" 10 | -------------------------------------------------------------------------------- /hardware/deps/riscv/ci/make-tmp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | cd "$(dirname "${BASH_SOURCE[0]}")/.." 4 | [ -d tmp ] || rm -rf tmp 5 | mkdir -p tmp 6 | -------------------------------------------------------------------------------- /hardware/deps/riscv/doc/NONSECURED_RI5CY_DEBUG_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/riscv/doc/NONSECURED_RI5CY_DEBUG_reference.xlsx -------------------------------------------------------------------------------- /hardware/deps/riscv/doc/SECURED_RI5CY_DEBUG_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/riscv/doc/SECURED_RI5CY_DEBUG_reference.xlsx -------------------------------------------------------------------------------- /hardware/deps/riscv/doc/user_manual.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/riscv/doc/user_manual.doc -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/.gitignore: -------------------------------------------------------------------------------- 1 | csmith/platform.info 2 | csmith/test.c 3 | csmith/test.elf 4 | csmith/test_ref 5 | csmith/output_ref.txt 6 | csmith/output_sim.txt 7 | platform.info 8 | memory_dump.bin 9 | riscv-fesvr 10 | riscv-isa-sim 11 | modelsim.ini 12 | DVEfiles 13 | csrc 14 | inter.vpd 15 | ucli.key 16 | vc_hdrs.h 17 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/csmith/license_notes: -------------------------------------------------------------------------------- 1 | The files: 2 | riscv-isa-sim.diff 3 | 4 | are distributed under the ISC license. 5 | Copyright 2019 Clifford Wolf -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/custom/hello_world.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(int argc, char *argv[]) 5 | { 6 | /* inline assembly */ 7 | asm volatile("ecall"); 8 | /* write something to stdout */ 9 | printf("hello world!\n"); 10 | return EXIT_SUCCESS; 11 | } 12 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/firmware/README: -------------------------------------------------------------------------------- 1 | A simple test firmware. This code is in the public domain. Simply copy whatever 2 | you can use. 3 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/README.md: -------------------------------------------------------------------------------- 1 | # RISC-V TESTS 2 | Tests from https://github.com/riscv/riscv-tests/tree/master/isa 3 | 4 | The rather big bunch of folders and its structure were preserved to make 5 | updating the tests less of a hassle. For practical reasons we maintain them 6 | in-tree (mostly amounting to the occasional update). 7 | 8 | We currently only run a subset of these tests, namely 9 | * rv32ui 10 | * rv32uc 11 | * rv32um 12 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/breakpoint.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64M 5 | #define RVTEST_RV64M RVTEST_RV32M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64mi/breakpoint.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/csr.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/csr.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/illegal.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64M 5 | #define RVTEST_RV64M RVTEST_RV32M 6 | 7 | #include "../rv64mi/illegal.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/ma_addr.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64M 5 | #define RVTEST_RV64M RVTEST_RV32M 6 | 7 | #include "../rv64mi/ma_addr.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/ma_fetch.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/ma_fetch.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/mcsr.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64M 5 | #define RVTEST_RV64M RVTEST_RV32M 6 | 7 | #include "../rv64mi/mcsr.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/sbreak.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/sbreak.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32mi/scall.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/scall.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32si/Makefrag: -------------------------------------------------------------------------------- 1 | #======================================================================= 2 | # Makefrag for rv32si tests 3 | #----------------------------------------------------------------------- 4 | 5 | rv32si_sc_tests = \ 6 | csr \ 7 | dirty \ 8 | ma_fetch \ 9 | scall \ 10 | sbreak \ 11 | wfi \ 12 | 13 | rv32si_p_tests = $(addprefix rv32si-p-, $(rv32si_sc_tests)) 14 | 15 | spike32_tests += $(rv32si_p_tests) 16 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32si/csr.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32S 6 | 7 | #include "../rv64si/csr.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32si/dirty.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64M 5 | #define RVTEST_RV64M RVTEST_RV32M 6 | 7 | #undef SATP_MODE_SV39 8 | #define SATP_MODE_SV39 SATP_MODE_SV32 9 | 10 | #include "../rv64si/dirty.S" 11 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32si/ma_fetch.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32S 6 | 7 | #include "../rv64si/ma_fetch.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32si/sbreak.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32S 6 | 7 | #include "../rv64si/sbreak.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32si/scall.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32S 6 | 7 | #include "../rv64si/scall.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32si/wfi.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV32S 6 | 7 | #include "../rv64si/wfi.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amoadd_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amoadd_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amoand_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amoand_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amomax_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amomax_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amomaxu_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amomaxu_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amomin_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amomin_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amominu_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amominu_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amoor_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amoor_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amoswap_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amoswap_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/amoxor_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/amoxor_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ua/lrsc.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ua/lrsc.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uc/rvc.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64uc/rvc.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fadd.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/fadd.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fclass.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/fclass.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fcmp.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/fcmp.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fcvt.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/fcvt.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fcvt_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fcvt_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fdiv.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/fdiv.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fmadd.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/fmadd.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/fmin.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/fmin.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/move.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64ud/move.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ud/recoding.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/recoding.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fadd.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fadd.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fclass.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fclass.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fcmp.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fcmp.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fcvt.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fcvt.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fcvt_w.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fcvt_w.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fdiv.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fdiv.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fmadd.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fmadd.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/fmin.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/fmin.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/move.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/move.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32uf/recoding.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64UF 5 | #define RVTEST_RV64UF RVTEST_RV32UF 6 | 7 | #include "../rv64uf/recoding.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/add.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/add.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/addi.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/addi.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/and.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/and.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/andi.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/andi.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/auipc.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/auipc.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/beq.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/beq.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/bge.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/bge.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/bgeu.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/bgeu.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/blt.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/blt.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/bltu.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/bltu.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/bne.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/bne.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/fence_i.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/fence_i.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/jal.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/jal.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/jalr.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/jalr.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/lb.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/lb.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/lbu.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/lbu.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/lh.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/lh.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/lhu.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/lhu.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/lui.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/lui.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/lw.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/lw.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/or.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/or.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/ori.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/ori.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sb.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sb.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sh.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sh.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/simple.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/simple.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sll.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sll.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/slli.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/slli.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/slt.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/slt.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/slti.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/slti.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sltiu.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sltiu.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sltu.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sltu.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sra.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sra.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/srai.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/srai.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/srl.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/srl.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/srli.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/srli.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sub.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sub.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/sw.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/sw.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/xor.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/xor.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv32ui/xori.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64U 5 | #define RVTEST_RV64U RVTEST_RV32U 6 | 7 | #include "../rv64ui/xori.S" 8 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv64mi/csr.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV64M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/csr.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv64mi/ma_fetch.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV64M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/ma_fetch.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv64mi/sbreak.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV64M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/sbreak.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv64mi/scall.S: -------------------------------------------------------------------------------- 1 | # See LICENSE for license details. 2 | 3 | #include "riscv_test.h" 4 | #undef RVTEST_RV64S 5 | #define RVTEST_RV64S RVTEST_RV64M 6 | #define __MACHINE_MODE 7 | 8 | #include "../rv64si/scall.S" 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/core/riscv_tests/rv64si/Makefrag: -------------------------------------------------------------------------------- 1 | #======================================================================= 2 | # Makefrag for rv64si tests 3 | #----------------------------------------------------------------------- 4 | 5 | rv64si_sc_tests = \ 6 | csr \ 7 | dirty \ 8 | ma_fetch \ 9 | scall \ 10 | wfi \ 11 | sbreak \ 12 | 13 | rv64si_p_tests = $(addprefix rv64si-p-, $(rv64si_sc_tests)) 14 | 15 | spike_tests += $(rv64si_p_tests) 16 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/dm/.gitignore: -------------------------------------------------------------------------------- 1 | TAGS 2 | memory_dump.bin 3 | modelsim.ini 4 | *.o 5 | work/* 6 | *.vstf 7 | *.wlf 8 | *.log 9 | objdump 10 | .build-rtl 11 | .lib-rtl 12 | .opt-rtl 13 | *.elf 14 | *.hex 15 | riscv-dbg 16 | common_cells 17 | tech_cells_generic 18 | fpnew 19 | transcript 20 | .nfs* 21 | simv* 22 | ucli.key 23 | DVEfiles 24 | cobj_dir 25 | obj_dir 26 | testbench_verilator 27 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/dm/prog/test.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(){ 4 | printf("hello world!\n"); 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/dm/remote_bitbang/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.d 3 | *.so -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/serDiv/scripts/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | vlib ./work 4 | 5 | vlog -sv ../../../alu_div.sv || exit 1 6 | vlog -sv +incdir+../ ../tb.sv || exit 1 7 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/serDiv/scripts/tb.do: -------------------------------------------------------------------------------- 1 | #vsim -sva -assertdebug -t ps tb 2 | vsim -voptargs="+acc" -t ps tb 3 | 4 | #turn off disturbing warnings... 5 | #set NumericStdNoWarnings 1 6 | 7 | do wave.do 8 | run -all 9 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/serDiv/scripts/tb_nogui.do: -------------------------------------------------------------------------------- 1 | vsim -t ps \ 2 | tb 3 | 4 | #turn off disturbing warnings... 5 | set StdArithNoWarnings 1 6 | set StdNumNoWarnings 1 7 | set NumericStdNoWarnings 1 8 | 9 | run -all 10 | exit -f 11 | 12 | -------------------------------------------------------------------------------- /hardware/deps/riscv/tb/verilator-model/.gitignore: -------------------------------------------------------------------------------- 1 | # Verilator object directory 2 | obj_dir/ 3 | # Test bench build objects 4 | testbench 5 | testbench.o 6 | -------------------------------------------------------------------------------- /hardware/deps/scm/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | build 4 | *.out 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/tech_cells_generic/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | build 4 | scripts/vivado/add_sources.tcl 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/tech_cells_generic/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | See [our style and contribution guidelines](https://github.com/pulp-platform/style-guidelines). -------------------------------------------------------------------------------- /hardware/deps/timer_unit/.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.git* 3 | *.out 4 | build 5 | /Bender.lock 6 | /Bender.local 7 | -------------------------------------------------------------------------------- /hardware/deps/timer_unit/Bender.yml: -------------------------------------------------------------------------------- 1 | package: 2 | name: timer_unit 3 | 4 | sources: 5 | # Level 0 6 | - rtl/timer_unit_counter.sv 7 | - rtl/timer_unit_counter_presc.sv 8 | # Level 1 9 | - rtl/apb_timer_unit.sv 10 | - rtl/timer_unit.sv 11 | -------------------------------------------------------------------------------- /hardware/deps/timer_unit/doc/TIMER_UNIT_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/timer_unit/doc/TIMER_UNIT_reference.xlsx -------------------------------------------------------------------------------- /hardware/deps/timer_unit/doc/timer_unit.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/deps/timer_unit/doc/timer_unit.pdf -------------------------------------------------------------------------------- /hardware/deps/timer_unit/src_files.yml: -------------------------------------------------------------------------------- 1 | timer_unit: 2 | incdirs: [ 3 | rtl, 4 | ] 5 | files: [ 6 | ./rtl/apb_timer_unit.sv, 7 | ./rtl/timer_unit.sv, 8 | ./rtl/timer_unit_counter.sv, 9 | ./rtl/timer_unit_counter_presc.sv, 10 | ] 11 | -------------------------------------------------------------------------------- /hardware/fpga/.gitignore: -------------------------------------------------------------------------------- 1 | .Xil/ 2 | /hero_exilzcu102*/ 3 | vivado*.jou 4 | vivado*.log 5 | vivado*.str 6 | -------------------------------------------------------------------------------- /hardware/fpga/vivado_ips/.gitignore: -------------------------------------------------------------------------------- 1 | /component.xml 2 | /define_*.tcl 3 | /pulp_txilzu9eg/ 4 | /xgui/ 5 | -------------------------------------------------------------------------------- /hardware/fpga/vivado_ips/pulp_txilzu9eg_impl.xdc: -------------------------------------------------------------------------------- 1 | set_false_path -to [get_pins {i_bound/i_bound/gen_clusters[0].gen_cluster_sync.i_cluster/i_ooc/i_bound/cluster_peripherals_i/cluster_timer_wrap_i/timer_unit_i/s_ref_clk0_reg/D}] 2 | -------------------------------------------------------------------------------- /hardware/fpga/vivado_ips/pulp_txilzu9eg_synth.xdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/hardware/fpga/vivado_ips/pulp_txilzu9eg_synth.xdc -------------------------------------------------------------------------------- /hardware/test/.gitignore: -------------------------------------------------------------------------------- 1 | /slm_files/ 2 | -------------------------------------------------------------------------------- /hardware/vsim/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !/.gitignore 3 | !/compile.sh 4 | !/run.tcl 5 | !/start_sim.sh 6 | -------------------------------------------------------------------------------- /hardware/vsim/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | if [ -z "$VSIM" ]; then 6 | VSIM="vsim-10.7b" 7 | fi 8 | readonly VSIM 9 | 10 | make -C .. vsim/compile.tcl 11 | 12 | ${VSIM} -c -do 'source compile.tcl; quit' 13 | -------------------------------------------------------------------------------- /hardware/vsim/start_sim.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | if [ -n "$CI" -o -z "$DISPLAY" ]; then 6 | # Run in console-only mode. 7 | vsim-10.7b -c -do 'source run.tcl; quit -code $quitCode' 8 | else 9 | # Run in GUI mode and silence console output. 10 | vsim-10.7b -do 'source run.tcl' &>/dev/null 11 | fi 12 | -------------------------------------------------------------------------------- /openmp-examples/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig (http://editorconfig.org/) 2 | # Default Settings 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 2 7 | indent_style = space 8 | insert_final_newline = true 9 | tab_width = 4 10 | trim_trailing_whitespace = true 11 | max_line_length = 100 12 | 13 | [Makefile,*.mk] 14 | indent_style = tab 15 | 16 | [README*] 17 | max_line_length = 80 18 | -------------------------------------------------------------------------------- /openmp-examples/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.o 3 | *optimized 4 | *.c.* 5 | offload.so 6 | offload.bin 7 | imgs_out 8 | __pycache__ 9 | testsuite 10 | *.elf 11 | *.ini 12 | *.dis 13 | *.ll 14 | *.s 15 | *.i 16 | *.bc 17 | *.slm 18 | .deps/ 19 | -------------------------------------------------------------------------------- /openmp-examples/Makefile: -------------------------------------------------------------------------------- 1 | DIRECTORIES = $(wildcard */) 2 | 3 | .PHONY: test 4 | test: 5 | @$(foreach dir,$(DIRECTORIES), cd $(PWD)/$(dir) && make init-target-host clean all run;) 6 | -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/.gitignore: -------------------------------------------------------------------------------- 1 | /darknet-layer 2 | -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/LICENSE.Apache-2.0: -------------------------------------------------------------------------------- 1 | ../darknet/LICENSE.Apache-2.0 -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/LICENSE.MIT: -------------------------------------------------------------------------------- 1 | ../darknet/LICENSE.MIT -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS := $(wildcard *.c) 4 | EXE = darknet-layer 5 | LDFLAGS = -lm 6 | CFLAGS += -fintegrated-as 7 | 8 | # HERCULES environment variables are ignored when HERCULES_INSTALL is unset. 9 | export HERCULES_DEFAULT_NUM_THREADS=8 10 | 11 | -include $(ROOT)/../common/default.mk 12 | -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/README.md: -------------------------------------------------------------------------------- 1 | # Individual Layers of Darknet 2 | 3 | This is a reduced version of `darknet` that allows to execute that neural 4 | network application one layer at a time. 5 | 6 | See the [`README.md` of `darknet`](../darknet/README.md) for more information. 7 | -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/gemm.c: -------------------------------------------------------------------------------- 1 | ../darknet/gemm.c -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/gemm.h: -------------------------------------------------------------------------------- 1 | ../darknet/gemm.h -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/gemm_layers.c: -------------------------------------------------------------------------------- 1 | ../darknet/gemm_layers.c -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/gemm_layers.h: -------------------------------------------------------------------------------- 1 | ../darknet/gemm_layers.h -------------------------------------------------------------------------------- /openmp-examples/darknet-layer/inputs: -------------------------------------------------------------------------------- 1 | ../darknet/inputs -------------------------------------------------------------------------------- /openmp-examples/darknet/.gitignore: -------------------------------------------------------------------------------- 1 | /darknet 2 | -------------------------------------------------------------------------------- /openmp-examples/darknet/demo.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 Joseph Redmon 2 | // Licensed under the MIT License, see LICENSE.MIT for details. 3 | // SPDX-License-Identifier: MIT 4 | 5 | #ifndef DEMO_H 6 | #define DEMO_H 7 | 8 | #include "image.h" 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /openmp-examples/darknet/inputs/.gitattributes: -------------------------------------------------------------------------------- 1 | *.weights filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /openmp-examples/darknet/inputs/cfg/coco.data: -------------------------------------------------------------------------------- 1 | classes= 80 2 | train = /home/pjreddie/data/coco/trainvalno5k.txt 3 | valid = coco_testdev 4 | #valid = data/coco_val_5k.list 5 | names = data/coco.names 6 | backup = /home/pjreddie/backup/ 7 | eval=coco 8 | 9 | -------------------------------------------------------------------------------- /openmp-examples/darknet/inputs/data/dog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/openmp-examples/darknet/inputs/data/dog.jpg -------------------------------------------------------------------------------- /openmp-examples/darknet/inputs/yolov3-tiny.weights: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:dccea06f59b781ec1234ddf8d1e94b9519a97f4245748a7d4db75d5b7080a42c 3 | size 35434956 4 | -------------------------------------------------------------------------------- /openmp-examples/darknet/layer.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 Joseph Redmon 2 | // Licensed under the MIT License, see LICENSE.MIT for details. 3 | // SPDX-License-Identifier: MIT 4 | 5 | #include "darknet.h" 6 | -------------------------------------------------------------------------------- /openmp-examples/darknet/list.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 Joseph Redmon 2 | // Licensed under the MIT License, see LICENSE.MIT for details. 3 | // SPDX-License-Identifier: MIT 4 | 5 | #ifndef LIST_H 6 | #define LIST_H 7 | #include "darknet.h" 8 | 9 | list *make_list(); 10 | int list_find(list *l, void *val); 11 | 12 | void list_insert(list *, void *); 13 | 14 | void free_list_contents(list *l); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /openmp-examples/darknet/parser.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 Joseph Redmon 2 | // Licensed under the MIT License, see LICENSE.MIT for details. 3 | // SPDX-License-Identifier: MIT 4 | 5 | #ifndef PARSER_H 6 | #define PARSER_H 7 | #include "darknet.h" 8 | #include "network.h" 9 | 10 | void save_network(network net, char *filename); 11 | void save_weights_double(network net, char *filename); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /openmp-examples/darknet/tree.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 Joseph Redmon 2 | // Licensed under the MIT License, see LICENSE.MIT for details. 3 | // SPDX-License-Identifier: MIT 4 | 5 | #ifndef TREE_H 6 | #define TREE_H 7 | #include "darknet.h" 8 | 9 | int hierarchy_top_prediction(float *predictions, tree *hier, float thresh, int stride); 10 | float get_hierarchy_probability(float *x, tree *hier, int c, int stride); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /openmp-examples/dma-perf/.gitignore: -------------------------------------------------------------------------------- 1 | /*.pdf 2 | /*.txt 3 | /dma-perf 4 | -------------------------------------------------------------------------------- /openmp-examples/dma-perf/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = dma-perf.c 4 | 5 | -include $(ROOT)/../common/default.mk 6 | -------------------------------------------------------------------------------- /openmp-examples/helloworld/.gitignore: -------------------------------------------------------------------------------- 1 | /helloworld 2 | -------------------------------------------------------------------------------- /openmp-examples/helloworld/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | ############################ OpenMP Sources ############################ 4 | CSRCS = helloworld.c 5 | 6 | -include $(ROOT)/../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/linked-list/.gitignore: -------------------------------------------------------------------------------- 1 | /linked-list 2 | -------------------------------------------------------------------------------- /openmp-examples/linked-list/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = linked-list.c 4 | 5 | prepare:: 6 | ifndef HERO_TARGET_HOST 7 | $(error HERO_TARGET_HOST is not set) 8 | endif 9 | scp *.txt $(HERO_TARGET_HOST):$(HERO_TARGET_PATH_APPS)/. 10 | 11 | -include $(ROOT)/../common/default.mk 12 | -------------------------------------------------------------------------------- /openmp-examples/linked-list/testset.cfg: -------------------------------------------------------------------------------- 1 | from plptest import * 2 | TestConfig = c = {} 3 | def check_output(config, output): 4 | return(output.find("make: *** [run] Error") == -1, None) 5 | 6 | c['tests'] = [ 7 | Test(name = 'linked-list', commands = [ Shell('clean', 'make clean'), Shell('build', 'make all'), Shell('run', 'make run'), Check('check', check_output) ], timeout=1000000), 8 | ] 9 | -------------------------------------------------------------------------------- /openmp-examples/mm-large/.gitignore: -------------------------------------------------------------------------------- 1 | /mm-large 2 | -------------------------------------------------------------------------------- /openmp-examples/mm-large/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = mm-large.c 4 | 5 | -include $(ROOT)/../common/default.mk 6 | -------------------------------------------------------------------------------- /openmp-examples/mm-large/README.md: -------------------------------------------------------------------------------- 1 | # Matrix-Matrix Multiplication Double-Buffering Example Application 2 | 3 | This example application demonstrates how DMA double buffering can be used to let the accelerator operate on data larger than its internal L1 scratchpad memory, and how to overlap DMA transfers with actual computations for high performance. 4 | -------------------------------------------------------------------------------- /openmp-examples/mm-large/testset.cfg: -------------------------------------------------------------------------------- 1 | from plptest import * 2 | TestConfig = c = {} 3 | def check_output(config, output): 4 | return(output.find("make: *** [run] Error") == -1, None) 5 | 6 | c['tests'] = [ 7 | Test(name = 'mm-large', commands = [ Shell('clean', 'make clean'), Shell('build', 'make all'), Shell('run', 'make run'), Check('check', check_output) ], timeout=1000000), 8 | ] 9 | -------------------------------------------------------------------------------- /openmp-examples/mm-small/.gitignore: -------------------------------------------------------------------------------- 1 | /mm-small 2 | -------------------------------------------------------------------------------- /openmp-examples/mm-small/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = mm-small.c 4 | 5 | -include $(ROOT)/../common/default.mk 6 | -------------------------------------------------------------------------------- /openmp-examples/mm-small/README.md: -------------------------------------------------------------------------------- 1 | # Matrix-Matrix Multiplication Example Application 2 | 3 | This is a simple example application which shows how to offload and accelerate a simple MM kernel on the accelerator. 4 | Multiple versions of the same kernel are offloaded to demonstrate the benefits of parallelization through OpenMP and DMA usage. 5 | -------------------------------------------------------------------------------- /openmp-examples/mm-small/testset.cfg: -------------------------------------------------------------------------------- 1 | from plptest import * 2 | TestConfig = c = {} 3 | def check_output(config, output): 4 | return(output.find("make: *** [run] Error") == -1, None) 5 | 6 | c['tests'] = [ 7 | Test(name = 'mm-small', commands = [ Shell('clean', 'make clean'), Shell('build', 'make all'), Shell('run', 'make run'), Check('check', check_output) ], timeout=1000000), 8 | ] 9 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/2mm/.gitignore: -------------------------------------------------------------------------------- 1 | 2mm 2 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/2mm/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = 2mm.c 4 | 5 | -include $(ROOT)/../common/polybench.mk 6 | -include $(ROOT)/../../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/3mm/.gitignore: -------------------------------------------------------------------------------- 1 | 3mm 2 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/3mm/3mm.exp: -------------------------------------------------------------------------------- 1 | 0 2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1704 2922 4853 5782 7344 3 | 8704 11114 11114 2930 5024 8345 9942 12628 14966 19111 19111 4761 8164 13560 16155 20520 24319 31054 31054 5691 4 | 9759 16209 19311 24529 29070 37121 37121 7225 12389 20578 24516 31140 36905 47126 47126 8621 14783 24554 29253 37157 5 | 44036 56232 56232 6 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/3mm/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = 3mm.c 4 | 5 | -include $(ROOT)/../common/polybench.mk 6 | -include $(ROOT)/../../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/README.md: -------------------------------------------------------------------------------- 1 | # PolyBench-ACC Benchmarks ported to HERO 2 | 3 | This is a collection of kernels from the OpenMP part of the [PolyBench-ACC][] benchmark suite ported to HERO. 4 | 5 | More kernels can be added as needed, but please do not add `durbin` because its OpenMP parallelization is mathematically wrong (dependency on previous iteration in parallelized loop). 6 | 7 | [PolyBench-ACC]: https://cavazos-lab.github.io/PolyBench-ACC/ 8 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/atax/.gitignore: -------------------------------------------------------------------------------- 1 | atax 2 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/atax/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = atax.c 4 | 5 | -include $(ROOT)/../common/polybench.mk 6 | -include $(ROOT)/../../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/atax/atax.exp: -------------------------------------------------------------------------------- 1 | 0 2 | 1293 2223 3612 4317 5481 6540 8106 3 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/bicg/.gitignore: -------------------------------------------------------------------------------- 1 | bicg 2 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/bicg/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = bicg.c 4 | 5 | -include $(ROOT)/../common/polybench.mk 6 | -include $(ROOT)/../../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/bicg/bicg.exp: -------------------------------------------------------------------------------- 1 | 0 2 | 66 114 186 222 282 336 420 0 3 | 21 96 156 234 285 354 420 4 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/common/.gitignore: -------------------------------------------------------------------------------- 1 | *.a 2 | build/ 3 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/convolution-2d/.gitignore: -------------------------------------------------------------------------------- 1 | convolution-2d 2 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/convolution-2d/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = convolution-2d.c 4 | 5 | -include $(ROOT)/../common/polybench.mk 6 | -include $(ROOT)/../../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/convolution-2d/convolution-2d.exp: -------------------------------------------------------------------------------- 1 | 179986 179991 179996 180001 180006 180011 229986 229991 229996 230001 2 | 230006 230011 279986 279991 279996 280001 280006 280011 329986 329991 329996 330001 330006 330011 379986 379991 379996 380001 380006 380011 429986 429991 429996 430001 430006 430011 3 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/covariance/.gitignore: -------------------------------------------------------------------------------- 1 | /covariance 2 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/covariance/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = covariance.c 4 | 5 | -include $(ROOT)/../common/polybench.mk 6 | -include $(ROOT)/../../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/covariance/covariance.exp: -------------------------------------------------------------------------------- 1 | 0 2 | 0 0 0 0 0 0 0 0 924 1848 2772 3696 4620 5544 6468 0 1848 3696 5544 7392 3 | 9240 11088 12936 0 2772 5544 8316 11088 13860 16632 19404 0 3696 7392 11088 14784 18480 22176 25872 0 4 | 4620 9240 13860 18480 23100 27720 32340 0 5544 11088 16632 22176 27720 33264 38808 0 6468 12936 19404 25872 5 | 32340 38808 45276 6 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/gemm/.gitignore: -------------------------------------------------------------------------------- 1 | gemm 2 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/gemm/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = gemm.c 4 | 5 | -include $(ROOT)/../common/polybench.mk 6 | -include $(ROOT)/../../common/default.mk 7 | -------------------------------------------------------------------------------- /openmp-examples/polybench-acc/gemm/gemm.exp: -------------------------------------------------------------------------------- 1 | 0 2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129648 194472 326243 3 | 391067 488303 585539 0 0 194472 358655 553127 650363 846958 1009018 0 0 326243 553127 911782 1073842 1367673 1626969 0 4 | 0 391067 650363 1073842 1302849 1626969 1953212 0 0 488303 846958 1367673 1626969 2082860 2473927 0 0 585539 1009018 1626969 5 | 1953212 2473927 2962230 6 | -------------------------------------------------------------------------------- /openmp-examples/sobel-filter/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.a 3 | 4 | sobel 5 | check_sobel 6 | 7 | img.rgb 8 | img_out* 9 | 10 | *.swp 11 | 12 | -------------------------------------------------------------------------------- /openmp-examples/sobel-filter/imgs/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/openmp-examples/sobel-filter/imgs/img.png -------------------------------------------------------------------------------- /openmp-examples/sobel-filter/readme_imgs/imgin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/openmp-examples/sobel-filter/readme_imgs/imgin.png -------------------------------------------------------------------------------- /openmp-examples/sobel-filter/readme_imgs/imgout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/openmp-examples/sobel-filter/readme_imgs/imgout.png -------------------------------------------------------------------------------- /openmp-examples/sobel-filter/testset.cfg: -------------------------------------------------------------------------------- 1 | from plptest import * 2 | TestConfig = c = {} 3 | def check_output(config, output): 4 | return(output.find("make: *** [run] Error") == -1, None) 5 | 6 | c['tests'] = [ 7 | Test(name = 'sobel', commands = [ Shell('conf', 'pwd'), Shell('clean', 'pwd'), Shell('build', 'make all'), Shell('run', 'make run'), Check('check', check_output) ], timeout=1000000), 8 | ] 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-hero/perf/.gitignore: -------------------------------------------------------------------------------- 1 | /perf 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-hero/perf/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | CSRCS = perf.c 4 | 5 | -include $(ROOT)/../../common/default.mk 6 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/Makefile: -------------------------------------------------------------------------------- 1 | DIRECTORIES = $(wildcard */) 2 | 3 | .PHONY: all 4 | all: 5 | @$(foreach dir,$(DIRECTORIES), cd $(PWD)/$(dir) && make all;) 6 | 7 | clean: 8 | @$(foreach dir,$(DIRECTORIES), cd $(PWD)/$(dir) && make clean;) 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/api/.gitignore: -------------------------------------------------------------------------------- 1 | /api 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/api/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # This test requires linking to the API 7 | LDFLAGS_PULP := -lhero-target 8 | 9 | # Include common options and then the common build system 10 | -include $(ROOT)/../include/common.mk 11 | -include $(ROOT)/../../common/default.mk 12 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/compiler/.gitignore: -------------------------------------------------------------------------------- 1 | /compiler 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/compiler/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # Include common options and then the common build system 7 | -include $(ROOT)/../include/common.mk 8 | -include $(ROOT)/../../common/default.mk 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/hero_64/.gitignore: -------------------------------------------------------------------------------- 1 | /hero_64 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/hero_64/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # Include common options and then the common build system 7 | -include $(ROOT)/../include/common.mk 8 | -include $(ROOT)/../../common/default.mk 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/include/common.mk: -------------------------------------------------------------------------------- 1 | # Common configuration for all tests of the HERO build infrastructure in 2 | # default.mk. 3 | 4 | # These are PULP-only tests. 5 | only = pulp 6 | 7 | # Set flags used by all tests 8 | CFLAGS_PULP += -DNO_MAIN -DNO_DOUBLE -I../include 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/include/omp_my_sleep.h: -------------------------------------------------------------------------------- 1 | #ifndef MY_SLEEP_H 2 | #define MY_SLEEP_H 3 | 4 | /* adapted from llvm test suite 5 | https://github.com/llvm-mirror/openmp/blob/master/runtime/test/omp_my_sleep.h 6 | */ 7 | 8 | static void my_sleep(double sleeptime){ 9 | for (int i = 0; i < sleeptime; i++){ 10 | __asm__ volatile ("nop"); 11 | } 12 | } 13 | 14 | #endif // MY_SLEEP_H 15 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_atomic/.gitignore: -------------------------------------------------------------------------------- 1 | /omp_atomic 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_atomic/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # Include common options and then the common build system 7 | -include $(ROOT)/../include/common.mk 8 | -include $(ROOT)/../../common/default.mk 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_gcc/.gitignore: -------------------------------------------------------------------------------- 1 | /omp_gcc 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_gcc/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # Include common options and then the common build system 7 | -include $(ROOT)/../include/common.mk 8 | -include $(ROOT)/../../common/default.mk 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_sync/.gitignore: -------------------------------------------------------------------------------- 1 | /omp_sync 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_sync/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # Include common options and then the common build system 7 | -include $(ROOT)/../include/common.mk 8 | -include $(ROOT)/../../common/default.mk 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_sync/omp_barrier.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/barrier/omp_barrier.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_sync/omp_critical.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/critical/omp_critical.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_sync/omp_master_3.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/master/omp_master_3.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_sync/omp_single.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/single/omp_single.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_for/.gitignore: -------------------------------------------------------------------------------- 1 | /omp_worksharing_for 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_for/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # Include common options and then the common build system 7 | -include $(ROOT)/../include/common.mk 8 | -include $(ROOT)/../../common/default.mk 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_for/omp_parallel_for_firstprivate.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/for/omp_parallel_for_firstprivate.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_for/omp_parallel_for_lastprivate.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/for/omp_parallel_for_lastprivate.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_for/omp_parallel_for_private.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/for/omp_parallel_for_private.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_for/omp_parallel_for_reduction.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/for/omp_parallel_for_reduction.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/.gitignore: -------------------------------------------------------------------------------- 1 | /omp_worksharing_sections 2 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/Makefile: -------------------------------------------------------------------------------- 1 | ROOT := $(patsubst %/,%, $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) 2 | 3 | # Source files to include in test 4 | CSRCS = $(wildcard *.c) 5 | 6 | # Include common options and then the common build system 7 | -include $(ROOT)/../include/common.mk 8 | -include $(ROOT)/../../common/default.mk 9 | -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/omp_parallel_sections_firstprivate.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/sections/omp_parallel_sections_firstprivate.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/omp_parallel_sections_lastprivate.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/sections/omp_parallel_sections_lastprivate.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/omp_parallel_sections_private.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/sections/omp_parallel_sections_private.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/omp_parallel_sections_reduction.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/sections/omp_parallel_sections_reduction.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/omp_section_firstprivate.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/sections/omp_section_firstprivate.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/omp_section_lastprivate.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/sections/omp_section_lastprivate.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/omp_worksharing_sections/omp_section_private.c: -------------------------------------------------------------------------------- 1 | ../../../toolchain/llvm-project/openmp/runtime/test/worksharing/sections/omp_section_private.c -------------------------------------------------------------------------------- /openmp-examples/tests-pulp/pulp/.gitignore: -------------------------------------------------------------------------------- 1 | /pulp 2 | -------------------------------------------------------------------------------- /openmp-examples/testset.cfg: -------------------------------------------------------------------------------- 1 | from plptest import * 2 | 3 | TestConfig = c = {} 4 | 5 | tests = Testset( 6 | name = 'hero-openmp-examples', 7 | files = [ 8 | 'mm-large/testset.cfg', 9 | 'mm-small/testset.cfg', 10 | 'sobel-filter/testset.cfg', 11 | 'linked-list/testset.cfg', 12 | ] 13 | ) 14 | 15 | c['testsets'] = [ tests ] 16 | -------------------------------------------------------------------------------- /package/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HERO_PLATFORM 2 | string "HERO target platform" 3 | -------------------------------------------------------------------------------- /package/hero-apps/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HERO_APPS 2 | bool "Support applications (standalone/UART) for HERO" 3 | select BR2_PACKAGE_LIBPULP 4 | -------------------------------------------------------------------------------- /package/libhero-target/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_LIBHERO_TARGET 2 | bool "HERO target API and library for Host and accelerator" 3 | -------------------------------------------------------------------------------- /package/prem-cmux/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_PREM_CMUX 2 | bool "CMUX PREM Arbitrator and interfacing library" 3 | depends on BR2_PACKAGE_HERO_PLATFORM != "" 4 | -------------------------------------------------------------------------------- /package/vitetris/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_VITETRIS 2 | bool "vitetris" 3 | help 4 | Classic multiplayer tetris for the terminal 5 | -------------------------------------------------------------------------------- /package/zynq-mkbootimage/Config.in.host: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOST_ZYNQ_MKBOOTIMAGE 2 | bool "Tool to build Zynq boot image files" 3 | help 4 | https://github.com/antmicro/zynq-mkbootimage 5 | -------------------------------------------------------------------------------- /petalinux/.gitignore: -------------------------------------------------------------------------------- 1 | /zcu102/ 2 | /.venv/ 3 | -------------------------------------------------------------------------------- /petalinux/recipes-apps/sysctl-conf/files/.gitignore: -------------------------------------------------------------------------------- 1 | /sysctl.conf 2 | -------------------------------------------------------------------------------- /petalinux/recipes-apps/sysctl-conf/files/README: -------------------------------------------------------------------------------- 1 | The sysctl.conf file in this article is automatically mirrored from the 2 | corresponding Buildroot file when PetaLinux is ran. Any manual changes will be 3 | overwritten. 4 | -------------------------------------------------------------------------------- /pulp/refs/hero-sim/config.ld: -------------------------------------------------------------------------------- 1 | __NB_ACTIVE_PE = 8; 2 | __rt_sim = 1; 3 | -------------------------------------------------------------------------------- /pulp/refs/hero-urania/config.ld: -------------------------------------------------------------------------------- 1 | __NB_ACTIVE_PE = 8; 2 | -------------------------------------------------------------------------------- /pulp/refs/hero-z-7045/config.ld: -------------------------------------------------------------------------------- 1 | __NB_ACTIVE_PE = 8; 2 | -------------------------------------------------------------------------------- /pulp/refs/rt_conf.c: -------------------------------------------------------------------------------- 1 | #include "rt/rt_api.h" 2 | 3 | rt_dev_t __rt_devices[] = { 4 | }; 5 | 6 | int __rt_nb_devices = 0; 7 | -------------------------------------------------------------------------------- /pulp/sdk/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | __pycache__ 3 | /build 4 | /libs 5 | /pkg 6 | /platform 7 | /runtime/* 8 | !/runtime/archi 9 | !/runtime/archi-host 10 | !/runtime/hal 11 | !/runtime/libgomp 12 | !/runtime/libomptarget-pulp-rtl 13 | !/runtime/libvmm 14 | !/runtime/pulp-rt 15 | /sourceme.* 16 | /testset.cfg 17 | /tools 18 | /apps/ 19 | /env/ 20 | /examples/ 21 | /rtl/ 22 | /tests/ 23 | -------------------------------------------------------------------------------- /pulp/sdk/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "pulp-tools"] 2 | path = pulp-tools 3 | url = https://github.com/pulp-platform/pulp-tools.git 4 | [submodule "json-tools"] 5 | path = json-tools 6 | url = https://github.com/pulp-platform/json-tools.git 7 | -------------------------------------------------------------------------------- /pulp/sdk/configs/arnold.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=arnold@config_file=${scriptDir}/json/arnold.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/bigpulp-standalone.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=bigpulp-standalone@config_file=${scriptDir}/json/bigpulp-standalone.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/bigpulp-z-7045.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=bigpulp-z-7045@config_file=${scriptDir}/json/bigpulp-z-7045.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/bigpulp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=bigpulp@config_file=${scriptDir}/json/bigpulp.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/fulmine.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=fulmine@config_file=${scriptDir}/json/fulmine.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/gap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=gap@config_file=${scriptDir}/json/gap.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/hero-urania.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=hero-urania@config_file=${scriptDir}/json/hero-urania.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/hero-z-7045.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=hero-z-7045@config_file=${scriptDir}/json/hero-z-7045.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/honey.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=honey@config_file=${scriptDir}/json/honey.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/arnold.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/arnold.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/bigpulp-standalone.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/bigpulp-standalone.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/bigpulp-z-7045.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/bigpulp-z-7045.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/bigpulp.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/bigpulp.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/fulmine.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/fulmine.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/gap.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/gap.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/hero-urania.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/hero-urania.json" ] 3 | } 4 | 5 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/hero-z-7045.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/hero-z-7045.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/honey.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/honey.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/multino.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/multino.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/neuraghe.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/neuraghe.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/oprecompkw.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/oprecompkw.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/oprecompkw_sa.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/oprecompkw_sa.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/oprecompkw_sfloat.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/oprecompkw_sfloat.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/oprecompkw_sfloat_sa.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/oprecompkw_sfloat_sa.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/oprecompkw_sfloat_sa_dual_regfile.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/oprecompkw_sfloat_sa_dual_regfile.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/pulp.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/pulp.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/pulpissimo-microriscy.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/pulpissimo-microriscy.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/pulpissimo-riscy.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/pulpissimo-riscy.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/pulpissimo-zeroriscy.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/pulpissimo-zeroriscy.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/pulpissimo.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/pulpissimo.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/quentin.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/quentin.json" ] 3 | } -------------------------------------------------------------------------------- /pulp/sdk/configs/json/vega.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/vega.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/vivosoc2.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/vivosoc2.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/vivosoc2_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/vivosoc2_1.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/vivosoc3.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/vivosoc3.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/json/wolfe.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes": [ "systems/wolfe.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/configs/multino.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=multino@config_file=${scriptDir}/json/multino.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/neuraghe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=neuraghe@config_file=${scriptDir}/json/neuraghe.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/oprecompkw.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=oprecompkw@config_file=${scriptDir}/json/oprecompkw.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/oprecompkw_sa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=oprecompkw_sa@config_file=${scriptDir}/json/oprecompkw_sa.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/oprecompkw_sfloat.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=oprecompkw_sfloat@config_file=${scriptDir}/json/oprecompkw_sfloat.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/oprecompkw_sfloat_sa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=oprecompkw_sfloat_sa@config_file=${scriptDir}/json/oprecompkw_sfloat_sa.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/oprecompkw_sfloat_sa_dual_regfile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=oprecompkw_sfloat_sa_dual_regfile@config_file=${scriptDir}/json/oprecompkw_sfloat_sa_dual_regfile.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/platform-board.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PULP_CURRENT_CONFIG_ARGS=/platform=board 4 | export PULP_TEMPLATE_ARGS="platform(name(board))" 5 | -------------------------------------------------------------------------------- /pulp/sdk/configs/platform-fpga.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PULP_CURRENT_CONFIG_ARGS=platform=fpga 4 | export PULP_TEMPLATE_ARGS="platform(name(fpga))" 5 | -------------------------------------------------------------------------------- /pulp/sdk/configs/platform-gvsoc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PULP_CURRENT_CONFIG_ARGS=platform=gvsoc 4 | export PULP_TEMPLATE_ARGS="platform(name(gvsoc))" 5 | -------------------------------------------------------------------------------- /pulp/sdk/configs/platform-hsa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PULP_CURRENT_CONFIG_ARGS=platform=hsa 4 | export PULP_TEMPLATE_ARGS="platform(name(hsa))" 5 | -------------------------------------------------------------------------------- /pulp/sdk/configs/platform-rtl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PULP_CURRENT_CONFIG_ARGS=platform=rtl 4 | export PULP_TEMPLATE_ARGS="platform(name(rtl))" 5 | -------------------------------------------------------------------------------- /pulp/sdk/configs/pulp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=pulp@config_file=${scriptDir}/json/pulp.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/pulpissimo-microriscy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=pulpissimo-microriscy@config_file=${scriptDir}/json/pulpissimo-microriscy.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/pulpissimo-riscy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=pulpissimo-riscy@config_file=${scriptDir}/json/pulpissimo-riscy.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/pulpissimo-zeroriscy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=pulpissimo-zeroriscy@config_file=${scriptDir}/json/pulpissimo-zeroriscy.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/pulpissimo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=pulpissimo@config_file=${scriptDir}/json/pulpissimo.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/quentin.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=quentin@config_file=${scriptDir}/json/quentin.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/vega.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=vega@config_file=${scriptDir}/json/vega.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | 13 | -------------------------------------------------------------------------------- /pulp/sdk/configs/vivosoc2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=vivosoc2@config_file=${scriptDir}/json/vivosoc2.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/vivosoc2_1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=vivosoc2_1@config_file=${scriptDir}/json/vivosoc2_1.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | 13 | -------------------------------------------------------------------------------- /pulp/sdk/configs/vivosoc3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=vivosoc3@config_file=${scriptDir}/json/vivosoc3.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/configs/wolfe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scriptDir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" 4 | 5 | export PULP_CURRENT_CONFIG=wolfe@config_file=${scriptDir}/json/wolfe.json 6 | 7 | unset PULP_CURRENT_CONFIG_ARGS 8 | 9 | if [ -e ${scriptDir}/../init.sh ]; then 10 | source ${scriptDir}/../init.sh 11 | fi 12 | -------------------------------------------------------------------------------- /pulp/sdk/doc/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | cd dox && make && mkdir -p $$PULP_SDK_HOME/doc/runtime && cp -r doc/runtime/html/* $$PULP_SDK_HOME/doc/runtime 3 | cd top && make html && mkdir -p $$PULP_SDK_HOME/doc/sdk && cp -r _build/html/* $$PULP_SDK_HOME/doc/sdk 4 | -------------------------------------------------------------------------------- /pulp/sdk/doc/dox/.gitignore: -------------------------------------------------------------------------------- 1 | /doc 2 | -------------------------------------------------------------------------------- /pulp/sdk/doc/dox/Doxygen_Templates/_cp_search.bat: -------------------------------------------------------------------------------- 1 | copy /Y search.css ..\General\html\search\. 2 | copy /Y search.css ..\CORE\html\search\. 3 | copy /Y search.css ..\Driver\html\search\. 4 | copy /Y search.css ..\DSP\html\search\. 5 | copy /Y search.css ..\Pack\html\search\. 6 | copy /Y search.css ..\RTOS\html\search\. 7 | copy /Y search.css ..\RTOS2\html\search\. 8 | copy /Y search.css ..\SVD\html\search\. 9 | -------------------------------------------------------------------------------- /pulp/sdk/doc/dox/Doxygen_Templates/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/pulp/sdk/doc/dox/Doxygen_Templates/check.png -------------------------------------------------------------------------------- /pulp/sdk/doc/dox/Doxygen_Templates/tab_topnav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/pulp/sdk/doc/dox/Doxygen_Templates/tab_topnav.png -------------------------------------------------------------------------------- /pulp/sdk/doc/dox/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | mkdir -p doc/runtime 3 | cd pulp-rt && doxygen pulp-rt.dxy 4 | -------------------------------------------------------------------------------- /pulp/sdk/doc/dox/groups.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | /** 4 | * @defgroup groupKernel Kernel 5 | */ 6 | 7 | /** 8 | * @defgroup groupDrivers Drivers 9 | */ 10 | 11 | 12 | /** 13 | * @defgroup groupCluster Cluster 14 | */ 15 | 16 | /** 17 | * @defgroup groupTest Test environment 18 | */ 19 | 20 | -------------------------------------------------------------------------------- /pulp/sdk/doc/dox/pulp-rt/Pulp_logo_inline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/pulp/sdk/doc/dox/pulp-rt/Pulp_logo_inline.png -------------------------------------------------------------------------------- /pulp/sdk/doc/top/.gitignore: -------------------------------------------------------------------------------- 1 | /_build 2 | -------------------------------------------------------------------------------- /pulp/sdk/doc/top/index.rst: -------------------------------------------------------------------------------- 1 | Pulp SDK documentation 2 | =============================== 3 | 4 | 5 | Contents: 6 | 7 | .. toctree:: 8 | :maxdepth: 2 9 | 10 | makefile 11 | virtual_platform 12 | board 13 | configuration 14 | references 15 | issues 16 | 17 | 18 | Indices and tables 19 | ================== 20 | 21 | * :ref:`genindex` 22 | * :ref:`modindex` 23 | * :ref:`search` 24 | -------------------------------------------------------------------------------- /pulp/sdk/get-platform: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | chips=`plpinfo get --property=pulp_chip --silent` 4 | platform=`plpinfo get --property=platform --silent | grep rtl` 5 | 6 | if [ -n "$platform" ]; then 7 | for chip in $chips; do 8 | plpbuild --p $chip checkout build --stdout 9 | done 10 | fi 11 | -------------------------------------------------------------------------------- /pulp/sdk/init.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | if ( $?PULP_PROJECT_HOME ) then 4 | echo "Configuring Pulp project at $PULP_PROJECT_HOME" 5 | 6 | setenv PATH $PULP_PROJECT_HOME/pulp-tools/bin:$PATH 7 | else 8 | echo "ERROR: PULP_PROJECT_HOME must be defined to the top SDK module directory" 9 | endif 10 | -------------------------------------------------------------------------------- /pulp/sdk/install/configs: -------------------------------------------------------------------------------- 1 | ../configs/ -------------------------------------------------------------------------------- /pulp/sdk/install/gap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PULP_CURRENT_CONFIG="gap@template=gap" 4 | export PULP_SDK_HOME= 5 | source $PULP_SDK_HOME/env/setup.sh -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | build/ 3 | *~ 4 | __pycache__/ 5 | install/ 6 | gmon.out 7 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/bigpulp-z-7045.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes" : ["bigpulp.json"], 3 | "name": "bigpulp-z-7045", 4 | 5 | "archi_host_src_files": [ "src/arm/phys_addr.c" ] 6 | } 7 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/bigpulp-z-7045_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "board": { 5 | 6 | "chip": { 7 | "includes": ["bigpulp-z-7045.json"] 8 | }, 9 | "pulp_chip": { 10 | "bigpulp-z-7045" : { 11 | } 12 | } 13 | } 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/bigpulp-zux.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes" : ["bigpulp.json"], 3 | "name": "bigpulp-zux", 4 | 5 | "archi_host_src_files": [ "src/arm64/pgtable_walk.c", "src/arm64/phys_addr.c" ] 6 | } 7 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/bigpulp-zux_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "board": { 5 | 6 | "chip": { 7 | "includes": ["bigpulp-zux.json"] 8 | }, 9 | "pulp_chip": { 10 | "bigpulp-zux" : { 11 | } 12 | } 13 | } 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/bigpulp_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "board": { 5 | 6 | "chip": { 7 | "includes": ["bigpulp.json"] 8 | }, 9 | "pulp_chip": { 10 | "bigpulp" : { 11 | } 12 | } 13 | } 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/arnold/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": false, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "jtag" 10 | } 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/bigpulp-standalone/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "jtag" 10 | }, 11 | "set_pc_addr": "0x10200040", 12 | "set_pc_offset": "-128", 13 | "start_addr": "0x10200008", 14 | "start_value": "0x1" 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/multino/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "jtag" 10 | }, 11 | "set_pc_addr": "0x10200040", 12 | "set_pc_offset": "-128", 13 | "start_addr": "0x10200008", 14 | "start_value": "0x1" 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/oprecompkw/job_fifo.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "width" : 64, 4 | "size" : 16, 5 | "vp_class": "pulp/chips/oprecompkw/job_fifo", 6 | "external_binding": { 7 | "rcv_fd" : -1, 8 | "snd_fd" : -1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/oprecompkw_sa/job_fifo.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "width" : 64, 4 | "size" : 16, 5 | "vp_class": "pulp/chips/oprecompkw/job_fifo", 6 | "external_binding": { 7 | "rcv_fd" : -1, 8 | "snd_fd" : -1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/oprecompkw_sfloat/job_fifo.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "width" : 64, 4 | "size" : 16, 5 | "vp_class": "pulp/chips/oprecompkw/job_fifo", 6 | "external_binding": { 7 | "rcv_fd" : -1, 8 | "snd_fd" : -1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/oprecompkw_sfloat_sa/job_fifo.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "width" : 64, 4 | "size" : 16, 5 | "vp_class": "pulp/chips/oprecompkw/job_fifo", 6 | "external_binding": { 7 | "rcv_fd" : -1, 8 | "snd_fd" : -1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/oprecompkw_sfloat_sa_dual_regfile/job_fifo.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "width" : 64, 4 | "size" : 16, 5 | "vp_class": "pulp/chips/oprecompkw/job_fifo", 6 | "external_binding": { 7 | "rcv_fd" : -1, 8 | "snd_fd" : -1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/pulp/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": false, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "jtag" 10 | } 11 | }, 12 | 13 | "system_tree": { 14 | "debug_bridge": { 15 | "adv_dbg_unit": { 16 | "retry_count": 10, 17 | "check_errors": true 18 | } 19 | } 20 | } 21 | 22 | } 23 | 24 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/pulpissimo-microriscy/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": false, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "jtag" 10 | } 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/pulpissimo-riscy/apb_soc.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/apb_soc.json -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/pulpissimo-riscy/defaults.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/defaults.json -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/pulpissimo-zeroriscy/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": false, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "jtag" 10 | } 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/pulpissimo/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": false, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "jtag" 10 | } 11 | }, 12 | 13 | "system_tree": { 14 | "debug_bridge": { 15 | "adv_dbg_unit": { 16 | "retry_count": 10, 17 | "check_errors": true 18 | } 19 | } 20 | } 21 | 22 | } 23 | 24 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/chips/vivosoc3/apb_soc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "vp_class": "pulp/chips/vivosoc3/apb_soc", 5 | 6 | "hal_files" : [ "hal/apb_soc/apb_soc_v3.h" ] 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/fulmine_system.json: -------------------------------------------------------------------------------- 1 | { 2 | "system_tree": { 3 | "includes": [ "pulp_system_common.json" ], 4 | 5 | "board": { 6 | "chip": { 7 | "includes": ["fulmine.json"] 8 | }, 9 | "pulp_chip": { 10 | "fulmine" : { 11 | } 12 | } 13 | } 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/hero-z-7045_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "board": { 5 | 6 | "chip": { 7 | "includes": ["hero-z-7045.json"] 8 | }, 9 | "pulp_chip": { 10 | "hero-z-7045" : { 11 | } 12 | } 13 | } 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/honey_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "board": { 5 | "chip": { 6 | "includes": ["honey.json"] 7 | }, 8 | "pulp_chip": { 9 | "honey" : { 10 | } 11 | } 12 | } 13 | } 14 | 15 | } 16 | 17 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/adv_dbg_unit/adv_dbg_unit.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/adv_dbg_unit/adv_dbg_unit" 3 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/apb_soc_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/apb_soc/apb_soc_v1.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/apb_soc_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "hal_files" : [ "hal/apb_soc/apb_soc_v2.h" ], 5 | 6 | "regmap": { 7 | 8 | "power": { 9 | "bypass": { 10 | "offset": "0x70", 11 | "content": { 12 | "dbg1": { 13 | "bit": 14 14 | } 15 | } 16 | } 17 | 18 | } 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/apb_soc_vivosoc3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 5, 3 | 4 | "hal_files" : [ "hal/apb_soc/apb_soc_v3.h" ] 5 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/ariane.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "ariane", 3 | "archi" : "riscv", 4 | "implementation": "ariane", 5 | "isa" : "rv64imc", 6 | "priv_version" : 1.10, 7 | "features" : [ ], 8 | "gv_class" : "cpu.or1k.ariane.Riscvfsim", 9 | "hal_files" : [ "hal/ariane.h" ] 10 | } 11 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/cluster_ctrl_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "vp_class": "pulp/cluster/cluster_ctrl_v2", 5 | 6 | "hal_files" : [ "hal/cluster_ctrl/cluster_ctrl_v2.h" ], 7 | "archi_files" : [ "archi/cluster_ctrl/cluster_ctrl_v2.h" ], 8 | 9 | "nb_core": 0 10 | 11 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/cluster_v5.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes" : ["cluster_v5_template.json"], 3 | "pe": { 4 | "includes" : ["ri5ky_v2.json"] 5 | } 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/cluster_v5_fpu.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes" : ["cluster_v5_template.json"], 3 | "pe": { 4 | "includes" : ["ri5ky_v2_fpu.json"] 5 | } 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/cluster_v6.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes" : ["cluster_v6_template.json"], 3 | "pe": { 4 | "includes" : ["ri5ky_v2.json"] 5 | } 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/efuse_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/efuse/efuse_v1.h" ], 5 | "archi_files" : [ "archi/efuse/efuse_v1.h" ], 6 | 7 | "nb_regs" : 128 8 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/eu_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/eu/eu_v1.h", "hal/eu/eu_v1_ids.h" ], 5 | "archi_files" : [ "archi/eu/eu_v1.h" ] 6 | 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/fll_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "vp_class": "pulp/fll/fll_v1", 5 | 6 | "hal_files" : [ "hal/fll/fll_v1.h" ], 7 | "archi_files" : [ "archi/fll/fll_v1.h" ] 8 | 9 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/fulmine/padframe.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1 3 | 4 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/gpio_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : 2, 3 | "nb_gpio" : 32, 4 | "archi_files": [ "archi/gpio/gpio_v2.h" ], 5 | "hal_files": [ "hal/gpio/gpio_v2.h" ] 6 | } 7 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/hwce_v4.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 4, 3 | 4 | "hal_files" : [ "hal/hwce/hwce_v4.h" ], 5 | "archi_files" : [ "archi/hwce/hwce_v4.h" ] 6 | 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/hwce_v5.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 5, 3 | 4 | "hal_files" : [ "hal/hwce/hwce_v5.h" ], 5 | "archi_files" : [ "archi/hwce/hwce_v5.h" ] 6 | 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/hwme_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/hwme/hwme_v1.h" ], 5 | "archi_files" : [ "archi/hwme/hwme_v1.h" ] 6 | 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/icache_ctrl_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/icache/icache_ctrl_v1.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/icache_ctrl_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "vp_class": "pulp/icache_ctrl/icache_ctrl_v2", 5 | 6 | "hal_files" : [ "hal/icache/icache_ctrl_v2.h" ] 7 | 8 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/interco/converter.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "interco/converter", 3 | "output_width": 4, 4 | "output_align": 4 5 | } 6 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/interco/interleaver.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "interco/interleaver", 3 | "nb_slaves": 0, 4 | "nb_masters": 0, 5 | "interleaving_bits": 2, 6 | "stage_bits": 0, 7 | "remove_offset": "0x0" 8 | } 9 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/interco/l1_interleaver.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/cluster/l1_interleaver", 3 | "nb_slaves": 0, 4 | "nb_masters": 0, 5 | "stage_bits": 0 6 | } 7 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/interco/l1_tas.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/cluster/l1_tas" 3 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/interco/router.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "interco/router", 3 | "bandwidth": 4, 4 | "latency": 0, 5 | "id": 0 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/mailbox/mailbox_v0.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 0, 3 | 4 | "hal_files": [ 5 | "hal/mailbox/mailbox_v0.h" 6 | ], 7 | 8 | "hal_src_files": [ 9 | "hal/mailbox/mailbox_v0.c" 10 | ], 11 | 12 | "archi_files" : [ 13 | "archi/mailbox/mailbox_v0.h" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/mchan_v4.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 4, 3 | 4 | "hal_files" : [ "hal/dma/mchan_v4.h" ], 5 | "archi_files" : [ "archi/dma/mchan_v3.h" ] 6 | 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/mchan_v5.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 5, 3 | 4 | "hal_files" : [ "hal/dma/mchan_v5.h" ], 5 | "archi_files" : [ "archi/dma/mchan_v5.h" ] 6 | 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/memory/ddr.json: -------------------------------------------------------------------------------- 1 | { 2 | "size" : "0x10000000", 3 | "vp_class": "memory/ddr", 4 | "frequency": 100000000 5 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/or10n_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "or10nv2", 3 | "archi" : "or1k", 4 | "implementation": "or10n", 5 | "gv_isa" : [ ], 6 | "isa" : "", 7 | "features" : [ ], 8 | "hal_files" : [ "hal/or1k/or1k_v5.h", "hal/or1k/or10nv2_builtins.h" ], 9 | "archi_files" : [ "archi/or1k/spr-defs.h" ], 10 | "defines" : [ ] 11 | } 12 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/padframe/padframe_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "vp_class": "pulp/padframe/padframe_v1" 4 | } 5 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/pmu_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "nb_domains": 2, 4 | 5 | "hal_files" : [ "hal/maestro/pmu_v1.h" ], 6 | "archi_files" : [ "archi/maestro/maestro_v1.h" ], 7 | 8 | "vp_class": "pulp/pmu/pmu_v1", 9 | 10 | "gv_class": "power.pmu.Pmu" 11 | 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/pmu_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | "nb_domains": 2, 4 | 5 | "hal_files" : [ "hal/maestro/pmu_v2.h" ], 6 | "archi_files" : [ "archi/maestro/maestro_v2.h" ], 7 | 8 | "vp_class": "pulp/pmu/pmu_v2", 9 | 10 | "gv_class": "power.pmu.Pmu" 11 | 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/pmu_v3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "nb_domains": 2, 4 | 5 | "hal_files" : [ "hal/maestro/pmu_v3.h" ], 6 | "archi_files" : [ "archi/maestro/maestro_v3.h" ], 7 | 8 | "vp_class": "pulp/pmu/pmu_v3" 9 | 10 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/rab/rab_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files": [ 5 | "hal/rab/rab_v1.h" 6 | ], 7 | 8 | "hal_src_files": [ 9 | "hal/rab/rab_v1.c" 10 | ], 11 | 12 | "archi_files" : [ 13 | "archi/rab/rab_v1.h" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/ri5ky_v2_cplx.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "cpu/iss/iss", 3 | "includes" : ["ri5ky_v2.json"], 4 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ], 5 | "gv_isa" : ["--pulpv2", "--pulp", "--rv32m", "--gap8", "--itc-external-req"], 6 | "isa" : "rv32imcXgap8", 7 | "march" : "imcXgap8" 8 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/ri5ky_v2_fpu_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes" : ["ri5ky_v2_fpu.json"], 3 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ] 4 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/ri5ky_v2_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "includes" : ["ri5ky_v2.json"], 3 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ] 4 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/rom_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "hal_files" : [ "hal/rom/rom_v2.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/rtc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : 1, 3 | "hal_files" : [ "hal/vendors/dolphin/rtc.h" ], 4 | "archi_files" : [ "archi/vendors/dolphin/rtc.h" ] 5 | } 6 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/soc_eu_v1.h: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/soc_eu_v1.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/soc_eu_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/soc_eu/soc_eu_v1.h" ], 5 | "archi_files" : [ "archi/soc_eu/soc_eu_v1.h" ], 6 | 7 | "vp_class": "pulp/soc_eu/soc_eu_v1", 8 | 9 | "properties": { 10 | "nb_fc_events": 8, 11 | "first_fc_event": 48 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/soc_eu_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "hal_files" : [ "hal/soc_eu/soc_eu_v2.h" ], 5 | "archi_files" : [ "archi/soc_eu/soc_eu_v2.h" ], 6 | 7 | "vp_class": "pulp/soc_eu/soc_eu_v2", 8 | 9 | "properties": { 10 | "nb_fc_events": 8, 11 | "first_fc_event": 48 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/spi_master_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "hal_files" : [ "hal/periph/spi_v1.h" ], 4 | "archi_files" : [ "archi/spim/spi_v1.h" ] 5 | } 6 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/stdout_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "archi_files" : [ "archi/stdout/stdout_v2.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/stdout_v3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "vp_class": "pulp/stdout/stdout_v3", 5 | 6 | "archi_files" : [ "archi/stdout/stdout_v3.h" ], 7 | 8 | "max_cluster": 33, 9 | 10 | "max_core_per_cluster": 16 11 | 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/timer_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/timer/timer_v1.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/timer_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | 5 | "vp_class": "pulp/timer/timer_v2", 6 | "hal_files" : [ "hal/timer/timer_v2.h" ], 7 | "archi_files" : [ "archi/timer/timer_v2.h" ] 8 | 9 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/tryx/tryx_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "version": 1, 4 | 5 | "hal_files": [ 6 | "hal/tryx/tryx_v1.h" 7 | ], 8 | 9 | "hal_src_files": [ 10 | "hal/tryx/tryx_v1.c" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/uart_v0.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 0 3 | } 4 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/udma/udma_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "archi" : 1, 4 | 5 | "hal_files": [ "hal/udma/udma_v1.h", "hal/udma/udma_periph_v1.h" ], 6 | "archi_files": [ "archi/udma/udma_v1.h", "archi/udma/udma_periph_v1.h" ], 7 | 8 | "spim": { 9 | "version" : 1 10 | }, 11 | 12 | "i2c": { 13 | "version" : 1 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/vendors/iid/quiddikey_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | 5 | "vp_class": "pulp/quiddikey/quiddikey_v1", 6 | "hal_files" : [ "hal/vendors/iid/quiddikey_v1.h" ], 7 | "archi_files" : [ "archi/vendors/iid/quiddikey_v1.h" ] 8 | 9 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/ips/xne_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/xne/xne_v1.h" ], 5 | "archi_files" : [ "archi/xne/xne_v1.h" ], 6 | 7 | "vp_class": "pulp/hwpe/xne/xne_v1" 8 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/multino.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "multino", 3 | 4 | "pulp_chip_family" : "multino", 5 | "pulp_chip_version": 0, 6 | 7 | "hal_files": [ "hal/chips/multino/pulp.h" ], 8 | "archi_files": [ "archi/chips/multino/pulp.h", "archi/chips/multino/memory_map.h", "archi/chips/multino/properties.h", "archi/chips/multino/apb_soc.h" ], 9 | 10 | 11 | "soc": { 12 | "includes" : ["chips/multino/soc.json"] 13 | } 14 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/multino_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "board": { 5 | 6 | "chip": { 7 | "includes": ["multino.json"] 8 | }, 9 | "pulp_chip": { 10 | "multino" : { 11 | } 12 | } 13 | } 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/neuraghe.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "neuraghe", 3 | 4 | "pulp_chip_family" : "neuraghe", 5 | "pulp_chip_version": 0, 6 | "boot_from_rom": false, 7 | 8 | "hal_files": [ "hal/chips/neuraghe/pulp.h" ], 9 | "archi_files": [ "archi/chips/neuraghe/pulp.h", "archi/chips/neuraghe/memory_map.h", "archi/chips/neuraghe/properties.h" ], 10 | 11 | "soc": { 12 | "includes" : ["chips/neuraghe/soc.json"] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/camera.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "model": "himax", 4 | "module": "camera.so" 5 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/dpi_wrapper.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "utils/dpi_wrapper" 3 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/hyper.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "devices/hyperchip/hyperchip", 3 | 4 | "ram": { 5 | "size": "0x00800000" 6 | }, 7 | 8 | "flash": { 9 | "size": "0x00800000", 10 | "fs": { 11 | "files": [], 12 | "encrypt": false, 13 | "aes_key": 0, 14 | "aes_iv": 0 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/hyperflash.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "hyperflash", 3 | "size": "0x00800000", 4 | "fs": { 5 | "files": [], 6 | "encrypt": false, 7 | "aes_key": 0, 8 | "aes_iv": 0 9 | } 10 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/hyperram.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "hyperram", 3 | "size": "0x00800000" 4 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/jtag_proxy.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "active": false, 4 | "module": "jtag_proxy.so", 5 | "verbose": false, 6 | "port": 37539 7 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/spim_verif.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "module": "spim_tb.so", 4 | "mem_size": 1048576, 5 | "verbose": false 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periph/uart_tb.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "module": "uart.so", 4 | "verbose": false, 5 | "baudrate": 625000, 6 | "loopback": true, 7 | "stdout": false, 8 | "tx_file": "tx_uart.log" 9 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/himax.json: -------------------------------------------------------------------------------- 1 | { 2 | "model": "himax", 3 | "width": 320, 4 | "height": 240, 5 | "image": [], 6 | "frequency": 1000000, 7 | "activeDelay": -1 8 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/hyperflash.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "hyperflash", 3 | "size": "0x00800000", 4 | "fs": { 5 | "files": [], 6 | "encrypt": false, 7 | "aes_key": 0, 8 | "aes_iv": 0 9 | } 10 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/hyperram.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "hyperram", 3 | "size": "0x00800000" 4 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/jtag-proxy.json: -------------------------------------------------------------------------------- 1 | { 2 | "module": "proxy.so" 3 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/ov7670.json: -------------------------------------------------------------------------------- 1 | { 2 | "model": "ov7670", 3 | "width": 320, 4 | "height": 240, 5 | "image": [], 6 | "frequency": 1000000, 7 | "activeDelay": 120000000 8 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/spiflash.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "spiflash", 3 | "size": "0x00800000", 4 | "fs": { 5 | "files": [], 6 | "encrypt": false, 7 | "aes_key": 0, 8 | "aes_iv": 0 9 | } 10 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/spim_verif.json: -------------------------------------------------------------------------------- 1 | { 2 | "module": "spim_verif.so", 3 | "mem_size": 1048576, 4 | "ports": { 5 | "in": { 6 | "type": "spis", 7 | "itf": 0, 8 | "cs": 0 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/periphs/uart_tb.json: -------------------------------------------------------------------------------- 1 | { 2 | "module": "uart_tb.so", 3 | "baudrate": 625000, 4 | "loopback": true, 5 | "stdout": false, 6 | "tx_file": null, 7 | "ports": { 8 | "in": { 9 | "type": "uart" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/core/riscy.json: -------------------------------------------------------------------------------- 1 | { 2 | "clock_gated": { 3 | "includes": [ "values/clock_gated.json" ] 4 | }, 5 | "insn": { 6 | "includes": [ "values/insn.json" ] 7 | }, 8 | "leakage": { 9 | "includes": [ "values/leakage.json" ] 10 | } 11 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/core/values/clock_gated.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "W", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "0.0000016" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/core/values/insn.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "pJ", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "2.4854524" 9 | }, 10 | "1.1": { 11 | "any": "1.2" 12 | } 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/core/values/leakage.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "W", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "0.000030" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/idle.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "W", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "0.00000501264031" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/leakage.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "W", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "0.00001707210625" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/read_16.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "pJ", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "2.124280487" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/read_32.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "pJ", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "2.124280487" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/read_8.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "pJ", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "2.124280487" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/write_16.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "pJ", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "2.124280487" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/write_32.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "pJ", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "2.124280487" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/power_models/l1/values/write_8.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "linear", 3 | "unit": "pJ", 4 | 5 | "values": { 6 | "25": { 7 | "1.2": { 8 | "any": "2.124280487" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/pulp.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "includes": ["defaults.json"], 4 | 5 | "system_tree": { 6 | "system": "wolfe" 7 | }, 8 | 9 | "includes_eval": ["'%s_system.json' % config.get('system')"] 10 | 11 | } 12 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/pulp_chip_common.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/pulp_system_common.json: -------------------------------------------------------------------------------- 1 | { 2 | "debug_bridge": { 3 | "includes": [ "tools/debug-bridge/debug_bridge.json" ] 4 | } 5 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/pulpino_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "board": { 5 | "pulp_chip": { 6 | "pulpino" : { 7 | "includes": ["pulpino.json"] 8 | } 9 | } 10 | }, 11 | 12 | "peripherals": { 13 | 14 | } 15 | } 16 | 17 | } 18 | 19 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/systems/pulpino.json: -------------------------------------------------------------------------------- 1 | { 2 | "system_tree": { 3 | "board": { 4 | "chip": { 5 | "name": "pulpino" 6 | } 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/templates/chips/pulpissimo-riscy/padframe.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/padframe.json -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/templates/chips/pulpissimo-riscy/udma.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/udma.json -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/tools/debug-bridge/cable_ftdi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ftdi" :{ 3 | } 4 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/tools/debug-bridge/cable_jtag-proxy.json: -------------------------------------------------------------------------------- 1 | { 2 | "jtag-proxy": { 3 | "port": 37539 4 | } 5 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/tools/plt_loader/plt_loader.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "utils/loader", 3 | "binaries": [] 4 | } 5 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/tools/vp/injector.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "utils/injector", 3 | 4 | "rcv_fd": -1, 5 | "snd_fd": -1 6 | } -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/vivosoc2_1_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "includes": [ "pulp_system_common.json" ], 5 | 6 | "debug-bridge": { 7 | "cable": { 8 | "tap": 1 9 | } 10 | }, 11 | 12 | "board": { 13 | "chip": { 14 | "includes": ["vivosoc2_1.json"] 15 | }, 16 | "pulp_chip": { 17 | "vivosoc2_1" : { 18 | } 19 | } 20 | } 21 | } 22 | 23 | } 24 | 25 | -------------------------------------------------------------------------------- /pulp/sdk/pulp-configs/configs/vivosoc2_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "includes": [ "pulp_system_common.json" ], 5 | 6 | "debug-bridge": { 7 | "cable": { 8 | "tap": 1 9 | } 10 | }, 11 | 12 | "board": { 13 | "chip": { 14 | "includes": ["vivosoc2.json"] 15 | }, 16 | "pulp_chip": { 17 | "vivosoc2" : { 18 | } 19 | } 20 | } 21 | } 22 | 23 | } 24 | 25 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/archi-host/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig (http://editorconfig.org/) 2 | 3 | # Default Settings 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 4 8 | indent_style = space 9 | insert_final_newline = true 10 | tab_width = 4 11 | trim_trailing_whitespace = true 12 | max_line_length = 100 13 | 14 | [Makefile,*.mk] 15 | indent_style = tab 16 | 17 | [LICENSE] 18 | max_line_length = 80 19 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/archi-host/.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * akurth@iis.ee.ethz.ch vogelpi@iis.ee.ethz.ch 2 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/archi-host/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](http://keepachangelog.com/), and this project adheres to 6 | [Semantic Versioning](http://semver.org). 7 | 8 | ## v1.0.0 - 2018-08-10 9 | 10 | Initial public release 11 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/archi-host/Makefile: -------------------------------------------------------------------------------- 1 | ARCHI_HOST_FILES = $(shell plpfiles copy --item=archi_host_files) 2 | 3 | INSTALL_FILES += $(foreach file,$(ARCHI_HOST_FILES),include/$(file)) 4 | 5 | WS_INSTALL_FILES += $(INSTALL_FILES) 6 | 7 | PULP_LIBS = archi_host 8 | 9 | PULP_LIB_CL_SRCS_archi_host = $(shell plpfiles copy --item=archi_host_src_files) 10 | 11 | debug: 12 | echo $(ARCHI_HOST_FILES) 13 | 14 | include $(PULP_SDK_HOME)/install/rules/pulp_rt.mk 15 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/archi/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | build 3 | build.log -------------------------------------------------------------------------------- /pulp/sdk/runtime/archi/Makefile: -------------------------------------------------------------------------------- 1 | ARCHI_FILES = $(shell plpfiles copy --item=archi_files) 2 | 3 | ARCHI_FILES += archi/pulp_defs.h archi/pulp.h archi/utils.h 4 | 5 | INSTALL_FILES += $(foreach file,$(ARCHI_FILES),include/$(file)) 6 | 7 | WS_INSTALL_FILES += $(INSTALL_FILES) 8 | 9 | gen: 10 | cd include && plpdoc --name=itc --config=ips/itc_v1.json --header=archi/itc/itc_v1.h memmap 11 | 12 | include $(PULP_SDK_HOME)/install/rules/pulp.mk 13 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/hal/.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | *~ -------------------------------------------------------------------------------- /pulp/sdk/runtime/libgomp/README.md: -------------------------------------------------------------------------------- 1 | # pulp-libgomp 2 | Lightweight OpenMP RTE based on libgomp. Bare-metal runtime, optimized for PULP-based systems. 3 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/libgomp/config/pulp/hero/refs/hero-z-7045/rt_conf.c: -------------------------------------------------------------------------------- 1 | #include "rt/rt_api.h" 2 | 3 | rt_dev_t __rt_devices[] = { 4 | }; 5 | 6 | int __rt_nb_devices = 0; 7 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/libgomp/config/pulp/hero/refs/hero-z-7045/rt_conf.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/pulp/sdk/runtime/libgomp/config/pulp/hero/refs/hero-z-7045/rt_conf.o -------------------------------------------------------------------------------- /pulp/sdk/runtime/libomptarget-pulp-rtl/root.c: -------------------------------------------------------------------------------- 1 | #include "kmpcall.c" 2 | #include "kmp.c" 3 | #include "libcall.c" 4 | #include "omptarget-pulp.c" 5 | #include "main.c" 6 | 7 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/libvmm/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig (http://editorconfig.org/) 2 | 3 | # Default Settings 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 4 8 | indent_style = space 9 | insert_final_newline = true 10 | tab_width = 4 11 | trim_trailing_whitespace = true 12 | max_line_length = 100 13 | 14 | [Makefile,*.mk] 15 | indent_style = tab 16 | 17 | [LICENSE] 18 | max_line_length = 80 19 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/libvmm/.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * akurth@iis.ee.ethz.ch vogelpi@iis.ee.ethz.ch 2 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/libvmm/Makefile: -------------------------------------------------------------------------------- 1 | LIBVMM_FILES = $(shell plpfiles copy --item=libvmm_files) 2 | 3 | INSTALL_FILES += $(foreach file,$(LIBVMM_FILES),include/$(file)) 4 | 5 | WS_INSTALL_FILES += $(INSTALL_FILES) 6 | 7 | PULP_LIBS = vmm 8 | 9 | PULP_LIB_CL_SRCS_vmm = $(shell plpfiles copy --item=libvmm_src_files) 10 | 11 | debug: 12 | echo $(LIBVMM_FILES) 13 | 14 | include $(PULP_SDK_HOME)/install/rules/pulp.mk 15 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | build 3 | *.swp 4 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/configs/bare.mk: -------------------------------------------------------------------------------- 1 | PULP_LIB_NAME_rt = rtbare 2 | 3 | CONFIG_CFLAGS = -D__RT_MODE_BARE=1 -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/configs/tiny.mk: -------------------------------------------------------------------------------- 1 | PULP_LIB_NAME_rt = rttiny 2 | 3 | CONFIG_SCHED_ENABLED=1 4 | CONFIG_ALLOC_ENABLED=1 5 | 6 | CONFIG_PADS_ENABLED=1 7 | 8 | CONFIG_UART_ENABLED=1 9 | 10 | CONFIG_IO_ENABLED=1 11 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/drivers/spim/spiflash-v1.c: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/oprecompkw/rtbare: -------------------------------------------------------------------------------- 1 | rt -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/oprecompkw/rttiny: -------------------------------------------------------------------------------- 1 | rt -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/or1k/pe-eu-v1.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/pulp/sdk/runtime/pulp-rt/kernel/or1k/pe-eu-v1.S -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/or1k/rtbare: -------------------------------------------------------------------------------- 1 | rt -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/or1k/rttiny: -------------------------------------------------------------------------------- 1 | rt -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/or1k/udma_spim-v1.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/pulp/sdk/runtime/pulp-rt/kernel/or1k/udma_spim-v1.S -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/riscv/rtbare: -------------------------------------------------------------------------------- 1 | rt -------------------------------------------------------------------------------- /pulp/sdk/runtime/pulp-rt/kernel/riscv/rttiny: -------------------------------------------------------------------------------- 1 | rt -------------------------------------------------------------------------------- /pulp/setup-libprem-pulp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | START_WD=$(pwd) 3 | export CMUX_HOME="$1/toolchain/HerculesCompiler-public/runtime/cmux" 4 | cd "$CMUX_HOME/src/pulp" 5 | rm -rf build && make && make install 6 | cd "$START_WD" 7 | -------------------------------------------------------------------------------- /support/libhero-target/.gitignore: -------------------------------------------------------------------------------- 1 | *lib/ 2 | *build/ 3 | *.o 4 | *~ 5 | -------------------------------------------------------------------------------- /support/libhero-target/README.md: -------------------------------------------------------------------------------- 1 | # HERO target library 2 | The library contains stubs and the implementation of all specific PULP APIs that can be used within an OpenMP target region. 3 | -------------------------------------------------------------------------------- /support/libpulp/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *~ 3 | /.deps/ 4 | /lib/ 5 | -------------------------------------------------------------------------------- /support/libpulp/vendor/o1heap/docs/H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/support/libpulp/vendor/o1heap/docs/H.png -------------------------------------------------------------------------------- /support/libpulp/vendor/o1heap/sonar-project.properties: -------------------------------------------------------------------------------- 1 | sonar.projectKey=pavel-kirienko_o1heap 2 | sonar.organization=pavel-kirienko 3 | 4 | sonar.sources=o1heap 5 | sonar.sourceEncoding=UTF-8 6 | 7 | sonar.cfamily.gcov.reportsPath=. 8 | sonar.cfamily.build-wrapper-output=sonar-dump 9 | sonar.cfamily.cache.enabled=false 10 | -------------------------------------------------------------------------------- /support/pulp-driver/doc/.gitignore: -------------------------------------------------------------------------------- 1 | /html/ 2 | /latex/* 3 | !/latex/Makefile 4 | !/latex/logo_rev.tex 5 | /pulp_linux_driver_doc.pdf 6 | -------------------------------------------------------------------------------- /support/pulp-driver/doc/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: pulp_linux_driver_doc.pdf 2 | pulp_linux_driver_doc.pdf: 3 | doxygen-1.8.17 4 | git checkout -- latex/Makefile 5 | make -C latex 6 | mv latex/refman.pdf $@ 7 | -------------------------------------------------------------------------------- /support/pulp-driver/doc/latex/logo_rev.tex: -------------------------------------------------------------------------------- 1 | \includegraphics[width=.3\textwidth]{../pulp_logo.png}\\ 2 | \vspace*{1cm} 3 | {\large Documentation for revision\\\texttt{\input{.git_rev.txt}}}\\ 4 | \vspace*{2cm} 5 | -------------------------------------------------------------------------------- /support/pulp-driver/doc/pulp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/hero/c8481a930a15a385d4f58f519bed83d2e75e2a73/support/pulp-driver/doc/pulp_logo.png -------------------------------------------------------------------------------- /toolchain/har-obare.config: -------------------------------------------------------------------------------- 1 | # General 2 | CT_CONFIG_VERSION="3" 3 | CT_EXPERIMENTAL=y 4 | CT_RM_RF_PREFIX_DIR=n 5 | CT_TARGET_VENDOR="none" 6 | 7 | # Arch 8 | CT_ARCH_ARM=y 9 | CT_DEMULTILIB=y 10 | CT_ARCH_USE_MMU=y 11 | CT_ARCH_64=y 12 | 13 | # Binutils 14 | CT_BINUTILS_V_2_32=y 15 | 16 | # Libc 17 | CT_LIBC_NEWLIB=y 18 | CT_NEWLIB_V_3_1=y 19 | 20 | # Compiler 21 | CT_GCC_V_8=y 22 | CT_CC_LANG_CXX=y 23 | 24 | # No OS 25 | CT_KERNEL_BARE_METAL=y 26 | -------------------------------------------------------------------------------- /toolchain/llvm-support/OmpHostPointerLegalizer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(OmpHostPointerLegalizer 2 | SHARED 3 | OmpHostPointerLegalizer.cpp 4 | ) 5 | 6 | install(TARGETS OmpHostPointerLegalizer LIBRARY DESTINATION lib/llvm-support) 7 | -------------------------------------------------------------------------------- /toolchain/llvm-support/OmpKernelWrapper/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(OmpKernelWrapper 2 | SHARED 3 | OmpKernelWrapper.cpp 4 | ) 5 | 6 | install(TARGETS OmpKernelWrapper LIBRARY DESTINATION lib/llvm-support) 7 | -------------------------------------------------------------------------------- /util/README.md: -------------------------------------------------------------------------------- 1 | # Utilities 2 | 3 | Utilities for the development machine to facilitate working with HERO. 4 | 5 | ## RISC-V OpenOCD 6 | 7 | OpenOCD is a package to interface a JTAG debugger and has integration with GDB, 8 | to allow single stepping over assembly instructions in Linux. We use it to 9 | debug Ariane via JTAG. 10 | -------------------------------------------------------------------------------- /util/devrebuild/har-exilzcu102/hero-openmp: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright (c) 2020 ETH Zurich, University of Bologna 4 | # Licensed under the Apache License, Version 2.0. 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | # Authors: 8 | # - Andreas Kurth 9 | 10 | set -euo pipefail 11 | 12 | readonly BR_OUTPUT_SUBDIR="br-har-exilzcu102" 13 | source "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/hero-openmp.sh" 14 | -------------------------------------------------------------------------------- /util/devrebuild/har-exilzcu102/libhero-target: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright (c) 2020 ETH Zurich, University of Bologna 4 | # Licensed under the Apache License, Version 2.0. 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | # Authors: 8 | # - Andreas Kurth 9 | 10 | set -euo pipefail 11 | 12 | readonly BR_OUTPUT_SUBDIR="br-har-exilzcu102" 13 | source "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/libhero-target.sh" 14 | -------------------------------------------------------------------------------- /util/devrebuild/har-exilzcu102/libpulp: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright (c) 2020 ETH Zurich, University of Bologna 4 | # Licensed under the Apache License, Version 2.0. 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | # Authors: 8 | # - Andreas Kurth 9 | 10 | set -euo pipefail 11 | 12 | readonly BR_OUTPUT_SUBDIR="br-har-exilzcu102" 13 | source "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/libpulp.sh" 14 | -------------------------------------------------------------------------------- /util/devrebuild/har-exilzcu102/prem-cmux: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright (c) 2020 ETH Zurich, University of Bologna 4 | # Licensed under the Apache License, Version 2.0. 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | # Authors: 8 | # - Andreas Kurth 9 | 10 | set -euo pipefail 11 | 12 | readonly BR_OUTPUT_SUBDIR="br-har-exilzcu102" 13 | source "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/prem-cmux.sh" 14 | -------------------------------------------------------------------------------- /util/devrebuild/har-exilzcu102/pulp-driver: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright (c) 2020 ETH Zurich, University of Bologna 4 | # Licensed under the Apache License, Version 2.0. 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | # Authors: 8 | # - Andreas Kurth 9 | 10 | set -euo pipefail 11 | 12 | readonly BR_OUTPUT_SUBDIR="br-har-exilzcu102" 13 | source "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/pulp-driver.sh" 14 | --------------------------------------------------------------------------------