Files
es-praktikum/Milestone6/Codefragmente-3x3-Filter/AXIL-Interface-Fragment.vhd
T
2024-12-09 14:48:49 +01:00

77 lines
2.1 KiB
VHDL

-----------------------
-- AXI-Lite Interface
-----------------------
S_AXIL_AWREADY <= '1';
S_AXIL_WREADY <= '1';
S_AXIL_BRESP <= "00";
S_AXIL_ARREADY <= '1';
S_AXIL_RRESP <= "00";
process begin
wait until rising_edge (ACLK);
if ARESETN = '0' then
S_AXIL_BVALID <= '0';
S_AXIL_RVALID <= '0';
coeff_11 <= (others=>'0');
coeff_12 <= (others=>'0');
coeff_13 <= (others=>'0');
coeff_21 <= (others=>'0');
coeff_22 <= (0=>'1',others=>'0');
coeff_23 <= (others=>'0');
coeff_31 <= (others=>'0');
coeff_32 <= (others=>'0');
coeff_33 <= (others=>'0');
shiftAmount <= to_unsigned(0,wShift);
else
if S_AXIL_RREADY = '1' then
S_AXIL_RVALID <= '0';
end if;
if S_AXIL_ARVALID = '1' then
S_AXIL_RDATA <= (others=>'0');
case (to_integer(unsigned(S_AXIL_ARADDR(5 downto 0)))) is
when 0 =>
when 4 =>
when 8 =>
when 12 =>
when 16 =>
when 20 =>
when 24 =>
when 28 =>
when 32 =>
when 36 =>
when others => null;
end case;
S_AXIL_RVALID <= '1';
end if;
if S_AXIL_BREADY = '1' then
S_AXIL_BVALID <= '';
end if;
if S_AXIL_AWVALID = '1' and S_AXIL_WVALID = '1' then
S_AXIL_BVALID <= '';
S_AXIL_RDATA <= (others=>'0');
if S_AXIL_WSTRB(0) = '1' then
case (to_integer(unsigned(S_AXIL_AWADDR(5 downto 0)))) is
when 0 =>
when 4 =>
when 8 =>
when 12 =>
when 16 =>
when 20 =>
when 24 =>
when 28 =>
when 32 =>
when 36 =>
when others => null;
end case;
end if;
end if;
end if;
end process;