From 8fdb2a784e44b144f53de2ba096d83e61e5cd6ea Mon Sep 17 00:00:00 2001 From: stnolting Date: Sat, 29 Mar 2025 20:58:12 +0100 Subject: [PATCH] [vivad_ip] add new hw spinlock configuration --- rtl/system_integration/neorv32_vivado_ip.tcl | 5 +++++ rtl/system_integration/neorv32_vivado_ip.vhd | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/rtl/system_integration/neorv32_vivado_ip.tcl b/rtl/system_integration/neorv32_vivado_ip.tcl index 2a9dff61..c330d80f 100644 --- a/rtl/system_integration/neorv32_vivado_ip.tcl +++ b/rtl/system_integration/neorv32_vivado_ip.tcl @@ -409,6 +409,11 @@ proc setup_ip_gui {} { add_params $group { { IO_CRC_EN {Enable CRC} } } + + set group [add_group $page {Hardware Spinlocks (HWSPINLOCK)}] + add_params $group { + { IO_HWSPINLOCK_EN {Implement 32 HW-based spinlocks} } + } } setup_ip_gui diff --git a/rtl/system_integration/neorv32_vivado_ip.vhd b/rtl/system_integration/neorv32_vivado_ip.vhd index 915cfb23..40587f49 100644 --- a/rtl/system_integration/neorv32_vivado_ip.vhd +++ b/rtl/system_integration/neorv32_vivado_ip.vhd @@ -129,7 +129,9 @@ entity neorv32_vivado_ip is IO_SLINK_EN : boolean := false; IO_SLINK_RX_FIFO : natural range 1 to 2**15 := 1; IO_SLINK_TX_FIFO : natural range 1 to 2**15 := 1; - IO_CRC_EN : boolean := false + IO_CRC_EN : boolean := false; + IO_HWSPINLOCK_EN : boolean := false + ); port ( -- ------------------------------------------------------------ @@ -439,7 +441,8 @@ begin IO_SLINK_EN => IO_SLINK_EN, IO_SLINK_RX_FIFO => IO_SLINK_RX_FIFO, IO_SLINK_TX_FIFO => IO_SLINK_TX_FIFO, - IO_CRC_EN => IO_CRC_EN + IO_CRC_EN => IO_CRC_EN, + IO_HWSPINLOCK_EN => IO_HWSPINLOCK_EN ) port map ( -- Global control --