feat: add CLINT peripheral support and related enhancements

- Updated the formal file list generator to include CLINT source files.
- Added CLINT timebase to the clock and reset domains configuration.
- Enhanced the SOC topology generation to include CLINT interrupts and their mappings.
- Introduced a new CLINT testbench to validate multi-hart and timebase functionality.
- Modified the software build configuration to define CLINT timebase frequency.
- Updated the RCU module to integrate CLINT timebase generation.
- Adjusted the IRQ configuration to reflect changes in CLINT interrupt signals.
- Added user-visible flags for interrupts in the topology configuration.
- Enhanced the clock reset domain checks to include CLINT timebase.
- Updated the memory map tests to validate CLINT peripheral integration.
This commit is contained in:
maksyuki committed 2026-08-08 13:31:48 +08:00
1 parent 3aa3d937e1
commit 4b40dbf262
55 files changed
+1706 -956

No files matched your search

@@ -1,12 +1,14 @@
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := YES
APP := coremark
COREMARK_MODE := standard
LINK_TYPE := ld2_all_sram
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := YES
APP := coremark
COREMARK_MODE := standard
LINK_TYPE := ld2_all_sram
+14 -12
View File
@@ -1,12 +1,14 @@
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := YES
APP := coremark
COREMARK_MODE := quick
LINK_TYPE := ld2_all_sram
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := YES
APP := coremark
COREMARK_MODE := quick
LINK_TYPE := ld2_all_sram
+13 -11
View File
@@ -1,11 +1,13 @@
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := NO
APP := benchmark
LINK_TYPE := ld2_sram
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := NO
APP := benchmark
LINK_TYPE := ld2_sram
+12 -10
View File
@@ -1,10 +1,12 @@
SOC := MINI
PDK := GF180
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
SOC := MINI
PDK := GF180
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
+12 -10
View File
@@ -1,10 +1,12 @@
SOC := MINI
PDK := ICS55
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
SOC := MINI
PDK := ICS55
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
+14 -12
View File
@@ -1,12 +1,14 @@
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := NO
APP := debug
FIRMWARE_NAME := retrosoc_debug
LINK_TYPE := ld2_sram
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := YES
HAVE_SRAM_MACRO := YES
PDK_BEHAV := YES
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := NO
APP := debug
FIRMWARE_NAME := retrosoc_debug
LINK_TYPE := ld2_sram
+12 -10
View File
@@ -1,10 +1,12 @@
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := YES
APP := shell
LINK_TYPE := ld2_psram
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := YES
APP := shell
LINK_TYPE := ld2_psram
+12 -10
View File
@@ -1,10 +1,12 @@
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
SOC := MINI
PDK := IHP130
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
+12 -10
View File
@@ -1,10 +1,12 @@
SOC := MINI
PDK := SKY130
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
SOC := MINI
PDK := SKY130
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
+12 -10
View File
@@ -1,10 +1,12 @@
SOC := MINI
PDK := ICS55
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram
SOC := MINI
PDK := ICS55
HAVE_PLL := NO
HAVE_SRAM_IF := NO
HAVE_SRAM_MACRO := NO
HAVE_SVA := NO
EXT_CLK_HZ := 72000000
CLINT_TIMEBASE_HZ := 1000000
ISA := RV32IM
HAVE_CSR := NO
APP := bringup
LINK_TYPE := ld2_psram