diff --git a/modules/wishbone/wishbone_pkg.vhd b/modules/wishbone/wishbone_pkg.vhd index 7a832c3c75e94cf898b55e10b2a44008c7b8d5bc..98feaa16c00dd5691b5b23445f2b80c72bb5ecd0 100644 --- a/modules/wishbone/wishbone_pkg.vhd +++ b/modules/wishbone/wishbone_pkg.vhd @@ -1078,8 +1078,8 @@ package body wishbone_pkg is variable result : std_logic_vector(pval'range); begin for i in pval'range loop - n_sel(i) := sel(i / 8); - n_val(i) := ival(i); + n_sel(i) := sel((i-pval'low) / 8); -- subtract the low index for when register width > wishbone data width + n_val(i) := ival(i-pval'low); end loop; if(mode = "set") then