From 073d50d9dc0423c495db15d238e1933dcc9caa80 Mon Sep 17 00:00:00 2001 From: Alex Forencich <alex@alexforencich.com> Date: Wed, 30 Mar 2022 16:02:17 -0700 Subject: [PATCH] Round up default KEEP_WIDTH settings when DATA_WIDTH is not a multiple of 8 --- README.md | 2 +- rtl/axis_adapter.v | 4 ++-- rtl/axis_arb_mux.v | 2 +- rtl/axis_arb_mux_wrap.py | 2 +- rtl/axis_async_fifo.v | 2 +- rtl/axis_async_fifo_adapter.v | 4 ++-- rtl/axis_broadcast.v | 2 +- rtl/axis_broadcast_wrap.py | 2 +- rtl/axis_crosspoint.v | 2 +- rtl/axis_crosspoint_wrap.py | 2 +- rtl/axis_demux.v | 2 +- rtl/axis_demux_wrap.py | 2 +- rtl/axis_fifo.v | 2 +- rtl/axis_fifo_adapter.v | 4 ++-- rtl/axis_frame_len.v | 2 +- rtl/axis_frame_length_adjust.v | 2 +- rtl/axis_frame_length_adjust_fifo.v | 2 +- rtl/axis_mux.v | 2 +- rtl/axis_mux_wrap.py | 2 +- rtl/axis_pipeline_fifo.v | 2 +- rtl/axis_pipeline_register.v | 2 +- rtl/axis_ram_switch.v | 4 ++-- rtl/axis_ram_switch_wrap.py | 4 ++-- rtl/axis_rate_limit.v | 2 +- rtl/axis_register.v | 2 +- rtl/axis_srl_fifo.v | 2 +- rtl/axis_srl_register.v | 2 +- rtl/axis_stat_counter.v | 2 +- rtl/axis_switch.v | 2 +- rtl/axis_switch_wrap.py | 2 +- rtl/axis_tap.v | 2 +- tb/axis_adapter/Makefile | 4 ++-- tb/axis_adapter/test_axis_adapter.py | 4 ++-- tb/axis_arb_mux/Makefile | 2 +- tb/axis_arb_mux/test_axis_arb_mux.py | 2 +- tb/axis_async_fifo/Makefile | 2 +- tb/axis_async_fifo/test_axis_async_fifo.py | 2 +- tb/axis_async_fifo_adapter/Makefile | 4 ++-- tb/axis_async_fifo_adapter/test_axis_async_fifo_adapter.py | 4 ++-- tb/axis_broadcast/Makefile | 2 +- tb/axis_broadcast/test_axis_broadcast.py | 2 +- tb/axis_demux/Makefile | 2 +- tb/axis_demux/test_axis_demux.py | 2 +- tb/axis_fifo/Makefile | 2 +- tb/axis_fifo/test_axis_fifo.py | 2 +- tb/axis_fifo_adapter/Makefile | 4 ++-- tb/axis_fifo_adapter/test_axis_fifo_adapter.py | 4 ++-- tb/axis_frame_length_adjust/Makefile | 2 +- tb/axis_frame_length_adjust/test_axis_frame_length_adjust.py | 2 +- tb/axis_frame_length_adjust_fifo/Makefile | 2 +- .../test_axis_frame_length_adjust_fifo.py | 2 +- tb/axis_mux/Makefile | 2 +- tb/axis_mux/test_axis_mux.py | 2 +- tb/axis_pipeline_fifo/Makefile | 2 +- tb/axis_pipeline_fifo/test_axis_pipeline_fifo.py | 2 +- tb/axis_pipeline_register/Makefile | 2 +- tb/axis_pipeline_register/test_axis_pipeline_register.py | 2 +- tb/axis_ram_switch/Makefile | 4 ++-- tb/axis_ram_switch/test_axis_ram_switch.py | 4 ++-- tb/axis_rate_limit/Makefile | 2 +- tb/axis_rate_limit/test_axis_rate_limit.py | 2 +- tb/axis_register/Makefile | 2 +- tb/axis_register/test_axis_register.py | 2 +- tb/axis_srl_fifo/Makefile | 2 +- tb/axis_srl_fifo/test_axis_srl_fifo.py | 2 +- tb/axis_srl_register/Makefile | 2 +- tb/axis_srl_register/test_axis_srl_register.py | 2 +- tb/axis_switch/Makefile | 2 +- tb/axis_switch/test_axis_switch.py | 2 +- 69 files changed, 82 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 8ea4b149..397ca505 100644 --- a/README.md +++ b/README.md @@ -205,7 +205,7 @@ Parametrizable priority encoder. DATA_WIDTH : width of tdata signal KEEP_ENABLE : enable tkeep signal (default DATA_WIDTH>8) - KEEP_WIDTH : width of tkeep signal (default DATA_WIDTH/8) + KEEP_WIDTH : width of tkeep signal (default (DATA_WIDTH+7)/8) LAST_ENABLE : enable tlast signal ID_ENABLE : enable tid signal ID_WIDTH : width of tid signal diff --git a/rtl/axis_adapter.v b/rtl/axis_adapter.v index cb332510..51aa226a 100644 --- a/rtl/axis_adapter.v +++ b/rtl/axis_adapter.v @@ -39,14 +39,14 @@ module axis_adapter # // If disabled, tkeep assumed to be 1'b1 parameter S_KEEP_ENABLE = (S_DATA_WIDTH>8), // tkeep signal width (words per cycle) on input interface - parameter S_KEEP_WIDTH = (S_DATA_WIDTH/8), + parameter S_KEEP_WIDTH = ((S_DATA_WIDTH+7)/8), // Width of output AXI stream interface in bits parameter M_DATA_WIDTH = 8, // Propagate tkeep signal on output interface // If disabled, tkeep assumed to be 1'b1 parameter M_KEEP_ENABLE = (M_DATA_WIDTH>8), // tkeep signal width (words per cycle) on output interface - parameter M_KEEP_WIDTH = (M_DATA_WIDTH/8), + parameter M_KEEP_WIDTH = ((M_DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_arb_mux.v b/rtl/axis_arb_mux.v index 83bdd4f6..43a588f4 100644 --- a/rtl/axis_arb_mux.v +++ b/rtl/axis_arb_mux.v @@ -40,7 +40,7 @@ module axis_arb_mux # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // input tid signal width diff --git a/rtl/axis_arb_mux_wrap.py b/rtl/axis_arb_mux_wrap.py index 091d3661..076d8a1a 100755 --- a/rtl/axis_arb_mux_wrap.py +++ b/rtl/axis_arb_mux_wrap.py @@ -75,7 +75,7 @@ module {{name}} # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // input tid signal width diff --git a/rtl/axis_async_fifo.v b/rtl/axis_async_fifo.v index 2d89f2da..4f1e3601 100644 --- a/rtl/axis_async_fifo.v +++ b/rtl/axis_async_fifo.v @@ -43,7 +43,7 @@ module axis_async_fifo # // If disabled, tkeep assumed to be 1'b1 parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_async_fifo_adapter.v b/rtl/axis_async_fifo_adapter.v index 76a293a6..848fcf50 100644 --- a/rtl/axis_async_fifo_adapter.v +++ b/rtl/axis_async_fifo_adapter.v @@ -43,14 +43,14 @@ module axis_async_fifo_adapter # // If disabled, tkeep assumed to be 1'b1 parameter S_KEEP_ENABLE = (S_DATA_WIDTH>8), // tkeep signal width (words per cycle) on input interface - parameter S_KEEP_WIDTH = (S_DATA_WIDTH/8), + parameter S_KEEP_WIDTH = ((S_DATA_WIDTH+7)/8), // Width of output AXI stream interface in bits parameter M_DATA_WIDTH = 8, // Propagate tkeep signal on output interface // If disabled, tkeep assumed to be 1'b1 parameter M_KEEP_ENABLE = (M_DATA_WIDTH>8), // tkeep signal width (words per cycle) on output interface - parameter M_KEEP_WIDTH = (M_DATA_WIDTH/8), + parameter M_KEEP_WIDTH = ((M_DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_broadcast.v b/rtl/axis_broadcast.v index 16137ea7..34fafd26 100644 --- a/rtl/axis_broadcast.v +++ b/rtl/axis_broadcast.v @@ -40,7 +40,7 @@ module axis_broadcast # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_broadcast_wrap.py b/rtl/axis_broadcast_wrap.py index e755a20e..acd31571 100755 --- a/rtl/axis_broadcast_wrap.py +++ b/rtl/axis_broadcast_wrap.py @@ -75,7 +75,7 @@ module {{name}} # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_crosspoint.v b/rtl/axis_crosspoint.v index c6574d26..7fde4ab4 100644 --- a/rtl/axis_crosspoint.v +++ b/rtl/axis_crosspoint.v @@ -42,7 +42,7 @@ module axis_crosspoint # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_crosspoint_wrap.py b/rtl/axis_crosspoint_wrap.py index f7396532..0646ec8a 100755 --- a/rtl/axis_crosspoint_wrap.py +++ b/rtl/axis_crosspoint_wrap.py @@ -81,7 +81,7 @@ module {{name}} # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_demux.v b/rtl/axis_demux.v index 796799e5..7edd757f 100644 --- a/rtl/axis_demux.v +++ b/rtl/axis_demux.v @@ -40,7 +40,7 @@ module axis_demux # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_demux_wrap.py b/rtl/axis_demux_wrap.py index 344c8bcb..bc731176 100755 --- a/rtl/axis_demux_wrap.py +++ b/rtl/axis_demux_wrap.py @@ -75,7 +75,7 @@ module {{name}} # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_fifo.v b/rtl/axis_fifo.v index bf3be6e1..c9314746 100644 --- a/rtl/axis_fifo.v +++ b/rtl/axis_fifo.v @@ -43,7 +43,7 @@ module axis_fifo # // If disabled, tkeep assumed to be 1'b1 parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_fifo_adapter.v b/rtl/axis_fifo_adapter.v index 7b43b007..095d6ce7 100644 --- a/rtl/axis_fifo_adapter.v +++ b/rtl/axis_fifo_adapter.v @@ -43,14 +43,14 @@ module axis_fifo_adapter # // If disabled, tkeep assumed to be 1'b1 parameter S_KEEP_ENABLE = (S_DATA_WIDTH>8), // tkeep signal width (words per cycle) on input interface - parameter S_KEEP_WIDTH = (S_DATA_WIDTH/8), + parameter S_KEEP_WIDTH = ((S_DATA_WIDTH+7)/8), // Width of output AXI stream interface in bits parameter M_DATA_WIDTH = 8, // Propagate tkeep signal on output interface // If disabled, tkeep assumed to be 1'b1 parameter M_KEEP_ENABLE = (M_DATA_WIDTH>8), // tkeep signal width (words per cycle) on output interface - parameter M_KEEP_WIDTH = (M_DATA_WIDTH/8), + parameter M_KEEP_WIDTH = ((M_DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_frame_len.v b/rtl/axis_frame_len.v index a1f75e5d..49ce097a 100644 --- a/rtl/axis_frame_len.v +++ b/rtl/axis_frame_len.v @@ -39,7 +39,7 @@ module axis_frame_len # // If disabled, tkeep assumed to be 1'b1 parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Width of length counter parameter LEN_WIDTH = 16 ) diff --git a/rtl/axis_frame_length_adjust.v b/rtl/axis_frame_length_adjust.v index 42550ad0..92fb2ec1 100644 --- a/rtl/axis_frame_length_adjust.v +++ b/rtl/axis_frame_length_adjust.v @@ -39,7 +39,7 @@ module axis_frame_length_adjust # // If disabled, tkeep assumed to be 1'b1 parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_frame_length_adjust_fifo.v b/rtl/axis_frame_length_adjust_fifo.v index a580cee9..f2bc4a06 100644 --- a/rtl/axis_frame_length_adjust_fifo.v +++ b/rtl/axis_frame_length_adjust_fifo.v @@ -39,7 +39,7 @@ module axis_frame_length_adjust_fifo # // If disabled, tkeep assumed to be 1'b1 parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_mux.v b/rtl/axis_mux.v index ba97d939..ab021d3e 100644 --- a/rtl/axis_mux.v +++ b/rtl/axis_mux.v @@ -40,7 +40,7 @@ module axis_mux # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_mux_wrap.py b/rtl/axis_mux_wrap.py index bc1b8325..00698cd0 100755 --- a/rtl/axis_mux_wrap.py +++ b/rtl/axis_mux_wrap.py @@ -75,7 +75,7 @@ module {{name}} # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/rtl/axis_pipeline_fifo.v b/rtl/axis_pipeline_fifo.v index 0da81457..4c194bf7 100644 --- a/rtl/axis_pipeline_fifo.v +++ b/rtl/axis_pipeline_fifo.v @@ -38,7 +38,7 @@ module axis_pipeline_fifo # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_pipeline_register.v b/rtl/axis_pipeline_register.v index 1e22ffcc..9715dca4 100644 --- a/rtl/axis_pipeline_register.v +++ b/rtl/axis_pipeline_register.v @@ -38,7 +38,7 @@ module axis_pipeline_register # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_ram_switch.v b/rtl/axis_ram_switch.v index ed831fe2..ac31dcca 100644 --- a/rtl/axis_ram_switch.v +++ b/rtl/axis_ram_switch.v @@ -52,13 +52,13 @@ module axis_ram_switch # // Propagate tkeep signal parameter S_KEEP_ENABLE = (S_DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter S_KEEP_WIDTH = (S_DATA_WIDTH/8), + parameter S_KEEP_WIDTH = ((S_DATA_WIDTH+7)/8), // Width of output AXI stream interfaces in bits parameter M_DATA_WIDTH = 8, // Propagate tkeep signal parameter M_KEEP_ENABLE = (M_DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter M_KEEP_WIDTH = (M_DATA_WIDTH/8), + parameter M_KEEP_WIDTH = ((M_DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // input tid signal width diff --git a/rtl/axis_ram_switch_wrap.py b/rtl/axis_ram_switch_wrap.py index 45adfed5..1dbd223a 100755 --- a/rtl/axis_ram_switch_wrap.py +++ b/rtl/axis_ram_switch_wrap.py @@ -91,13 +91,13 @@ module {{name}} # // Propagate tkeep signal parameter S_KEEP_ENABLE = (S_DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter S_KEEP_WIDTH = (S_DATA_WIDTH/8), + parameter S_KEEP_WIDTH = ((S_DATA_WIDTH+7)/8), // Width of output AXI stream interfaces in bits parameter M_DATA_WIDTH = 8, // Propagate tkeep signal parameter M_KEEP_ENABLE = (M_DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter M_KEEP_WIDTH = (M_DATA_WIDTH/8), + parameter M_KEEP_WIDTH = ((M_DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // input tid signal width diff --git a/rtl/axis_rate_limit.v b/rtl/axis_rate_limit.v index 3f91b4cb..24ec9546 100644 --- a/rtl/axis_rate_limit.v +++ b/rtl/axis_rate_limit.v @@ -39,7 +39,7 @@ module axis_rate_limit # // If disabled, tkeep assumed to be 1'b1 parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_register.v b/rtl/axis_register.v index fbd245c1..7e8f1093 100644 --- a/rtl/axis_register.v +++ b/rtl/axis_register.v @@ -38,7 +38,7 @@ module axis_register # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_srl_fifo.v b/rtl/axis_srl_fifo.v index e0cc4164..7eabf8f4 100644 --- a/rtl/axis_srl_fifo.v +++ b/rtl/axis_srl_fifo.v @@ -38,7 +38,7 @@ module axis_srl_fifo # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_srl_register.v b/rtl/axis_srl_register.v index 4bfaeaaf..f0e9efee 100644 --- a/rtl/axis_srl_register.v +++ b/rtl/axis_srl_register.v @@ -38,7 +38,7 @@ module axis_srl_register # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tlast signal parameter LAST_ENABLE = 1, // Propagate tid signal diff --git a/rtl/axis_stat_counter.v b/rtl/axis_stat_counter.v index c59c441b..cc047608 100644 --- a/rtl/axis_stat_counter.v +++ b/rtl/axis_stat_counter.v @@ -39,7 +39,7 @@ module axis_stat_counter # // If disabled, tkeep assumed to be 1'b1 parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Prepend data with tag parameter TAG_ENABLE = 1, // Tag field width diff --git a/rtl/axis_switch.v b/rtl/axis_switch.v index c949b700..d791294b 100644 --- a/rtl/axis_switch.v +++ b/rtl/axis_switch.v @@ -42,7 +42,7 @@ module axis_switch # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // input tid signal width diff --git a/rtl/axis_switch_wrap.py b/rtl/axis_switch_wrap.py index 0af37e02..e3e13dc3 100755 --- a/rtl/axis_switch_wrap.py +++ b/rtl/axis_switch_wrap.py @@ -81,7 +81,7 @@ module {{name}} # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // input tid signal width diff --git a/rtl/axis_tap.v b/rtl/axis_tap.v index a9c7e19e..13966adc 100644 --- a/rtl/axis_tap.v +++ b/rtl/axis_tap.v @@ -38,7 +38,7 @@ module axis_tap # // Propagate tkeep signal parameter KEEP_ENABLE = (DATA_WIDTH>8), // tkeep signal width (words per cycle) - parameter KEEP_WIDTH = (DATA_WIDTH/8), + parameter KEEP_WIDTH = ((DATA_WIDTH+7)/8), // Propagate tid signal parameter ID_ENABLE = 0, // tid signal width diff --git a/tb/axis_adapter/Makefile b/tb/axis_adapter/Makefile index af559301..621657d7 100644 --- a/tb/axis_adapter/Makefile +++ b/tb/axis_adapter/Makefile @@ -34,10 +34,10 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_S_DATA_WIDTH ?= 8 export PARAM_S_KEEP_ENABLE ?= $(shell expr $(PARAM_S_DATA_WIDTH) \> 8 ) -export PARAM_S_KEEP_WIDTH ?= $(shell expr $(PARAM_S_DATA_WIDTH) / 8 ) +export PARAM_S_KEEP_WIDTH ?= $(shell expr \( $(PARAM_S_DATA_WIDTH) + 7 \) / 8 ) export PARAM_M_DATA_WIDTH ?= 8 export PARAM_M_KEEP_ENABLE ?= $(shell expr $(PARAM_M_DATA_WIDTH) \> 8 ) -export PARAM_M_KEEP_WIDTH ?= $(shell expr $(PARAM_M_DATA_WIDTH) / 8 ) +export PARAM_M_KEEP_WIDTH ?= $(shell expr \( $(PARAM_M_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_adapter/test_axis_adapter.py b/tb/axis_adapter/test_axis_adapter.py index addc7274..5997d61e 100644 --- a/tb/axis_adapter/test_axis_adapter.py +++ b/tb/axis_adapter/test_axis_adapter.py @@ -227,10 +227,10 @@ def test_axis_register(request, s_data_width, m_data_width): parameters['S_DATA_WIDTH'] = s_data_width parameters['S_KEEP_ENABLE'] = int(parameters['S_DATA_WIDTH'] > 8) - parameters['S_KEEP_WIDTH'] = parameters['S_DATA_WIDTH'] // 8 + parameters['S_KEEP_WIDTH'] = (parameters['S_DATA_WIDTH'] + 7) // 8 parameters['M_DATA_WIDTH'] = m_data_width parameters['M_KEEP_ENABLE'] = int(parameters['M_DATA_WIDTH'] > 8) - parameters['M_KEEP_WIDTH'] = parameters['M_DATA_WIDTH'] // 8 + parameters['M_KEEP_WIDTH'] = (parameters['M_DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_arb_mux/Makefile b/tb/axis_arb_mux/Makefile index 962af950..936f22b1 100644 --- a/tb/axis_arb_mux/Makefile +++ b/tb/axis_arb_mux/Makefile @@ -40,7 +40,7 @@ VERILOG_SOURCES += ../../rtl/priority_encoder.v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_S_ID_WIDTH ?= 8 export PARAM_M_ID_WIDTH ?= $(shell python -c "print($(PARAM_S_ID_WIDTH) + ($(PORTS)-1).bit_length())") diff --git a/tb/axis_arb_mux/test_axis_arb_mux.py b/tb/axis_arb_mux/test_axis_arb_mux.py index ec23a41c..187964b3 100644 --- a/tb/axis_arb_mux/test_axis_arb_mux.py +++ b/tb/axis_arb_mux/test_axis_arb_mux.py @@ -344,7 +344,7 @@ def test_axis_arb_mux(request, ports, data_width, round_robin): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['S_ID_WIDTH'] = 8 parameters['M_ID_WIDTH'] = parameters['S_ID_WIDTH'] + (ports-1).bit_length() diff --git a/tb/axis_async_fifo/Makefile b/tb/axis_async_fifo/Makefile index 75efe994..f301f8b4 100644 --- a/tb/axis_async_fifo/Makefile +++ b/tb/axis_async_fifo/Makefile @@ -35,7 +35,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v export PARAM_DEPTH ?= 1024 export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_async_fifo/test_axis_async_fifo.py b/tb/axis_async_fifo/test_axis_async_fifo.py index 223a7e36..fb3026d8 100644 --- a/tb/axis_async_fifo/test_axis_async_fifo.py +++ b/tb/axis_async_fifo/test_axis_async_fifo.py @@ -539,7 +539,7 @@ def test_axis_async_fifo(request, data_width, frame_fifo, drop_oversize_frame, d parameters['DEPTH'] = 1024 parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_async_fifo_adapter/Makefile b/tb/axis_async_fifo_adapter/Makefile index 1471541e..c193ebb0 100644 --- a/tb/axis_async_fifo_adapter/Makefile +++ b/tb/axis_async_fifo_adapter/Makefile @@ -37,10 +37,10 @@ VERILOG_SOURCES += ../../rtl/axis_adapter.v export PARAM_DEPTH ?= 1024 export PARAM_S_DATA_WIDTH ?= 8 export PARAM_S_KEEP_ENABLE ?= $(shell expr $(PARAM_S_DATA_WIDTH) \> 8 ) -export PARAM_S_KEEP_WIDTH ?= $(shell expr $(PARAM_S_DATA_WIDTH) / 8 ) +export PARAM_S_KEEP_WIDTH ?= $(shell expr \( $(PARAM_S_DATA_WIDTH) + 7 \) / 8 ) export PARAM_M_DATA_WIDTH ?= 8 export PARAM_M_KEEP_ENABLE ?= $(shell expr $(PARAM_M_DATA_WIDTH) \> 8 ) -export PARAM_M_KEEP_WIDTH ?= $(shell expr $(PARAM_M_DATA_WIDTH) / 8 ) +export PARAM_M_KEEP_WIDTH ?= $(shell expr \( $(PARAM_M_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_async_fifo_adapter/test_axis_async_fifo_adapter.py b/tb/axis_async_fifo_adapter/test_axis_async_fifo_adapter.py index 6ff2ac88..bae15ef0 100644 --- a/tb/axis_async_fifo_adapter/test_axis_async_fifo_adapter.py +++ b/tb/axis_async_fifo_adapter/test_axis_async_fifo_adapter.py @@ -536,10 +536,10 @@ def test_axis_async_fifo_adapter(request, s_data_width, m_data_width, frame_fifo parameters['DEPTH'] = 1024 parameters['S_DATA_WIDTH'] = s_data_width parameters['S_KEEP_ENABLE'] = int(parameters['S_DATA_WIDTH'] > 8) - parameters['S_KEEP_WIDTH'] = parameters['S_DATA_WIDTH'] // 8 + parameters['S_KEEP_WIDTH'] = (parameters['S_DATA_WIDTH'] + 7) // 8 parameters['M_DATA_WIDTH'] = m_data_width parameters['M_KEEP_ENABLE'] = int(parameters['M_DATA_WIDTH'] > 8) - parameters['M_KEEP_WIDTH'] = parameters['M_DATA_WIDTH'] // 8 + parameters['M_KEEP_WIDTH'] = (parameters['M_DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_broadcast/Makefile b/tb/axis_broadcast/Makefile index 8bd2282a..7b66215c 100644 --- a/tb/axis_broadcast/Makefile +++ b/tb/axis_broadcast/Makefile @@ -38,7 +38,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_broadcast/test_axis_broadcast.py b/tb/axis_broadcast/test_axis_broadcast.py index 8bc7ac9a..caca5188 100644 --- a/tb/axis_broadcast/test_axis_broadcast.py +++ b/tb/axis_broadcast/test_axis_broadcast.py @@ -170,7 +170,7 @@ def test_axis_broadcast(request, ports, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_demux/Makefile b/tb/axis_demux/Makefile index 6fd45472..8822019d 100644 --- a/tb/axis_demux/Makefile +++ b/tb/axis_demux/Makefile @@ -38,7 +38,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 export PARAM_DEST_ENABLE ?= 1 diff --git a/tb/axis_demux/test_axis_demux.py b/tb/axis_demux/test_axis_demux.py index 832b0211..bce6b471 100644 --- a/tb/axis_demux/test_axis_demux.py +++ b/tb/axis_demux/test_axis_demux.py @@ -186,7 +186,7 @@ def test_axis_demux(request, ports, data_width, tdest_route): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_fifo/Makefile b/tb/axis_fifo/Makefile index 9073da6c..fabad14d 100644 --- a/tb/axis_fifo/Makefile +++ b/tb/axis_fifo/Makefile @@ -35,7 +35,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v export PARAM_DEPTH ?= 1024 export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_fifo/test_axis_fifo.py b/tb/axis_fifo/test_axis_fifo.py index 61b5351d..db13ca87 100644 --- a/tb/axis_fifo/test_axis_fifo.py +++ b/tb/axis_fifo/test_axis_fifo.py @@ -329,7 +329,7 @@ def test_axis_fifo(request, data_width, frame_fifo, drop_oversize_frame, drop_ba parameters['DEPTH'] = 1024 parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_fifo_adapter/Makefile b/tb/axis_fifo_adapter/Makefile index 786c51c5..86e3f2f3 100644 --- a/tb/axis_fifo_adapter/Makefile +++ b/tb/axis_fifo_adapter/Makefile @@ -37,10 +37,10 @@ VERILOG_SOURCES += ../../rtl/axis_adapter.v export PARAM_DEPTH ?= 1024 export PARAM_S_DATA_WIDTH ?= 8 export PARAM_S_KEEP_ENABLE ?= $(shell expr $(PARAM_S_DATA_WIDTH) \> 8 ) -export PARAM_S_KEEP_WIDTH ?= $(shell expr $(PARAM_S_DATA_WIDTH) / 8 ) +export PARAM_S_KEEP_WIDTH ?= $(shell expr \( $(PARAM_S_DATA_WIDTH) + 7 \) / 8 ) export PARAM_M_DATA_WIDTH ?= 8 export PARAM_M_KEEP_ENABLE ?= $(shell expr $(PARAM_M_DATA_WIDTH) \> 8 ) -export PARAM_M_KEEP_WIDTH ?= $(shell expr $(PARAM_M_DATA_WIDTH) / 8 ) +export PARAM_M_KEEP_WIDTH ?= $(shell expr \( $(PARAM_M_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_fifo_adapter/test_axis_fifo_adapter.py b/tb/axis_fifo_adapter/test_axis_fifo_adapter.py index 6ff21ca9..bc3fc76e 100644 --- a/tb/axis_fifo_adapter/test_axis_fifo_adapter.py +++ b/tb/axis_fifo_adapter/test_axis_fifo_adapter.py @@ -332,10 +332,10 @@ def test_axis_fifo_adapter(request, s_data_width, m_data_width, frame_fifo, drop parameters['DEPTH'] = 1024 parameters['S_DATA_WIDTH'] = s_data_width parameters['S_KEEP_ENABLE'] = int(parameters['S_DATA_WIDTH'] > 8) - parameters['S_KEEP_WIDTH'] = parameters['S_DATA_WIDTH'] // 8 + parameters['S_KEEP_WIDTH'] = (parameters['S_DATA_WIDTH'] + 7) // 8 parameters['M_DATA_WIDTH'] = m_data_width parameters['M_KEEP_ENABLE'] = int(parameters['M_DATA_WIDTH'] > 8) - parameters['M_KEEP_WIDTH'] = parameters['M_DATA_WIDTH'] // 8 + parameters['M_KEEP_WIDTH'] = (parameters['M_DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_frame_length_adjust/Makefile b/tb/axis_frame_length_adjust/Makefile index 0cec922d..abe6052c 100644 --- a/tb/axis_frame_length_adjust/Makefile +++ b/tb/axis_frame_length_adjust/Makefile @@ -34,7 +34,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 export PARAM_DEST_ENABLE ?= 1 diff --git a/tb/axis_frame_length_adjust/test_axis_frame_length_adjust.py b/tb/axis_frame_length_adjust/test_axis_frame_length_adjust.py index 5817f5c0..260c9fe5 100644 --- a/tb/axis_frame_length_adjust/test_axis_frame_length_adjust.py +++ b/tb/axis_frame_length_adjust/test_axis_frame_length_adjust.py @@ -214,7 +214,7 @@ def test_axis_frame_length_adjust(request, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_frame_length_adjust_fifo/Makefile b/tb/axis_frame_length_adjust_fifo/Makefile index ed886c2a..59b5d822 100644 --- a/tb/axis_frame_length_adjust_fifo/Makefile +++ b/tb/axis_frame_length_adjust_fifo/Makefile @@ -36,7 +36,7 @@ VERILOG_SOURCES += ../../rtl/axis_fifo.v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 export PARAM_DEST_ENABLE ?= 1 diff --git a/tb/axis_frame_length_adjust_fifo/test_axis_frame_length_adjust_fifo.py b/tb/axis_frame_length_adjust_fifo/test_axis_frame_length_adjust_fifo.py index b3403cd0..0ad01cf8 100644 --- a/tb/axis_frame_length_adjust_fifo/test_axis_frame_length_adjust_fifo.py +++ b/tb/axis_frame_length_adjust_fifo/test_axis_frame_length_adjust_fifo.py @@ -306,7 +306,7 @@ def test_axis_frame_length_adjust_fifo(request, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_mux/Makefile b/tb/axis_mux/Makefile index 5323a4d3..247a0784 100644 --- a/tb/axis_mux/Makefile +++ b/tb/axis_mux/Makefile @@ -38,7 +38,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 export PARAM_DEST_ENABLE ?= 1 diff --git a/tb/axis_mux/test_axis_mux.py b/tb/axis_mux/test_axis_mux.py index 217b03ce..d722acf1 100644 --- a/tb/axis_mux/test_axis_mux.py +++ b/tb/axis_mux/test_axis_mux.py @@ -206,7 +206,7 @@ def test_axis_mux(request, ports, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 parameters['DEST_ENABLE'] = 1 diff --git a/tb/axis_pipeline_fifo/Makefile b/tb/axis_pipeline_fifo/Makefile index cfb36c0b..a356a55e 100644 --- a/tb/axis_pipeline_fifo/Makefile +++ b/tb/axis_pipeline_fifo/Makefile @@ -34,7 +34,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_pipeline_fifo/test_axis_pipeline_fifo.py b/tb/axis_pipeline_fifo/test_axis_pipeline_fifo.py index 830b0337..57559857 100644 --- a/tb/axis_pipeline_fifo/test_axis_pipeline_fifo.py +++ b/tb/axis_pipeline_fifo/test_axis_pipeline_fifo.py @@ -317,7 +317,7 @@ def test_axis_pipeline_fifo(request, length, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_pipeline_register/Makefile b/tb/axis_pipeline_register/Makefile index b635f728..13e6e6cf 100644 --- a/tb/axis_pipeline_register/Makefile +++ b/tb/axis_pipeline_register/Makefile @@ -35,7 +35,7 @@ VERILOG_SOURCES += ../../rtl/axis_register.v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_pipeline_register/test_axis_pipeline_register.py b/tb/axis_pipeline_register/test_axis_pipeline_register.py index a971e8e1..2ea13bf5 100644 --- a/tb/axis_pipeline_register/test_axis_pipeline_register.py +++ b/tb/axis_pipeline_register/test_axis_pipeline_register.py @@ -229,7 +229,7 @@ def test_axis_pipeline_register(request, length, data_width, reg_type): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_ram_switch/Makefile b/tb/axis_ram_switch/Makefile index adfea859..6b07dabe 100644 --- a/tb/axis_ram_switch/Makefile +++ b/tb/axis_ram_switch/Makefile @@ -45,10 +45,10 @@ export PARAM_CMD_FIFO_DEPTH ?= 32 export PARAM_SPEEDUP ?= 0 export PARAM_S_DATA_WIDTH ?= 8 export PARAM_S_KEEP_ENABLE ?= $(shell expr $(PARAM_S_DATA_WIDTH) \> 8 ) -export PARAM_S_KEEP_WIDTH ?= $(shell expr $(PARAM_S_DATA_WIDTH) / 8 ) +export PARAM_S_KEEP_WIDTH ?= $(shell expr \( $(PARAM_S_DATA_WIDTH) + 7 \) / 8 ) export PARAM_M_DATA_WIDTH ?= 8 export PARAM_M_KEEP_ENABLE ?= $(shell expr $(PARAM_M_DATA_WIDTH) \> 8 ) -export PARAM_M_KEEP_WIDTH ?= $(shell expr $(PARAM_M_DATA_WIDTH) / 8 ) +export PARAM_M_KEEP_WIDTH ?= $(shell expr \( $(PARAM_M_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_S_ID_WIDTH ?= 16 export PARAM_M_ID_WIDTH ?= $(shell python -c "print($(PARAM_S_ID_WIDTH) + ($(S_COUNT)-1).bit_length())") diff --git a/tb/axis_ram_switch/test_axis_ram_switch.py b/tb/axis_ram_switch/test_axis_ram_switch.py index 422fcd84..6bc3fd1e 100644 --- a/tb/axis_ram_switch/test_axis_ram_switch.py +++ b/tb/axis_ram_switch/test_axis_ram_switch.py @@ -356,10 +356,10 @@ def test_axis_ram_switch(request, s_count, m_count, s_data_width, m_data_width): parameters['SPEEDUP'] = 0 parameters['S_DATA_WIDTH'] = s_data_width parameters['S_KEEP_ENABLE'] = int(parameters['S_DATA_WIDTH'] > 8) - parameters['S_KEEP_WIDTH'] = parameters['S_DATA_WIDTH'] // 8 + parameters['S_KEEP_WIDTH'] = (parameters['S_DATA_WIDTH'] + 7) // 8 parameters['M_DATA_WIDTH'] = m_data_width parameters['M_KEEP_ENABLE'] = int(parameters['M_DATA_WIDTH'] > 8) - parameters['M_KEEP_WIDTH'] = parameters['M_DATA_WIDTH'] // 8 + parameters['M_KEEP_WIDTH'] = (parameters['M_DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['S_ID_WIDTH'] = 16 parameters['M_ID_WIDTH'] = parameters['S_ID_WIDTH'] + (s_count-1).bit_length() diff --git a/tb/axis_rate_limit/Makefile b/tb/axis_rate_limit/Makefile index 4da3e0bb..002d611c 100644 --- a/tb/axis_rate_limit/Makefile +++ b/tb/axis_rate_limit/Makefile @@ -34,7 +34,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_rate_limit/test_axis_rate_limit.py b/tb/axis_rate_limit/test_axis_rate_limit.py index 170419df..f54828e7 100644 --- a/tb/axis_rate_limit/test_axis_rate_limit.py +++ b/tb/axis_rate_limit/test_axis_rate_limit.py @@ -187,7 +187,7 @@ def test_axis_rate_limit(request, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_register/Makefile b/tb/axis_register/Makefile index 20747961..0a2e2e9d 100644 --- a/tb/axis_register/Makefile +++ b/tb/axis_register/Makefile @@ -34,7 +34,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_register/test_axis_register.py b/tb/axis_register/test_axis_register.py index bd9e3e79..55e4c786 100644 --- a/tb/axis_register/test_axis_register.py +++ b/tb/axis_register/test_axis_register.py @@ -227,7 +227,7 @@ def test_axis_register(request, data_width, reg_type): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_srl_fifo/Makefile b/tb/axis_srl_fifo/Makefile index 35b77686..43b43716 100644 --- a/tb/axis_srl_fifo/Makefile +++ b/tb/axis_srl_fifo/Makefile @@ -35,7 +35,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v export PARAM_DEPTH ?= 1024 export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 export PARAM_DEST_ENABLE ?= 1 diff --git a/tb/axis_srl_fifo/test_axis_srl_fifo.py b/tb/axis_srl_fifo/test_axis_srl_fifo.py index e18fd8a8..0e7281a8 100644 --- a/tb/axis_srl_fifo/test_axis_srl_fifo.py +++ b/tb/axis_srl_fifo/test_axis_srl_fifo.py @@ -317,7 +317,7 @@ def test_axis_srl_fifo(request, data_width): parameters['DEPTH'] = 1024 parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_srl_register/Makefile b/tb/axis_srl_register/Makefile index d1842025..d7c66b76 100644 --- a/tb/axis_srl_register/Makefile +++ b/tb/axis_srl_register/Makefile @@ -34,7 +34,7 @@ VERILOG_SOURCES += ../../rtl/$(DUT).v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_LAST_ENABLE ?= 1 export PARAM_ID_ENABLE ?= 1 export PARAM_ID_WIDTH ?= 8 diff --git a/tb/axis_srl_register/test_axis_srl_register.py b/tb/axis_srl_register/test_axis_srl_register.py index 4dd1c0c3..7be3ad87 100644 --- a/tb/axis_srl_register/test_axis_srl_register.py +++ b/tb/axis_srl_register/test_axis_srl_register.py @@ -226,7 +226,7 @@ def test_axis_srl_register(request, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['LAST_ENABLE'] = 1 parameters['ID_ENABLE'] = 1 parameters['ID_WIDTH'] = 8 diff --git a/tb/axis_switch/Makefile b/tb/axis_switch/Makefile index 9cf55599..a59fb3db 100644 --- a/tb/axis_switch/Makefile +++ b/tb/axis_switch/Makefile @@ -42,7 +42,7 @@ VERILOG_SOURCES += ../../rtl/priority_encoder.v # module parameters export PARAM_DATA_WIDTH ?= 8 export PARAM_KEEP_ENABLE ?= $(shell expr $(PARAM_DATA_WIDTH) \> 8 ) -export PARAM_KEEP_WIDTH ?= $(shell expr $(PARAM_DATA_WIDTH) / 8 ) +export PARAM_KEEP_WIDTH ?= $(shell expr \( $(PARAM_DATA_WIDTH) + 7 \) / 8 ) export PARAM_ID_ENABLE ?= 1 export PARAM_S_ID_WIDTH ?= 16 export PARAM_M_ID_WIDTH ?= $(shell python -c "print($(PARAM_S_ID_WIDTH) + ($(S_COUNT)-1).bit_length())") diff --git a/tb/axis_switch/test_axis_switch.py b/tb/axis_switch/test_axis_switch.py index 9e250e33..c2da5a08 100644 --- a/tb/axis_switch/test_axis_switch.py +++ b/tb/axis_switch/test_axis_switch.py @@ -351,7 +351,7 @@ def test_axis_switch(request, s_count, m_count, data_width): parameters['DATA_WIDTH'] = data_width parameters['KEEP_ENABLE'] = int(parameters['DATA_WIDTH'] > 8) - parameters['KEEP_WIDTH'] = parameters['DATA_WIDTH'] // 8 + parameters['KEEP_WIDTH'] = (parameters['DATA_WIDTH'] + 7) // 8 parameters['ID_ENABLE'] = 1 parameters['S_ID_WIDTH'] = 16 parameters['M_ID_WIDTH'] = parameters['S_ID_WIDTH'] + (s_count-1).bit_length() -- GitLab