From 0d3423ddea1c24aea74206d64e6dc5196959ad5e Mon Sep 17 00:00:00 2001 From: Dag Lem Date: Tue, 28 Feb 2023 18:45:55 +0100 Subject: Index struct/union members within corresponding wire chunks This guards against access to bits outside of struct/union members via dynamic indexing. --- tests/svtypes/struct_array.sv | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tests/svtypes') diff --git a/tests/svtypes/struct_array.sv b/tests/svtypes/struct_array.sv index b87f936aa..bedc05b6f 100644 --- a/tests/svtypes/struct_array.sv +++ b/tests/svtypes/struct_array.sv @@ -12,15 +12,16 @@ module top; s.a[2:1] = 16'h1234; s.a[5] = 8'h42; + s.a[-1] = '0; s.b = '1; s.b[1:0] = '0; end always_comb assert(s==64'h4200_0012_3400_FFFC); + always_comb assert(s.a[0][3:-4]===8'h0x); always_comb assert(s.b[23:16]===8'hxx); always_comb assert(s.b[19:12]===8'hxf); - always_comb assert(s.a[0][3:-4]===8'h0x); struct packed { bit [7:0] [7:0] a; // 8 element packed array of bytes -- cgit v1.2.3