From aa9900de94fa2c82e5c8f6c99e4f668d68597460 Mon Sep 17 00:00:00 2001 From: Alex Forencich Date: Thu, 27 Feb 2025 10:06:56 -0800 Subject: [PATCH] axi: Add STRB parameters to testbenches Signed-off-by: Alex Forencich --- tb/axi/taxi_axi_ram/Makefile | 1 + tb/axi/taxi_axi_ram/test_taxi_axi_ram.py | 1 + tb/axi/taxi_axi_ram/test_taxi_axi_ram.sv | 2 ++ tb/axi/taxi_axi_register/Makefile | 1 + tb/axi/taxi_axi_register/test_taxi_axi_register.py | 1 + tb/axi/taxi_axi_register/test_taxi_axi_register.sv | 2 ++ tb/axi/taxi_axil_dp_ram/Makefile | 1 + tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.py | 1 + tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.sv | 4 +++- tb/axi/taxi_axil_ram/Makefile | 1 + tb/axi/taxi_axil_ram/test_taxi_axil_ram.py | 1 + tb/axi/taxi_axil_ram/test_taxi_axil_ram.sv | 4 +++- tb/axi/taxi_axil_register/Makefile | 1 + tb/axi/taxi_axil_register/test_taxi_axil_register.py | 1 + tb/axi/taxi_axil_register/test_taxi_axil_register.sv | 2 ++ 15 files changed, 22 insertions(+), 2 deletions(-) diff --git a/tb/axi/taxi_axi_ram/Makefile b/tb/axi/taxi_axi_ram/Makefile index 2775cb0..c4ebea2 100644 --- a/tb/axi/taxi_axi_ram/Makefile +++ b/tb/axi/taxi_axi_ram/Makefile @@ -31,6 +31,7 @@ VERILOG_SOURCES := $(call uniq_base,$(call process_f_files,$(VERILOG_SOURCES))) # module parameters export PARAM_DATA_W := 32 export PARAM_ADDR_W := 16 +export PARAM_STRB_W := $(shell expr $(PARAM_DATA_W) / 8 ) export PARAM_PIPELINE_OUTPUT := 0 ifeq ($(SIM), icarus) diff --git a/tb/axi/taxi_axi_ram/test_taxi_axi_ram.py b/tb/axi/taxi_axi_ram/test_taxi_axi_ram.py index 803a4e9..edb3d97 100644 --- a/tb/axi/taxi_axi_ram/test_taxi_axi_ram.py +++ b/tb/axi/taxi_axi_ram/test_taxi_axi_ram.py @@ -220,6 +220,7 @@ def test_taxi_axi_ram(request, data_w): parameters['DATA_W'] = data_w parameters['ADDR_W'] = 16 + parameters['STRB_W'] = parameters['DATA_W'] // 8 parameters['ID_W'] = 8 parameters['PIPELINE_OUTPUT'] = 0 diff --git a/tb/axi/taxi_axi_ram/test_taxi_axi_ram.sv b/tb/axi/taxi_axi_ram/test_taxi_axi_ram.sv index 20ffe1b..b0c65b8 100644 --- a/tb/axi/taxi_axi_ram/test_taxi_axi_ram.sv +++ b/tb/axi/taxi_axi_ram/test_taxi_axi_ram.sv @@ -20,6 +20,7 @@ module test_taxi_axi_ram # /* verilator lint_off WIDTHTRUNC */ parameter DATA_W = 32, parameter ADDR_W = 16, + parameter STRB_W = (DATA_W/8), parameter ID_W = 8, parameter PIPELINE_OUTPUT = 0 /* verilator lint_on WIDTHTRUNC */ @@ -32,6 +33,7 @@ logic rst; taxi_axi_if #( .DATA_W(DATA_W), .ADDR_W(ADDR_W+16), + .STRB_W(STRB_W), .ID_W(ID_W) ) s_axi(), m_axi(); diff --git a/tb/axi/taxi_axi_register/Makefile b/tb/axi/taxi_axi_register/Makefile index 896d43b..70cc047 100644 --- a/tb/axi/taxi_axi_register/Makefile +++ b/tb/axi/taxi_axi_register/Makefile @@ -31,6 +31,7 @@ REG_TYPE ?= 1 # module parameters export PARAM_DATA_W := 32 export PARAM_ADDR_W := 32 +export PARAM_STRB_W := $(shell expr $(PARAM_DATA_W) / 8 ) export PARAM_ID_W := 8 export PARAM_AWUSER_EN := 0 export PARAM_AWUSER_W := 1 diff --git a/tb/axi/taxi_axi_register/test_taxi_axi_register.py b/tb/axi/taxi_axi_register/test_taxi_axi_register.py index 777763a..01098e3 100644 --- a/tb/axi/taxi_axi_register/test_taxi_axi_register.py +++ b/tb/axi/taxi_axi_register/test_taxi_axi_register.py @@ -228,6 +228,7 @@ def test_taxi_axi_register(request, data_w, reg_type): parameters['DATA_W'] = data_w parameters['ADDR_W'] = 32 + parameters['STRB_W'] = parameters['DATA_W'] // 8 parameters['ID_W'] = 8 parameters['AWUSER_EN'] = 0 parameters['AWUSER_W'] = 1 diff --git a/tb/axi/taxi_axi_register/test_taxi_axi_register.sv b/tb/axi/taxi_axi_register/test_taxi_axi_register.sv index 4122e17..bd1d8eb 100644 --- a/tb/axi/taxi_axi_register/test_taxi_axi_register.sv +++ b/tb/axi/taxi_axi_register/test_taxi_axi_register.sv @@ -20,6 +20,7 @@ module test_taxi_axi_register # /* verilator lint_off WIDTHTRUNC */ parameter DATA_W = 32, parameter ADDR_W = 32, + parameter STRB_W = (DATA_W/8), parameter ID_W = 8, parameter logic AWUSER_EN = 1'b0, parameter AWUSER_W = 1, @@ -46,6 +47,7 @@ logic rst; taxi_axi_if #( .DATA_W(DATA_W), .ADDR_W(ADDR_W), + .STRB_W(STRB_W), .ID_W(ID_W), .AWUSER_EN(AWUSER_EN), .AWUSER_W(AWUSER_W), diff --git a/tb/axi/taxi_axil_dp_ram/Makefile b/tb/axi/taxi_axil_dp_ram/Makefile index ddc2180..735a405 100644 --- a/tb/axi/taxi_axil_dp_ram/Makefile +++ b/tb/axi/taxi_axil_dp_ram/Makefile @@ -31,6 +31,7 @@ VERILOG_SOURCES := $(call uniq_base,$(call process_f_files,$(VERILOG_SOURCES))) # module parameters export PARAM_DATA_W := 32 export PARAM_ADDR_W := 16 +export PARAM_STRB_W := $(shell expr $(PARAM_DATA_W) / 8 ) export PARAM_PIPELINE_OUTPUT := 0 ifeq ($(SIM), icarus) diff --git a/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.py b/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.py index f7fbcda..dcd5e81 100644 --- a/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.py +++ b/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.py @@ -254,6 +254,7 @@ def test_taxi_axil_dp_ram(request, data_w): parameters['DATA_W'] = data_w parameters['ADDR_W'] = 16 + parameters['STRB_W'] = parameters['DATA_W'] // 8 parameters['PIPELINE_OUTPUT'] = 0 extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} diff --git a/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.sv b/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.sv index 64ca602..a318860 100644 --- a/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.sv +++ b/tb/axi/taxi_axil_dp_ram/test_taxi_axil_dp_ram.sv @@ -20,6 +20,7 @@ module test_taxi_axil_dp_ram # /* verilator lint_off WIDTHTRUNC */ parameter DATA_W = 32, parameter ADDR_W = 16, + parameter STRB_W = (DATA_W/8), parameter PIPELINE_OUTPUT = 0 /* verilator lint_on WIDTHTRUNC */ ) @@ -32,7 +33,8 @@ logic b_rst; taxi_axil_if #( .DATA_W(DATA_W), - .ADDR_W(ADDR_W+16) + .ADDR_W(ADDR_W+16), + .STRB_W(STRB_W) ) s_axil_a(), m_axil_a(), s_axil_b(), m_axil_b(); taxi_axil_dp_ram #( diff --git a/tb/axi/taxi_axil_ram/Makefile b/tb/axi/taxi_axil_ram/Makefile index 26c0e30..178c087 100644 --- a/tb/axi/taxi_axil_ram/Makefile +++ b/tb/axi/taxi_axil_ram/Makefile @@ -31,6 +31,7 @@ VERILOG_SOURCES := $(call uniq_base,$(call process_f_files,$(VERILOG_SOURCES))) # module parameters export PARAM_DATA_W := 32 export PARAM_ADDR_W := 16 +export PARAM_STRB_W := $(shell expr $(PARAM_DATA_W) / 8 ) export PARAM_PIPELINE_OUTPUT := 0 ifeq ($(SIM), icarus) diff --git a/tb/axi/taxi_axil_ram/test_taxi_axil_ram.py b/tb/axi/taxi_axil_ram/test_taxi_axil_ram.py index 7bca75c..10fe27f 100644 --- a/tb/axi/taxi_axil_ram/test_taxi_axil_ram.py +++ b/tb/axi/taxi_axil_ram/test_taxi_axil_ram.py @@ -202,6 +202,7 @@ def test_taxi_axil_ram(request, data_w): parameters['DATA_W'] = data_w parameters['ADDR_W'] = 16 + parameters['STRB_W'] = parameters['DATA_W'] // 8 parameters['PIPELINE_OUTPUT'] = 0 extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} diff --git a/tb/axi/taxi_axil_ram/test_taxi_axil_ram.sv b/tb/axi/taxi_axil_ram/test_taxi_axil_ram.sv index 27f0beb..524a178 100644 --- a/tb/axi/taxi_axil_ram/test_taxi_axil_ram.sv +++ b/tb/axi/taxi_axil_ram/test_taxi_axil_ram.sv @@ -20,6 +20,7 @@ module test_taxi_axil_ram # /* verilator lint_off WIDTHTRUNC */ parameter DATA_W = 32, parameter ADDR_W = 16, + parameter STRB_W = (DATA_W/8), parameter PIPELINE_OUTPUT = 0 /* verilator lint_on WIDTHTRUNC */ ) @@ -30,7 +31,8 @@ logic rst; taxi_axil_if #( .DATA_W(DATA_W), - .ADDR_W(ADDR_W+16) + .ADDR_W(ADDR_W+16), + .STRB_W(STRB_W) ) s_axil(), m_axil(); taxi_axil_ram #( diff --git a/tb/axi/taxi_axil_register/Makefile b/tb/axi/taxi_axil_register/Makefile index 75f94f3..aa6040c 100644 --- a/tb/axi/taxi_axil_register/Makefile +++ b/tb/axi/taxi_axil_register/Makefile @@ -32,6 +32,7 @@ REG_TYPE ?= 1 # module parameters export PARAM_DATA_W := 32 export PARAM_ADDR_W := 32 +export PARAM_STRB_W := $(shell expr $(PARAM_DATA_W) / 8 ) export PARAM_AWUSER_EN := 0 export PARAM_AWUSER_W := 1 export PARAM_WUSER_EN := 0 diff --git a/tb/axi/taxi_axil_register/test_taxi_axil_register.py b/tb/axi/taxi_axil_register/test_taxi_axil_register.py index 5fae90a..07f5b0a 100644 --- a/tb/axi/taxi_axil_register/test_taxi_axil_register.py +++ b/tb/axi/taxi_axil_register/test_taxi_axil_register.py @@ -210,6 +210,7 @@ def test_taxi_axil_register(request, data_w, reg_type): parameters['DATA_W'] = data_w parameters['ADDR_W'] = 32 + parameters['STRB_W'] = parameters['DATA_W'] // 8 parameters['AWUSER_EN'] = 0 parameters['AWUSER_W'] = 1 parameters['WUSER_EN'] = 0 diff --git a/tb/axi/taxi_axil_register/test_taxi_axil_register.sv b/tb/axi/taxi_axil_register/test_taxi_axil_register.sv index 163d24b..b84b8b7 100644 --- a/tb/axi/taxi_axil_register/test_taxi_axil_register.sv +++ b/tb/axi/taxi_axil_register/test_taxi_axil_register.sv @@ -20,6 +20,7 @@ module test_taxi_axil_register # /* verilator lint_off WIDTHTRUNC */ parameter DATA_W = 32, parameter ADDR_W = 32, + parameter STRB_W = (DATA_W/8), parameter logic AWUSER_EN = 1'b0, parameter AWUSER_W = 1, parameter logic WUSER_EN = 1'b0, @@ -45,6 +46,7 @@ logic rst; taxi_axil_if #( .DATA_W(DATA_W), .ADDR_W(ADDR_W), + .STRB_W(STRB_W), .AWUSER_EN(AWUSER_EN), .AWUSER_W(AWUSER_W), .WUSER_EN(WUSER_EN),