Files
es-abschlussprojekt/Archiv/Hardware/axi_crc.vhd
T
2025-01-31 17:47:31 +01:00

106 lines
4.4 KiB
VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity axi_crc is
generic (
DATA_WIDTH : integer := 32; -- Datenwortbreite
ID_WIDTH : integer := 4 -- AXI ID Wortbreite
);
port (
CLK : in std_logic;
RESETN : in std_logic;
INTERRUPT : out std_logic;
-- AXI Master Interface (Memory)
M_AXI_ARREADY : in std_logic := '1';
M_AXI_ARVALID : out std_logic;
M_AXI_ARADDR : out std_logic_vector(31 downto 0);
M_AXI_ARID : out std_logic_vector(ID_WIDTH-1 downto 0);
M_AXI_ARLEN : out std_logic_vector( 3 downto 0);
M_AXI_ARSIZE : out std_logic_vector( 2 downto 0);
M_AXI_ARBURST : out std_logic_vector( 1 downto 0);
M_AXI_ARPROT : out std_logic_vector( 2 downto 0);
M_AXI_ARCACHE : out std_logic_vector( 3 downto 0);
M_AXI_RREADY : out std_logic;
M_AXI_RVALID : in std_logic;
M_AXI_RDATA : in std_logic_vector(DATA_WIDTH-1 downto 0);
M_AXI_RRESP : in std_logic_vector( 1 downto 0);
M_AXI_RID : in std_logic_vector(ID_WIDTH-1 downto 0);
M_AXI_RLAST : in std_logic;
M_AXI_AWREADY : in std_logic := '0';
M_AXI_AWVALID : out std_logic;
M_AXI_AWADDR : out std_logic_vector(31 downto 0);
M_AXI_AWLEN : out std_logic_vector( 3 downto 0);
M_AXI_AWSIZE : out std_logic_vector( 2 downto 0);
M_AXI_AWID : out std_logic_vector(ID_WIDTH-1 downto 0);
M_AXI_AWBURST : out std_logic_vector( 1 downto 0);
M_AXI_AWPROT : out std_logic_vector( 2 downto 0);
M_AXI_AWCACHE : out std_logic_vector( 3 downto 0);
M_AXI_WREADY : in std_logic := '0';
M_AXI_WVALID : out std_logic;
M_AXI_WDATA : out std_logic_vector(DATA_WIDTH-1 downto 0);
M_AXI_WSTRB : out std_logic_vector(DATA_WIDTH/8-1 downto 0);
M_AXI_WLAST : out std_logic;
M_AXI_WID : out std_logic_vector(ID_WIDTH-1 downto 0);
M_AXI_BREADY : out std_logic;
M_AXI_BVALID : in std_logic := '0';
M_AXI_BID : in std_logic_vector( ID_WIDTH-1 downto 0);
M_AXI_BRESP : in std_logic_vector( 1 downto 0);
-- AXI-Lite Slave Interface
S_AXIL_AWADDR : in std_logic_vector(7 downto 0);
S_AXIL_AWVALID : in std_logic;
S_AXIL_AWREADY : out std_logic;
S_AXIL_WDATA : in std_logic_vector(31 downto 0);
S_AXIL_WVALID : in std_logic;
S_AXIL_WREADY : out std_logic;
S_AXIL_WSTRB : in std_logic_vector((32/8)-1 downto 0);
S_AXIL_BVALID : out std_logic;
S_AXIL_BREADY : in std_logic;
S_AXIL_BRESP : out std_logic_vector(1 downto 0);
S_AXIL_ARADDR : in std_logic_vector(7 downto 0);
S_AXIL_ARVALID : in std_logic;
S_AXIL_ARREADY : out std_logic;
S_AXIL_RDATA : out std_logic_vector(31 downto 0);
S_AXIL_RVALID : out std_logic;
S_AXIL_RREADY : in std_logic;
S_AXIL_RRESP : out std_logic_vector(1 downto 0)
);
end axi_crc;
architecture rtl of axi_crc is
-- AXIL Registers
-- signal
begin
----------------------------------------------------------------------------
-- AXIL Interface
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- AXI Master Interface to Memory
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- CRC Calculation component
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- Main control state machine
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- Block RAM Memory
----------------------------------------------------------------------------
end Behavioral;