From 5c3207c0ea2d6a0e83ab691817bd87b4a6bac896 Mon Sep 17 00:00:00 2001
From: Dimitris Lampridis <dimitris.lampridis@cern.ch>
Date: Wed, 31 Oct 2018 11:01:38 +0100
Subject: [PATCH] wb_pkg: add types for wishbone interfaces with 64-bit data

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

diff --git a/modules/wishbone/wishbone_pkg.vhd b/modules/wishbone/wishbone_pkg.vhd
index 632c4d90..a314b388 100644
--- a/modules/wishbone/wishbone_pkg.vhd
+++ b/modules/wishbone/wishbone_pkg.vhd
@@ -68,8 +68,36 @@ package wishbone_pkg is
     stall : std_logic;
     dat   : t_wishbone_data;
   end record t_wishbone_slave_out;
+
   subtype t_wishbone_master_in is t_wishbone_slave_out;
 
+  -- variants for 64-bit data
+  subtype t_wishbone_data64 is
+    std_logic_vector(63 downto 0);
+  subtype t_wishbone_byte_select_data64 is
+    std_logic_vector(7 downto 0);
+
+  type t_wishbone_master_data64_out is record
+    cyc : std_logic;
+    stb : std_logic;
+    adr : t_wishbone_address;
+    sel : t_wishbone_byte_select_data64;
+    we  : std_logic;
+    dat : t_wishbone_data64;
+  end record t_wishbone_master_data64_out;
+
+  subtype t_wishbone_slave_data64_in is t_wishbone_master_data64_out;
+
+  type t_wishbone_slave_data64_out is record
+    ack   : std_logic;
+    err   : std_logic;
+    rty   : std_logic;
+    stall : std_logic;
+    dat   : t_wishbone_data64;
+  end record t_wishbone_slave_data64_out;
+
+  subtype t_wishbone_master_data64_in is t_wishbone_slave_data64_out;
+
   subtype t_wishbone_device_descriptor is std_logic_vector(255 downto 0);
 
   type t_wishbone_byte_select_array is array(natural range <>) of t_wishbone_byte_select; 
-- 
GitLab