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 --