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