From 83c74b3b74eb7d361c9f4447408b7408070e211f Mon Sep 17 00:00:00 2001
From: Mathias Kreider <mkreider@gsi.de>
Date: Mon, 16 Nov 2015 16:15:26 +0100
Subject: [PATCH] wbpkg: fixed f_wb_wr for different slice lengths

---
 modules/wishbone/wishbone_pkg.vhd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/wishbone/wishbone_pkg.vhd b/modules/wishbone/wishbone_pkg.vhd
index 7a832c3c..98feaa16 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  
-- 
GitLab