From f35ba5efe43dba18233de620d8129c42a64ba9ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomasz=20W=C5=82ostowski?= <tomasz.wlostowski@cern.ch>
Date: Tue, 31 Oct 2017 11:14:44 +0100
Subject: [PATCH] axi4: add 512-bit data width AXI4-full record, fixed
 compilation issue in axi->wb bridge

---
 .../wishbone/wb_axi4lite_bridge/axi4_pkg.vhd  | 47 ++++++++++++++++++-
 .../xwb_axi4lite_bridge.vhd                   |  2 +-
 2 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/modules/wishbone/wb_axi4lite_bridge/axi4_pkg.vhd b/modules/wishbone/wb_axi4lite_bridge/axi4_pkg.vhd
index 8f73de85..8dbbbec2 100644
--- a/modules/wishbone/wb_axi4lite_bridge/axi4_pkg.vhd
+++ b/modules/wishbone/wb_axi4lite_bridge/axi4_pkg.vhd
@@ -134,6 +134,50 @@ package axi4_pkg is
       wb_master_i  : in  t_wishbone_master_in);
   end component xwb_axi4lite_bridge;
   
+  -- AXI4-Full interface, master output ports, 512 bits
+  type t_axi4_full_master_out_512 is record
+    ARVALID : std_logic;
+    AWVALID : std_logic;
+    BREADY  : std_logic;
+    RREADY  : std_logic;
+    WLAST   : std_logic;
+    WVALID  : std_logic;
+    ARID    : std_logic_vector (11 downto 0);
+    AWID    : std_logic_vector (11 downto 0);
+    ARBURST : std_logic_vector (1 downto 0);
+    ARLOCK  : std_logic;
+    ARSIZE  : std_logic_vector (2 downto 0);
+    AWBURST : std_logic_vector (1 downto 0);
+    AWLOCK  : std_logic;
+    AWSIZE  : std_logic_vector (2 downto 0);
+    ARPROT  : std_logic_vector (2 downto 0);
+    AWPROT  : std_logic_vector (2 downto 0);
+    ARADDR  : std_logic_vector (31 downto 0);
+    AWADDR  : std_logic_vector (31 downto 0);
+    WDATA   : std_logic_vector (511 downto 0);
+    ARCACHE : std_logic_vector (3 downto 0);
+    ARLEN   : std_logic_vector (7 downto 0);
+    ARQOS   : std_logic_vector (3 downto 0);
+    AWCACHE : std_logic_vector (3 downto 0);
+    AWLEN   : std_logic_vector (7 downto 0);
+    AWQOS   : std_logic_vector (3 downto 0);
+    WSTRB   : std_logic_vector (31 downto 0);
+  end record;
+
+  -- AXI4-Full interface, master input ports, 512 bits
+  type t_axi4_full_master_in_512 is record
+    ARREADY : std_logic;
+    AWREADY : std_logic;
+    BVALID  : std_logic;
+    RLAST   : std_logic;
+    RVALID  : std_logic;
+    WREADY  : std_logic;
+    BID     : std_logic_vector (11 downto 0);
+    RID     : std_logic_vector (11 downto 0);
+    BRESP   : std_logic_vector (1 downto 0);
+    RRESP   : std_logic_vector (1 downto 0);
+    RDATA   : std_logic_vector (511 downto 0);
+  end record;
 end package;
 
 package body axi4_pkg is
@@ -177,8 +221,7 @@ package body axi4_pkg is
     f.RDATA   := l.RDATA;
 
     return f;
-    
-  end f_axi4_lite_to_full;
 
+  end f_axi4_lite_to_full;
 
 end package body;
diff --git a/modules/wishbone/wb_axi4lite_bridge/xwb_axi4lite_bridge.vhd b/modules/wishbone/wb_axi4lite_bridge/xwb_axi4lite_bridge.vhd
index bf5bd3d9..c25f33f8 100644
--- a/modules/wishbone/wb_axi4lite_bridge/xwb_axi4lite_bridge.vhd
+++ b/modules/wishbone/wb_axi4lite_bridge/xwb_axi4lite_bridge.vhd
@@ -155,7 +155,7 @@ begin
               state               <= IDLE;
             end if;
 
-          when RESPONSE_READ => null;
+          when RESPONSE_READ =>
             if (axi4_slave_i.RREADY = '1') then
               axi4_slave_o.RVALID <= '0';
               state               <= IDLE;
-- 
GitLab