├── .github.old └── workflows │ └── regression-tests.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── Makefile ├── README.md ├── applications └── MobileNetV1 │ ├── DORY_network │ ├── ConvBNRelu0_weights.hex │ ├── ConvBNRelu10_weights.hex │ ├── ConvBNRelu12_weights.hex │ ├── ConvBNRelu14_weights.hex │ ├── ConvBNRelu16_weights.hex │ ├── ConvBNRelu18_weights.hex │ ├── ConvBNRelu20_weights.hex │ ├── ConvBNRelu22_weights.hex │ ├── ConvBNRelu24_weights.hex │ ├── ConvBNRelu26_weights.hex │ ├── ConvBNRelu2_weights.hex │ ├── ConvBNRelu4_weights.hex │ ├── ConvBNRelu6_weights.hex │ ├── ConvBNRelu8_weights.hex │ ├── ConvDWBNRelu11_weights.hex │ ├── ConvDWBNRelu13_weights.hex │ ├── ConvDWBNRelu15_weights.hex │ ├── ConvDWBNRelu17_weights.hex │ ├── ConvDWBNRelu19_weights.hex │ ├── ConvDWBNRelu1_weights.hex │ ├── ConvDWBNRelu21_weights.hex │ ├── ConvDWBNRelu23_weights.hex │ ├── ConvDWBNRelu25_weights.hex │ ├── ConvDWBNRelu3_weights.hex │ ├── ConvDWBNRelu5_weights.hex │ ├── ConvDWBNRelu7_weights.hex │ ├── ConvDWBNRelu9_weights.hex │ ├── Gemm28_weights.hex │ ├── inc │ │ ├── dory.h │ │ ├── layerAveragePoolRelu27.h │ │ ├── layerConvBNRelu0.h │ │ ├── layerConvBNRelu10.h │ │ ├── layerConvBNRelu12.h │ │ ├── layerConvBNRelu14.h │ │ ├── layerConvBNRelu14L3.h │ │ ├── layerConvBNRelu2.h │ │ ├── layerConvBNRelu24.h │ │ ├── layerConvBNRelu24L3.h │ │ ├── layerConvBNRelu26.h │ │ ├── layerConvBNRelu26L3.h │ │ ├── layerConvBNRelu2L3.h │ │ ├── layerConvBNRelu4.h │ │ ├── layerConvBNRelu6.h │ │ ├── layerConvBNRelu8.h │ │ ├── layerConvDWBNRelu1.h │ │ ├── layerConvDWBNRelu11.h │ │ ├── layerConvDWBNRelu13.h │ │ ├── layerConvDWBNRelu23.h │ │ ├── layerConvDWBNRelu25.h │ │ ├── layerConvDWBNRelu3.h │ │ ├── layerConvDWBNRelu3L3.h │ │ ├── layerConvDWBNRelu3_p_b.h │ │ ├── layerConvDWBNRelu3_p_t.h │ │ ├── layerConvDWBNRelu5.h │ │ ├── layerConvDWBNRelu7.h │ │ ├── layerConvDWBNRelu9.h │ │ ├── layerGemm28_last.h │ │ ├── layerGemm28_lastL3.h │ │ ├── mchan_test.h │ │ ├── mem_controller.h │ │ ├── network.h │ │ ├── pulp_nn_kernels.h │ │ └── pulp_nn_utils.h │ ├── inputs.hex │ └── src │ │ ├── dory.c │ │ ├── layerAveragePoolRelu27.c │ │ ├── layerConvBNRelu0.c │ │ ├── layerConvBNRelu10.c │ │ ├── layerConvBNRelu12.c │ │ ├── layerConvBNRelu14.c │ │ ├── layerConvBNRelu14L3.c │ │ ├── layerConvBNRelu2.c │ │ ├── layerConvBNRelu24.c │ │ ├── layerConvBNRelu24L3.c │ │ ├── layerConvBNRelu26.c │ │ ├── layerConvBNRelu26L3.c │ │ ├── layerConvBNRelu2L3.c │ │ ├── layerConvBNRelu4.c │ │ ├── layerConvBNRelu6.c │ │ ├── layerConvBNRelu8.c │ │ ├── layerConvDWBNRelu1.c │ │ ├── layerConvDWBNRelu11.c │ │ ├── layerConvDWBNRelu13.c │ │ ├── layerConvDWBNRelu23.c │ │ ├── layerConvDWBNRelu25.c │ │ ├── layerConvDWBNRelu3.c │ │ ├── layerConvDWBNRelu3L3.c │ │ ├── layerConvDWBNRelu3_p_b.c │ │ ├── layerConvDWBNRelu3_p_t.c │ │ ├── layerConvDWBNRelu5.c │ │ ├── layerConvDWBNRelu7.c │ │ ├── layerConvDWBNRelu9.c │ │ ├── layerGemm28_last.c │ │ ├── layerGemm28_lastL3.c │ │ ├── mem_controller.c │ │ ├── network.c │ │ ├── pulp_nn_add.c │ │ ├── pulp_nn_avgpool.c │ │ ├── pulp_nn_conv_Co_parallel.c │ │ ├── pulp_nn_conv_HoWo_parallel.c │ │ ├── pulp_nn_conv_Ho_parallel.c │ │ ├── pulp_nn_depthwise_3x3_s1.c │ │ ├── pulp_nn_depthwise_generic.c │ │ ├── pulp_nn_linear.c │ │ ├── pulp_nn_linear_out_32.c │ │ ├── pulp_nn_matmul.c │ │ ├── pulp_nn_maxpool.c │ │ ├── pulp_nn_pointwise_Co_parallel.c │ │ ├── pulp_nn_pointwise_HoWo_parallel.c │ │ ├── pulp_nn_pointwise_Ho_parallel.c │ │ ├── pulp_nn_utils.c │ │ └── test_template.c │ └── Makefile ├── configs ├── common.sh ├── pulp-open-nn.sh ├── pulp-open-rnnext.sh ├── pulp-open.sh └── siracusa.sh ├── rtos ├── pmsis │ ├── pmsis_api │ │ ├── LICENSE │ │ ├── docs │ │ │ ├── Makefile │ │ │ ├── chips.rst │ │ │ ├── conf.py │ │ │ ├── dox.mk │ │ │ ├── drivers.rst │ │ │ ├── headers │ │ │ │ └── groups.h │ │ │ ├── index.rst │ │ │ ├── mainpage.md │ │ │ ├── make.bat │ │ │ ├── pmsis.dxy.in │ │ │ ├── requirements.txt │ │ │ └── rtos.rst │ │ ├── include │ │ │ └── pmsis │ │ │ │ ├── chips │ │ │ │ ├── default.h │ │ │ │ ├── gap8 │ │ │ │ │ ├── gpio.h │ │ │ │ │ ├── pad.h │ │ │ │ │ ├── perf.h │ │ │ │ │ └── pmu.h │ │ │ │ └── vega │ │ │ │ │ ├── gpio.h │ │ │ │ │ ├── pad.h │ │ │ │ │ └── perf.h │ │ │ │ ├── cluster │ │ │ │ ├── cl_malloc.h │ │ │ │ ├── cl_pmsis_api.h │ │ │ │ ├── cl_pmsis_types.h │ │ │ │ ├── cluster_sync │ │ │ │ │ ├── cl_synchronisation.h │ │ │ │ │ ├── cl_to_fc_delegate.h │ │ │ │ │ └── fc_to_cl_delegate.h │ │ │ │ ├── cluster_team │ │ │ │ │ └── cl_team.h │ │ │ │ └── dma │ │ │ │ │ ├── cl_dma.h │ │ │ │ │ └── cl_dma_decompressor.h │ │ │ │ ├── device.h │ │ │ │ ├── drivers │ │ │ │ ├── aes.h │ │ │ │ ├── asrc.h │ │ │ │ ├── cpi.h │ │ │ │ ├── dmacpy.h │ │ │ │ ├── gpio.h │ │ │ │ ├── hyperbus.h │ │ │ │ ├── i2c.h │ │ │ │ ├── i2c_slave.h │ │ │ │ ├── i2s.h │ │ │ │ ├── octospi.h │ │ │ │ ├── pad.h │ │ │ │ ├── perf.h │ │ │ │ ├── pmu.h │ │ │ │ ├── pwm.h │ │ │ │ ├── rtc.h │ │ │ │ ├── spi.h │ │ │ │ └── uart.h │ │ │ │ ├── errno.h │ │ │ │ ├── mem_slab.h │ │ │ │ ├── pmsis_types.h │ │ │ │ ├── rtos │ │ │ │ ├── assert.h │ │ │ │ ├── event_kernel │ │ │ │ │ └── event_kernel.h │ │ │ │ ├── malloc │ │ │ │ │ ├── cl_l1_malloc.h │ │ │ │ │ ├── fc_l1_malloc.h │ │ │ │ │ ├── l2_malloc.h │ │ │ │ │ ├── malloc_internal.h │ │ │ │ │ └── pi_malloc.h │ │ │ │ ├── os_frontend_api │ │ │ │ │ ├── freq.h │ │ │ │ │ ├── os.h │ │ │ │ │ └── pmsis_time.h │ │ │ │ ├── pi_log.h │ │ │ │ ├── pulpos.h │ │ │ │ └── rtos.h │ │ │ │ └── task.h │ │ ├── jenkins │ │ │ └── sdk.mk │ │ └── tools │ │ │ └── export.mk │ └── pmsis_bsp │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── ble │ │ ├── ble.c │ │ └── nina_b112 │ │ │ ├── nina_b112.c │ │ │ ├── nina_b112_defines.h │ │ │ └── nina_b112_old.c │ │ ├── bootloader │ │ └── bootloader_utility.c │ │ ├── bsp │ │ ├── ai_deck.c │ │ ├── gapoc_a.c │ │ ├── gapoc_b.c │ │ ├── gapoc_b_v2.c │ │ ├── gapuino.c │ │ ├── pulp.c │ │ ├── siracusa.c │ │ ├── vega.c │ │ └── wolfe.c │ │ ├── camera │ │ ├── camera.c │ │ ├── gc0308 │ │ │ ├── gc0308.c │ │ │ └── gc0308.h │ │ ├── himax │ │ │ ├── himax.c │ │ │ └── himax.h │ │ ├── mt9v034 │ │ │ ├── mt9v034.c │ │ │ └── mt9v034.h │ │ ├── ov5640 │ │ │ ├── ov5640.c │ │ │ └── ov5640.h │ │ ├── ov7670 │ │ │ ├── ov7670.c │ │ │ └── ov7670.h │ │ ├── pixart │ │ │ ├── pixart.c │ │ │ └── pixart.h │ │ └── thermeye │ │ │ ├── thermeye.c │ │ │ └── thermeye_defines.h │ │ ├── crc │ │ └── md5.c │ │ ├── display │ │ ├── display.c │ │ └── ili9341 │ │ │ ├── ili9341.c │ │ │ └── ili9341.h │ │ ├── docs │ │ ├── Makefile │ │ ├── ble.rst │ │ ├── camera.rst │ │ ├── conf.py │ │ ├── display.rst │ │ ├── dox.mk │ │ ├── flash.rst │ │ ├── fs.rst │ │ ├── headers │ │ │ └── groups.h │ │ ├── index.rst │ │ ├── mainpage.md │ │ ├── make.bat │ │ ├── pmsis.dxy.in │ │ ├── ram.rst │ │ └── requirements.txt │ │ ├── eeprom │ │ ├── 24XX1025.c │ │ └── virtual_eeprom.c │ │ ├── flash │ │ ├── flash.c │ │ ├── hyperflash │ │ │ └── hyperflash.c │ │ ├── mram │ │ │ └── mram-v2.c │ │ └── spiflash │ │ │ ├── atxp032.c │ │ │ └── spiflash.c │ │ ├── fs │ │ ├── fs.c │ │ ├── host_fs │ │ │ ├── host_fs.c │ │ │ ├── semihost.c │ │ │ └── semihost.h │ │ ├── lfs │ │ │ ├── lfs.c │ │ │ ├── lfs_util.c │ │ │ ├── lfs_util.h │ │ │ └── pi_lfs.c │ │ └── read_fs │ │ │ └── read_fs.c │ │ ├── include │ │ └── bsp │ │ │ ├── ai_deck.h │ │ │ ├── ble.h │ │ │ ├── ble │ │ │ ├── nina_b112.h │ │ │ └── nina_b112 │ │ │ │ └── nina_b112_old.h │ │ │ ├── bootloader_utility.h │ │ │ ├── bsp.h │ │ │ ├── buffer.h │ │ │ ├── camera.h │ │ │ ├── camera │ │ │ ├── gc0308.h │ │ │ ├── himax.h │ │ │ ├── mt9v034.h │ │ │ ├── ov5640.h │ │ │ ├── ov7670.h │ │ │ ├── pixart.h │ │ │ └── thermeye.h │ │ │ ├── crc │ │ │ └── md5.h │ │ │ ├── debug.h │ │ │ ├── display.h │ │ │ ├── display │ │ │ └── ili9341.h │ │ │ ├── eeprom.h │ │ │ ├── eeprom │ │ │ ├── 24xx1025.h │ │ │ └── virtual_eeprom.h │ │ │ ├── eeprom_slave.h │ │ │ ├── flash.h │ │ │ ├── flash │ │ │ ├── atxp032.h │ │ │ ├── hyperflash.h │ │ │ ├── mram.h │ │ │ └── spiflash.h │ │ │ ├── flash_partition.h │ │ │ ├── fs.h │ │ │ ├── fs │ │ │ ├── LICENSE_LFS.md │ │ │ ├── hostfs.h │ │ │ ├── lfs.h │ │ │ ├── pi_lfs.h │ │ │ └── readfs.h │ │ │ ├── gapoc_a.h │ │ │ ├── gapoc_b.h │ │ │ ├── gapoc_b_v2.h │ │ │ ├── gapuino.h │ │ │ ├── ota.h │ │ │ ├── ota_utility.h │ │ │ ├── partition.h │ │ │ ├── pulp.h │ │ │ ├── ram.h │ │ │ ├── ram │ │ │ ├── aps25xxxn.h │ │ │ ├── hyperram.h │ │ │ └── spiram.h │ │ │ ├── siracusa.h │ │ │ ├── transport.h │ │ │ ├── transport │ │ │ └── nina_w10.h │ │ │ ├── updater.h │ │ │ ├── vega.h │ │ │ └── wolfe.h │ │ ├── jenkins │ │ └── sdk.mk │ │ ├── ota │ │ ├── ota.c │ │ ├── ota_utility.c │ │ └── updater.c │ │ ├── partition │ │ ├── flash_partition.c │ │ └── partition.c │ │ ├── ram │ │ ├── alloc_extern.c │ │ ├── extern_alloc.h │ │ ├── hyperram │ │ │ └── hyperram.c │ │ ├── ram.c │ │ └── spiram │ │ │ ├── aps25xxxn.c │ │ │ └── spiram.c │ │ ├── rules │ │ ├── freertos_bsp_rules.mk │ │ ├── gap_sdk.mk │ │ ├── pulp_sdk.mk │ │ ├── pulpos.mk │ │ └── pulpos │ │ │ ├── rules.mk │ │ │ └── src.mk │ │ ├── src.mk │ │ ├── transport │ │ ├── nina_w10 │ │ │ ├── firmware │ │ │ │ ├── Makefile │ │ │ │ ├── README │ │ │ │ └── main │ │ │ │ │ ├── component.mk │ │ │ │ │ └── nina_w10_fw.c │ │ │ └── nina_w10.c │ │ └── transport.c │ │ └── zephyr │ │ └── CMakeLists.txt └── pulpos │ ├── common │ ├── Makefile │ ├── bin │ │ └── pos-size │ ├── include │ │ ├── pmsis.h │ │ └── pos │ │ │ ├── data │ │ │ ├── alloc.h │ │ │ ├── cluster.h │ │ │ ├── data.h │ │ │ ├── kernel.h │ │ │ ├── lock.h │ │ │ ├── sched.h │ │ │ └── soc_event.h │ │ │ └── implem │ │ │ ├── alloc.h │ │ │ ├── alloc_pool.h │ │ │ ├── cluster.h │ │ │ ├── dma.h │ │ │ ├── freq.h │ │ │ ├── implem.h │ │ │ ├── irq.h │ │ │ ├── kernel.h │ │ │ ├── link.h │ │ │ ├── lock.h │ │ │ ├── pe.h │ │ │ ├── perf.h │ │ │ ├── soc_event.h │ │ │ ├── task.h │ │ │ └── trace.h │ ├── kernel │ │ ├── alloc.c │ │ ├── alloc_pool.c │ │ ├── crt0.S │ │ ├── device.c │ │ ├── fll-v1.c │ │ ├── freq-domains.c │ │ ├── init.c │ │ ├── irq.c │ │ ├── irq_asm.S │ │ ├── kernel.c │ │ ├── log.c │ │ ├── soc_event.c │ │ ├── soc_event_eu.S │ │ ├── soc_event_v2_itc.S │ │ ├── task.c │ │ ├── task_asm.S │ │ ├── time.c │ │ └── time_asm.S │ ├── lib │ │ ├── libc │ │ │ └── minimal │ │ │ │ ├── fprintf.c │ │ │ │ ├── include │ │ │ │ ├── ctype.h │ │ │ │ ├── io.h │ │ │ │ ├── stdio.h │ │ │ │ ├── stdlib.h │ │ │ │ └── string.h │ │ │ │ ├── io.c │ │ │ │ ├── prf.c │ │ │ │ ├── semihost.c │ │ │ │ ├── semihost.h │ │ │ │ └── sprintf.c │ │ └── omp │ │ │ ├── include │ │ │ └── omp.h │ │ │ ├── omp.c │ │ │ ├── ompRt.h │ │ │ └── omp_wrapper_gcc.c │ └── rules │ │ ├── pulpos.mk │ │ └── pulpos │ │ ├── configs │ │ └── default.mk │ │ ├── default_rules.mk │ │ └── src.mk │ ├── pulp │ ├── drivers │ │ ├── cluster │ │ │ ├── cluster.c │ │ │ └── pe-eu-v3.S │ │ ├── hyperbus │ │ │ └── hyperbus-v3.c │ │ ├── siracusa_padmux │ │ │ ├── include │ │ │ │ ├── siracusa_padctrl.h │ │ │ │ ├── siracusa_pads_debug_regs.h │ │ │ │ └── siracusa_pads_functional_regs.h │ │ │ ├── siracusa_pads_debug_regs.hjson │ │ │ ├── siracusa_pads_functional_regs.hjson │ │ │ └── src │ │ │ │ └── siracusa_padctrl.c │ │ ├── uart │ │ │ └── uart-v1.c │ │ └── udma │ │ │ └── udma-v3.c │ ├── include │ │ └── pos │ │ │ ├── chips │ │ │ ├── pulp │ │ │ │ ├── config.h │ │ │ │ └── soc.h │ │ │ └── siracusa │ │ │ │ ├── config.h │ │ │ │ └── soc.h │ │ │ ├── data │ │ │ ├── hyperbus.h │ │ │ ├── spim.h │ │ │ ├── uart.h │ │ │ └── udma-v3.h │ │ │ └── implem │ │ │ └── udma-v3.h │ ├── kernel │ │ └── chips │ │ │ ├── pulp │ │ │ ├── link.ld │ │ │ └── soc.c │ │ │ └── siracusa │ │ │ ├── link.ld │ │ │ ├── pll.c │ │ │ └── soc.c │ └── rules │ │ └── pulpos │ │ └── targets │ │ ├── pulp.mk │ │ ├── pulp_nn.mk │ │ └── siracusa.mk │ ├── pulp_archi │ ├── LICENSE │ ├── Makefile │ ├── SConstruct │ ├── arch │ │ └── pulp │ │ │ ├── APB_SOC_CTRL_reference.md │ │ │ ├── APB_SOC_CTRL_reference.md.html │ │ │ ├── CLUSTER_CRTL_UNIT_reference.md │ │ │ └── CLUSTER_ICACHE_CTRL_reference.md │ ├── doc │ │ ├── APB_GPIO_reference.xlsx │ │ ├── CL_EVENT_UNIT_reference.xlsx │ │ ├── FC_EVENT_UNIT_reference.xlsx │ │ ├── HYPER_V2_reference.xlsx │ │ ├── PULPISSIMO_APB_SOC_CTRL_reference.xlsx │ │ ├── RTC_UNIT_reference.xlsx │ │ ├── TIMER_UNIT_reference.xlsx │ │ ├── WOLFE_APB_SOC_CTRL_reference.xlsx │ │ ├── gap │ │ │ └── APB_SOC_CTRL_reference.xlsx │ │ ├── gpio │ │ │ └── APB_GPIO_V3_reference.xlsx │ │ ├── hwce │ │ │ ├── HWCE_v4_reference.xlsx │ │ │ └── HWCE_v5_reference.xlsx │ │ ├── mchan │ │ │ └── CL_DMA_v7_reference.xlsx │ │ ├── pwm │ │ │ └── pwm_v1.xlsx │ │ ├── udma │ │ │ ├── CAM_CPI_V1_reference.xlsx │ │ │ ├── MEMCPY_v1_reference.xlsx │ │ │ ├── MRAM_reference.xlsx │ │ │ └── i2s │ │ │ │ ├── I2S_V1_reference.xlsx │ │ │ │ ├── I2S_V2_reference.xlsx │ │ │ │ └── I2S_V3_reference.xlsx │ │ └── vega │ │ │ └── APB_SOC_CTRL_reference.xlsx │ └── 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 │ │ │ ├── padframe.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── gap8 │ │ ├── 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 │ │ │ ├── apb_soc_ctrl.h │ │ │ ├── apb_soc_ctrl │ │ │ │ ├── apb_soc_ctrl.h │ │ │ │ ├── apb_soc_ctrl_accessors.h │ │ │ │ ├── apb_soc_ctrl_cmd.h │ │ │ │ ├── apb_soc_ctrl_constants.h │ │ │ │ ├── apb_soc_ctrl_groups.h │ │ │ │ ├── apb_soc_ctrl_gvsoc.h │ │ │ │ ├── apb_soc_ctrl_macros.h │ │ │ │ ├── apb_soc_ctrl_regfields.h │ │ │ │ ├── apb_soc_ctrl_regfields_accessors.h │ │ │ │ ├── apb_soc_ctrl_regmap.h │ │ │ │ ├── apb_soc_ctrl_regs.h │ │ │ │ └── apb_soc_ctrl_structs.h │ │ │ ├── cluster_ctrl_unit │ │ │ │ ├── cluster_ctrl_unit.h │ │ │ │ ├── cluster_ctrl_unit_accessors.h │ │ │ │ ├── cluster_ctrl_unit_cmd.h │ │ │ │ ├── cluster_ctrl_unit_constants.h │ │ │ │ ├── cluster_ctrl_unit_groups.h │ │ │ │ ├── cluster_ctrl_unit_gvsoc.h │ │ │ │ ├── cluster_ctrl_unit_macros.h │ │ │ │ ├── cluster_ctrl_unit_regfields.h │ │ │ │ ├── cluster_ctrl_unit_regfields_accessors.h │ │ │ │ ├── cluster_ctrl_unit_regmap.h │ │ │ │ ├── cluster_ctrl_unit_regs.h │ │ │ │ └── cluster_ctrl_unit_structs.h │ │ │ ├── cluster_icache_ctrl │ │ │ │ ├── cluster_icache_ctrl.h │ │ │ │ ├── cluster_icache_ctrl_accessors.h │ │ │ │ ├── cluster_icache_ctrl_cmd.h │ │ │ │ ├── cluster_icache_ctrl_constants.h │ │ │ │ ├── cluster_icache_ctrl_groups.h │ │ │ │ ├── cluster_icache_ctrl_gvsoc.h │ │ │ │ ├── cluster_icache_ctrl_macros.h │ │ │ │ ├── cluster_icache_ctrl_regfields.h │ │ │ │ ├── cluster_icache_ctrl_regfields_accessors.h │ │ │ │ ├── cluster_icache_ctrl_regmap.h │ │ │ │ ├── cluster_icache_ctrl_regs.h │ │ │ │ └── cluster_icache_ctrl_structs.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ ├── pulp.h │ │ │ └── pulp_archi.h │ │ ├── pulp_v1 │ │ │ ├── apb_soc.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── pulpissimo │ │ │ ├── apb_soc.h │ │ │ ├── apb_soc_ctrl.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── pulpissimo_v1 │ │ │ ├── apb_soc.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── quentin │ │ │ ├── apb_soc.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── siracusa │ │ │ ├── apb_soc.h │ │ │ ├── apb_soc_ctrl.h │ │ │ ├── apb_soc_ctrl │ │ │ │ ├── apb_soc_ctrl.h │ │ │ │ ├── apb_soc_ctrl_accessors.h │ │ │ │ ├── apb_soc_ctrl_cmd.h │ │ │ │ ├── apb_soc_ctrl_constants.h │ │ │ │ ├── apb_soc_ctrl_groups.h │ │ │ │ ├── apb_soc_ctrl_gvsoc.h │ │ │ │ ├── apb_soc_ctrl_macros.h │ │ │ │ ├── apb_soc_ctrl_regfields.h │ │ │ │ ├── apb_soc_ctrl_regfields_accessors.h │ │ │ │ ├── apb_soc_ctrl_regmap.h │ │ │ │ ├── apb_soc_ctrl_regs.h │ │ │ │ └── apb_soc_ctrl_structs.h │ │ │ ├── cluster_ctrl_unit │ │ │ │ ├── cluster_ctrl_unit.h │ │ │ │ ├── cluster_ctrl_unit_accessors.h │ │ │ │ ├── cluster_ctrl_unit_cmd.h │ │ │ │ ├── cluster_ctrl_unit_constants.h │ │ │ │ ├── cluster_ctrl_unit_groups.h │ │ │ │ ├── cluster_ctrl_unit_gvsoc.h │ │ │ │ ├── cluster_ctrl_unit_macros.h │ │ │ │ ├── cluster_ctrl_unit_regfields.h │ │ │ │ ├── cluster_ctrl_unit_regfields_accessors.h │ │ │ │ ├── cluster_ctrl_unit_regmap.h │ │ │ │ ├── cluster_ctrl_unit_regs.h │ │ │ │ └── cluster_ctrl_unit_structs.h │ │ │ ├── cluster_icache_ctrl │ │ │ │ ├── cluster_icache_ctrl.h │ │ │ │ ├── cluster_icache_ctrl_accessors.h │ │ │ │ ├── cluster_icache_ctrl_cmd.h │ │ │ │ ├── cluster_icache_ctrl_constants.h │ │ │ │ ├── cluster_icache_ctrl_groups.h │ │ │ │ ├── cluster_icache_ctrl_gvsoc.h │ │ │ │ ├── cluster_icache_ctrl_macros.h │ │ │ │ ├── cluster_icache_ctrl_regfields.h │ │ │ │ ├── cluster_icache_ctrl_regfields_accessors.h │ │ │ │ ├── cluster_icache_ctrl_regmap.h │ │ │ │ ├── cluster_icache_ctrl_regs.h │ │ │ │ └── cluster_icache_ctrl_structs.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ ├── pulp.h │ │ │ └── pulp_archi.h │ │ ├── usoc_v1 │ │ │ ├── apb_soc.h │ │ │ ├── gpio.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── vega │ │ │ ├── apb_soc.h │ │ │ ├── apb_soc_ctrl.h │ │ │ ├── memory_map.h.in │ │ │ ├── pmu.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 │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── vivosoc3_1 │ │ │ ├── apb_soc.h │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── vivosoc3_5 │ │ │ ├── apb_soc.h │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ ├── vivosoc4 │ │ │ ├── apb_soc.h │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ ├── memory_map.h │ │ │ ├── properties.h │ │ │ └── pulp.h │ │ └── wolfe │ │ │ ├── apb_soc.h │ │ │ ├── apb_soc_ctrl_new.h │ │ │ ├── memory_map.h │ │ │ ├── pmu.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 │ │ └── eu_v4.h │ │ ├── fll │ │ ├── fll_v0.h │ │ └── fll_v1.h │ │ ├── gap_utils.h │ │ ├── gpio │ │ ├── gpio_v2.h │ │ ├── gpio_v2_new.h │ │ └── gpio_v3.h │ │ ├── gvsoc │ │ └── gvsoc.h │ │ ├── hwce │ │ ├── hwce_v4_old.h │ │ ├── hwce_v5.h │ │ └── v4 │ │ │ ├── hwce.h │ │ │ ├── hwce_accessors.h │ │ │ ├── hwce_constants.h │ │ │ ├── hwce_groups.h │ │ │ ├── hwce_gvsoc.h │ │ │ ├── hwce_macros.h │ │ │ ├── hwce_regfields.h │ │ │ ├── hwce_regfields_accessors.h │ │ │ ├── hwce_regmap.h │ │ │ ├── hwce_regs.h │ │ │ └── hwce_structs.h │ │ ├── hwme │ │ └── hwme_v1.h │ │ ├── ima │ │ └── ima_v1.h │ │ ├── itc │ │ └── itc_v1.h │ │ ├── maestro │ │ ├── maestro_v1.h │ │ ├── maestro_v1_new.h │ │ ├── maestro_v2.h │ │ ├── maestro_v2_new.h │ │ └── maestro_v3.h │ │ ├── mailbox │ │ └── mailbox_v0.h │ │ ├── or1k │ │ └── spr-defs.h │ │ ├── pulp.h │ │ ├── pulp_defs.h │ │ ├── pwm │ │ ├── pwm_v1.h │ │ └── v1 │ │ │ ├── pwm_v1.h │ │ │ ├── pwm_v1_accessors.h │ │ │ ├── pwm_v1_constants.h │ │ │ ├── pwm_v1_groups.h │ │ │ ├── pwm_v1_gvsoc.h │ │ │ ├── pwm_v1_macros.h │ │ │ ├── pwm_v1_regfields.h │ │ │ ├── pwm_v1_regmap.h │ │ │ ├── pwm_v1_regs.h │ │ │ └── pwm_v1_structs.h │ │ ├── rab │ │ └── rab_v1.h │ │ ├── riscv │ │ ├── builtins_v2.h │ │ ├── builtins_v2_emu.h │ │ ├── pcer_v1.h │ │ ├── pcer_v2.h │ │ ├── priv_1.9.h │ │ ├── priv_1_10.h │ │ ├── priv_1_7.h │ │ └── priv_1_9.h │ │ ├── rtc │ │ └── rtc_v2.h │ │ ├── soc_eu │ │ ├── soc_eu_v1.h │ │ ├── soc_eu_v2.h │ │ └── soc_eu_v3.h │ │ ├── spim │ │ └── spi_v1.h │ │ ├── stdout │ │ ├── stdout_v2.h │ │ └── stdout_v3.h │ │ ├── timer │ │ └── timer_v2.h │ │ ├── udma │ │ ├── cpi │ │ │ ├── udma_cpi_v1.h │ │ │ └── udma_cpi_v1_old.h │ │ ├── csi2 │ │ │ └── udma_csi2_v1.h │ │ ├── hyper │ │ │ ├── udma_hyper_v1.h │ │ │ ├── udma_hyper_v2.h │ │ │ ├── udma_hyper_v3.h │ │ │ └── udma_hyper_v3_siracusa.h │ │ ├── i2c │ │ │ ├── udma_i2c_v1.h │ │ │ └── udma_i2c_v2.h │ │ ├── i2s │ │ │ ├── udma_i2s_v1.h │ │ │ ├── udma_i2s_v1_new.h │ │ │ ├── udma_i2s_v2.h │ │ │ └── v3 │ │ │ │ ├── udma_i2s_v3.h │ │ │ │ ├── udma_i2s_v3_accessors.h │ │ │ │ ├── udma_i2s_v3_constants.h │ │ │ │ ├── udma_i2s_v3_groups.h │ │ │ │ ├── udma_i2s_v3_gvsoc.h │ │ │ │ ├── udma_i2s_v3_macros.h │ │ │ │ ├── udma_i2s_v3_regfields.h │ │ │ │ ├── udma_i2s_v3_regmap.h │ │ │ │ ├── udma_i2s_v3_regs.h │ │ │ │ └── udma_i2s_v3_structs.h │ │ ├── memcpy │ │ │ └── v1 │ │ │ │ ├── udma_memcpy_v1.h │ │ │ │ ├── udma_memcpy_v1_accessors.h │ │ │ │ ├── udma_memcpy_v1_constants.h │ │ │ │ ├── udma_memcpy_v1_groups.h │ │ │ │ ├── udma_memcpy_v1_gvsoc.h │ │ │ │ ├── udma_memcpy_v1_macros.h │ │ │ │ ├── udma_memcpy_v1_regfields.h │ │ │ │ ├── udma_memcpy_v1_regmap.h │ │ │ │ ├── udma_memcpy_v1_regs.h │ │ │ │ └── udma_memcpy_v1_structs.h │ │ ├── mram │ │ │ └── udma_mram_v1.h │ │ ├── spim │ │ │ ├── udma_spim_v1.h │ │ │ ├── udma_spim_v2.h │ │ │ └── udma_spim_v3.h │ │ ├── tcdm │ │ │ └── udma_tcdm_v1.h │ │ ├── uart │ │ │ └── udma_uart_v1.h │ │ ├── udma_v1.h │ │ ├── udma_v2.h │ │ └── udma_v3.h │ │ ├── utils.h │ │ ├── vendors │ │ ├── dolphin │ │ │ └── rtc.h │ │ ├── iid │ │ │ └── quiddikey_v1.h │ │ └── lnt │ │ │ └── csi2_v1.h │ │ └── xne │ │ └── xne_v1.h │ └── pulp_hal │ ├── LICENSE │ ├── Makefile │ ├── SConstruct │ ├── include │ └── hal │ │ ├── apb_soc │ │ ├── apb_soc_v1.h │ │ ├── apb_soc_v2.h │ │ ├── apb_soc_v3.h │ │ └── apb_soc_v4.h │ │ ├── bitfield.h │ │ ├── chips │ │ ├── arnold │ │ │ └── pulp.h │ │ ├── bigpulp │ │ │ └── pulp.h │ │ ├── devchip │ │ │ └── pulp.h │ │ ├── fulmine │ │ │ └── pulp.h │ │ ├── gap │ │ │ ├── apb_soc.h │ │ │ ├── efuse.h │ │ │ └── pulp.h │ │ ├── gap8 │ │ ├── gap_rev1 │ │ │ ├── efuse.h │ │ │ └── pulp.h │ │ ├── honey │ │ │ ├── fll.h │ │ │ └── pulp.h │ │ ├── multino │ │ │ └── pulp.h │ │ ├── neuraghe │ │ │ ├── pulp.h │ │ │ └── pulp.h~ │ │ ├── oprecompkw │ │ │ └── pulp.h │ │ ├── pulp │ │ │ └── pulp.h │ │ ├── pulp_v1 │ │ │ └── pulp.h │ │ ├── pulpissimo │ │ │ └── pulp.h │ │ ├── pulpissimo_v1 │ │ │ └── pulp.h │ │ ├── quentin │ │ │ └── pulp.h │ │ ├── siracusa │ │ │ ├── chip_config_regs.h │ │ │ ├── cluster_write_fifo_regs.h │ │ │ ├── i3c_regs.h │ │ │ ├── pll.h │ │ │ ├── pll_regs.h │ │ │ └── pulp.h │ │ ├── usoc_v1 │ │ │ ├── apb_soc.h │ │ │ ├── gpio.h │ │ │ └── pulp.h │ │ ├── vega │ │ │ ├── efuse.h │ │ │ ├── pulp.h │ │ │ └── pulp.h~ │ │ ├── vivosoc2 │ │ │ ├── pulp.h │ │ │ └── pulp.h~ │ │ ├── vivosoc2_1 │ │ │ └── pulp.h │ │ ├── vivosoc3 │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ └── pulp.h │ │ ├── vivosoc3_1 │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ └── pulp.h │ │ ├── vivosoc3_5 │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ └── pulp.h │ │ ├── vivosoc4 │ │ │ ├── fll.h │ │ │ ├── freq.h │ │ │ └── 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 │ │ └── gpio_v3.h │ │ ├── gvsoc │ │ └── gvsoc.h │ │ ├── hwce │ │ ├── hwce_v4.h │ │ └── hwce_v5.h │ │ ├── hwme │ │ └── hwme_v1.h │ │ ├── icache │ │ ├── icache_ctrl_v1.h │ │ └── icache_ctrl_v2.h │ │ ├── ima │ │ └── ima_v1.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 │ │ ├── pwm │ │ └── pwm_v1.h │ │ ├── rab │ │ └── rab_v1.h │ │ ├── riscv │ │ ├── builtins_v2.h │ │ ├── builtins_v2_emu.h │ │ ├── riscv_v3.h │ │ ├── riscv_v4.h │ │ ├── riscv_v5.h │ │ └── types.h │ │ ├── rom │ │ └── rom_v2.h │ │ ├── rtc │ │ └── rtc_v2.h │ │ ├── soc_eu │ │ ├── soc_eu_v1.h │ │ ├── soc_eu_v2.h │ │ └── soc_eu_v3.h │ │ ├── tb │ │ └── tb.h │ │ ├── timer │ │ ├── timer_v1.h │ │ └── timer_v2.h │ │ ├── tryx │ │ └── tryx_v1.h │ │ ├── udma │ │ ├── cpi │ │ │ └── udma_cpi_v1.h │ │ ├── csi2 │ │ │ └── udma_csi2_v1.h │ │ ├── hyper │ │ │ ├── udma_hyper_v1.h │ │ │ ├── udma_hyper_v2.h │ │ │ └── udma_hyper_v3.h │ │ ├── i2c │ │ │ ├── udma_i2c_v1.h │ │ │ └── udma_i2c_v2.h │ │ ├── i2s │ │ │ └── udma_i2s_v1.h │ │ ├── spim │ │ │ ├── udma_spim_v1.h │ │ │ ├── udma_spim_v2.h │ │ │ └── udma_spim_v3.h │ │ ├── tcdm │ │ │ └── udma_tcdm_v1.h │ │ ├── uart │ │ │ └── udma_uart_v1.h │ │ ├── udma_v1.h │ │ ├── udma_v2.h │ │ └── udma_v3.h │ │ ├── utils.h │ │ ├── vendors │ │ ├── dolphin │ │ │ └── rtc.h │ │ ├── iid │ │ │ └── quiddikey_v1.h │ │ └── lnt │ │ │ └── csi2_v1.h │ │ └── xne │ │ └── xne_v1.h │ └── src │ └── hal │ ├── mailbox │ └── mailbox_v0.c │ ├── rab │ └── rab_v1.c │ └── tryx │ └── tryx_v1.c ├── rules ├── dpi-models.mk ├── gap-configs.mk ├── json-tools.mk ├── pulp-debug-bridge.mk └── pulpos.mk ├── tests ├── README.md ├── cluster │ ├── call │ │ ├── Makefile │ │ └── test.c │ ├── fork │ │ ├── Makefile │ │ └── test.c │ └── fork_power │ │ ├── Makefile │ │ └── test.c ├── dma │ └── 1d │ │ ├── Makefile │ │ └── test.c ├── flash │ ├── simple │ │ ├── Makefile │ │ └── test.c │ └── with_ram │ │ ├── Makefile │ │ └── test.c ├── fs │ └── read │ │ ├── Makefile │ │ ├── files │ │ ├── flash_file_0.bin │ │ └── flash_file_1.bin │ │ └── test.c ├── hello │ ├── Makefile │ └── test.c ├── perf │ ├── double_buffering │ │ ├── Makefile │ │ └── test.c │ └── matmult │ │ ├── Makefile │ │ ├── stats.h │ │ └── test.c ├── ram │ └── simple │ │ ├── Makefile │ │ └── test.c └── uart │ └── loopback │ ├── Makefile │ ├── config.ini │ └── test.c └── tools ├── dpi-models ├── LICENSE ├── Makefile ├── dpi_rules.mk ├── ext │ ├── nosv │ │ └── svdpi.h │ └── sv │ │ └── include │ │ └── questa │ │ └── dpiheader.h ├── include │ ├── common │ │ ├── .telnet_proxy.hpp.swp │ │ └── telnet_proxy.hpp │ └── dpi │ │ ├── models.hpp │ │ └── tb_driver.h ├── models │ ├── Makefile │ ├── camera │ │ ├── Makefile │ │ └── camera.cpp │ ├── eeprom │ │ ├── Makefile │ │ └── eeprom.cpp │ ├── flash │ │ └── spiflash │ │ │ ├── Makefile │ │ │ └── spiflash.cpp │ ├── jtag │ │ └── proxy │ │ │ ├── Makefile │ │ │ └── proxy.cpp │ ├── lcd │ │ ├── Makefile │ │ └── ili9341.cpp │ ├── microphone │ │ ├── Makefile │ │ └── i2s_microphone.cpp │ ├── ram │ │ └── spiram │ │ │ ├── Makefile │ │ │ └── spiram.cpp │ ├── test │ │ └── spim_verif │ │ │ ├── Makefile │ │ │ └── spim_verif.cpp │ ├── uart │ │ └── uart │ │ │ ├── Makefile │ │ │ └── uart.cpp │ └── wifi │ │ ├── Makefile │ │ └── nina_w10.cpp └── src │ ├── cpi.cpp │ ├── ctrl.cpp │ ├── dpi.cpp │ ├── gpio.cpp │ ├── i2c.cpp │ ├── i2s.cpp │ ├── jtag.cpp │ ├── models.cpp │ ├── qspim.cpp │ ├── telnet_proxy.cpp │ └── uart.cpp ├── gap-configs ├── CMake │ ├── FindAddJsonTools.cmake │ ├── FindAddPulpConfigs.cmake │ └── FindPythonModule.cmake ├── CMakeLists.txt ├── Makefile ├── SConstruct ├── bin │ ├── comp_gen.py │ ├── plpconf_new │ ├── plpfiles │ ├── plpinfo │ ├── pulp_config_gen │ └── pulp_graph_gen ├── configs │ ├── boards │ │ ├── ai_deck.json │ │ ├── drone_eth_shield_v2.json │ │ ├── gap.json │ │ ├── gapoc_a.json │ │ ├── gapoc_a_revb.json │ │ ├── gapoc_a_spi.json │ │ ├── gapoc_a_spi_revb.json │ │ ├── gapoc_b.json │ │ ├── gapoc_b_revb.json │ │ ├── gapoc_b_spi_revb.json │ │ ├── gapuino.json │ │ ├── gapuino_revb.json │ │ ├── gapuino_revc.json │ │ ├── gapuino_spi.json │ │ ├── gapuino_spi_revb.json │ │ ├── gapuino_spi_revc.json │ │ └── lucy.json │ ├── chips │ │ ├── arnold │ │ │ ├── apb_soc.json │ │ │ ├── arnold.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ └── udma.json │ │ ├── bigpulp-juno │ │ │ ├── apb_soc.json │ │ │ ├── bigpulp-juno.json │ │ │ ├── defaults.json │ │ │ └── padframe.json │ │ ├── bigpulp-standalone │ │ │ ├── apb_soc.json │ │ │ ├── bigpulp.json │ │ │ ├── defaults.json │ │ │ └── padframe.json │ │ ├── bigpulp-z-7045 │ │ │ ├── apb_soc.json │ │ │ ├── bigpulp-z-7045.json │ │ │ ├── defaults.json │ │ │ └── padframe.json │ │ ├── bigpulp-zu9eg │ │ │ ├── apb_soc.json │ │ │ ├── bigpulp-zu9eg.json │ │ │ ├── defaults.json │ │ │ └── padframe.json │ │ ├── bigpulp │ │ │ ├── apb_soc.json │ │ │ ├── bigpulp.json │ │ │ ├── defaults.json │ │ │ └── padframe.json │ │ ├── gap │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── gap.json │ │ │ ├── padframe.json │ │ │ ├── pmu.json │ │ │ └── udma.json │ │ ├── gap8_revc │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── gap8_revc.json │ │ │ ├── padframe.json │ │ │ ├── pmu.json │ │ │ └── udma.json │ │ ├── gap_rev1 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── gap_rev1.json │ │ │ ├── padframe.json │ │ │ ├── pmu.json │ │ │ └── udma.json │ │ ├── hero-z-7045 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ └── hero-z-7045.json │ │ ├── multino │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── multino.json │ │ │ └── padframe.json │ │ ├── neuraghe │ │ │ ├── neuraghe.json │ │ │ ├── neuraghe_system.json │ │ │ └── soc.json │ │ ├── oprecompkw │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── job_fifo.json │ │ │ └── oprecompkw.json │ │ ├── oprecompkw_sa │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── job_fifo.json │ │ │ ├── oprecompkw_sa.json │ │ │ └── padframe.json │ │ ├── oprecompkw_sfloat │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── job_fifo.json │ │ │ └── oprecompkw_sfloat.json │ │ ├── oprecompkw_sfloat_sa │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── job_fifo.json │ │ │ ├── oprecompkw_sfloat_sa.json │ │ │ └── padframe.json │ │ ├── oprecompkw_sfloat_sa_dual_regfile │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── job_fifo.json │ │ │ ├── oprecompkw_sfloat_sa_dual_regfile.json │ │ │ └── padframe.json │ │ ├── pulp │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulp.json │ │ │ ├── pulp_nn.json │ │ │ ├── pulp_rnnext.json │ │ │ └── udma.json │ │ ├── pulp_v1 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulp_v1.json │ │ │ └── udma.json │ │ ├── pulp_v2 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulp_v2.json │ │ │ └── udma.json │ │ ├── pulpissimo-microriscy │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulpissimo-microriscy.json │ │ │ └── udma.json │ │ ├── pulpissimo-riscy │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulpissimo-riscy.json │ │ │ └── udma.json │ │ ├── pulpissimo-zeroriscy │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulpissimo-zeroriscy.json │ │ │ └── udma.json │ │ ├── pulpissimo │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulpissimo.json │ │ │ ├── pulpissimo_ibex.json │ │ │ ├── pulpissimo_rnnext.json │ │ │ └── udma.json │ │ ├── pulpissimo_v1 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pulpissimo_v1.json │ │ │ └── udma.json │ │ ├── usoc_v1 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── udma.json │ │ │ └── usoc_v1.json │ │ ├── vega │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pmu.json │ │ │ ├── soc_events.json │ │ │ ├── udma.json │ │ │ └── vega.json │ │ ├── vivosoc2 │ │ │ ├── vivosoc2.json │ │ │ └── vivosoc2_system.json │ │ ├── vivosoc2_1 │ │ │ ├── vivosoc2_1.json │ │ │ └── vivosoc2_1_system.json │ │ ├── vivosoc3 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── udma.json │ │ │ └── vivosoc3.json │ │ ├── vivosoc3_1 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── udma.json │ │ │ └── vivosoc3_1.json │ │ ├── vivosoc3_5 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── udma.json │ │ │ └── vivosoc3_5.json │ │ ├── vivosoc4 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── udma.json │ │ │ └── vivosoc4.json │ │ ├── wolfe │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pmu.json │ │ │ ├── udma.json │ │ │ └── wolfe.json │ │ └── wolfe_16 │ │ │ ├── apb_soc.json │ │ │ ├── defaults.json │ │ │ ├── padframe.json │ │ │ ├── pmu.json │ │ │ ├── udma.json │ │ │ ├── wolfe.json │ │ │ └── wolfe_16.json │ ├── config │ │ ├── ai_deck.json │ │ ├── gap.json │ │ ├── gap8_revc.json │ │ ├── gap_rev1.json │ │ ├── gapoc_a.json │ │ ├── gapoc_a_revb.json │ │ ├── gapoc_a_spi_revb.json │ │ ├── gapoc_b.json │ │ ├── gapoc_b_revb.json │ │ ├── gapoc_b_spi_revb.json │ │ ├── gapuino.json │ │ ├── gapuino_revb.json │ │ ├── gapuino_revb_spi.json │ │ ├── gapuino_revc.json │ │ ├── gapuino_spi.json │ │ ├── lucy.json │ │ ├── pulp.json │ │ ├── pulp_nn.json │ │ ├── pulp_rnnext.json │ │ ├── pulpissimo.json │ │ ├── pulpissimo_bitext.json │ │ ├── pulpissimo_ibex.json │ │ ├── pulpissimo_rnnext.json │ │ ├── vega.json │ │ └── wolfe.json │ ├── defaults.json │ ├── devices │ │ ├── camera.json │ │ ├── camera.rst │ │ ├── eeprom.json │ │ ├── eeprom.rst │ │ ├── hyperflash.json │ │ ├── hyperflash.rst │ │ ├── hyperram.json │ │ ├── hyperram.rst │ │ ├── i2s_microphone.json │ │ ├── i2s_microphone.rst │ │ ├── jtag_proxy.json │ │ ├── jtag_proxy.rst │ │ ├── lcd_ili9341.json │ │ ├── lcd_ili9341.rst │ │ ├── microphone.json │ │ ├── nina_w10.json │ │ ├── nina_w10.rst │ │ ├── speaker.json │ │ ├── spiflash.json │ │ ├── spiflash.rst │ │ ├── spiflash_s26ks512.json │ │ ├── spim_verif.json │ │ ├── spim_verif.rst │ │ ├── spiram.json │ │ ├── spiram.rst │ │ ├── testbench.json │ │ ├── uart_checker.json │ │ ├── uart_tb.json │ │ └── uart_tb.rst │ ├── fpgas │ │ ├── pulp │ │ │ └── genesys2.json │ │ ├── pulpissimo │ │ │ └── genesys2.json │ │ └── pulpissimo_ibex │ │ │ └── genesys2.json │ ├── ips │ │ ├── adv_dbg_unit │ │ │ └── adv_dbg_unit.json │ │ ├── apb_soc │ │ │ ├── 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 │ │ ├── cache │ │ │ └── cache.json │ │ ├── cluster │ │ │ ├── cluster_v3.json │ │ │ ├── cluster_v4.json │ │ │ ├── cluster_v5.json │ │ │ ├── cluster_v5_fpu.json │ │ │ ├── cluster_v5_template.json │ │ │ ├── cluster_v6.json │ │ │ └── cluster_v6_template.json │ │ ├── cluster_ctrl │ │ │ └── cluster_ctrl_v2.json │ │ ├── debug │ │ │ ├── pulp_tap.json │ │ │ ├── riscv_dtm.json │ │ │ └── riscv_dtm_old.json │ │ ├── dpi │ │ │ └── chip_wrapper.json │ │ ├── efuse │ │ │ └── efuse_v1.json │ │ ├── event_unit │ │ │ ├── eu_v1.json │ │ │ ├── eu_v3.json │ │ │ ├── eu_v3_sec.json │ │ │ └── eu_v4.json │ │ ├── fll │ │ │ └── fll_v1.json │ │ ├── fulmine │ │ │ └── padframe.json │ │ ├── gpio │ │ │ ├── gpio_v2.json │ │ │ └── gpio_v3.json │ │ ├── hwacc │ │ │ └── hwacc.json │ │ ├── hwce │ │ │ ├── hwce_v4.json │ │ │ └── hwce_v5.json │ │ ├── hwme │ │ │ └── hwme_v1.json │ │ ├── icache_ctrl │ │ │ ├── icache_ctrl_v1.json │ │ │ └── icache_ctrl_v2.json │ │ ├── ima │ │ │ └── ima_v1.json │ │ ├── interco │ │ │ ├── converter.json │ │ │ ├── interleaver.json │ │ │ ├── l1_interleaver.json │ │ │ ├── l1_tas.json │ │ │ └── router.json │ │ ├── itc │ │ │ └── itc_v1.json │ │ ├── mailbox │ │ │ └── mailbox_v0.json │ │ ├── mchan │ │ │ ├── mchan_v4.json │ │ │ ├── mchan_v5.json │ │ │ ├── mchan_v6.json │ │ │ └── mchan_v7.json │ │ ├── memory │ │ │ └── ddr.json │ │ ├── misc │ │ │ └── clock.json │ │ ├── mram │ │ │ └── mram.json │ │ ├── ne16 │ │ │ └── ne16.json │ │ ├── or1k │ │ │ └── or10n_v2.json │ │ ├── padframe │ │ │ └── padframe_v1.json │ │ ├── pmu │ │ │ ├── pmu_v1.json │ │ │ ├── pmu_v2.json │ │ │ ├── pmu_v3.json │ │ │ └── pmu_v4.json │ │ ├── quentin │ │ │ ├── padframe.json │ │ │ └── soc_quentin.json │ │ ├── rab │ │ │ └── rab_v1.json │ │ ├── riscv │ │ │ ├── ariane.json │ │ │ ├── ibex.json │ │ │ ├── microriscy.json │ │ │ ├── ri5ky_v0.json │ │ │ ├── ri5ky_v1.json │ │ │ ├── ri5ky_v2.json │ │ │ ├── ri5ky_v2_1_10.json │ │ │ ├── ri5ky_v2_5_sfloat_single_regfile.json │ │ │ ├── ri5ky_v2_5_sfloat_single_regfile_sec.json │ │ │ ├── ri5ky_v2_6_sfloat_single_regfile.json │ │ │ ├── ri5ky_v2_6_sfloat_single_regfile_int64.json │ │ │ ├── ri5ky_v2_6_sfloat_single_regfile_pulpnn.json │ │ │ ├── ri5ky_v2_6_sfloat_single_regfile_rnnext.json │ │ │ ├── ri5ky_v2_6_sfloat_single_regfile_sec.json │ │ │ ├── ri5ky_v2_a.json │ │ │ ├── ri5ky_v2_cplx.json │ │ │ ├── ri5ky_v2_fpu.json │ │ │ ├── ri5ky_v2_fpu_1_10.json │ │ │ ├── ri5ky_v2_fpu_1_10_bitext.json │ │ │ ├── ri5ky_v2_fpu_1_10_pulpnn.json │ │ │ ├── ri5ky_v2_fpu_1_10_rnnext.json │ │ │ ├── ri5ky_v2_fpu_a.json │ │ │ ├── ri5ky_v2_fpu_ilp32f.json │ │ │ ├── ri5ky_v2_fpu_sec.json │ │ │ ├── ri5ky_v2_sec.json │ │ │ ├── ri5ky_v2_sfloat.json │ │ │ ├── ri5ky_v2_sfloat_single_regfile.json │ │ │ ├── ri5ky_v2_sfloat_single_regfile_sec.json │ │ │ └── zeroriscy.json │ │ ├── rom │ │ │ └── rom_v2.json │ │ ├── rtc │ │ │ ├── rtc.json │ │ │ └── rtc_v2.json │ │ ├── soc │ │ │ ├── soc_v4.2.json │ │ │ ├── soc_v4.3.json │ │ │ └── soc_v4.4.json │ │ ├── soc_eu │ │ │ ├── soc_eu_v1.json │ │ │ ├── soc_eu_v2.json │ │ │ └── soc_eu_v3.json │ │ ├── spi_master │ │ │ └── spi_master_v1.json │ │ ├── stdout │ │ │ ├── stdout_v2.json │ │ │ └── stdout_v3.json │ │ ├── timer │ │ │ ├── timer_v1.json │ │ │ └── timer_v2.json │ │ ├── tryx │ │ │ └── tryx_v1.json │ │ ├── uart │ │ │ └── uart_v0.json │ │ ├── udma │ │ │ ├── i2s │ │ │ │ └── udma_i2s_v2.json │ │ │ ├── udma_v1.json │ │ │ ├── udma_v2.json │ │ │ ├── udma_v3.json │ │ │ └── udma_v4.json │ │ ├── vega │ │ │ ├── padframe.json │ │ │ ├── soc.json │ │ │ └── udma.json │ │ ├── vendors │ │ │ ├── dolphin │ │ │ │ └── rtc.json │ │ │ ├── iid │ │ │ │ └── quiddikey_v1.json │ │ │ └── lnt │ │ │ │ └── csi2_v1.json │ │ ├── vivosoc3 │ │ │ └── padframe.json │ │ └── xne │ │ │ └── xne_v1.json │ ├── periph │ │ ├── camera.json │ │ ├── dpi_wrapper.json │ │ ├── eeprom.json │ │ ├── hyper.json │ │ ├── hyperflash.json │ │ ├── hyperram.json │ │ ├── i2s_microphone.json │ │ ├── jtag_proxy.json │ │ ├── olds │ │ │ └── microphone.json │ │ ├── ov7670.json │ │ ├── spiflash.json │ │ ├── spim_verif.json │ │ └── uart_tb.json │ ├── platforms │ │ ├── board.json │ │ ├── fpga.json │ │ ├── gvsoc.json │ │ ├── netlist.json │ │ ├── pgpin.json │ │ └── rtl.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_chip_common.json │ ├── pulp_system_common.json │ └── tools │ │ ├── debug-bridge │ │ ├── cable_ftdi.json │ │ ├── cable_jtag-proxy.json │ │ └── debug_bridge.json │ │ ├── openocd │ │ └── openocd.json │ │ ├── plt_loader │ │ └── plt_loader.json │ │ ├── rt │ │ └── rt.json │ │ ├── runner │ │ └── runner.json │ │ └── vp │ │ └── injector.json └── python │ ├── generators │ ├── __init__.py │ └── v1 │ │ ├── __init__.py │ │ ├── chip_gen.py │ │ ├── cluster_gen.py │ │ ├── comp_gen.py │ │ ├── config_gen.py │ │ ├── config_rtl_gen.py │ │ ├── devices │ │ ├── __init__.py │ │ ├── camera_gen.py │ │ ├── eeprom_gen.py │ │ ├── hyper_gen.py │ │ ├── i2s_microphone_gen.py │ │ ├── jtag_proxy_gen.py │ │ ├── lcd_ili9341_gen.py │ │ ├── nina_w10_gen.py │ │ ├── spiflash_gen.py │ │ ├── spiflash_s26ks512_gen.py │ │ ├── spim_verif_gen.py │ │ ├── spiram.py │ │ ├── spiram_gen.py │ │ └── uart_tb_gen.py │ │ ├── soc_gen.py │ │ ├── system_gen.py │ │ ├── system_rtl_gen.py │ │ ├── top_gen.py │ │ └── top_rtl_gen.py │ ├── gtkw_new.py │ ├── plpconfig.py │ └── pulp_config.py ├── gapy ├── README.md ├── binary.py ├── common.py ├── configs │ ├── boards │ │ ├── gap8_common.json │ │ ├── gap8_reva_common.json │ │ ├── gap8_revb_common.json │ │ └── gap8_revc_common.json │ ├── common.json │ ├── devices │ │ └── flash │ │ │ ├── hyperflash.json │ │ │ ├── spiflash.json │ │ │ ├── spiflash_atxp032.json │ │ │ └── spiflash_s26ks512.json │ ├── platforms │ │ ├── board.json │ │ ├── fpga.json │ │ ├── gvsoc.json │ │ └── rtl.json │ └── tools │ │ └── gapy.json ├── elf2bin.py ├── errors.py ├── flash.py ├── gapy ├── gen-debug-info ├── gen-debug-info-src │ ├── CMakeLists.txt │ ├── LICENSE │ ├── ext │ │ ├── alloca-conf.h │ │ ├── ansidecl.h │ │ ├── bfd │ │ │ ├── bfd-in3.h │ │ │ ├── bfd.h │ │ │ ├── bfd_stdint.h │ │ │ ├── bfdver.h │ │ │ ├── config.h │ │ │ ├── elf32-riscv.c │ │ │ ├── elf32-target.h │ │ │ ├── elf64-riscv.c │ │ │ ├── elf64-target.h │ │ │ ├── libbfd.a │ │ │ ├── stmp-bfd-h │ │ │ └── targmatch.h │ │ ├── bfdlink.h │ │ ├── binary-io.h │ │ ├── bout.h │ │ ├── demangle.h │ │ ├── dis-asm.h │ │ ├── dwarf2.h │ │ ├── dyn-string.h │ │ ├── environ.h │ │ ├── fibheap.h │ │ ├── filenames.h │ │ ├── floatformat.h │ │ ├── fnmatch.h │ │ ├── fopen-bin.h │ │ ├── fopen-same.h │ │ ├── fopen-vms.h │ │ ├── gcc-c-interface.h │ │ ├── gcc-interface.h │ │ ├── gdbm.h │ │ ├── getopt.h │ │ ├── gomp-constants.h │ │ ├── hashtab.h │ │ ├── hp-symtab.h │ │ ├── ieee.h │ │ ├── leb128.h │ │ ├── libbfd.a │ │ ├── libiberty.a │ │ ├── libiberty.h │ │ ├── longlong.h │ │ ├── lto-symtab.h │ │ ├── md5.h │ │ ├── oasys.h │ │ ├── objalloc.h │ │ ├── obstack.h │ │ ├── os9k.h │ │ ├── partition.h │ │ ├── plugin-api.h │ │ ├── progress.h │ │ ├── safe-ctype.h │ │ ├── sha1.h │ │ ├── simple-object.h │ │ ├── sort.h │ │ ├── splay-tree.h │ │ ├── symcat.h │ │ ├── timeval-utils.h │ │ ├── vtv-change-permission.h │ │ ├── xregex.h │ │ ├── xregex2.h │ │ ├── xtensa-config.h │ │ ├── xtensa-isa-internal.h │ │ └── xtensa-isa.h │ └── main.cpp ├── gen_flash_image.py ├── gen_lfs.py ├── gen_partition.py ├── gen_readfs.py ├── json_tools.py ├── openocd │ └── __init__.py ├── partition │ ├── __init__.py │ ├── partitions_single_app.csv │ ├── partitions_single_app_phy.csv │ └── partitions_two_ota.csv ├── requirements.txt ├── rules │ ├── flash.mk │ ├── littlefs.mk │ ├── readfs.mk │ └── run.mk ├── run.py ├── runner │ ├── __init__.py │ ├── board │ │ └── board_runner.py │ ├── board_runner.py │ ├── chips │ │ ├── gap8.py │ │ ├── pulp.py │ │ └── vega.py │ ├── default_runner.py │ └── rtl │ │ ├── chips │ │ ├── gap8.py │ │ ├── pulp.py │ │ └── vega.py │ │ └── rtl_runner.py ├── targets │ ├── ai_deck.json │ ├── gapoc_a.json │ ├── gapoc_a_v2.json │ ├── gapoc_a_v2_spi.json │ ├── gapoc_b.json │ ├── gapoc_b_v2.json │ ├── gapoc_b_v2_spi.json │ ├── gapuino.json │ ├── gapuino_spi.json │ ├── gapuino_v2.json │ ├── gapuino_v2_spi.json │ ├── gapuino_v3.json │ ├── gapuino_v3_spi.json │ ├── pulp.json │ ├── pulp_nn.json │ └── pulp_rnnext.json └── traces.py ├── jenkins └── sdk_version.txt ├── json-tools ├── CMakeLists.txt ├── LICENSE ├── Makefile ├── include │ ├── jsmn.h │ └── json.hpp ├── python │ ├── __init__.py │ └── json_tools.py └── src │ ├── jsmn.cpp │ └── json.cpp ├── pulp-debug-bridge ├── LICENSE ├── Makefile ├── README.md ├── bin │ ├── flasher-gap │ └── plpbridge ├── include │ └── debug_bridge │ │ ├── debug_bridge.h │ │ └── proxy.hpp ├── python │ └── bridge │ │ ├── chips │ │ ├── arnold.py │ │ ├── fulmine.py │ │ ├── gap.py │ │ ├── gap8_revc.py │ │ ├── gap_rev1.py │ │ ├── pulp.py │ │ ├── pulpissimo.py │ │ ├── pulpissimo_v2.py │ │ ├── usoc_v1.py │ │ ├── vega.py │ │ ├── vivosoc3.py │ │ └── wolfe.py │ │ ├── debug_bridge.py │ │ ├── default_debug_bridge.py │ │ └── jtag.py └── src │ ├── cable.hpp │ ├── cables │ ├── adv_dbg_itf │ │ ├── adv_dbg_itf.cpp │ │ └── adv_dbg_itf.hpp │ ├── ftdi │ │ ├── ftdi.cpp │ │ └── ftdi.hpp │ ├── jtag-proxy │ │ ├── jtag-proxy.cpp │ │ └── jtag-proxy.hpp │ ├── jtag.cpp │ └── log.h │ ├── gdb-server │ ├── breakpoints.cpp │ ├── gdb-server.cpp │ ├── gdb-server.h │ ├── gdb-server.hpp │ ├── rsp.cpp │ └── target.cpp │ ├── python_wrapper.cpp │ └── reqloop.cpp └── rules └── pmsis_rules.mk /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | BUILD/ 3 | build/ 4 | install/ 5 | .sconsign.dblite 6 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | 2 | [submodule "tools/gvsoc"] 3 | path = tools/gvsoc 4 | url = https://github.com/gvsoc/gvsoc.git 5 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16.3) 2 | 3 | project(sdk) 4 | 5 | if(NOT DEFINED CONFIG_PULP_SDK_HOME) 6 | message(STATUS "Using current directory as GAP SDK Home") 7 | set(CONFIG_PULP_SDK_HOME ${CMAKE_CURRENT_SOURCE_DIR}) 8 | endif() 9 | 10 | # Use CCache to speed up compilation if possible 11 | find_program(CCACHE_FOUND ccache) 12 | if(CCACHE_FOUND) 13 | set(CMAKE_C_COMPILER_LAUNCHER ccache) 14 | set(CMAKE_CXX_COMPILER_LAUNCHER ccache) 15 | endif() 16 | 17 | add_subdirectory(tools/gvsoc) 18 | 19 | ## Install pip requirements, note: does not install nntool reqs as building 20 | ## will do that 21 | add_custom_target( 22 | pip_install 23 | COMMENT "install pip deps from requirements" 24 | COMMAND pip install --user -r ${CONFIG_PULP_SDK_HOME}/requirements.txt 25 | COMMAND pip install --user -r ${CONFIG_PULP_SDK_HOME}/tools/gapy_v2/requirements.txt 26 | COMMAND pip install --user -r ${CONFIG_PULP_SDK_HOME}/tools/plptest/requirements.txt 27 | ) 28 | -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu0_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu0_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu10_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu10_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu12_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu12_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu14_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu14_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu16_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu16_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu18_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu18_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu20_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu20_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu22_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu22_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu24_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu24_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu26_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu26_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu2_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu2_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu4_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu4_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu6_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu6_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvBNRelu8_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvBNRelu8_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu11_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu11_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu13_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu13_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu15_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu15_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu17_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu17_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu19_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu19_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu1_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu1_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu21_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu21_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu23_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu23_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu25_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu25_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu3_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu3_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu5_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu5_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu7_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu7_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/ConvDWBNRelu9_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/ConvDWBNRelu9_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/Gemm28_weights.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/Gemm28_weights.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inc/layerConvBNRelu14L3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * layer_template_L3-h.h 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | #include "layerConvBNRelu14.h" 20 | 21 | void __attribute__ ((noinline)) layerConvBNRelu14L3( 22 | void *args 23 | ); -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inc/layerConvBNRelu24L3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * layer_template_L3-h.h 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | #include "layerConvBNRelu24.h" 20 | 21 | void __attribute__ ((noinline)) layerConvBNRelu24L3( 22 | void *args 23 | ); -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inc/layerConvBNRelu26L3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * layer_template_L3-h.h 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | #include "layerConvBNRelu26.h" 20 | 21 | void __attribute__ ((noinline)) layerConvBNRelu26L3( 22 | void *args 23 | ); -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inc/layerConvBNRelu2L3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * layer_template_L3-h.h 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | #include "layerConvBNRelu2.h" 20 | 21 | void __attribute__ ((noinline)) layerConvBNRelu2L3( 22 | void *args 23 | ); -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inc/layerConvDWBNRelu3L3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * layer_template_L3-h.h 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | #include "layerConvDWBNRelu3.h" 20 | #include "layerConvDWBNRelu3_p_t.h" 21 | #include "layerConvDWBNRelu3_p_b.h" 22 | 23 | void __attribute__ ((noinline)) layerConvDWBNRelu3L3( 24 | void *args 25 | ); -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inc/layerGemm28_lastL3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * layer_template_L3-h.h 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | #include "layerGemm28_last.h" 20 | 21 | void __attribute__ ((noinline)) layerGemm28_lastL3( 22 | void *args 23 | ); -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inc/network.h: -------------------------------------------------------------------------------- 1 | /* 2 | * network.h 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | int network_setup(); 20 | void network_run_FabricController(); 21 | void cluster_main(void *arg); 22 | void pulp_parallel(void *arg); 23 | void network_run_FabricController(); -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/inputs.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/applications/MobileNetV1/DORY_network/inputs.hex -------------------------------------------------------------------------------- /applications/MobileNetV1/DORY_network/src/test_template.c: -------------------------------------------------------------------------------- 1 | /* 2 | * test_template.c 3 | * Alessio Burrello 4 | * 5 | * Copyright (C) 2019-2020 University of Bologna 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | #include "network.h" 20 | // on fabric controller 21 | int main () { 22 | network_setup(); 23 | network_run_FabricController(); 24 | } 25 | -------------------------------------------------------------------------------- /configs/pulp-open-nn.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | 4 | if [ -n "${ZSH_VERSION:-}" ]; then 5 | DIR="$(readlink -f -- "${(%):-%x}")" 6 | DIRNAME="$(dirname $DIR)" 7 | PULP_SDK_HOME=$(dirname $DIRNAME) 8 | export PULP_SDK_HOME 9 | #echo $(dirname "$(readlink -f ${(%):-%N})") 10 | else 11 | export PULP_SDK_HOME="$(dirname $(dirname "$(readlink -f "${BASH_SOURCE[0]}")"))" 12 | fi 13 | 14 | export TARGET_CHIP_FAMILY="PULP" 15 | export TARGET_CHIP="PULP" 16 | export TARGET_NAME="pulp" 17 | export BOARD_NAME=pulp_nn 18 | export PULP_CURRENT_CONFIG=$BOARD_NAME@config_file=config/$BOARD_NAME.json 19 | 20 | export PULPOS_BOARD=pulp 21 | export PULPOS_BOARD_VERSION=pulp 22 | export PULPOS_BOARD_PROFILE=pulp 23 | export PULPOS_TARGET=pulp_nn 24 | export PULPOS_SYSTEM=pulp 25 | export GAPY_TARGET=pulp_nn 26 | 27 | export PULPOS_MODULES="$PULP_SDK_HOME/rtos/pulpos/pulp $PULP_SDK_HOME/rtos/pmsis/pmsis_bsp" 28 | 29 | export GVSOC_MODULES="$PULP_SDK_HOME/tools/gvsoc/common $PULP_SDK_HOME/tools/gvsoc/pulp/models" 30 | 31 | source $PULP_SDK_HOME/configs/common.sh 32 | -------------------------------------------------------------------------------- /configs/pulp-open-rnnext.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | 4 | if [ -n "${ZSH_VERSION:-}" ]; then 5 | DIR="$(readlink -f -- "${(%):-%x}")" 6 | DIRNAME="$(dirname $DIR)" 7 | PULP_SDK_HOME=$(dirname $DIRNAME) 8 | export PULP_SDK_HOME 9 | #echo $(dirname "$(readlink -f ${(%):-%N})") 10 | else 11 | export PULP_SDK_HOME="$(dirname $(dirname "$(readlink -f "${BASH_SOURCE[0]}")"))" 12 | fi 13 | 14 | export TARGET_CHIP_FAMILY="PULP" 15 | export TARGET_CHIP="PULP" 16 | export TARGET_NAME="pulp" 17 | export BOARD_NAME=pulp 18 | export PULP_CURRENT_CONFIG=$BOARD_NAME@config_file=config/pulp_rnnext.json 19 | 20 | export PULPOS_BOARD=pulp 21 | export PULPOS_BOARD_VERSION=pulp 22 | export PULPOS_BOARD_PROFILE=pulp 23 | export PULPOS_TARGET=pulp 24 | export PULPOS_SYSTEM=pulp 25 | export GAPY_TARGET=pulp_rnnext 26 | 27 | source $PULP_SDK_HOME/configs/common.sh 28 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/chips.rst: -------------------------------------------------------------------------------- 1 | Chips 2 | ----- 3 | 4 | GAP8 5 | ........ 6 | 7 | Information 8 | =========== 9 | 10 | .. doxygengroup:: GAP8_INFO 11 | :members: 12 | :private-members: 13 | :protected-members: 14 | 15 | Performance counters 16 | ==================== 17 | 18 | .. doxygengroup:: GAP8_PERF 19 | :members: 20 | :private-members: 21 | :protected-members: 22 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/dox.mk: -------------------------------------------------------------------------------- 1 | CHIP ?= gap8 2 | 3 | clean: 4 | rm -rf ./doc 5 | rm -rf pmsis.html 6 | 7 | all: 8 | cat pmsis.dxy.in | sed s/@CHIP_CONFIG@/$(CHIP)/ > pmsis.dxy 9 | doxygen pmsis.dxy 10 | ln -s ${CURDIR}/doc/html/index.html pmsis.html 11 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/headers/groups.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | /** 4 | * @defgroup groupRTOS RTOS 5 | */ 6 | 7 | /** 8 | * @defgroup groupDrivers Drivers 9 | */ 10 | 11 | /** 12 | * @defgroup groupChips Chips 13 | */ 14 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/index.rst: -------------------------------------------------------------------------------- 1 | PMSIS API documentation 2 | ======================= 3 | 4 | .. include:: mainpage.md 5 | 6 | .. toctree:: 7 | :maxdepth: 2 8 | :caption: Contents: 9 | 10 | rtos 11 | drivers 12 | chips 13 | 14 | Indices and tables 15 | ================== 16 | 17 | * :ref:`genindex` 18 | * :ref:`modindex` 19 | * :ref:`search` 20 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx>=2.2.0 2 | sphinx_rtd_theme 3 | breathe -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/docs/rtos.rst: -------------------------------------------------------------------------------- 1 | RTOS 2 | ---- 3 | 4 | Task 5 | .... 6 | 7 | .. doxygengroup:: Task 8 | :members: 9 | :private-members: 10 | :protected-members: 11 | 12 | Memory allocation 13 | ................. 14 | 15 | .. doxygengroup:: MemAlloc 16 | :members: 17 | :private-members: 18 | :protected-members: 19 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/include/pmsis/cluster/cl_pmsis_api.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CL_PMSIS_HAL_H__ 18 | #define __CL_PMSIS_HAL_H__ 19 | 20 | //#include "cl_dma.h" 21 | //#include "cl_dma_decompressor.h" 22 | //#include "cl_synchronisation.h" 23 | #include "cl_pmsis_types.h" 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/include/pmsis/rtos/os_frontend_api/pmsis_time.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __PMSIS_TIME_H__ 18 | #define __PMSIS_TIME_H__ 19 | 20 | void pi_time_wait_us(int time_us); 21 | 22 | #endif /* __PMSIS_TIME_H__ */ 23 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_api/tools/export.mk: -------------------------------------------------------------------------------- 1 | HEADERS := $(shell find include -name "*.h") 2 | 3 | define declareInstallFile 4 | 5 | $(TARGET_INSTALL_DIR)/$(1): $(1) 6 | install -D $(1) $$@ 7 | 8 | INSTALL_FILES += $(TARGET_INSTALL_DIR)/$(1) 9 | 10 | endef 11 | 12 | $(foreach file, $(HEADERS), $(eval $(call declareInstallFile,$(file)))) 13 | 14 | build: $(INSTALL_FILES) 15 | 16 | .PHONY: build 17 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/Makefile: -------------------------------------------------------------------------------- 1 | include src.mk 2 | 3 | ifdef GAP_SDK_HOME 4 | include $(CURDIR)/rules/gap_sdk.mk 5 | else 6 | include $(CURDIR)/rules/pulp_sdk.mk 7 | endif # GAP_SDK_HOME 8 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/camera/gc0308/gc0308.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CAM_GC0308_H__ 18 | #define __CAM_GC0308_H__ 19 | 20 | 21 | enum { 22 | GC0308_STANDBY = 0x0, 23 | GC0308_STREAMING = 0x1, // I2C triggered streaming enable 24 | }; 25 | 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/camera/ov5640/ov5640.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CAM_OV5640_H__ 18 | #define __CAM_OV5640_H__ 19 | 20 | 21 | /* 22 | * Address of Camera Registers 23 | */ 24 | 25 | enum { 26 | OV5640_STANDBY = 0x0, 27 | OV5640_STREAMING = 0x1, // I2C triggered streaming enable 28 | }; 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/ble.rst: -------------------------------------------------------------------------------- 1 | BLE 2 | --- 3 | 4 | BLE 5 | ... 6 | 7 | .. doxygengroup:: BLE 8 | :members: 9 | :private-members: 10 | :protected-members: 11 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/camera.rst: -------------------------------------------------------------------------------- 1 | Camera 2 | ------ 3 | 4 | Common API 5 | .......... 6 | 7 | .. doxygengroup:: Camera 8 | :members: 9 | :private-members: 10 | :protected-members: 11 | 12 | Himax 13 | ..... 14 | 15 | .. doxygengroup:: Himax 16 | :members: 17 | :private-members: 18 | :protected-members: 19 | 20 | Mt9v034 21 | ....... 22 | 23 | .. doxygengroup:: Mt9v 24 | :members: 25 | :private-members: 26 | :protected-members: 27 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/display.rst: -------------------------------------------------------------------------------- 1 | Display 2 | ------- 3 | 4 | Display 5 | ....... 6 | 7 | .. doxygengroup:: Display 8 | :members: 9 | :private-members: 10 | :protected-members: 11 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/dox.mk: -------------------------------------------------------------------------------- 1 | CHIP ?= gap8 2 | 3 | clean: 4 | rm -rf ./doc 5 | rm -rf pmsis.html 6 | 7 | all: 8 | cat pmsis.dxy.in | sed s/@CHIP_CONFIG@/$(CHIP)/ > pmsis.dxy 9 | doxygen pmsis.dxy 10 | ln -s ${CURDIR}/doc/html/index.html pmsis.html 11 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/flash.rst: -------------------------------------------------------------------------------- 1 | Flash 2 | ----- 3 | 4 | Common API 5 | .......... 6 | 7 | .. doxygengroup:: Flash 8 | :members: 9 | :private-members: 10 | :protected-members: 11 | 12 | Hyperflash 13 | .......... 14 | 15 | .. doxygengroup:: Hyperflash 16 | :members: 17 | :private-members: 18 | :protected-members: 19 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/fs.rst: -------------------------------------------------------------------------------- 1 | FS 2 | -- 3 | 4 | .. doxygengroup:: FS 5 | :members: 6 | :private-members: 7 | :protected-members: 8 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/headers/groups.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/rtos/pmsis/pmsis_bsp/docs/headers/groups.h -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/index.rst: -------------------------------------------------------------------------------- 1 | PMSIS BSP documentation 2 | ======================= 3 | 4 | .. include:: mainpage.md 5 | 6 | .. toctree:: 7 | :maxdepth: 2 8 | :caption: Drivers: 9 | 10 | ram 11 | flash 12 | camera 13 | fs 14 | ble 15 | display 16 | 17 | Indices and tables 18 | ================== 19 | 20 | * :ref:`genindex` 21 | * :ref:`modindex` 22 | * :ref:`search` 23 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/ram.rst: -------------------------------------------------------------------------------- 1 | RAM 2 | --- 3 | 4 | Common API 5 | .......... 6 | 7 | .. doxygengroup:: Ram 8 | :members: 9 | :private-members: 10 | :protected-members: 11 | 12 | Hyperram 13 | ........ 14 | 15 | .. doxygengroup:: Hyperram 16 | :members: 17 | :private-members: 18 | :protected-members: 19 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/docs/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx>=2.2.0 2 | sphinx_rtd_theme 3 | breathe -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/fs/lfs/lfs_util.c: -------------------------------------------------------------------------------- 1 | /* 2 | * lfs util functions 3 | * 4 | * Copyright (c) 2017, Arm Limited. All rights reserved. 5 | * SPDX-License-Identifier: BSD-3-Clause 6 | */ 7 | #include "lfs_util.h" 8 | 9 | // Only compile if user does not provide custom config 10 | #ifndef LFS_CONFIG 11 | 12 | 13 | // Software CRC implementation with small lookup table 14 | uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size) { 15 | static const uint32_t rtable[16] = { 16 | 0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac, 17 | 0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c, 18 | 0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c, 19 | 0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c, 20 | }; 21 | 22 | const uint8_t *data = buffer; 23 | 24 | for (size_t i = 0; i < size; i++) { 25 | crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 0)) & 0xf]; 26 | crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 4)) & 0xf]; 27 | } 28 | 29 | return crc; 30 | } 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/rules/pulp_sdk.mk: -------------------------------------------------------------------------------- 1 | export GAPUINO_SRC 2 | export GAPOC_A_SRC 3 | export GAPOC_B_SRC 4 | export AI_DECK_SRC 5 | export WOLFE_SRC 6 | export VEGA_SRC 7 | 8 | all: 9 | ifdef PULPOS 10 | make -f rules/pulpos.mk build install 11 | endif 12 | 13 | clean: 14 | ifdef PULPOS 15 | make -f rules/pulpos.mk clean 16 | endif 17 | 18 | header: 19 | ifdef PULPOS 20 | make -f rules/pulpos.mk header 21 | endif 22 | ifdef SRC 23 | mkdir -p $(TARGET_INSTALL_DIR)/src/pmsis_bsp 24 | cp -r bsp camera display flash ram fs include zephyr $(TARGET_INSTALL_DIR)/src/pmsis_bsp 25 | endif -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/rules/pulpos/rules.mk: -------------------------------------------------------------------------------- 1 | ifdef CONFIG_SPIRAM 2 | PULP_SRCS += ram/spiram/spiram.c 3 | endif 4 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/transport/nina_w10/firmware/Makefile: -------------------------------------------------------------------------------- 1 | PROJECT_NAME := nina_w10_fw 2 | 3 | include $(IDF_PATH)/make/project.mk 4 | 5 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/transport/nina_w10/firmware/README: -------------------------------------------------------------------------------- 1 | Follow instructions here for installing dependencies: 2 | https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html 3 | 4 | The env var IDF_PATH must be define and the esp toolchain must be in the path. 5 | 6 | Press at the same tim boot and reset button, then release reset, then release boot. 7 | 8 | make all flash monitor -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/transport/nina_w10/firmware/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Main component makefile. 3 | # 4 | # This Makefile can be left empty. By default, it will take the sources in the 5 | # src/ directory, compile them and link them into lib(subdirectory_name).a 6 | # in the build directory. This behaviour is entirely configurable, 7 | # please read the ESP-IDF documents if you need to do this. 8 | # 9 | -------------------------------------------------------------------------------- /rtos/pmsis/pmsis_bsp/zephyr/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | zephyr_sources( 2 | ../camera/camera.c 3 | ../bsp/gapuino.c 4 | ../camera/camera.c 5 | ../camera/himax/himax.c 6 | ../display/display.c 7 | ../display/ili9341/ili9341.c 8 | ../fs/read_fs/read_fs.c 9 | ../fs/fs.c 10 | ../fs/host_fs/host_fs.c 11 | ../fs/host_fs/semihost.c 12 | ../flash/flash.c 13 | ../flash/hyperflash/hyperflash.c 14 | ../ram/ram.c 15 | ../ram/hyperram/hyperram.c 16 | ../ram/alloc_extern.c 17 | ) 18 | 19 | zephyr_compile_options( 20 | -DCONFIG_GAPUINO 21 | ) 22 | 23 | zephyr_include_directories(../include) -------------------------------------------------------------------------------- /rtos/pulpos/common/Makefile: -------------------------------------------------------------------------------- 1 | DEFAULT_EXCLUDES=--exclude=".git*" 2 | 3 | install: 4 | mkdir -p $(TARGET_INSTALL_DIR)/pulpos 5 | rsync -avR $(DEFAULT_EXCLUDES) * $(TARGET_INSTALL_DIR)/pulpos -------------------------------------------------------------------------------- /rtos/pulpos/common/include/pos/implem/alloc_pool.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /* 18 | * Authors: Germain Haugou, GreenWaves Technologies (germain.haugou@greenwaves-technologies.com) 19 | */ 20 | 21 | #ifndef __POS_IMPLEM_ALLOC_POOL_H__ 22 | #define __POS_IMPLEM_ALLOC_POOL_H__ 23 | 24 | void pos_allocs_init(); 25 | 26 | void pos_alloc_init_l1(int cid); 27 | 28 | #endif -------------------------------------------------------------------------------- /rtos/pulpos/common/kernel/device.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | /* 19 | * Authors: Germain Haugou, GreenWaves Technologies (germain.haugou@greenwaves-technologies.com) 20 | */ 21 | 22 | #include "pmsis.h" 23 | 24 | void pi_open_from_conf(struct pi_device *device, void *conf) 25 | { 26 | device->config = conf; 27 | } 28 | -------------------------------------------------------------------------------- /rtos/pulpos/common/kernel/log.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /* 18 | * Created by Mathieu Barbe . 19 | * on 1/15/2020. 20 | */ 21 | 22 | #include "pmsis/rtos/pi_log.h" 23 | 24 | 25 | // Global variables used by pi_log.h 26 | vprintf_like_t pi_log_vprint_func = &pi_log_default_vprintf; 27 | pi_log_level_t dynamic_log_level = PI_LOG_DEFAULT_DYNAMIC_LEVEL; 28 | 29 | -------------------------------------------------------------------------------- /rtos/pulpos/common/rules/pulpos.mk: -------------------------------------------------------------------------------- 1 | -include $(PULPOS_HOME)/rules/pulpos/targets/$(PULPOS_TARGET).mk 2 | 3 | define include_target 4 | 5 | -include $(1)/rules/pulpos/targets/$(PULPOS_TARGET).mk 6 | 7 | endef 8 | 9 | $(foreach module, $(PULPOS_MODULES), $(eval $(call include_target,$(module)))) 10 | -------------------------------------------------------------------------------- /rtos/pulpos/common/rules/pulpos/configs/default.mk: -------------------------------------------------------------------------------- 1 | CONFIG_CRT0=1 2 | CONFIG_KERNEL=1 3 | CONFIG_LDSCRIPT=1 4 | CONFIG_LIBC_MINIMAL=1 5 | #CONFIG_USE_ASM_OPTIM=1 6 | #CONFIG_NO_STD_RELOC=1 7 | CONFIG_IO_UART_ITF=0 8 | CONFIG_IO_UART_BAUDRATE=115200 9 | CONFIG_IO_UART=0 10 | CONFIG_UART=1 11 | CONFIG_GPIO=1 12 | CONFIG_PADS=1 13 | CONFIG_CLUSTER=1 14 | CONFIG_HOSTFS=1 15 | CONFIG_READFS=1 16 | CONFIG_TRACE_LEVEL=WARNING 17 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/arch/pulp/CLUSTER_CRTL_UNIT_reference.md: -------------------------------------------------------------------------------- 1 | # Cluster control unit 2 | 3 | ## Description 4 | 5 | ## Registers 6 | 7 | | Register Name | Offset | Size | Register Type | Host Access Type | Block Access Type | Default | Description | Note | 8 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | 9 | | FETCH_EN | 0x08 | 32 | Status | R/W | R | 0x0 | Cluster cores fetch enable configuration register. | | 10 | | CLOCK_GATE | 0x20 | 32 | Config | R/W | R | 0x0 | Cluster clock gate configuration register. | | 11 | | BOOT_ADDR0 | 0x40 | 32 | Config | R/W | R | 0x0 | Cluster core 0 boot address configuration register. | | 12 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/arch/pulp/CLUSTER_ICACHE_CTRL_reference.md: -------------------------------------------------------------------------------- 1 | # Cluster instruction cache 2 | 3 | ## Description 4 | 5 | ## Registers 6 | 7 | | Register Name | Offset | Size | Register Type | Host Access Type | Block Access Type | Default | Description | Note | 8 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | 9 | | ENABLE | 0x00 | 32 | Config | R/W | R | 0x0 | Cluster instruction cache unit enable configuration register.. | | 10 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/APB_GPIO_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../rtl/gap/docs/IP_REFERENCES/APB_GPIO_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/CL_EVENT_UNIT_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/rtos/pulpos/pulp_archi/doc/CL_EVENT_UNIT_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/FC_EVENT_UNIT_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/rtos/pulpos/pulp_archi/doc/FC_EVENT_UNIT_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/HYPER_V2_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../rtl/vega/fe/ips/udma/udma_hyperbus_octospi/docs/HYPERBUS_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/PULPISSIMO_APB_SOC_CTRL_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/rtos/pulpos/pulp_archi/doc/PULPISSIMO_APB_SOC_CTRL_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/RTC_UNIT_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/rtos/pulpos/pulp_archi/doc/RTC_UNIT_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/TIMER_UNIT_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../rtl/vega/fe/ips/timer_unit/doc/TIMER_UNIT_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/WOLFE_APB_SOC_CTRL_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/rtos/pulpos/pulp_archi/doc/WOLFE_APB_SOC_CTRL_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/gap/APB_SOC_CTRL_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/gap_rev1/docs/IP_REFERENCES/APB_SOC_CTRL_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/gpio/APB_GPIO_V3_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/vega/fe/ips/apb/apb_gpio/docs/APB_GPIO_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/hwce/HWCE_v4_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/gap_master/docs/IP_REFERENCES/HWCE_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/hwce/HWCE_v5_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/vega/fe/ips/hwce-new/docs/HWCE_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/mchan/CL_DMA_v7_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/vega/fe/ips/mchan/doc/CL_DMA_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/pwm/pwm_v1.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/gap8_revc/docs/IP_REFERENCES/APB_ADV_TIMER_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/udma/CAM_CPI_V1_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/vega/fe/ips/udma/udma_camera/doc/CAM_CPI_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/udma/MEMCPY_v1_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/gap8_revc/fe/ips/udma/doc/MEMCPY_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/udma/MRAM_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/vega/fe/ips/udma/udma_mram/docs/MRAM_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/udma/i2s/I2S_V1_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../../rtl/gap_rev1/fe/ips/udma/doc/I2S_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/udma/i2s/I2S_V2_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../../rtl/vega/fe/ips/udma/udma_i2s/doc/I2S_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/udma/i2s/I2S_V3_reference.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/rtos/pulpos/pulp_archi/doc/udma/i2s/I2S_V3_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/doc/vega/APB_SOC_CTRL_reference.xlsx: -------------------------------------------------------------------------------- 1 | ../../../../rtl/vega/docs/IP_REFERENCES/APB_SOC_CTRL_reference.xlsx -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/gap8: -------------------------------------------------------------------------------- 1 | gap -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/honey/apb_soc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 ETH Zurich and University of Bologna 3 | * All rights reserved. 4 | * 5 | * This software may be modified and distributed under the terms 6 | * of the BSD license. See the LICENSE file for details. 7 | * 8 | */ 9 | 10 | #ifndef __ARCHI_CHIPS_HONEY_APB_SOC_H__ 11 | #define __ARCHI_CHIPS_HONEY_APB_SOC_H__ 12 | 13 | #define APB_SOC_INFO_OFFSET 0x10 14 | #define APB_SOC_INFO_CORES_OFFSET (APB_SOC_INFO_OFFSET + 2) 15 | #define APB_SOC_INFO_CLUSTERS_OFFSET (APB_SOC_INFO_OFFSET) 16 | 17 | #define APB_SOC_NB_CORE_BIT 16 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/pulp/apb_soc_ctrl/apb_soc_ctrl_constants.h: -------------------------------------------------------------------------------- 1 | 2 | /* THIS FILE HAS BEEN GENERATED, DO NOT MODIFY IT. 3 | */ 4 | 5 | /* 6 | * Copyright (C) 2020 GreenWaves Technologies 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | #ifndef __ARCHI_APB_SOC_CTRL_CONSTANTS__ 22 | #define __ARCHI_APB_SOC_CTRL_CONSTANTS__ 23 | 24 | #if !defined(LANGUAGE_ASSEMBLY) && !defined(__ASSEMBLER__) 25 | 26 | 27 | #endif 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/pulp/apb_soc_ctrl/apb_soc_ctrl_groups.h: -------------------------------------------------------------------------------- 1 | 2 | /* THIS FILE HAS BEEN GENERATED, DO NOT MODIFY IT. 3 | */ 4 | 5 | /* 6 | * Copyright (C) 2020 GreenWaves Technologies 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | #ifndef __ARCHI_APB_SOC_CTRL_GROUPS__ 22 | #define __ARCHI_APB_SOC_CTRL_GROUPS__ 23 | 24 | #if !defined(LANGUAGE_ASSEMBLY) && !defined(__ASSEMBLER__) 25 | 26 | 27 | #endif 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/pulp/cluster_ctrl_unit/cluster_ctrl_unit_groups.h: -------------------------------------------------------------------------------- 1 | 2 | /* THIS FILE HAS BEEN GENERATED, DO NOT MODIFY IT. 3 | */ 4 | 5 | /* 6 | * Copyright (C) 2020 GreenWaves Technologies 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | #ifndef __ARCHI_CLUSTER_CTRL_UNIT_GROUPS__ 22 | #define __ARCHI_CLUSTER_CTRL_UNIT_GROUPS__ 23 | 24 | #if !defined(LANGUAGE_ASSEMBLY) && !defined(__ASSEMBLER__) 25 | 26 | 27 | #endif 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/pulp/pulp_archi.h: -------------------------------------------------------------------------------- 1 | pulp.h -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/siracusa/apb_soc_ctrl/apb_soc_ctrl_constants.h: -------------------------------------------------------------------------------- 1 | 2 | /* THIS FILE HAS BEEN GENERATED, DO NOT MODIFY IT. 3 | */ 4 | 5 | /* 6 | * Copyright (C) 2020 GreenWaves Technologies 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | #ifndef __ARCHI_APB_SOC_CTRL_CONSTANTS__ 22 | #define __ARCHI_APB_SOC_CTRL_CONSTANTS__ 23 | 24 | #if !defined(LANGUAGE_ASSEMBLY) && !defined(__ASSEMBLER__) 25 | 26 | 27 | #endif 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/siracusa/apb_soc_ctrl/apb_soc_ctrl_groups.h: -------------------------------------------------------------------------------- 1 | 2 | /* THIS FILE HAS BEEN GENERATED, DO NOT MODIFY IT. 3 | */ 4 | 5 | /* 6 | * Copyright (C) 2020 GreenWaves Technologies 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | #ifndef __ARCHI_APB_SOC_CTRL_GROUPS__ 22 | #define __ARCHI_APB_SOC_CTRL_GROUPS__ 23 | 24 | #if !defined(LANGUAGE_ASSEMBLY) && !defined(__ASSEMBLER__) 25 | 26 | 27 | #endif 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/siracusa/pulp_archi.h: -------------------------------------------------------------------------------- 1 | pulp.h -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/vivosoc2/pulp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich, University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | #ifndef __ARCHI_CHIPS_VIVOSOC2_PULP_H__ 19 | #define __ARCHI_CHIPS_VIVOSOC2_PULP_H__ 20 | 21 | #include "archi/chips/vivosoc2/memory_map.h" 22 | #include "archi/chips/vivosoc2/properties.h" 23 | #include "archi/stdout/stdout_v2.h" 24 | #include "archi/dma/mchan_v5.h" 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/chips/vivosoc2_1/pulp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich, University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | #ifndef __ARCHI_CHIPS_VIVOSOC2_1_PULP_H__ 19 | #define __ARCHI_CHIPS_VIVOSOC2_1_PULP_H__ 20 | 21 | #include "archi/chips/vivosoc2_1/memory_map.h" 22 | #include "archi/chips/vivosoc2_1/properties.h" 23 | #include "archi/stdout/stdout_v2.h" 24 | #include "archi/dma/mchan_v5.h" 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/efuse/efuse_v1.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __ARCHI_EFUSE_EFUSE_V1_H__ 18 | #define __ARCHI_EFUSE_EFUSE_V1_H__ 19 | 20 | #define EFUSE_CMD_OFFSET 0x000 21 | #define EFUSE_CFG_OFFSET 0x004 22 | #define EFUSE_REGS_OFFSET 0x200 23 | 24 | #define EFUSE_CMD_READ 0x1 25 | #define EFUSE_CMD_WRITE 0x2 26 | #define EFUSE_CMD_SLEEP 0x4 27 | 28 | #endif -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/hwce/v4/hwce_constants.h: -------------------------------------------------------------------------------- 1 | 2 | /* THIS FILE HAS BEEN GENERATED, DO NOT MODIFY IT. 3 | */ 4 | 5 | /* 6 | * Copyright (C) 2020 GreenWaves Technologies 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | #ifndef __ARCHI_HWCE_CONSTANTS__ 22 | #define __ARCHI_HWCE_CONSTANTS__ 23 | 24 | #if !defined(LANGUAGE_ASSEMBLY) && !defined(__ASSEMBLER__) 25 | 26 | 27 | #endif 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/hwce/v4/hwce_groups.h: -------------------------------------------------------------------------------- 1 | 2 | /* THIS FILE HAS BEEN GENERATED, DO NOT MODIFY IT. 3 | */ 4 | 5 | /* 6 | * Copyright (C) 2020 GreenWaves Technologies 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | #ifndef __ARCHI_HWCE_GROUPS__ 22 | #define __ARCHI_HWCE_GROUPS__ 23 | 24 | #if !defined(LANGUAGE_ASSEMBLY) && !defined(__ASSEMBLER__) 25 | 26 | 27 | #endif 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/maestro/maestro_v1.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich and University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __ARCHI_MAESTRO_MAESTRO_V1_H__ 18 | #define __ARCHI_MAESTRO_MAESTRO_V1_H__ 19 | 20 | #endif -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/stdout/stdout_v2.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich and University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ARCHI_STDOUT_STDOUT_V2_H 18 | #define ARCHI_STDOUT_STDOUT_V2_H 19 | 20 | #define STDOUT_PUTC_OFFSET 0x0 21 | #define STDOUT_OPEN_OFFSET 0x2000 22 | #define STDOUT_OPEN_END_OFFSET 0x3000 23 | #define STDOUT_READ_OFFSET 0x4000 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/stdout/stdout_v3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich and University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ARCHI_STDOUT_STDOUT_V2_H 18 | #define ARCHI_STDOUT_STDOUT_V2_H 19 | 20 | #define STDOUT_PUTC_OFFSET 0x0 21 | #define STDOUT_OPEN_OFFSET 0x2000 22 | #define STDOUT_OPEN_END_OFFSET 0x3000 23 | #define STDOUT_READ_OFFSET 0x4000 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_archi/include/archi/udma/tcdm/udma_tcdm_v1.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich and University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __ARCHI_UDMA_UDMA_TCDM_V1_H__ 18 | #define __ARCHI_UDMA_UDMA_TCDM_V1_H__ 19 | 20 | #define TCDM_T_DST_SADDR (0x0) 21 | #define TCDM_T_SRC_SADDR (0x4) 22 | #define TCDM_MEM_SEL (0x8) 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/Makefile: -------------------------------------------------------------------------------- 1 | build: 2 | scons 3 | 4 | clean: 5 | rm -f .sconsign.dblite 6 | scons -c 7 | 8 | .PHONY: build clean -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/include/hal/chips/devchip/pulp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 ETH Zurich and University of Bologna 3 | * All rights reserved. 4 | * 5 | * This software may be modified and distributed under the terms 6 | * of the BSD license. See the LICENSE file for details. 7 | * 8 | */ 9 | 10 | #ifndef __HAL_DEVCHIP_PULP_H__ 11 | #define __HAL_DEVCHIP_PULP_H__ 12 | 13 | #include "hal/riscv/riscv_v4.h" 14 | #include "hal/eu/eu_v3.h" 15 | #include "hal/itc/itc_v1.h" 16 | #include "hal/dma/mchan_v6.h" 17 | #include "hal/timer/timer_v2.h" 18 | #include "hal/soc_eu/soc_eu_v1.h" 19 | #include "hal/udma/udma_v2.h" 20 | #include "hal/cluster_ctrl/cluster_ctrl_v2.h" 21 | #include "hal/icache/icache_ctrl_v2.h" 22 | #include "hal/apb_soc/apb_soc_v3.h" 23 | #include "hal/maestro/pmu_v2.h" 24 | #include "hal/rom/rom_v2.h" 25 | #include "hal/fll/fll_v1.h" 26 | #include "hal/gpio/gpio_v2.h" 27 | #include "hal/hwce/hwce_v5.h" 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/include/hal/chips/gap8: -------------------------------------------------------------------------------- 1 | gap -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/include/hal/chips/neuraghe/pulp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 GreenWaves Technologies 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __HAL_CHIPS_NEURAGHE_PULP_H__ 18 | #define __HAL_CHIPS_NEURAGHE_PULP_H__ 19 | 20 | #include "hal/riscv/riscv_v4.h" 21 | #include "hal/eu/eu_v3.h" 22 | #include "hal/icache/icache_ctrl_v2.h" 23 | #include "hal/timer/timer_v2.h" 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/include/hal/chips/vega/pulp.h~: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 ETH Zurich and University of Bologna 3 | * All rights reserved. 4 | * 5 | * This software may be modified and distributed under the terms 6 | * of the BSD license. See the LICENSE file for details. 7 | * 8 | */ 9 | 10 | #ifndef __HAL_DEVCHIP_PULP_H__ 11 | #define __HAL_DEVCHIP_PULP_H__ 12 | 13 | #include "hal/riscv/riscv_v4.h" 14 | #include "hal/eu/eu_v3.h" 15 | #include "hal/itc/itc_v1.h" 16 | #include "hal/dma/mchan_v6.h" 17 | #include "hal/timer/timer_v2.h" 18 | #include "hal/soc_eu/soc_eu_v1.h" 19 | #include "hal/udma/udma_v2.h" 20 | #include "hal/cluster_ctrl/cluster_ctrl_v2.h" 21 | #include "hal/icache/icache_ctrl_v2.h" 22 | #include "hal/apb_soc/apb_soc_v3.h" 23 | #include "hal/maestro/pmu_v2.h" 24 | #include "hal/rom/rom_v2.h" 25 | #include "hal/fll/fll_v1.h" 26 | #include "hal/gpio/gpio_v2.h" 27 | #include "hal/hwce/hwce_v5.h" 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/include/hal/chips/vivosoc2/pulp.h~: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich and University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __HAL_CHIPS_FULMINE_PULP_H__ 18 | #define __HAL_CHIPS_FULMINE_PULP_H__ 19 | 20 | #include "hal/or1k/or1k_v5.h" 21 | #include "hal/dma/mchan_v5.h" 22 | #include "hal/eu/eu_v1.h" 23 | #include "hal/timer/timer_v1.h" 24 | #include "hal/icache/icache_ctrl_v1.h" 25 | 26 | #endif -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/include/hal/rtc/rtc_v2.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich, University of Bologna and 3 | * GreenWaves Technologies 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | #ifndef __HAL_RTC_RTC_V2_H__ 19 | #define __HAL_RTC_RTC_V2_H__ 20 | 21 | #include "hal/pulp.h" 22 | #include "archi/rtc/rtc_v2.h" 23 | 24 | static inline unsigned int rtc_base() 25 | { 26 | return ARCHI_APB_SOC_CTRL_ADDR + APB_SOC_RTC_FIRST_REG_OFFSET; 27 | } 28 | 29 | #endif -------------------------------------------------------------------------------- /rtos/pulpos/pulp_hal/include/hal/udma/spim/udma_spim_v2.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich and University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __HAL_UDMA_UDMA_SPIM_V2_H__ 18 | #define __HAL_UDMA_UDMA_SPIM_V2_H__ 19 | 20 | #include "archi/udma/spim/udma_spim_v2.h" 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /rules/dpi-models.mk: -------------------------------------------------------------------------------- 1 | dpi-models.checkout: 2 | git submodule update --init tools/dpi-models 3 | 4 | dpi-models.build: 5 | make -C tools/dpi-models build install BUILD_DIR=$(BUILD_DIR)/dpi-models INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 6 | 7 | dpi-models.clean: 8 | make -C tools/dpi-models clean BUILD_DIR=$(BUILD_DIR)/dpi-models INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 9 | 10 | dpi-models.all: dpi-models.build 11 | 12 | dpi-models.artifact: 13 | rsync -avR --exclude=".git*" --exclude=__pycache__ tools/dpi-models $(ARTIFACT_PATH) 14 | -------------------------------------------------------------------------------- /rules/gap-configs.mk: -------------------------------------------------------------------------------- 1 | gap-configs.checkout: 2 | git submodule update --init tools/gap-configs 3 | 4 | gap-configs.build: 5 | make -C tools/gap-configs all_scons BUILD_DIR=$(BUILD_DIR)/gap-configs INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 6 | 7 | gap-configs.clean: 8 | make -C tools/gap-configs clean BUILD_DIR=$(BUILD_DIR)/gap-configs INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 9 | 10 | gap-configs.all: gap-configs.build 11 | 12 | gap-configs.artifact: 13 | rsync -avR --exclude=".git*" --exclude=__pycache__ --exclude=".sconsign.dblite" tools/gap-configs $(ARTIFACT_PATH) 14 | -------------------------------------------------------------------------------- /rules/json-tools.mk: -------------------------------------------------------------------------------- 1 | json-tools.checkout: 2 | git submodule update --init tools/json-tools 3 | 4 | json-tools.build: 5 | make -C tools/json-tools all install BUILD_DIR=$(BUILD_DIR)/json-tools INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 6 | 7 | json-tools.clean: 8 | make -C tools/json-tools clean BUILD_DIR=$(BUILD_DIR)/json-tools INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 9 | 10 | json-tools.all: json-tools.build 11 | 12 | json-tools.artifact: 13 | rsync -avR --exclude=".git*" --exclude=__pycache__ tools/json-tools $(ARTIFACT_PATH) 14 | -------------------------------------------------------------------------------- /rules/pulp-debug-bridge.mk: -------------------------------------------------------------------------------- 1 | pulp-debug-bridge.checkout: 2 | git submodule update --init tools/pulp-debug-bridge 3 | 4 | pulp-debug-bridge.build: 5 | make -C tools/pulp-debug-bridge build install BUILD_DIR=$(BUILD_DIR)/pulp-debug-bridge INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 6 | 7 | pulp-debug-bridge.clean: 8 | make -C tools/pulp-debug-bridge clean BUILD_DIR=$(BUILD_DIR)/pulp-debug-bridge INSTALL_DIR=$(INSTALL_DIR) TARGET_INSTALL_DIR=$(GAP_SDK_HOME)/install 9 | 10 | pulp-debug-bridge.all: pulp-debug-bridge.build 11 | 12 | pulp-debug-bridge.artifact: 13 | rsync -avR --exclude=".git*" --exclude=__pycache__ tools/pulp-debug-bridge $(ARTIFACT_PATH) 14 | -------------------------------------------------------------------------------- /rules/pulpos.mk: -------------------------------------------------------------------------------- 1 | MODULES = rtos/pulpos/common rtos/pmsis/pmsis_api rtos/pmsis/pmsis_bsp 2 | 3 | ifeq '$(TARGET_CHIP_FAMILY)' 'PULP' 4 | MODULES += rtos/pulpos/pulp rtos/pulpos/pulp_archi rtos/pulpos/pulp_hal 5 | endif 6 | 7 | 8 | pulpos.checkout.deps: 9 | 10 | pulpos.checkout: 11 | git submodule update --init $(MODULES) 12 | 13 | pulpos.checkout.all: pulpos.checkout pulpos.checkout.deps 14 | 15 | pulpos.build.deps: 16 | 17 | pulpos.build: 18 | 19 | pulpos.clean: 20 | 21 | pulpos.src: 22 | make -C tools/pulpos src INSTALL_DIR=$(ARTIFACT_PATH)/tools/pulpos 23 | 24 | pulpos.build.all: pulpos.build.deps pulpos.build 25 | 26 | pulpos.all: pulpos.checkout.all pulpos.build.all 27 | 28 | pulpos.artifact: 29 | rsync -avR --exclude=".git*" --exclude=__pycache__ rtos/pulpos/common rtos/pulpos/pulp rtos/pulpos/pulp_archi rtos/pulpos/pulp_hal rtos/pmsis $(ARTIFACT_PATH) 30 | -------------------------------------------------------------------------------- /tests/cluster/call/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS += test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | include $(RULES_DIR)/pmsis_rules.mk 6 | -------------------------------------------------------------------------------- /tests/cluster/fork/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS = test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | include $(RULES_DIR)/pmsis_rules.mk -------------------------------------------------------------------------------- /tests/cluster/fork_power/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS = test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | NB_PE ?= 8 6 | 7 | APP_ARCH_CFLAGS ?= -march=rv32imcxgap9 -mPE=$(NB_PE) -mFC=1 8 | APP_ARCH_LDFLAGS ?= -march=rv32imcxgap9 -mPE=$(NB_PE) -mFC=1 9 | 10 | APP_CFLAGS += -DNB_PE=$(NB_PE) 11 | 12 | # This is needed to turn on all power traces 13 | override runner_args += "--event=.*" 14 | 15 | include $(RULES_DIR)/pmsis_rules.mk -------------------------------------------------------------------------------- /tests/dma/1d/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS = test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | include $(RULES_DIR)/pmsis_rules.mk -------------------------------------------------------------------------------- /tests/flash/simple/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS = test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | CONFIG_HYPERFLASH=1 6 | 7 | 8 | include $(RULES_DIR)/pmsis_rules.mk 9 | -------------------------------------------------------------------------------- /tests/flash/with_ram/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS += test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | CONFIG_HYPERFLASH=1 6 | CONFIG_HYPERRAM=1 7 | 8 | 9 | include $(RULES_DIR)/pmsis_rules.mk 10 | -------------------------------------------------------------------------------- /tests/fs/read/Makefile: -------------------------------------------------------------------------------- 1 | CONFIG_HYPERFLASH=1 2 | 3 | USE_PMSIS_BSP=1 4 | 5 | FILE0_NAME = flash_file_0.bin 6 | FILE0 = $(CURDIR)/files/$(FILE0_NAME) 7 | FILE1_NAME = flash_file_1.bin 8 | FILE1 = $(CURDIR)/files/$(FILE1_NAME) 9 | FILES = $(FILE0) $(FILE1) 10 | 11 | READFS_FILES = $(FILES) 12 | PLPBRIDGE_FLAGS += -f -jtag 13 | FILE0_PATH = $(FILE0_NAME) 14 | FILE1_PATH = $(FILE1_NAME) 15 | APP_CFLAGS += -DFS_READ_FS 16 | 17 | APP_CFLAGS += -DFILE0="$(FILE0_PATH)" 18 | APP_CFLAGS += -DFILE1="$(FILE1_PATH)" 19 | 20 | APP = test 21 | APP_SRCS = test.c 22 | APP_CFLAGS += -O3 -g 23 | 24 | ifdef USE_CLUSTER 25 | APP_CFLAGS += -DUSE_CLUSTER 26 | endif 27 | 28 | 29 | include $(RULES_DIR)/pmsis_rules.mk 30 | -------------------------------------------------------------------------------- /tests/fs/read/files/flash_file_1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tests/fs/read/files/flash_file_1.bin -------------------------------------------------------------------------------- /tests/hello/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS += test.c 3 | 4 | ifdef USE_CLUSTER 5 | APP_CFLAGS += -DCLUSTER -DNUM_CLUSTER=$(USE_CLUSTER) 6 | ifdef NUM_CORES 7 | APP_CFLAGS += -DNUM_CORES=$(NUM_CORES) 8 | else 9 | APP_CFLAGS += -DNUM_CORES=1 10 | endif 11 | endif 12 | 13 | APP_CFLAGS += -Os -g 14 | APP_LDFLAGS += -Os -g 15 | 16 | include $(RULES_DIR)/pmsis_rules.mk 17 | -------------------------------------------------------------------------------- /tests/perf/double_buffering/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS += test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | CONFIG_HYPERRAM = 1 6 | 7 | ifdef DB 8 | APP_CFLAGS += -DDOUBLE_BUFFERING 9 | endif 10 | 11 | 12 | include $(RULES_DIR)/pmsis_rules.mk 13 | -------------------------------------------------------------------------------- /tests/perf/matmult/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS += test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | ifdef VERBOSE_PERF 6 | APP_CFLAGS += -DSTATS 7 | endif 8 | 9 | 10 | include $(RULES_DIR)/pmsis_rules.mk 11 | -------------------------------------------------------------------------------- /tests/ram/simple/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS = test.c 3 | APP_CFLAGS += -O3 -g 4 | 5 | CONFIG_HYPERRAM=1 6 | 7 | 8 | include $(RULES_DIR)/pmsis_rules.mk 9 | -------------------------------------------------------------------------------- /tests/uart/loopback/Makefile: -------------------------------------------------------------------------------- 1 | APP = test 2 | APP_SRCS = test.c 3 | APP_CFLAGS = -O3 -g 4 | 5 | CONFIG_UART = 1 6 | 7 | override runner_args += --target-opt=**/uart_checker/uart_checker/loopback=true 8 | 9 | include $(RULES_DIR)/pmsis_rules.mk 10 | -------------------------------------------------------------------------------- /tests/uart/loopback/config.ini: -------------------------------------------------------------------------------- 1 | [target.board.devices.uart] 2 | loopback=true 3 | stdout=false 4 | 5 | [config] 6 | runner.peripherals=true -------------------------------------------------------------------------------- /tools/dpi-models/ext/nosv/svdpi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 ETH Zurich and University of Bologna 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /* 18 | * Authors: Germain Haugou, ETH (germain.haugou@iis.ee.ethz.ch) 19 | */ 20 | 21 | #ifndef __EXT_NOSV_SVDP_H__ 22 | #define __EXT_NOSV_SVDP_H__ 23 | 24 | #define DPI_DLLESPEC 25 | typedef uint8_t svLogic; 26 | 27 | #endif -------------------------------------------------------------------------------- /tools/dpi-models/include/common/.telnet_proxy.hpp.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/dpi-models/include/common/.telnet_proxy.hpp.swp -------------------------------------------------------------------------------- /tools/dpi-models/include/common/telnet_proxy.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | class Telnet_proxy 8 | { 9 | public: 10 | void pop_byte(uint8_t*); 11 | void push_byte(uint8_t*); 12 | Telnet_proxy(int); 13 | 14 | private: 15 | bool open_telnet_socket(int port); 16 | 17 | std::mutex rx_mutex; 18 | std::mutex tx_mutex; 19 | std::condition_variable rx_cond; 20 | std::condition_variable tx_cond; 21 | std::queue rx_queue; 22 | std::queue tx_queue; 23 | void push_byte_from_proxy(uint8_t*); 24 | int pop_byte_from_client(uint8_t*); 25 | 26 | void listener(void); 27 | void proxy_loop(int); 28 | 29 | int telnet_socket; 30 | int telnet_port; 31 | 32 | std::thread *loop_thread; 33 | std::thread *listener_thread; 34 | }; 35 | -------------------------------------------------------------------------------- /tools/dpi-models/models/Makefile: -------------------------------------------------------------------------------- 1 | BUILD_DIR ?= $(CURDIR)/build 2 | 3 | ROOT_DPI_BUILD_DIR ?= $(BUILD_DIR) 4 | 5 | DPI_DIRS=test/spim_verif jtag/proxy uart/uart microphone eeprom lcd wifi ram/spiram flash/spiflash camera 6 | 7 | -include $(INSTALL_DIR)/rules/dpi_rules.mk 8 | 9 | 10 | build: dpi_build 11 | 12 | clean: dpi_clean 13 | 14 | .PHONY: clean build 15 | -------------------------------------------------------------------------------- /tools/dpi-models/models/camera/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += camera 2 | 3 | camera_SRCS = camera/camera.cpp 4 | 5 | MAGICK_PKG_CFG_CMD := pkg-config 6 | ifdef MAGICK_ROOT 7 | # MAGICK_ROOT can be set to specify the root directory (containing e.g. /lib/, 8 | # /include/ etc) where GraphicsMagick was installed from source 9 | MAGICK_PKG_CFG_PATH := $(MAGICK_ROOT)/lib/pkgconfig:$(PKG_CONFIG_PATH) 10 | camera_CFLAGS += -Wl,-rpath=$(MAGICK_ROOT)/lib 11 | MAGICK_PKG_CFG_CMD := PKG_CONFIG_PATH=$(MAGICK_PKG_CFG_PATH) pkg-config 12 | endif 13 | 14 | MAGICK=$(shell $(MAGICK_PKG_CFG_CMD) --exists GraphicsMagick --atleast-version=1.3.23 || echo FAILED) 15 | 16 | 17 | ifeq '$(MAGICK)' '' 18 | camera_CFLAGS += $(shell $(MAGICK_PKG_CFG_CMD) GraphicsMagick++ --cflags) 19 | camera_CFLAGS += -D__MAGICK__ 20 | camera_LDFLAGS := $(shell $(MAGICK_PKG_CFG_CMD) GraphicsMagick++ --libs) 21 | #LDFLAGS += $(shell Magick++-config --ldflags) 22 | endif 23 | -------------------------------------------------------------------------------- /tools/dpi-models/models/eeprom/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += eeprom 2 | 3 | eeprom_SRCS = eeprom/eeprom.cpp 4 | -------------------------------------------------------------------------------- /tools/dpi-models/models/flash/spiflash/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += spiflash 2 | 3 | spiflash_SRCS = flash/spiflash/spiflash.cpp 4 | -------------------------------------------------------------------------------- /tools/dpi-models/models/jtag/proxy/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += jtag_proxy 2 | 3 | jtag_proxy_SRCS = jtag/proxy/proxy.cpp -------------------------------------------------------------------------------- /tools/dpi-models/models/lcd/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += lcd_ili9341 2 | 3 | lcd_ili9341_SRCS = lcd/ili9341.cpp 4 | 5 | SDL_CFLAGS = $(shell sdl2-config --cflags) 6 | SDL_LDFLAGS = $(shell sdl2-config --libs) 7 | 8 | ifneq '$(SDL_CFLAGS)$(SDL_LDFLAGS)' '' 9 | lcd_ili9341_CFLAGS += $(SDL_CFLAGS) -D__USE_SDL__ 10 | lcd_ili9341_LDFLAGS += $(SDL_LDFLAGS) 11 | endif 12 | -------------------------------------------------------------------------------- /tools/dpi-models/models/microphone/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += i2s_microphone 2 | 3 | i2s_microphone_SRCS = microphone/i2s_microphone.cpp 4 | 5 | sndfile=$(shell pkg-config --exists sndfile || echo FAILED) 6 | 7 | ifeq '$(sndfile)' '' 8 | USE_SNDFILE=1 9 | i2s_microphone_LDFLAGS += -lsndfile 10 | i2s_microphone_CFLAGS += -DUSE_SNDFILE 11 | endif 12 | -------------------------------------------------------------------------------- /tools/dpi-models/models/ram/spiram/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += spiram 2 | 3 | spiram_SRCS = ram/spiram/spiram.cpp -------------------------------------------------------------------------------- /tools/dpi-models/models/test/spim_verif/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += spim_tb 2 | 3 | spim_tb_SRCS = test/spim_verif/spim_verif.cpp -------------------------------------------------------------------------------- /tools/dpi-models/models/uart/uart/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += uart 2 | 3 | uart_SRCS = uart/uart/uart.cpp 4 | -------------------------------------------------------------------------------- /tools/dpi-models/models/wifi/Makefile: -------------------------------------------------------------------------------- 1 | DPI_MODELS += nina_w10 2 | 3 | nina_w10_SRCS = wifi/nina_w10.cpp -------------------------------------------------------------------------------- /tools/gap-configs/configs/boards/gap.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/gap/gap.json" ], 3 | 4 | "board": { 5 | "name": "gapuino", 6 | "devices": { 7 | "flash": { 8 | "@include@" : "devices/hyperflash.json", 9 | "cs": 1 10 | } 11 | } 12 | }, 13 | 14 | "runner": { 15 | "config": { 16 | "boot-mode": "rom_hyper", 17 | "flash_type": "hyper", 18 | "default_profile": "hyper" 19 | } 20 | }, 21 | 22 | "rt": { 23 | "config": { 24 | "bsp": true 25 | } 26 | }, 27 | 28 | "openocd": { 29 | "config": { 30 | "cable": "interface/ftdi/gapuino_ftdi.cfg", 31 | "board": "target/gap8.tcl" 32 | } 33 | }, 34 | 35 | "debug_bridge": { 36 | "config": { 37 | "cable": { 38 | "type": "ftdi@digilent", 39 | "system_reset_gpio": 4, 40 | "jtag_reset_gpio": 6, 41 | "reverse_reset": true, 42 | "vendor": "0x0403", 43 | "product": "0x6010" 44 | } 45 | } 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/boards/lucy.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/vivosoc3/vivosoc3.json" ], 3 | 4 | "board": { 5 | "name": "lucy" 6 | }, 7 | 8 | "debug_bridge": { 9 | "config": { 10 | "cable": { 11 | "system_reset_gpio": 4, 12 | "jtag_reset_gpio": -1, 13 | "user_gpios": [ 5 ] 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/arnold/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag" 15 | }, 16 | 17 | "system_tree": { 18 | "debug_bridge": { 19 | "adv_dbg_unit": { 20 | "retry_count": 10, 21 | "check_errors": true 22 | }, 23 | "boot-mode": "jtag" 24 | } 25 | } 26 | 27 | } 28 | 29 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/bigpulp-juno/padframe.json: -------------------------------------------------------------------------------- 1 | { 2 | "nb_alternate": 4, 3 | 4 | "version": 1, 5 | 6 | "default_profile": "default", 7 | 8 | "@includes@": [ "ips/padframe/padframe_v1.json"], 9 | 10 | "profiles": { 11 | "default": { 12 | } 13 | }, 14 | 15 | "groups": { 16 | "jtag0": { 17 | "type": "jtag", 18 | "is_slave": true 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/bigpulp-standalone/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "loader" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "loader" 10 | }, 11 | "set_pc_addr": "0x10200040", 12 | "set_pc_offset": "-128", 13 | "start_addr": "0x10200008", 14 | "start_value": "0x1" 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/bigpulp-standalone/padframe.json: -------------------------------------------------------------------------------- 1 | { 2 | "nb_alternate": 4, 3 | 4 | "version": 1, 5 | 6 | "default_profile": "default", 7 | 8 | "@includes@": [ "ips/padframe/padframe_v1.json"], 9 | 10 | "profiles": { 11 | "default": { 12 | } 13 | }, 14 | 15 | "groups": { 16 | "jtag0": { 17 | "type": "jtag", 18 | "is_slave": true, 19 | "is_dual": true 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/bigpulp/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "loader" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "loader" 10 | }, 11 | "set_pc_addr": "0x10200040", 12 | "set_pc_offset": "-128", 13 | "start_addr": "0x10200008", 14 | "start_value": "0x1" 15 | }, 16 | 17 | "system_tree": { 18 | "board": { 19 | "chip": { 20 | "soc": { 21 | "mailbox": { 22 | "@includes@": [ "ips/mailbox/mailbox_v0.json"] 23 | }, 24 | "rab": { 25 | "@includes@": [ "ips/rab/rab_v1.json"] 26 | }, 27 | "archi_host": { 28 | "@includes@": [ "ips/archi_host/archi_host_v1.json"] 29 | }, 30 | "cluster": { 31 | "tryx": { 32 | "@includes@": [ "ips/tryx/tryx_v1.json"] 33 | } 34 | } 35 | } 36 | } 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/gap/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true 4 | }, 5 | 6 | "loader": { 7 | "boot": { 8 | "mode": "rom" 9 | } 10 | }, 11 | 12 | "system_tree": { 13 | "board": { 14 | "chip": { 15 | "archi_files": [ "archi/chips/gap/padframe.h" ], 16 | "hal_files": [ "hal/chips/gap/pulp.h", "hal/chips/gap/efuse.h" ], 17 | "soc": { 18 | "rtc": { 19 | "@includes@": [ "ips/rtc/rtc.json" ] 20 | } 21 | } 22 | } 23 | }, 24 | "debug_bridge": { 25 | "target_jtag_sync": true, 26 | "boot-mode": "jtag" 27 | } 28 | } 29 | 30 | } 31 | 32 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/gap8_revc/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "vsim_chip": "gap8_revc" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "system_tree": { 14 | "board": { 15 | "chip": { 16 | "archi_files": [ "archi/chips/gap/padframe.h" ], 17 | "hal_files": [ "hal/chips/gap/pulp.h", "hal/chips/gap/efuse.h" ], 18 | "soc": { 19 | "rtc": { 20 | "@includes@": [ "ips/rtc/rtc.json" ] 21 | } 22 | } 23 | } 24 | }, 25 | "debug_bridge": { 26 | "target_jtag_sync": true, 27 | "boot-mode": "jtag" 28 | } 29 | } 30 | 31 | } 32 | 33 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/gap_rev1/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "vsim_chip": "gap_rev1" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "system_tree": { 14 | "board": { 15 | "chip": { 16 | "archi_files": [ "archi/chips/gap/padframe.h" ], 17 | "hal_files": [ "hal/chips/gap/pulp.h", "hal/chips/gap/efuse.h" ], 18 | "soc": { 19 | "rtc": { 20 | "@includes@": [ "ips/rtc/rtc.json" ] 21 | } 22 | } 23 | } 24 | }, 25 | "debug_bridge": { 26 | "target_jtag_sync": true, 27 | "boot-mode": "jtag" 28 | } 29 | } 30 | 31 | } 32 | 33 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/hero-z-7045/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "system_tree": { 3 | "board": { 4 | "chip": { 5 | "soc": { 6 | "mailbox": { 7 | "@includes@": [ "ips/mailbox/mailbox_v0.json"] 8 | }, 9 | "rab": { 10 | "@includes@": [ "ips/rab/rab_v1.json"] 11 | }, 12 | "archi_host": { 13 | "@includes@": [ "ips/archi_host/archi_host_v1.json"] 14 | }, 15 | "archi_host_src_files": [ "src/arm/phys_addr.c" ], 16 | "cluster": { 17 | "tryx": { 18 | "@includes@": [ "ips/tryx/tryx_v1.json"] 19 | } 20 | } 21 | } 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/multino/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "loader" 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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/neuraghe/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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/neuraghe/neuraghe_system.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "system_tree": { 4 | "@includes@": [ "pulp_system_common.json" ], 5 | 6 | "vp_class" : "pulp/system", 7 | "vp_component": "utils.composite_impl", 8 | 9 | "vp_comps": [ "board" ], 10 | 11 | "board": { 12 | 13 | "vp_class": "pulp/board", 14 | 15 | "vp_comps": [ "pulp_chip/neuraghe" ], 16 | 17 | "chip": { 18 | "@includes@": ["neuraghe.json"] 19 | }, 20 | "pulp_chip": { 21 | "neuraghe" : { 22 | } 23 | } 24 | } 25 | } 26 | 27 | } 28 | 29 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/neuraghe/soc.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "nb_cluster" : 1, 4 | "cluster": { 5 | "nb_pe": 1, 6 | 7 | "l1": { 8 | "size" : "0x400", 9 | "map_base" : "0x10000000" 10 | }, 11 | 12 | "pe": { 13 | "@includes@" : ["../../ips/zeroriscy.json"] 14 | }, 15 | 16 | "event_unit": { 17 | "@includes@": [ "../../ips/eu_v3.json" ], 18 | "nb_core": 1 19 | }, 20 | 21 | "cluster_ctrl": { 22 | "@includes@": [ "../../ips/cluster_ctrl_v2.json" ], 23 | "nb_core" : 1 24 | }, 25 | 26 | "timer": { 27 | "@includes@": [ "../../ips/timer_v2.json" ] 28 | }, 29 | 30 | "icache_ctrl": { 31 | "@includes@": [ "../../ips/icache_ctrl_v2.json" ] 32 | } 33 | 34 | }, 35 | 36 | "l2": { 37 | "is_partitioned": false, 38 | "map_base": "0x1C000000", 39 | "size": "0x00200000" 40 | }, 41 | 42 | "stdout": { 43 | "@includes@" : ["../../ips/stdout_v3.json"] 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/oprecompkw/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot-mode": "loader" 4 | }, 5 | 6 | "system_tree": { 7 | "board": { 8 | "chip": { 9 | "boot_from_rom": false, 10 | "soc": { 11 | "cluster": { 12 | "pe0": { 13 | "fetch_enable": false, 14 | "boot_addr": "0x1A000000" 15 | } 16 | } 17 | } 18 | } 19 | } 20 | }, 21 | 22 | "loader": { 23 | "boot": { 24 | "mode": "jtag" 25 | }, 26 | "set_pc_addr": "0x10200040", 27 | "set_pc_offset": "0", 28 | "start_addr": "0x10200008", 29 | "start_value": "0x1" 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/oprecompkw/job_fifo.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "width" : 64, 4 | "size" : 16, 5 | "vp_class": "pulp/chips/oprecompkw/job_fifo", 6 | "vp_component": "pulp.chips.oprecompkw.job_fifo_impl", 7 | "external_binding": { 8 | "rcv_fd" : -1, 9 | "snd_fd" : -1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/oprecompkw_sa/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot-mode": "loader" 4 | }, 5 | 6 | "system_tree": { 7 | "board": { 8 | "chip": { 9 | "boot_from_rom": false, 10 | "soc": { 11 | "cluster": { 12 | "pe0": { 13 | "fetch_enable": false, 14 | "boot_addr": "0x1A000000" 15 | } 16 | } 17 | } 18 | } 19 | } 20 | }, 21 | 22 | "loader": { 23 | "boot": { 24 | "mode": "jtag" 25 | }, 26 | "set_pc_addr": "0x10200040", 27 | "set_pc_offset": "-128", 28 | "start_addr": "0x10200008", 29 | "start_value": "0x1" 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /tools/gap-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 | "vp_component": "pulp.chips.oprecompkw.job_fifo_impl", 7 | "external_binding": { 8 | "rcv_fd" : -1, 9 | "snd_fd" : -1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/oprecompkw_sfloat/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "system_tree": { 3 | "board": { 4 | "chip": { 5 | "boot_from_rom": false, 6 | "soc": { 7 | "cluster": { 8 | "pe0": { 9 | "fetch_enable": false, 10 | "boot_addr": "0x1A000000" 11 | } 12 | } 13 | } 14 | } 15 | } 16 | }, 17 | 18 | "loader": { 19 | "boot": { 20 | "mode": "jtag" 21 | }, 22 | "set_pc_addr": "0x10200040", 23 | "set_pc_offset": "0", 24 | "start_addr": "0x10200008", 25 | "start_value": "0x1" 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /tools/gap-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 | "vp_component": "pulp.chips.oprecompkw.job_fifo_impl", 7 | "external_binding": { 8 | "rcv_fd" : -1, 9 | "snd_fd" : -1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/oprecompkw_sfloat_sa/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot-mode": "loader" 4 | }, 5 | 6 | "system_tree": { 7 | "board": { 8 | "chip": { 9 | "boot_from_rom": false, 10 | "soc": { 11 | "cluster": { 12 | "pe0": { 13 | "fetch_enable": false, 14 | "boot_addr": "0x1A000000" 15 | } 16 | } 17 | } 18 | } 19 | } 20 | }, 21 | 22 | "loader": { 23 | "boot": { 24 | "mode": "jtag" 25 | }, 26 | "set_pc_addr": "0x10200040", 27 | "set_pc_offset": "-128", 28 | "start_addr": "0x10200008", 29 | "start_value": "0x1" 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /tools/gap-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 | "vp_component": "pulp.chips.oprecompkw.job_fifo_impl", 7 | "external_binding": { 8 | "rcv_fd" : -1, 9 | "snd_fd" : -1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/oprecompkw_sfloat_sa_dual_regfile/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot-mode": "loader" 4 | }, 5 | 6 | "system_tree": { 7 | "board": { 8 | "chip": { 9 | "boot_from_rom": false, 10 | "soc": { 11 | "cluster": { 12 | "pe0": { 13 | "fetch_enable": false, 14 | "boot_addr": "0x1A000000" 15 | } 16 | } 17 | } 18 | } 19 | } 20 | }, 21 | 22 | "loader": { 23 | "boot": { 24 | "mode": "jtag" 25 | }, 26 | "set_pc_addr": "0x10200040", 27 | "set_pc_offset": "-128", 28 | "start_addr": "0x10200008", 29 | "start_value": "0x1" 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /tools/gap-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 | "vp_component": "pulp.chips.oprecompkw.job_fifo_impl", 7 | "external_binding": { 8 | "rcv_fd" : -1, 9 | "snd_fd" : -1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulp/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag" 15 | }, 16 | 17 | "vsim": { 18 | "boot-mode": "jtag", 19 | "vsim_runner_class": "runner/rtl/pulp/vsim_runner", 20 | "xcelium_runner_class": "runner/rtl/pulp/xcelium_runner" 21 | }, 22 | 23 | "system_tree": { 24 | "debug_bridge": { 25 | "boot-mode": "jtag", 26 | "cable": { 27 | "tap": 0 28 | } 29 | } 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulp/pulp_nn.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulp/pulp.json" ], 3 | 4 | "soc": { 5 | "fc": { 6 | "core" : "ri5ky_v2_6_sfloat_single_regfile_pulpnn" 7 | } 8 | }, 9 | 10 | "cluster": { 11 | "core": "ri5ky_v2_6_sfloat_single_regfile_pulpnn" 12 | } 13 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulp/pulp_rnnext.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulp/pulp.json" ], 3 | 4 | "soc": { 5 | "fc": { 6 | "core" : "ri5ky_v2_6_sfloat_single_regfile_rnnext" 7 | } 8 | }, 9 | 10 | "cluster": { 11 | "core": "ri5ky_v2_6_sfloat_single_regfile_rnnext" 12 | } 13 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulp_v1/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag" 15 | }, 16 | 17 | "system_tree": { 18 | "debug_bridge": { 19 | "adv_dbg_unit": { 20 | "retry_count": 10, 21 | "check_errors": true 22 | } 23 | } 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulp_v2/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag" 15 | }, 16 | 17 | "system_tree": { 18 | "debug_bridge": { 19 | "adv_dbg_unit": { 20 | "retry_count": 10, 21 | "check_errors": true 22 | } 23 | } 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo-microriscy/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag" 15 | }, 16 | 17 | "system_tree": { 18 | "debug_bridge": { 19 | "adv_dbg_unit": { 20 | "retry_count": 10, 21 | "check_errors": true 22 | } 23 | } 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo-riscy/apb_soc.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/apb_soc.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo-riscy/defaults.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/defaults.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo-riscy/padframe.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/padframe.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo-riscy/udma.json: -------------------------------------------------------------------------------- 1 | ../pulpissimo/udma.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo-zeroriscy/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag" 15 | }, 16 | 17 | "system_tree": { 18 | "debug_bridge": { 19 | "adv_dbg_unit": { 20 | "retry_count": 10, 21 | "check_errors": true 22 | } 23 | } 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag", 15 | "vsim_runner_class": "runner/rtl/pulpissimo/vsim_runner", 16 | "xcelium_runner_class": "runner/rtl/pulpissimo/xcelium_runner" 17 | }, 18 | 19 | "system_tree": { 20 | "debug_bridge": { 21 | "boot-mode": "jtag", 22 | "cable": { 23 | "tap": 0 24 | } 25 | } 26 | } 27 | 28 | } 29 | 30 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo/pulpissimo_ibex.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulpissimo/pulpissimo.json" ], 3 | 4 | "soc": { 5 | "fc": { 6 | "core" : "ibex" 7 | } 8 | }, 9 | 10 | "config": { 11 | 12 | "install_name": "pulpissimo_ibex", 13 | 14 | "vsim": { 15 | "tcl_args": ["-gCORE_TYPE=1"] 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo/pulpissimo_rnnext.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulpissimo/pulpissimo.json" ], 3 | 4 | "soc": { 5 | "fc": { 6 | "core" : "ri5ky_v2_fpu_1_10_rnnext" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/pulpissimo_v1/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "boot-mode": "jtag" 15 | }, 16 | 17 | "system_tree": { 18 | "debug_bridge": { 19 | "adv_dbg_unit": { 20 | "retry_count": 10, 21 | "check_errors": true 22 | } 23 | } 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/usoc_v1/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": false, 4 | "boot-mode": "jtag" 5 | }, 6 | 7 | "vsim": { 8 | "args": [ 9 | "-novopt" 10 | ] 11 | }, 12 | 13 | "system_tree": { 14 | "board": { 15 | "chip": { 16 | "soc": { 17 | "archi_files" : [ "archi/chips/usoc_v1/apb_soc.h", "archi/chips/usoc_v1/gpio.h" ], 18 | "hal_files" : [ "hal/chips/usoc_v1/apb_soc.h", "hal/chips/usoc_v1/gpio.h" ] 19 | } 20 | } 21 | }, 22 | "debug_bridge": { 23 | "adv_dbg_unit": { 24 | "retry_count": 10, 25 | "check_errors": true 26 | }, 27 | "boot-mode": "jtag" 28 | } 29 | } 30 | 31 | } 32 | 33 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/vega/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true 4 | }, 5 | 6 | "loader": { 7 | "boot": { 8 | "mode": "rom" 9 | } 10 | }, 11 | 12 | "vsim": { 13 | "vsim_runner_class": "runner/rtl/vega/vsim_runner", 14 | "xcelium_runner_class": "runner/rtl/vega/xcelium_runner" 15 | }, 16 | 17 | "system_tree": { 18 | "debug_bridge": { 19 | "boot-mode": "jtag", 20 | "cable": { 21 | "tap": 1 22 | } 23 | }, 24 | "board": { 25 | "chip": { 26 | "soc": { 27 | "rtc": { 28 | "@includes@": [ "ips/rtc/rtc.json" ] 29 | }, 30 | "quiddikey": { 31 | "@includes@": [ "ips/vendors/iid/quiddikey_v1.json"] 32 | }, 33 | "csi2": { 34 | "@includes@": [ "ips/vendors/lnt/csi2_v1.json"] 35 | } 36 | } 37 | } 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/vivosoc2/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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/vivosoc2_1/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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/vivosoc3/apb_soc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "vp_class": "pulp/chips/vivosoc3/apb_soc", 5 | "vp_component": "pulp.chips/vivosoc3/apb_soc_impl", 6 | 7 | "hal_files" : [ "hal/apb_soc/apb_soc_v3.h" ] 8 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/vivosoc3_1/apb_soc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "vp_class": "pulp/chips/vivosoc3_1/apb_soc", 5 | "vp_component": "pulp.chips/vivosoc3_1/apb_soc_impl", 6 | 7 | "hal_files" : [ "hal/apb_soc/apb_soc_v3.h" ] 8 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/vivosoc3_5/apb_soc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "vp_class": "pulp/chips/vivosoc3_5/apb_soc", 5 | "vp_component": "pulp.chips/vivosoc3_5/apb_soc_impl", 6 | 7 | "hal_files" : [ "hal/apb_soc/apb_soc_v3.h" ] 8 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/vivosoc4/apb_soc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "vp_class": "pulp/chips/vivosoc4/apb_soc", 5 | "vp_component": "pulp.chips/vivosoc4/apb_soc_impl", 6 | 7 | "hal_files" : [ "hal/apb_soc/apb_soc_v3.h" ] 8 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/wolfe/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "args": [ 15 | "-novopt" 16 | ] 17 | }, 18 | 19 | "system_tree": { 20 | "debug_bridge": { 21 | "adv_dbg_unit": { 22 | "retry_count": 10, 23 | "check_errors": true 24 | }, 25 | "boot-mode": "jtag" 26 | } 27 | } 28 | 29 | } 30 | 31 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/chips/wolfe_16/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "boot_from_flash": true, 4 | "boot-mode": "rom" 5 | }, 6 | 7 | "loader": { 8 | "boot": { 9 | "mode": "rom" 10 | } 11 | }, 12 | 13 | "vsim": { 14 | "args": [ 15 | "-novopt" 16 | ] 17 | }, 18 | 19 | "system_tree": { 20 | "debug_bridge": { 21 | "adv_dbg_unit": { 22 | "retry_count": 10, 23 | "check_errors": true 24 | }, 25 | "boot-mode": "jtag" 26 | } 27 | } 28 | 29 | } 30 | 31 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/ai_deck.json: -------------------------------------------------------------------------------- 1 | ../boards/ai_deck.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gap.json: -------------------------------------------------------------------------------- 1 | ../chips/gap/gap.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gap8_revc.json: -------------------------------------------------------------------------------- 1 | ../chips/gap8_revc/gap8_revc.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gap_rev1.json: -------------------------------------------------------------------------------- 1 | ../chips/gap_rev1/gap_rev1.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapoc_a.json: -------------------------------------------------------------------------------- 1 | ../boards/gapoc_a.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapoc_a_revb.json: -------------------------------------------------------------------------------- 1 | ../boards/gapoc_a_revb.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapoc_a_spi_revb.json: -------------------------------------------------------------------------------- 1 | ../boards/gapoc_a_spi_revb.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapoc_b.json: -------------------------------------------------------------------------------- 1 | ../boards/gapoc_b.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapoc_b_revb.json: -------------------------------------------------------------------------------- 1 | ../boards/gapoc_b_revb.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapoc_b_spi_revb.json: -------------------------------------------------------------------------------- 1 | ../boards/gapoc_b_spi_revb.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapuino.json: -------------------------------------------------------------------------------- 1 | ../boards/gapuino.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapuino_revb.json: -------------------------------------------------------------------------------- 1 | ../boards/gapuino_revb.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/gapuino_revc.json: -------------------------------------------------------------------------------- 1 | ../boards/gapuino_revc.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/lucy.json: -------------------------------------------------------------------------------- 1 | ../boards/lucy.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/pulp.json: -------------------------------------------------------------------------------- 1 | ../chips/pulp/pulp.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/pulp_nn.json: -------------------------------------------------------------------------------- 1 | ../chips/pulp/pulp_nn.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/pulp_rnnext.json: -------------------------------------------------------------------------------- 1 | ../chips/pulp/pulp_rnnext.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/pulpissimo.json: -------------------------------------------------------------------------------- 1 | ../chips/pulpissimo/pulpissimo.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/pulpissimo_bitext.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulpissimo/pulpissimo.json" ], 3 | 4 | "soc": { 5 | "fc": { 6 | "core" : "ri5ky_v2_fpu_1_10_bitext" 7 | } 8 | }, 9 | 10 | "config": { 11 | "install_name": "pulpissimo_bitext" 12 | } 13 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/pulpissimo_ibex.json: -------------------------------------------------------------------------------- 1 | ../chips/pulpissimo/pulpissimo_ibex.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/pulpissimo_rnnext.json: -------------------------------------------------------------------------------- 1 | ../chips/pulpissimo/pulpissimo_rnnext.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/vega.json: -------------------------------------------------------------------------------- 1 | ../chips/vega/vega.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/config/wolfe.json: -------------------------------------------------------------------------------- 1 | ../chips/wolfe/wolfe.json -------------------------------------------------------------------------------- /tools/gap-configs/configs/defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "pulp_compiler": "gcc", 3 | 4 | "pulp_rt_version": "bench", 5 | 6 | "pulp_omp_version": { 7 | "default" : "libgomp", 8 | "libgomp" : {}, 9 | "new" : {} 10 | }, 11 | 12 | "testbench": { 13 | "use_dpi": false 14 | }, 15 | 16 | "gdb": { 17 | "active": false 18 | }, 19 | 20 | "loader": { 21 | "bridge": "none", 22 | "cable": "proxy", 23 | "binaries": [], 24 | "boot": { 25 | "mode": "jtag" 26 | } 27 | }, 28 | 29 | "platform": "gvsoc" 30 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/camera.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Camera", 3 | "doc_rst": "devices/camera.rst", 4 | "description": "Camera model", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/camera_gen", 8 | "interface": "cpi0", 9 | "ctrl_interface": "i2c0", 10 | "cs": 0, 11 | 12 | "type": "dpi", 13 | "model": "himax", 14 | "module": "camera.so", 15 | "color-mode": "gray" 16 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/eeprom.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EEPROM", 3 | "doc_rst": "devices/eeprom.rst", 4 | "description": "EEPROM model", 5 | "platforms": [ "gvsoc" ], 6 | 7 | "generator": "generators/v1/devices/eeprom_gen", 8 | "interface": "i2c0", 9 | 10 | "config": { 11 | "type": "dpi", 12 | "module": "eeprom.so", 13 | "mem_size": 65536, 14 | "verbose": false 15 | } 16 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/eeprom.rst: -------------------------------------------------------------------------------- 1 | EEPROM 2 | ------ 3 | 4 | This model supports the following parameters 5 | 6 | =================== ==================================================== ================= ================== 7 | Name Description Default value Optional/Mandatory 8 | =================== ==================================================== ================= ================== 9 | interface Interface where the device is connected. i2c0 Optional 10 | config.mem_size EEPROM size 65536 Optional 11 | =================== ==================================================== ================= ================== 12 | 13 | Here is an example: :: 14 | 15 | [board.devices.eeprom] 16 | include = devices/eeprom.json 17 | interface = i2c0 18 | config.mem_size = 65536 19 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/hyperram.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Hyperram", 3 | "doc_rst": "devices/hyperram.rst", 4 | "description": "Hyperram model", 5 | "platforms": [ "gvsoc" ], 6 | 7 | "generator": "generators/v1/devices/hyper_gen", 8 | "interface": "hyper0", 9 | 10 | "vp_class": "devices/hyperbus/hyperram", 11 | "vp_component": "devices.hyperbus.hyperram_impl", 12 | 13 | "size": "0x00800000" 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/i2s_microphone.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "i2s_mic", 3 | "doc_rst": "devices/i2s_microphone.rst", 4 | "description": "I2S microphones", 5 | 6 | "generator": "generators/v1/devices/i2s_microphone_gen", 7 | "interface": "i2s0", 8 | 9 | "platforms": [ "gvsoc", "rtl" ], 10 | 11 | "type": "dpi", 12 | "module": "i2s_microphone.so", 13 | "verbose": false, 14 | "width": 16, 15 | "ddr": false, 16 | "pdm": true, 17 | "toggle_channel": false, 18 | "stim_left": null, 19 | "stim_right": null, 20 | "frequency": 0, 21 | "chain_size": 1 22 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/jtag_proxy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "JTAG_proxy", 3 | "doc_rst": "devices/jtag_proxy.rst", 4 | "description": "JTAG proxy for connecting debug bridge to the platform through sockets", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/jtag_proxy_gen", 8 | 9 | "config": { 10 | "type": "dpi", 11 | "active": false, 12 | "module": "jtag_proxy.so", 13 | "verbose": false, 14 | "port": 37539 15 | } 16 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/jtag_proxy.rst: -------------------------------------------------------------------------------- 1 | JTAG proxy 2 | ---------- 3 | 4 | This model supports the following parameters 5 | 6 | =================== ==================================================== ================= ================== 7 | Name Description Default value Optional/Mandatory 8 | =================== ==================================================== ================= ================== 9 | config.active Activate the proxy if set to true (this will open false Optional 10 | the socket) 11 | config.port Socket port number where another tool can connect to 37539 Optional 12 | interact 13 | =================== ==================================================== ================= ================== 14 | 15 | Here is an example: :: 16 | 17 | [board.devices.jtag_proxy] 18 | include = devices/jtag_proxy.json 19 | config.port = 37539 20 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/lcd_ili9341.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lcd_ili9341", 3 | "doc_rst": "devices/lcd_ili9341.rst", 4 | "description": "LCD model", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/lcd_ili9341_gen", 8 | "interface": "spim0", 9 | "ctrl_interface": "gpio0", 10 | "cs": 0, 11 | 12 | "config": { 13 | "type": "dpi", 14 | "module": "lcd_ili9341.so", 15 | "verbose": false 16 | } 17 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/nina_w10.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nina_w10", 3 | "doc_rst": "devices/nina_w10.rst", 4 | "description": "Nina W10 model", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/nina_w10_gen", 8 | "interface": "spim0", 9 | "cs": 0, 10 | 11 | "config": { 12 | "type": "dpi", 13 | "module": "nina_w10.so", 14 | "port": "3333", 15 | "addr": "localhost" 16 | } 17 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/nina_w10.rst: -------------------------------------------------------------------------------- 1 | Nina W10 model 2 | -------------- 3 | 4 | This model supports the following parameters 5 | 6 | =================== ==================================================== ================= ================== 7 | Name Description Default value Optional/Mandatory 8 | =================== ==================================================== ================= ================== 9 | interface Interface where the device is connected. spim0 Optional 10 | cs Chip select where the device is connected. 0 Optional 11 | =================== ==================================================== ================= ================== 12 | 13 | Here is an example: :: 14 | 15 | [board.devices.nina_w10] 16 | include = devices/nina_w10.json 17 | interface = spim0 18 | cs = 0 -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/speaker.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_comps": [ 3 | "sink", "clock" 4 | ], 5 | 6 | "vp_bindings": [ 7 | ["sink->i2s", "self->i2s"], 8 | ["clock->out", "sink->clock"], 9 | ["sink->clock_cfg", "clock->clock_in"] 10 | ], 11 | 12 | "clock": { 13 | "vp_component": "vp.clock_domain_impl", 14 | "frequency": "50000000" 15 | }, 16 | 17 | "sink": { 18 | "name": "I2S speaker", 19 | 20 | "vp_component": "devices.sound.i2s_speaker", 21 | 22 | "verbose": false, 23 | "ws-delay": 1, 24 | "width": 16, 25 | "out_mode": "file", 26 | "outfile": null 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/spiflash_s26ks512.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SPI_flash", 3 | "doc_rst": "devices/spiflash.rst", 4 | "description": "SPI flash model", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/spiflash_s26ks512_gen", 8 | "interface": "spim0", 9 | "cs": 0, 10 | 11 | "vp_class": "devices/spiflash/spiflash", 12 | "vp_component": "devices.spiflash.spiflash_impl", 13 | "type": "spiflash", 14 | "size": "0x00800000", 15 | 16 | "fs": { 17 | "files": [], 18 | "encrypt": false, 19 | "aes_key": 0, 20 | "aes_iv": 0 21 | } 22 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/spim_verif.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SPI_verif", 3 | "doc_rst": "devices/spim_verif.rst", 4 | "description": "SPI verification testbench", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/spim_verif_gen", 8 | "interface": "spim0", 9 | "cs": 0, 10 | 11 | "type": "dpi", 12 | "module": "spim_tb.so", 13 | "mem_size": 1048576, 14 | "verbose": false 15 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/spiram.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SPI_ram", 3 | "doc_rst": "devices/spiram.rst", 4 | "description": "SPI ram model", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/spiram_gen", 8 | "interface": "spim0", 9 | "cs": 1, 10 | 11 | "config": { 12 | "type": "dpi", 13 | "module": "spiram.so", 14 | "mem_size": "0x00800000", 15 | "cross_page_size": "0" 16 | } 17 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/uart_checker.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_comps": [ 3 | "checker", "clock" 4 | ], 5 | 6 | "vp_bindings": [ 7 | ["self->input", "checker->input"], 8 | ["clock->out", "checker->clock"], 9 | ["checker->clock_cfg", "clock->clock_in"] 10 | ], 11 | 12 | "clock": { 13 | "vp_component": "vp.clock_domain_impl", 14 | "frequency": "50000000" 15 | }, 16 | 17 | "checker": { 18 | "name": "UART_checker", 19 | 20 | "vp_component": "devices.uart.uart_checker", 21 | 22 | "verbose": false, 23 | "baudrate": 115200, 24 | "loopback": false, 25 | "stdout": false, 26 | "stdin": false, 27 | "telnet": false, 28 | "tx_file": "tx_uart.log" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/devices/uart_tb.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UART_tb", 3 | "doc_rst": "devices/uart_tb.rst", 4 | "description": "UART model, can be used to dump uart TX to file or terminal", 5 | "platforms": [ "gvsoc", "rtl" ], 6 | 7 | "generator": "generators/v1/devices/uart_tb_gen", 8 | "interface": "uart0", 9 | 10 | "type": "dpi", 11 | "module": "uart.so", 12 | "verbose": false, 13 | "baudrate": 115200, 14 | "loopback": false, 15 | "stdout": true, 16 | "stdin": false, 17 | "telnet": false, 18 | "tx_file": "tx_uart.log" 19 | } 20 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/fpgas/pulp/genesys2.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulp/pulp.json" ], 3 | 4 | "board": { 5 | "name": "pulp_genesys2" 6 | }, 7 | 8 | "config": { 9 | "rt": { 10 | "iodev": "uart" 11 | } 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/fpgas/pulpissimo/genesys2.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulpissimo/pulpissimo.json" ], 3 | 4 | "board": { 5 | "name": "pulpissimo_genesys2" 6 | }, 7 | 8 | "config": { 9 | "rt": { 10 | "iodev": "uart" 11 | } 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/fpgas/pulpissimo_ibex/genesys2.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@": [ "chips/pulpissimo/pulpissimo_ibex.json" ], 3 | 4 | "board": { 5 | "name": "pulpissimo_ibex_genesys2" 6 | }, 7 | 8 | "config": { 9 | "rt": { 10 | "iodev": "uart" 11 | } 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/adv_dbg_unit/adv_dbg_unit.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/adv_dbg_unit/adv_dbg_unit", 3 | "vp_component": "pulp.adv_dbg_unit.adv_dbg_unit_impl" 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/apb_soc/apb_soc_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/apb_soc/apb_soc_v1.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/apb_soc/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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/apb_soc/apb_soc_vivosoc3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 5, 3 | 4 | "hal_files" : [ "hal/apb_soc/apb_soc_v3.h" ] 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/archi_host/archi_host_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "archi_host_files": [ 5 | "archi-host/pgtable_hwdef.h", 6 | "archi-host/phys_addr.h", 7 | "archi-host/virt_addr.h", 8 | "archi-host/arm/phys_addr.h", 9 | "archi-host/arm/pgtable_hwdef.h", 10 | "archi-host/arm64/phys_addr.h", 11 | "archi-host/arm64/pgtable_dbg.h", 12 | "archi-host/arm64/pgtable_hwdef.h" 13 | ], 14 | 15 | "archi_host_src_files": [ 16 | "src/phys_addr.c", 17 | "src/virt_addr.c" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/cache/cache.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "cache/cache", 3 | "vp_component": "cache.cache_impl", 4 | 5 | "nb_ports" : 1, 6 | "nb_sets_bits": 4, 7 | "nb_ways_bits": 2, 8 | "line_size_bits": 4 9 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/cluster/cluster_v3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "nb_pe": 4, 4 | 5 | "l1": { 6 | "size" : 65536, 7 | "map_base" : "0x10000000" 8 | }, 9 | 10 | "dma": { 11 | "@includes@": [ "mchan_v4.json" ] 12 | }, 13 | 14 | "event_unit": { 15 | "@includes@": [ "eu_v1.json" ] 16 | }, 17 | 18 | "timer": { 19 | "@includes@": [ "timer_v1.json" ] 20 | }, 21 | 22 | "pe": { 23 | "@includes@" : ["ri5ky_v0.json"] 24 | }, 25 | 26 | "icache_ctrl": { 27 | "@includes@": [ "icache_ctrl_v1.json" ] 28 | }, 29 | 30 | "cluster_ctrl": { 31 | "@includes@": [ "cluster_ctrl_v2.json" ], 32 | "nb_core" : 4 33 | } 34 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/cluster/cluster_v4.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 4, 3 | "nb_pe": 4, 4 | 5 | "l1": { 6 | "size" : 65536, 7 | "map_base" : "0x10000000" 8 | }, 9 | 10 | "dma": { 11 | "@includes@": [ "mchan_v5.json" ] 12 | }, 13 | 14 | "event_unit": { 15 | "@includes@": [ "eu_v1.json" ] 16 | }, 17 | 18 | "timer": { 19 | "@includes@": [ "timer_v1.json" ] 20 | }, 21 | 22 | "pe": { 23 | "@includes@" : ["or10n_v2.json"] 24 | }, 25 | 26 | "cluster_ctrl": { 27 | "@includes@": [ "cluster_ctrl_v2.json" ], 28 | "nb_core" : 4 29 | }, 30 | 31 | "icache_ctrl": { 32 | "@includes@": [ "icache_ctrl_v1.json" ] 33 | } 34 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/cluster/cluster_v5.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["cluster_v5_template.json"], 3 | "pe": { 4 | "@includes@" : ["ips/riscv/ri5ky_v2.json"] 5 | } 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/cluster/cluster_v5_fpu.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["cluster_v5_template.json"], 3 | "pe": { 4 | "@includes@" : ["ri5ky_v2_fpu.json"] 5 | } 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/cluster/cluster_v6.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["cluster_v6_template.json"], 3 | "pe": { 4 | "@includes@" : ["ips/riscv/ri5ky_v2.json"] 5 | } 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/cluster_ctrl/cluster_ctrl_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "vp_class": "pulp/cluster/cluster_ctrl_v2", 5 | "vp_component": "pulp.cluster.cluster_ctrl_v2_impl", 6 | 7 | "hal_files" : [ "hal/cluster_ctrl/cluster_ctrl_v2.h" ], 8 | "archi_files" : [ "archi/cluster_ctrl/cluster_ctrl_v2.h" ], 9 | 10 | "nb_core": 0 11 | 12 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/debug/pulp_tap.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/adv_dbg_unit/adv_dbg_unit", 3 | "vp_component": "pulp.adv_dbg_unit.adv_dbg_unit_impl", 4 | "has_io_port": true, 5 | "has_confreg": true 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/debug/riscv_dtm.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/adv_dbg_unit/riscv_dtm", 3 | "vp_component": "pulp.adv_dbg_unit.riscv_dtm_impl", 4 | "nb_harts": 1, 5 | "has_io_port": true 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/debug/riscv_dtm_old.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/adv_dbg_unit/riscv_dtm", 3 | "vp_component": "pulp.adv_dbg_unit.riscv_dtm_impl", 4 | "nb_harts": 1 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/dpi/chip_wrapper.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_component": "utils.dpi_chip_wrapper" 3 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/efuse/efuse_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "vp_class": "pulp/efuse/efuse_v1", 5 | "vp_component": "pulp.efuse.efuse_v1_impl", 6 | 7 | "hal_files" : [ "hal/efuse/efuse_v1.h" ], 8 | "archi_files" : [ "archi/efuse/efuse_v1.h" ], 9 | 10 | "stim_file": "efuse_preload.data", 11 | 12 | "nb_regs" : 128, 13 | 14 | "encrypted": false, 15 | "aes_key": "12345678275689075642768987654345", 16 | "aes_iv": "0987654323456789", 17 | "xtal_check": false, 18 | "xtalCheck_delta": "0.1", 19 | "xtalCheck_min": "3", 20 | "xtalCheck_max": "10", 21 | "values": [] 22 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/event_unit/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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/event_unit/eu_v3_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3.1, 3 | 4 | "@includes@": "eu_v3.json", 5 | 6 | "regmap": { 7 | "areas": { 8 | "demux": { 9 | "sec": { 10 | "offset": "0x0040", 11 | "size" : "0x0040" 12 | } 13 | } 14 | }, 15 | "registers": { 16 | "sec_mask": { 17 | "areas" : [ "demux/sec" ], 18 | "offset": "0x00", 19 | "width" : 32 20 | }, 21 | "sec_mask_and": { 22 | "areas" : [ "demux/sec" ], 23 | "offset": "0x04", 24 | "width" : 32 25 | }, 26 | "sec_mask_or": { 27 | "areas" : [ "demux/sec" ], 28 | "offset": "0x08", 29 | "width" : 32 30 | } 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/event_unit/eu_v4.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 4, 3 | 4 | "nb_core": 0, 5 | 6 | "vp_component": "pulp.event_unit.eu_v4_impl", 7 | 8 | "hal_files" : [ "hal/eu/eu_v4.h" ], 9 | "archi_files" : [ "archi/eu/eu_v4.h" ], 10 | 11 | "properties": { 12 | "dispatch": { 13 | "size": 8 14 | }, 15 | "mutex": { 16 | "nb_mutexes": 8 17 | }, 18 | "barriers": { 19 | "nb_barriers": 8 20 | }, 21 | "semaphores": { 22 | "nb_semaphores": 16, 23 | "width": 12 24 | }, 25 | "bitfields": { 26 | "nb_bitfields": 24 27 | }, 28 | "soc_event": { 29 | "nb_fifo_events": 8, 30 | "fifo_event": 27 31 | }, 32 | "events": { 33 | "barrier" : 16, 34 | "mutex" : 17, 35 | "dispatch": 18, 36 | "semaphore": 19 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/fulmine/padframe.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1 3 | 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/gpio/gpio_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : 2, 3 | "nb_gpio" : 32, 4 | 5 | "vp_class": "pulp/gpio/gpio_v2", 6 | "vp_component": "pulp.gpio.gpio_v2_impl", 7 | 8 | "archi_files": [ "archi/gpio/gpio_v2.h" ], 9 | "hal_files": [ "hal/gpio/gpio_v2.h" ] 10 | } 11 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/gpio/gpio_v3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : 3, 3 | "nb_gpio" : 32, 4 | 5 | "vp_class": "pulp/gpio/gpio_v3", 6 | "vp_component": "pulp.gpio.gpio_v3_impl" 7 | } 8 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/hwacc/hwacc.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/hwacc/hwacc", 3 | "vp_component": "pulp.hwacc.hwacc_impl" 4 | 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/hwce/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 | "vp_class": "pulp/hwce/hwce_v4", 8 | "vp_component": "pulp.hwce.hwce_v4_impl" 9 | 10 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/hwce/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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/hwme/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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/icache_ctrl/icache_ctrl_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/icache/icache_ctrl_v1.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/icache_ctrl/icache_ctrl_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "vp_class": "pulp/icache_ctrl/icache_ctrl_v2", 5 | "vp_component": "pulp.icache_ctrl.icache_ctrl_v2_impl", 6 | 7 | "hal_files" : [ "hal/icache/icache_ctrl_v2.h" ] 8 | 9 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/ima/ima_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/ima/ima_v1.h" ], 5 | "archi_files" : [ "archi/ima/ima_v1.h" ], 6 | 7 | "vp_class": "pulp/ima/ima_v1", 8 | "vp_component": "pulp.ima.ima_v1_impl", 9 | 10 | "nb_masters": 32, 11 | "xbar_x": 256, 12 | "xbar_y": 256, 13 | 14 | "eval_ns": 130, 15 | "plot_write_ns": 1000, 16 | "plot_read_ns": 10, 17 | 18 | "statistics": false 19 | } 20 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/interco/converter.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "interco/converter", 3 | "vp_component": "interco.converter_impl", 4 | "output_width": 4, 5 | "output_align": 4 6 | } 7 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/interco/interleaver.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "interco/interleaver", 3 | "vp_component": "interco.interleaver_impl", 4 | "nb_slaves": 0, 5 | "nb_masters": 0, 6 | "interleaving_bits": 2, 7 | "stage_bits": 0, 8 | "remove_offset": "0x0" 9 | } 10 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/interco/l1_interleaver.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/cluster/l1_interleaver", 3 | "vp_component": "pulp.cluster.l1_interleaver_impl", 4 | "nb_slaves": 0, 5 | "nb_masters": 0, 6 | "stage_bits": 0 7 | } 8 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/interco/l1_tas.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "pulp/cluster/l1_tas" 3 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/interco/router.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "interco/router", 3 | "vp_component": "interco.router_impl", 4 | "bandwidth": 4, 5 | "latency": 0, 6 | "id": 0 7 | } -------------------------------------------------------------------------------- /tools/gap-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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/mchan/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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/mchan/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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/mchan/mchan_v6.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 6, 3 | 4 | "hal_files" : [ "hal/dma/mchan_v6.h" ], 5 | "archi_files" : [ "archi/dma/mchan_v6.h" ], 6 | 7 | "vp_class": "pulp/mchan/mchan_v6", 8 | "vp_component": "pulp.mchan.mchan_v6_impl", 9 | 10 | "nb_channels": 0, 11 | "core_queue_depth": 2, 12 | "global_queue_depth": 8, 13 | "is_64": false, 14 | "max_nb_ext_read_req" : 8, 15 | "max_nb_ext_write_req": 8, 16 | "max_burst_length": 256, 17 | "nb_loc_ports": 4, 18 | "tcdm_addr_width": 20 19 | 20 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/mchan/mchan_v7.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 7, 3 | 4 | "hal_files" : [ "hal/dma/mchan_v7.h" ], 5 | "archi_files" : [ "archi/dma/mchan_v7.h" ], 6 | 7 | "vp_class": "pulp/mchan/mchan_v7", 8 | "vp_component": "pulp.mchan.mchan_v7_impl", 9 | 10 | "nb_channels": 0, 11 | "core_queue_depth": 2, 12 | "global_queue_depth": 8, 13 | "is_64": false, 14 | "max_nb_ext_read_req" : 8, 15 | "max_nb_ext_write_req": 8, 16 | "max_burst_length": 256, 17 | "nb_loc_ports": 4, 18 | "tcdm_addr_width": 20 19 | 20 | } 21 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/memory/ddr.json: -------------------------------------------------------------------------------- 1 | { 2 | "size" : "0x10000000", 3 | "vp_class": "memory/ddr", 4 | "vp_component": "memory.ddr_impl", 5 | "frequency": 100000000, 6 | "tlm": { 7 | "dramsys-config": "ddr3-example.xml", 8 | "gem5-config": "config.ini" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/misc/clock.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "utils/clock", 3 | "vp_component": "utils.clock_impl" 4 | } 5 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/mram/mram.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Mram", 3 | 4 | "datasheet": { 5 | "type": "mram", 6 | "size": "2MB", 7 | "block-size": "8KB" 8 | }, 9 | 10 | "models": { 11 | "rtl": { 12 | "stimuli": { 13 | "format": "slm", 14 | "file": "slm_files/mram_stim.slm" 15 | } 16 | } 17 | }, 18 | 19 | "content": { 20 | "partitions": { 21 | "readfs": { 22 | "type": "readfs", 23 | "files": [] 24 | }, 25 | "hostfs": { 26 | "type": "hostfs", 27 | "files": [] 28 | }, 29 | "lfs": { 30 | "type": "lfs", 31 | "root_dir": null 32 | } 33 | } 34 | }, 35 | 36 | "version": 1, 37 | 38 | "vp_class": "pulp/mram/mram_v1", 39 | "vp_component": "pulp.mram.mram_v1_impl" 40 | 41 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/ne16/ne16.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_component": "pulp.ne16.ne16" 3 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/or1k/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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/padframe/padframe_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "vp_class": "pulp/padframe/padframe_v1", 4 | "vp_component": "pulp.padframe.padframe_v1_impl" 5 | } 6 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/pmu/pmu_v4.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 4, 3 | "nb_domains": 2, 4 | 5 | "vp_class": "pulp/pmu/pmu_v4", 6 | "vp_component": "pulp.pmu.pmu_v4_impl" 7 | } -------------------------------------------------------------------------------- /tools/gap-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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/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 | "debug_binaries": [], 10 | "hal_files" : [ "hal/ariane.h" ] 11 | } 12 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/microriscy.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class" : "cpu/iss/iss", 3 | "vp_component": "cpu/iss/iss_riscy", 4 | "bootaddr_offset": "0x80", 5 | "version" : "microriscy", 6 | "archi" : "riscv", 7 | "implementation": "zeroriscy", 8 | "gv_isa" : ["--pulp-zeroriscy", "--pulp", "--rv32m"], 9 | "march" : "ic", 10 | "isa" : "rv32ic", 11 | "compiler_args" : ["-mreg=16"], 12 | "priv_version" : 1.9, 13 | "perf_counters" : true, 14 | "features" : [ "misaligned", "perf"], 15 | "hal_files" : [ "hal/riscv/riscv_v4.h", "hal/riscv/types.h" ], 16 | "archi_files" : [ "archi/riscv/priv_1_9.h", "archi/riscv/builtins_v2.h", "archi/riscv/builtins_v2_emu.h", "archi/riscv/pcer_v1.h" ], 17 | "defines" : [ "CORE_NO_MUL"], 18 | "debug_binaries": [], 19 | "power_models": { 20 | "@includes@": [ 21 | "power_models/core/riscy.json" 22 | ] 23 | }, 24 | "iss_class": "iss_riscy" 25 | } 26 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v0.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "ri5cy", 3 | "archi" : "riscv", 4 | "implementation": "ri5cy", 5 | "gv_isa" : ["--pulpv1", "--pulp", "--rv32m", "--itc-external-wire"], 6 | "isa" : "RV32IXpulpv0", 7 | "priv_version" : 1.7, 8 | "features" : [ ], 9 | "hal_files" : [ "hal/riscv/riscv_v3.h" ], 10 | "archi_files" : [ "archi/riscv/priv_1_7.h", "archi/riscv/builtins_v2_emu.h", "archi/riscv/pcer_v1.h" ], 11 | "debug_binaries": [], 12 | "defines" : [ "ARCHI_CORE_HAS_PULPV1", "CORE_PULP_BUILTINS" ], 13 | "iss_class": "iss_riscy" 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "ri5cyv1", 3 | "archi" : "riscv", 4 | "implementation": "ri5cy", 5 | "gv_isa" : ["--pulpv1", "--pulp", "--rv32m", "--itc-external-wire"], 6 | "isa" : "RV32IXpulpv1", 7 | "priv_version" : 1.7, 8 | "features" : [ ], 9 | "hal_files" : [ "hal/riscv/riscv_v3.h" ], 10 | "archi_files" : [ "archi/riscv/builtins_v2_emu.h" ], 11 | "debug_binaries": [], 12 | "defines" : [ "ARCHI_CORE_HAS_PULPV1", "CORE_PULP_BUILTINS" ], 13 | "iss_class": "iss_riscy" 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_1_10.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["ips/riscv/ri5ky_v2.json"], 3 | "bootaddr_offset": "0x00", 4 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "CORE_PULP_BUILTINS", "ARCHI_CORE_HAS_SECURITY", "ARCHI_CORE_HAS_1_10" ] 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_5_sfloat_single_regfile_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["ips/riscv/ri5ky_v2_5_sfloat_single_regfile.json"], 3 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ] 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_6_sfloat_single_regfile_int64.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["ips/riscv/ri5ky_v2_6_sfloat_single_regfile.json"], 3 | "isa" : "rv32imfcXpulpv2Xf8Xf16XfvecXfauxXf16altXgap9Xint64" 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_6_sfloat_single_regfile_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["ips/riscv/ri5ky_v2_6_sfloat_single_regfile.json"], 3 | "vp_component": "cpu/iss/iss_riscy_v2_5_single_regfile_secure", 4 | "iss_class": "iss_riscy_v2_5_single_regfile_secure", 5 | "isa" : "rv32imfcXpulpv2Xf8Xf16XfvecXfauxXf16altXgap9Xint64" 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_a.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "ri5cyv2", 3 | "archi" : "riscv", 4 | "implementation": "ri5cy", 5 | "gv_isa" : ["--pulpv2", "--pulp", "--rv32m", "--rv32a", "--itc-external-req"], 6 | "isa" : "rv32imacXpulpv2", 7 | "march" : "imacXpulpv2", 8 | "priv_version" : 1.9, 9 | "perf_counters" : true, 10 | "features" : [ "misaligned", "perf" ], 11 | "hal_files" : [ "hal/riscv/riscv_v4.h", "hal/riscv/types.h" ], 12 | "archi_files" : [ "archi/riscv/priv_1_9.h", "archi/riscv/builtins_v2.h", "archi/riscv/builtins_v2_emu.h", "archi/riscv/pcer_v1.h" ], 13 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "CORE_PULP_BUILTINS" ], 14 | "vp_class": "cpu/iss/iss", 15 | "vp_component": "cpu/iss/iss_riscy", 16 | "bootaddr_offset": "0x80", 17 | "debug_binaries": [], 18 | "fetch_enable" : false, 19 | "boot_addr" : "0x00000000", 20 | "iss_class": "iss_riscy" 21 | } 22 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_cplx.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "cpu/iss/iss", 3 | "vp_component": "cpu/iss/iss_riscy", 4 | "bootaddr_offset": "0x80", 5 | "@includes@" : ["ips/riscv/ri5ky_v2.json"], 6 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ], 7 | "gv_isa" : ["--pulpv2", "--pulp", "--rv32m", "--gap8", "--itc-external-req"], 8 | "isa" : "rv32imcXgap8", 9 | "debug_binaries": [], 10 | "march" : "imcXgap8", 11 | "iss_class": "iss_riscy" 12 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_fpu_a.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "ri5cyv2", 3 | "archi" : "riscv", 4 | "implementation": "ri5cy", 5 | "gv_isa" : ["--pulp", "--rv32m", "--rv32a", "--pulpv2", "--pulp-perf-counters", "--pulp-hw-loop", "--itc-external-req", "--fpu", "--fpud", "--shared-fpu"], 6 | "isa" : "rv32imafcXpulpv2", 7 | "march" : "imafcXpulpv2", 8 | "priv_version" : 1.9, 9 | "perf_counters" : true, 10 | "features" : [ "misaligned", "perf"], 11 | "hal_files" : [ "hal/riscv_v4.h", "hal/riscv_builtins.h", "hal/builtins_v2.h", "hal/builtins_v2_emu.h", "hal/types.h" ], 12 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "CORE_PULP_BUILTINS" ], 13 | "bootaddr_offset": "0x80", 14 | "debug_binaries": [], 15 | "iss_class": "iss_riscy" 16 | } 17 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_fpu_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["ips/riscv/ri5ky_v2_fpu.json"], 3 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ] 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["ips/riscv/ri5ky_v2.json"], 3 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ] 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/ri5ky_v2_sfloat_single_regfile_sec.json: -------------------------------------------------------------------------------- 1 | { 2 | "@includes@" : ["ips/riscv/ri5ky_v2_sfloat_single_regfile.json"], 3 | "defines" : [ "ARCHI_CORE_HAS_PULPV2", "ARCHI_CORE_HAS_CPLX", "ARCHI_CORE_HAS_SECURITY" ], 4 | "isa" : "rv32imfcXpulpv2Xf8Xf16XfvecXfauxXf16altXgap9Xint64" 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/riscv/zeroriscy.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class" : "cpu/iss/iss", 3 | "vp_component": "cpu/iss/iss_zeroriscy", 4 | "bootaddr_offset": "0x80", 5 | "version" : "zeroriscy", 6 | "archi" : "riscv", 7 | "implementation": "zeroriscy", 8 | "gv_isa" : ["--pulp-zeroriscy", "--pulp", "--rv32m"], 9 | "isa" : "rv32imcXpulpslim", 10 | "march" : "imcXpulpslim", 11 | "priv_version" : 1.9, 12 | "perf_counters" : true, 13 | "features" : [ "misaligned", "perf"], 14 | "hal_files" : [ "hal/riscv/riscv_v4.h", "hal/riscv/types.h" ], 15 | "archi_files" : [ "archi/riscv/priv_1_9.h", "archi/riscv/builtins_v2.h", "archi/riscv/builtins_v2_emu.h", "archi/riscv/pcer_v1.h" ], 16 | "defines" : [ "CORE_PULP_BUILTINS"], 17 | "debug_binaries": [], 18 | "power_models": { 19 | "@includes@": [ 20 | "power_models/core/riscy.json" 21 | ] 22 | }, 23 | "iss_class": "iss_zeroriscy" 24 | } 25 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/rom/rom_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "hal_files" : [ "hal/rom/rom_v2.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/rtc/rtc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : 1 3 | } 4 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/rtc/rtc_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : 2, 3 | "vp_class": "pulp/rtc/rtc_v2", 4 | "vp_component": "pulp/rtc/rtc_v2_impl", 5 | "soc_event" : -1 6 | } 7 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/soc_eu/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 | "vp_component": "pulp.soc_eu.soc_eu_v1_impl", 9 | 10 | "properties": { 11 | "nb_fc_events": 8, 12 | "first_fc_event": 48 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/soc_eu/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 | "vp_component": "pulp.soc_eu.soc_eu_v2_impl", 9 | 10 | "properties": { 11 | "nb_fc_events": 8, 12 | "first_fc_event": 48 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/soc_eu/soc_eu_v3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "hal_files" : [ "hal/soc_eu/soc_eu_v3.h" ], 5 | "archi_files" : [ "archi/soc_eu/soc_eu_v3.h" ], 6 | 7 | "vp_class": "pulp/soc_eu/soc_eu_v2", 8 | "vp_component": "pulp.soc_eu.soc_eu_v3_impl", 9 | 10 | "properties": { 11 | "nb_fc_events": 8, 12 | "first_fc_event": 48 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/spi_master/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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/stdout/stdout_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | "archi_files" : [ "archi/stdout/stdout_v2.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/stdout/stdout_v3.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | 4 | "vp_class": "pulp/stdout/stdout_v3", 5 | "vp_component": "pulp.stdout.stdout_v3_impl", 6 | 7 | "archi_files" : [ "archi/stdout/stdout_v3.h" ], 8 | 9 | "max_cluster": 33, 10 | 11 | "max_core_per_cluster": 16 12 | 13 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/timer/timer_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | "hal_files" : [ "hal/timer/timer_v1.h" ] 5 | 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/timer/timer_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | 4 | 5 | "vp_class": "pulp/timer/timer_v2", 6 | "vp_component": "pulp.timer.timer_v2_impl", 7 | "hal_files" : [ "hal/timer/timer_v2.h" ], 8 | "archi_files" : [ "archi/timer/timer_v2.h" ] 9 | 10 | } -------------------------------------------------------------------------------- /tools/gap-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 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/uart/uart_v0.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 0 3 | } 4 | -------------------------------------------------------------------------------- /tools/gap-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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/udma/udma_v4.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 4, 3 | "archi" : 4, 4 | 5 | "vp_class": "pulp/udma/udma_v4", 6 | 7 | "nb_channels": 72 8 | } 9 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/vendors/dolphin/rtc.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "vp_class": "vendor/dolphin/rtc", 4 | "vp_component": "vendor/dolphin/rtc_impl" 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/vendors/iid/quiddikey_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | 5 | "vp_class": "pulp/quiddikey/quiddikey_v1", 6 | "vp_component": "pulp.soc_eu.soc_eu_v2_impl", 7 | "hal_files" : [ "hal/vendors/iid/quiddikey_v1.h" ], 8 | "archi_files" : [ "archi/vendors/iid/quiddikey_v1.h" ] 9 | 10 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/vendors/lnt/csi2_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | 4 | 5 | "vp_class": "pulp/lnt/csi2_v1", 6 | "hal_files" : [ "hal/vendors/lnt/csi2_v1.h" ], 7 | "archi_files" : [ "archi/vendors/lnt/csi2_v1.h" ] 8 | 9 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/vivosoc3/padframe.json: -------------------------------------------------------------------------------- 1 | { 2 | "nb_alternate": 4, 3 | 4 | "version": 1, 5 | 6 | "default_profile": "default", 7 | 8 | "profiles": { 9 | "default": { 10 | "alternates": [ ] 11 | } 12 | }, 13 | 14 | "pads": { 15 | 16 | }, 17 | 18 | "groups": { 19 | "rf": {}, 20 | "spim0": {}, 21 | "spim1": {}, 22 | "i2c0": {}, 23 | "i2c1": {}, 24 | "i2s0": {}, 25 | "i2s1": {}, 26 | "spis": {}, 27 | "cpi": {}, 28 | "reset": {}, 29 | "jtag": {}, 30 | "hyper": {}, 31 | "timer0": {}, 32 | "timer1": {}, 33 | "timer2": {}, 34 | "timer3": {}, 35 | "xtal": {} 36 | } 37 | 38 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/ips/xne/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 | "vp_component": "pulp.hwpe.xne.xne_v1_impl" 9 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/camera.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "model": "himax", 4 | "module": "camera.so", 5 | "color-mode": "gray" 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/dpi_wrapper.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "utils/dpi_wrapper", 3 | "vp_component": "utils.dpi_wrapper_impl" 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/eeprom.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "module": "eeprom.so", 4 | "mem_size": 65536, 5 | "verbose": false 6 | } -------------------------------------------------------------------------------- /tools/gap-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 | } -------------------------------------------------------------------------------- /tools/gap-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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/hyperram.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "hyperram", 3 | "size": "0x00800000" 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/i2s_microphone.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "module": "i2s_microphone.so", 4 | "verbose": false, 5 | "width": 16, 6 | "ddr": false, 7 | "pdm": true, 8 | "toggle_channel": false, 9 | "stim_left": null, 10 | "stim_right": null, 11 | "frequency": 0 12 | } -------------------------------------------------------------------------------- /tools/gap-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 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/olds/microphone.json: -------------------------------------------------------------------------------- 1 | { 2 | "model": "i2s", 3 | "width": 16, 4 | "pdm": "true", 5 | "dual": "false", 6 | "freq": 44100, 7 | "stim_left": null, 8 | "stim_right": null, 9 | "help": { 10 | "width": "Width of the samples in the stimuli files. Only needed when stimuli are not a wav file.", 11 | "dual": "Activate dual mode with left and right channels.", 12 | "stim_left": "Stimuli file for left channel.", 13 | "stim_right": "Stimuli file for right channel.", 14 | "freq": "Sample frequency for the given stimuli. Only needed when stimuli are not a wav file.", 15 | "pdm": "Activate PDM mode." 16 | }, 17 | "model_options": [ "width", "pdm", "dual", "freq", "stim_left", "stim_right" ] 18 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/ov7670.json: -------------------------------------------------------------------------------- 1 | { 2 | "model": "ov7670", 3 | "width": 320, 4 | "height": 240, 5 | "image": [], 6 | "frequency": 1000000, 7 | "activeDelay": 120000000 8 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/spiflash.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "devices/spiflash/spiflash", 3 | "vp_component": "devices.spiflash.spiflash_impl", 4 | 5 | "type": "spiflash", 6 | "size": "0x00800000", 7 | "fs": { 8 | "files": [], 9 | "encrypt": false, 10 | "aes_key": 0, 11 | "aes_iv": 0 12 | } 13 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/spim_verif.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "module": "spim_tb.so", 4 | "mem_size": 1048576, 5 | "verbose": false 6 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/periph/uart_tb.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dpi", 3 | "module": "uart.so", 4 | "verbose": false, 5 | "baudrate": 625000, 6 | "loopback": false, 7 | "stdout": true, 8 | "tx_file": "tx_uart.log" 9 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/platforms/board.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "platform_class": "plp_board_runner" 4 | } 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/platforms/fpga.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "platform_class": "runner/fpga/runner" 4 | } 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/platforms/netlist.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "platform_class": "runner/rtl/runner" 4 | }, 5 | 6 | "vsim": { 7 | "help": { 8 | "gui": "Open modelsim using the GUI.", 9 | "simchecker": "Activate instruction checking through golden model.", 10 | "script": "Specify the script used to launch the platform" 11 | }, 12 | "model": "netlist", 13 | "script": "run.tcl", 14 | "gui": false, 15 | "simchecker": false, 16 | "args": [], 17 | "tcl_args": [], 18 | "vsim_runner_class": "runner/rtl/vsim_runner", 19 | "xcelium_runner_class": "runner/rtl/xcelium_runner" 20 | } 21 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/platforms/pgpin.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "name": "pgpin", 4 | 5 | "platform_class": "runner/rtl/runner" 6 | }, 7 | 8 | "vsim": { 9 | "help": { 10 | "gui": "Open modelsim using the GUI.", 11 | "simchecker": "Activate instruction checking through golden model.", 12 | "script": "Specify the script used to launch the platform" 13 | }, 14 | "model": "pgpin", 15 | "script": "run.tcl", 16 | "gui": false, 17 | "simchecker": false, 18 | "args": [], 19 | "tcl_args": [], 20 | "vsim_runner_class": "runner/rtl/vsim_runner", 21 | "xcelium_runner_class": "runner/rtl/xcelium_runner" 22 | } 23 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/platforms/rtl.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner": { 3 | "platform_class": "runner/rtl/runner" 4 | }, 5 | 6 | "vsim": { 7 | "help": { 8 | "gui": "Open modelsim using the GUI.", 9 | "simchecker": "Activate instruction checking through golden model.", 10 | "script": "Specify the script used to launch the platform" 11 | }, 12 | "model": "rtl", 13 | "script": "run.tcl", 14 | "gui": false, 15 | "simchecker": false, 16 | "args": [], 17 | "tcl_args": [], 18 | "vsim_runner_class": "runner/rtl/vsim_runner", 19 | "xcelium_runner_class": "runner/rtl/xcelium_runner" 20 | } 21 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/core/riscy.json: -------------------------------------------------------------------------------- 1 | { 2 | "clock_gated": { 3 | "@includes@": [ "power_models/core/values/clock_gated.json" ] 4 | }, 5 | "insn": { 6 | "@includes@": [ "power_models/core/values/insn.json" ] 7 | }, 8 | "leakage": { 9 | "@includes@": [ "power_models/core/values/leakage.json" ] 10 | } 11 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/core/values/clock_gated.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "W", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "0.0000016" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/core/values/insn.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "pJ", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "2.4854524" 10 | }, 11 | "1.1": { 12 | "any": "1.2" 13 | } 14 | } 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/core/values/leakage.json: -------------------------------------------------------------------------------- 1 | { 2 | "leakage": { 3 | "type": "linear", 4 | "unit": "W", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "0.000030" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/l1.json: -------------------------------------------------------------------------------- 1 | { 2 | "idle": { 3 | "@includes@": [ "power_models/l1/values/idle.json" ] 4 | }, 5 | "leakage": { 6 | "@includes@": [ "power_models/l1/values/leakage.json" ] 7 | }, 8 | "read_8": { 9 | "@includes@": [ "power_models/l1/values/read_8.json" ] 10 | }, 11 | "read_16": { 12 | "@includes@": [ "power_models/l1/values/read_16.json" ] 13 | }, 14 | "read_32": { 15 | "@includes@": [ "power_models/l1/values/read_32.json" ] 16 | }, 17 | "write_8": { 18 | "@includes@": [ "power_models/l1/values/write_8.json" ] 19 | }, 20 | "write_16": { 21 | "@includes@": [ "power_models/l1/values/write_16.json" ] 22 | }, 23 | "write_32": { 24 | "@includes@": [ "power_models/l1/values/write_32.json" ] 25 | } 26 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/idle.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "W", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "0.00000501264031" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/leakage.json: -------------------------------------------------------------------------------- 1 | { 2 | "leakage": { 3 | "type": "linear", 4 | "unit": "W", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "0.00001707210625" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/read_16.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "pJ", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "2.124280487" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/read_32.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "pJ", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "2.124280487" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/read_8.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "pJ", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "2.124280487" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/write_16.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "pJ", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "2.124280487" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/write_32.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "pJ", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "2.124280487" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/power_models/l1/values/write_8.json: -------------------------------------------------------------------------------- 1 | { 2 | "dynamic": { 3 | "type": "linear", 4 | "unit": "pJ", 5 | 6 | "values": { 7 | "25": { 8 | "1.2": { 9 | "any": "2.124280487" 10 | } 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/pulp_chip_common.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/pulp_system_common.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/debug-bridge/cable_ftdi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ftdi" :{ 3 | } 4 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/debug-bridge/cable_jtag-proxy.json: -------------------------------------------------------------------------------- 1 | { 2 | "jtag-proxy": { 3 | "port": 37539 4 | } 5 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/debug-bridge/debug_bridge.json: -------------------------------------------------------------------------------- 1 | { 2 | "cable": { 3 | "type": "jtag-proxy", 4 | "tap": 0, 5 | "@includes@": [ 6 | "tools/debug-bridge/cable_jtag-proxy.json", 7 | "tools/debug-bridge/cable_ftdi.json" 8 | ], 9 | "active": false, 10 | "autorun": false, 11 | "access_timeout_us": 1000000, 12 | "system_reset_gpio": 9, 13 | "jtag_reset_gpio": 8, 14 | "reverse_reset": false 15 | }, 16 | 17 | "adv_dbg_unit": { 18 | "debug_ir": "0x4" 19 | }, 20 | 21 | "boot-mode" : "default", 22 | "commands": "reset stop load ioloop reqloop start wait", 23 | "gdb_commands": "reset stop load ioloop reqloop start gdb wait" 24 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/openocd/openocd.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/plt_loader/plt_loader.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "utils/loader", 3 | "vp_component": "utils.loader_impl", 4 | "binaries": [] 5 | } 6 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/rt/rt.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "bench", 3 | "type" : "pulp-rt", 4 | "mode" : "rt", 5 | "stack_size" : 2048, 6 | "cl_master_stack_size" : 1024, 7 | "cl_slave_stack_size" : 1024, 8 | "io" : true, 9 | "warnings" : true, 10 | "werror" : true, 11 | "assert" : false, 12 | "trace" : false, 13 | "trace-level" : "trace", 14 | "traces" : "all", 15 | "libc" : false, 16 | "no-rt" : false, 17 | "no-link-script" : false, 18 | "no-crt0" : false, 19 | "cluster-start" : false, 20 | "openmp" : true, 21 | "openmp-rt" : "pulp-rt", 22 | "iodev" : "default", 23 | "user-sections" : [], 24 | "cflags" : [], 25 | "bsp": false, 26 | "iodevs" : { 27 | "default": { 28 | "value": "0" 29 | }, 30 | "uart": { 31 | "value": "1", 32 | "channel": "0", 33 | "baudrate": "115200" 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/runner/runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "help": { 3 | "py-stack": "Display the full python stack in case an exception is caught" 4 | }, 5 | "binaries": [], 6 | "verbose": false, 7 | "boot-mode": "jtag", 8 | "use_tb_comps": false, 9 | "use_external_tb": false, 10 | "active_tb_comps": [], 11 | "py-stack": false, 12 | "boot_from_flash": false, 13 | "flash_type": "spi", 14 | "flash_slm_file": "slm_files/flash_stim.slm", 15 | "rtl_simulator": "vsim", 16 | "simulator": "vsim", 17 | "aes_key": "12345678275689075642768987654345", 18 | "aes_iv": "0987654323456789" 19 | } -------------------------------------------------------------------------------- /tools/gap-configs/configs/tools/vp/injector.json: -------------------------------------------------------------------------------- 1 | { 2 | "vp_class": "utils/injector", 3 | "vp_component": "utils.injector_impl", 4 | 5 | "rcv_fd": -1, 6 | "snd_fd": -1 7 | } -------------------------------------------------------------------------------- /tools/gap-configs/python/generators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gap-configs/python/generators/__init__.py -------------------------------------------------------------------------------- /tools/gap-configs/python/generators/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gap-configs/python/generators/v1/__init__.py -------------------------------------------------------------------------------- /tools/gap-configs/python/generators/v1/config_gen.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2018 ETH Zurich, University of Bologna and 3 | # GreenWaves Technologies 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | import generators.v1.top_gen as top_gen 19 | 20 | 21 | 22 | def get_config(tp): 23 | 24 | result = top_gen.get_config(tp) 25 | 26 | config = tp.get('config') 27 | if config is not None: 28 | result.merge(config) 29 | 30 | return result 31 | -------------------------------------------------------------------------------- /tools/gap-configs/python/generators/v1/config_rtl_gen.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2018 ETH Zurich, University of Bologna and 3 | # GreenWaves Technologies 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | import generators.v1.top_rtl_gen as top_gen 19 | 20 | 21 | 22 | def get_config(tp): 23 | 24 | result = top_gen.get_config(tp) 25 | 26 | config = tp.get('config') 27 | if config is not None: 28 | result.merge(config) 29 | 30 | return result 31 | -------------------------------------------------------------------------------- /tools/gap-configs/python/generators/v1/devices/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gap-configs/python/generators/v1/devices/__init__.py -------------------------------------------------------------------------------- /tools/gapy/README.md: -------------------------------------------------------------------------------- 1 | 2 | # Argcomplete - Bash tab completion for argparse 3 | 4 | 5 | Argcomplete provides easy, extensible command line tab completion of arguments for Gapy utility. 6 | 7 | * [Documentation](https://argcomplete.readthedocs.io/en/latest/) 8 | * [Project hosted on Github](https://github.com/kislyuk/argcomplete) 9 | -------------------------------------------------------------------------------- /tools/gapy/configs/boards/gap8_common.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "common.json", 3 | 4 | "gvsoc": { 5 | "runner_module": "gv.chips.gap8" 6 | }, 7 | 8 | "rtl": { 9 | "runner_module": "runner.rtl.chips.gap8" 10 | }, 11 | 12 | "runner": { 13 | "flash_devices": [ 14 | "target/board/devices/flash" 15 | ], 16 | "boot": { 17 | "mode": "flash", 18 | "device": "target/board/devices/flash" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/gapy/configs/boards/gap8_reva_common.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_common.json", 3 | 4 | "vsim": { 5 | "path_envvar": "PULP_RTL_GAP8" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tools/gapy/configs/boards/gap8_revb_common.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_common.json", 3 | 4 | "vsim": { 5 | "path_envvar": "PULP_RTL_GAP8_REVB" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tools/gapy/configs/boards/gap8_revc_common.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_common.json", 3 | 4 | "vsim": { 5 | "path_envvar": "PULP_RTL_GAP8_REVC" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tools/gapy/configs/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "gvsoc": { 3 | "@include@": "platforms/gvsoc.json" 4 | }, 5 | 6 | "rtl": { 7 | "@include@": "platforms/rtl.json" 8 | }, 9 | 10 | "board": { 11 | "@include@": "platforms/board.json" 12 | }, 13 | 14 | "fpga": { 15 | "@include@": "platforms/fpga.json" 16 | }, 17 | 18 | "gapy": { 19 | "@include@" : "tools/gapy.json" 20 | }, 21 | 22 | "openocd": { 23 | "remote": { 24 | "enabled": false, 25 | "ssh": null, 26 | "scp": null 27 | }, 28 | "@eval@": { 29 | "path": "os.environ.get('GAP_OPENOCD_PATH') if os.environ.get('GAP_OPENOCD_PATH') is not None else 'openocd'" 30 | } 31 | }, 32 | 33 | "runner": { 34 | "flash_devices": [ 35 | ], 36 | "boot": { 37 | "mode": "default", 38 | "device": null 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /tools/gapy/configs/devices/flash/spiflash.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Spiflash", 3 | 4 | "datasheet": { 5 | "type": "spi", 6 | "size": "16MB", 7 | "block-size": "4KB" 8 | }, 9 | 10 | "models": { 11 | "gvsoc": { 12 | 13 | }, 14 | "rtl": { 15 | "stimuli": { 16 | "format": "slm", 17 | "file": "slm_files/flash_stim.slm" 18 | } 19 | } 20 | }, 21 | 22 | "content": { 23 | } 24 | } -------------------------------------------------------------------------------- /tools/gapy/configs/platforms/board.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Board", 3 | 4 | "runner_module": "runner.board.board_runner" 5 | } -------------------------------------------------------------------------------- /tools/gapy/configs/platforms/fpga.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "FPGA", 3 | 4 | "runner_module": "runner.board.board_runner" 5 | } -------------------------------------------------------------------------------- /tools/gapy/configs/tools/gapy.json: -------------------------------------------------------------------------------- 1 | { 2 | "verbose": false 3 | } -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gapy/gen-debug-info -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info-src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16.3) 2 | 3 | project(gen-debug-info) 4 | 5 | include_directories( 6 | ${CMAKE_CURRENT_SOURCE_DIR}/ext 7 | ${CMAKE_CURRENT_BINARY_DIR} 8 | ) 9 | 10 | link_directories(${CMAKE_SOURCE_DIR}/ext) 11 | 12 | add_executable( 13 | gen-debug-info 14 | main.cpp 15 | ) 16 | 17 | target_link_libraries(gen-debug-info bfd iberty dl z) 18 | 19 | install(TARGETS gen-debug-info DESTINATION bin) 20 | -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info-src/ext/bfd/bfdver.h: -------------------------------------------------------------------------------- 1 | #define BFD_VERSION_DATE 20170505 2 | #define BFD_VERSION 228000000 3 | #define BFD_VERSION_STRING "(GNU Binutils) " "2.28.0.20170505" 4 | #define REPORT_BUGS_TO "" 5 | -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info-src/ext/bfd/libbfd.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gapy/gen-debug-info-src/ext/bfd/libbfd.a -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info-src/ext/bfd/stmp-bfd-h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gapy/gen-debug-info-src/ext/bfd/stmp-bfd-h -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info-src/ext/libbfd.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gapy/gen-debug-info-src/ext/libbfd.a -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info-src/ext/libiberty.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gapy/gen-debug-info-src/ext/libiberty.a -------------------------------------------------------------------------------- /tools/gapy/gen-debug-info-src/ext/xregex.h: -------------------------------------------------------------------------------- 1 | /* This file redefines all regex external names before including 2 | a renamed copy of glibc's regex.h. */ 3 | 4 | #ifndef _XREGEX_H 5 | #define _XREGEX_H 1 6 | 7 | # define regfree xregfree 8 | # define regexec xregexec 9 | # define regcomp xregcomp 10 | # define regerror xregerror 11 | # define regoff_t xregoff_t 12 | # define re_set_registers xre_set_registers 13 | # define re_match_2 xre_match_2 14 | # define re_match xre_match 15 | # define re_search xre_search 16 | # define re_compile_pattern xre_compile_pattern 17 | # define re_set_syntax xre_set_syntax 18 | # define re_search_2 xre_search_2 19 | # define re_compile_fastmap xre_compile_fastmap 20 | # define re_syntax_options xre_syntax_options 21 | # define re_max_failures xre_max_failures 22 | 23 | # define _REGEX_RE_COMP 24 | # define re_comp xre_comp 25 | # define re_exec xre_exec 26 | 27 | #include "xregex2.h" 28 | 29 | #endif /* xregex.h */ 30 | -------------------------------------------------------------------------------- /tools/gapy/partition/partitions_single_app.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap 3 | factory, app, factory, , 1M, 4 | -------------------------------------------------------------------------------- /tools/gapy/partition/partitions_single_app_phy.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap 3 | nvs, data, nvs, , 0x6000, 4 | phy_init, data, phy, , 0x1000, 5 | factory, app, factory, , 1M, 6 | -------------------------------------------------------------------------------- /tools/gapy/partition/partitions_two_ota.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap 3 | nvs, data, nvs, , 0x4000, 4 | otadata, data, ota, , 0x2000, 5 | phy_init, data, phy, , 0x1000, 6 | factory, app, factory, , 1M, 7 | ota_0, app, ota_0, , 1M, 8 | ota_1, app, ota_1, , 1M, 9 | -------------------------------------------------------------------------------- /tools/gapy/requirements.txt: -------------------------------------------------------------------------------- 1 | pyelftools>=0.24 2 | argparse>=1.4 3 | argcomplete 4 | six 5 | 6 | -------------------------------------------------------------------------------- /tools/gapy/rules/run.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Run tools for GAP 3 | # 4 | # Mathieu §Barbe - Greenwaves technologies 5 | # 6 | # 7 | # 8 | # Parameters: 9 | # - BUILDDIR : Input directory to load generated flash image. 10 | # - FLASH_IMAGE_NAME (optional): flash image name into $(BUILDDIR). By default $(APP).flash 11 | # 12 | 13 | # 14 | # Check parameters 15 | # 16 | 17 | ifndef BUILDDIR 18 | $(error Build output directory undefined (BUILDDIR undefined).) 19 | else 20 | ifeq ("$(BUILDDIR)", "") 21 | $(error Build output directory undefined (BUILDDIR is empty).) 22 | endif 23 | endif 24 | 25 | SHELL = /bin/bash 26 | 27 | GAPY ?= gapy 28 | 29 | FLASH_IMAGE_NAME ?= flash.img 30 | FLASH_IMAGE ?= $(BUILDDIR)/$(FLASH_IMAGE_NAME) 31 | 32 | # 33 | # Targets 34 | # 35 | 36 | ifeq ($(platform), gapuino) 37 | exec: 38 | $(GAPY) --target $(BOARD_NAME) run --binary $(BIN) board 39 | endif 40 | -------------------------------------------------------------------------------- /tools/gapy/runner/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/gapy/runner/__init__.py -------------------------------------------------------------------------------- /tools/gapy/runner/chips/pulp.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019 GreenWaves Technologies 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | import traces 18 | 19 | class Runner(object): 20 | 21 | def __init__(self, args, config, system): 22 | pass 23 | -------------------------------------------------------------------------------- /tools/gapy/targets/ai_deck.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revb_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/ai_deck.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/olimex-arm-usb-ocd-h.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapoc_a.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_reva_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapoc_a.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/olimex-arm-usb-ocd-h.cfg", 10 | "script": "target/gap8.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapoc_a_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revb_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapoc_a_revb.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/olimex-arm-usb-ocd-h.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapoc_a_v2_spi.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revb_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapoc_a_spi_revb.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/olimex-arm-usb-ocd-h.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapoc_b.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_reva_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapoc_b.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/olimex-arm-usb-ocd-h.cfg", 10 | "script": "target/gap8.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapoc_b_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revb_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapoc_b_revb.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/olimex-arm-usb-ocd-h.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapoc_b_v2_spi.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revb_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapoc_b_spi_revb.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/olimex-arm-usb-ocd-h.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapuino.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_reva_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapuino.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/gapuino_ftdi.cfg", 10 | "script": "target/gap8.tcl" 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapuino_spi.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_reva_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapuino_spi.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/gapuino_ftdi.cfg", 10 | "script": "target/gap8.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapuino_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revb_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapuino_revb.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/gapuino_ftdi.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapuino_v2_spi.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revb_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapuino_spi_revb.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/gapuino_ftdi.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapuino_v3.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revc_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapuino_revc.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/gapuino_ftdi.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/gapuino_v3_spi.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "boards/gap8_revc_common.json", 3 | 4 | "target": { 5 | "@includes@": [ "boards/gapuino_spi_revc.json" ] 6 | }, 7 | 8 | "openocd": { 9 | "cable": "interface/ftdi/gapuino_ftdi.cfg", 10 | "script": "target/gap8revb.tcl" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/gapy/targets/pulp.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "common.json", 3 | 4 | "gvsoc": { 5 | "runner_module": "gv.chips.pulp" 6 | }, 7 | 8 | "rtl": { 9 | "runner_module": "runner.rtl.chips.pulp" 10 | }, 11 | 12 | "target": { 13 | "@includes@": [ "chips/pulp/pulp.json" ] 14 | }, 15 | 16 | "runner": { 17 | "flash_devices": [ 18 | "target/board/devices/flash", 19 | "target/board/devices/spiflash" 20 | ], 21 | "boot": { 22 | "mode": "flash", 23 | "device": "target/board/devices/spiflash" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /tools/gapy/targets/pulp_nn.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "common.json", 3 | 4 | "gvsoc": { 5 | "runner_module": "gv.chips.pulp" 6 | }, 7 | 8 | "rtl": { 9 | "runner_module": "runner.rtl.chips.pulp" 10 | }, 11 | 12 | "target": { 13 | "@includes@": [ "chips/pulp/pulp_nn.json" ] 14 | }, 15 | 16 | "runner": { 17 | "flash_devices": [ 18 | "target/board/devices/flash", 19 | "target/board/devices/spiflash" 20 | ], 21 | "boot": { 22 | "mode": "flash", 23 | "device": "target/board/devices/spiflash" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /tools/gapy/targets/pulp_rnnext.json: -------------------------------------------------------------------------------- 1 | { 2 | "@include@": "common.json", 3 | 4 | "gvsoc": { 5 | "runner_module": "gv.chips.pulp" 6 | }, 7 | 8 | "rtl": { 9 | "runner_module": "runner.rtl.chips.pulp" 10 | }, 11 | 12 | "target": { 13 | "@includes@": [ "chips/pulp/pulp_rnnext.json" ] 14 | }, 15 | 16 | "runner": { 17 | "flash_devices": [ 18 | "target/board/devices/flash" 19 | ], 20 | "boot": { 21 | "mode": "flash", 22 | "device": "target/board/devices/flash" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tools/gapy/traces.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019 GreenWaves Technologies 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | import sys 18 | 19 | verbose = False 20 | def newLine(): 21 | info("") 22 | 23 | def critical(msg): 24 | """ Print critical message to stderr """ 25 | sys.stderr.write(msg) 26 | sys.stderr.write('\n') 27 | 28 | def info(msg): 29 | infoWithoutNewLine(msg + '\n') 30 | 31 | def infoWithoutNewLine(msg): 32 | if verbose: 33 | sys.stdout.write(msg) 34 | -------------------------------------------------------------------------------- /tools/jenkins/sdk_version.txt: -------------------------------------------------------------------------------- 1 | 02b61e14504b78af458843a065627174933ba6f9 2 | -------------------------------------------------------------------------------- /tools/json-tools/python/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/json-tools/python/__init__.py -------------------------------------------------------------------------------- /tools/pulp-debug-bridge/bin/flasher-gap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/pulp-sdk/7f4f22516157a1b7c55bcbbc72ca81326180b3b4/tools/pulp-debug-bridge/bin/flasher-gap --------------------------------------------------------------------------------