OpenCores
URL https://opencores.org/ocsvn/spi_slave/spi_slave/trunk

Subversion Repositories spi_slave

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 33 to Rev 34
    Reverse comparison

Rev 33 → Rev 34

/trunk/bench/vhdl/opb_spi_slave_tb.vhd
6,7 → 6,7
-- Author :
-- Company :
-- Created : 2007-09-02
-- Last update: 2008-03-23
-- Last update: 2008-05-15
-- Platform :
-- Standard : VHDL'87
-------------------------------------------------------------------------------
248,13 → 248,13
if (OPB_Transfer_Abort) then
MOPB_errAck <= '1';
else
if (conv_integer(M_ABus)>=16#24000000#) then
if (M_RNW = '1') then
-- read
OPB_DBus0(C_OPB_DWIDTH-C_SR_WIDTH to C_OPB_DWIDTH-1) <= "0000000000000000" & "00" & M_ABus(16 to C_OPB_DWIDTH-3);
if (conv_integer(M_ABus) >= 16#24000000#) then
if (M_RNW = '1') then
-- read
OPB_DBus0(C_OPB_DWIDTH-C_SR_WIDTH to C_OPB_DWIDTH-1) <= "0000000000000000" & "00" & M_ABus(16 to C_OPB_DWIDTH-3);
end if;
MOPB_xferAck <= not MOPB_xferAck;
end if;
MOPB_xferAck <= not MOPB_xferAck;
end if;
 
end if;
 
756,31 → 756,31
end loop; -- i
 
-- crc_block
for i in 16 to 30 loop
for i in 16 to 31 loop
spi_transfer(conv_std_logic_vector(i, C_SR_WIDTH));
assert (conv_integer(spi_value_in) = i) report "DMA Transfer 1 read data failure" severity failure;
if (i = 16) then
assert (conv_integer(spi_value_in) = 16#e4ea78bf#) report "DMA-block CRC failure" severity failure;
else
assert (conv_integer(spi_value_in) = i) report "DMA Transfer 1 read data failure" severity failure;
end if;
end loop; -- i
 
-- check CRC
spi_transfer(conv_std_logic_vector(31, C_SR_WIDTH));
assert (conv_integer(spi_value_in) = 16#eb99fa90#) report "TX CRC_Failure" severity failure;
 
-- wait until RX transfer done
for i in 0 to 15 loop
opb_read(C_ADR_STATUS);
if (opb_read_data(SPI_SR_Bit_RX_DMA_Done) ='1') then
exit;
end if;
wait for 1 us;
opb_read(C_ADR_STATUS);
if (opb_read_data(SPI_SR_Bit_RX_DMA_Done) = '1') then
exit;
end if;
wait for 1 us;
end loop; -- i
 
-- check TX CRC Register
opb_read(C_ADR_TX_CRC);
assert (conv_integer(opb_read_data)=16#eb99fa90#) report "TX Register CRC Failure" severity failure;
assert (conv_integer(opb_read_data) = 16#e4ea78bf#) report "TX Register CRC Failure" severity failure;
 
-- check RX CRC Register
opb_read(C_ADR_RX_CRC);
assert (conv_integer(opb_read_data)=16#eb99fa90#) report "RX Register CRC Failure" severity failure;
assert (conv_integer(opb_read_data) = 16#e4ea78bf#) report "RX Register CRC Failure" severity failure;
 
wait for 1 us;
end if;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.