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

Subversion Repositories spi

[/] [spi/] [tags/] [asyst_3/] [rtl/] [verilog/] [spi_shift.v] - Diff between revs 19 and 21

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 19 Rev 21
Line 128... Line 128...
    if (rst)
    if (rst)
      data   <= #Tp {`SPI_MAX_CHAR{1'b0}};
      data   <= #Tp {`SPI_MAX_CHAR{1'b0}};
`ifdef SPI_MAX_CHAR_128
`ifdef SPI_MAX_CHAR_128
    else if (latch[0] && !tip)
    else if (latch[0] && !tip)
      begin
      begin
        if (byte_sel[0])
        if (byte_sel[3])
          data[31:24] <= #Tp p_in[31:24];
          data[31:24] <= #Tp p_in[31:24];
        if (byte_sel[1])
 
          data[23:16] <= #Tp p_in[23:16];
 
        if (byte_sel[2])
        if (byte_sel[2])
 
          data[23:16] <= #Tp p_in[23:16];
 
        if (byte_sel[1])
          data[15:8] <= #Tp p_in[15:8];
          data[15:8] <= #Tp p_in[15:8];
        if (byte_sel[3])
        if (byte_sel[0])
          data[7:0] <= #Tp p_in[7:0];
          data[7:0] <= #Tp p_in[7:0];
      end
      end
    else if (latch[1] && !tip)
    else if (latch[1] && !tip)
      begin
      begin
        if (byte_sel[0])
        if (byte_sel[3])
          data[63:56] <= #Tp p_in[31:24];
          data[63:56] <= #Tp p_in[31:24];
        if (byte_sel[1])
 
          data[55:48] <= #Tp p_in[23:16];
 
        if (byte_sel[2])
        if (byte_sel[2])
 
          data[55:48] <= #Tp p_in[23:16];
 
        if (byte_sel[1])
          data[47:40] <= #Tp p_in[15:8];
          data[47:40] <= #Tp p_in[15:8];
        if (byte_sel[3])
        if (byte_sel[0])
          data[39:32] <= #Tp p_in[7:0];
          data[39:32] <= #Tp p_in[7:0];
      end
      end
    else if (latch[2] && !tip)
    else if (latch[2] && !tip)
      begin
      begin
        if (byte_sel[0])
        if (byte_sel[3])
          data[95:88] <= #Tp p_in[31:24];
          data[95:88] <= #Tp p_in[31:24];
        if (byte_sel[1])
 
          data[87:80] <= #Tp p_in[23:16];
 
        if (byte_sel[2])
        if (byte_sel[2])
 
          data[87:80] <= #Tp p_in[23:16];
 
        if (byte_sel[1])
          data[79:72] <= #Tp p_in[15:8];
          data[79:72] <= #Tp p_in[15:8];
        if (byte_sel[3])
        if (byte_sel[0])
          data[71:64] <= #Tp p_in[7:0];
          data[71:64] <= #Tp p_in[7:0];
      end
      end
    else if (latch[3] && !tip)
    else if (latch[3] && !tip)
      begin
      begin
        if (byte_sel[0])
        if (byte_sel[3])
          data[127:120] <= #Tp p_in[31:24];
          data[127:120] <= #Tp p_in[31:24];
        if (byte_sel[1])
 
          data[119:112] <= #Tp p_in[23:16];
 
        if (byte_sel[2])
        if (byte_sel[2])
 
          data[119:112] <= #Tp p_in[23:16];
 
        if (byte_sel[1])
          data[111:104] <= #Tp p_in[15:8];
          data[111:104] <= #Tp p_in[15:8];
        if (byte_sel[3])
        if (byte_sel[0])
          data[103:96] <= #Tp p_in[7:0];
          data[103:96] <= #Tp p_in[7:0];
      end
      end
`else
`else
`ifdef SPI_MAX_CHAR_64
`ifdef SPI_MAX_CHAR_64
    else if (latch[0] && !tip)
    else if (latch[0] && !tip)
      begin
      begin
        if (byte_sel[0])
        if (byte_sel[3])
          data[31:24] <= #Tp p_in[31:24];
          data[31:24] <= #Tp p_in[31:24];
        if (byte_sel[1])
 
          data[23:16] <= #Tp p_in[23:16];
 
        if (byte_sel[2])
        if (byte_sel[2])
 
          data[23:16] <= #Tp p_in[23:16];
 
        if (byte_sel[1])
          data[15:8] <= #Tp p_in[15:8];
          data[15:8] <= #Tp p_in[15:8];
        if (byte_sel[3])
        if (byte_sel[0])
          data[7:0] <= #Tp p_in[7:0];
          data[7:0] <= #Tp p_in[7:0];
      end
      end
    else if (latch[1] && !tip)
    else if (latch[1] && !tip)
      begin
      begin
        if (byte_sel[0])
        if (byte_sel[3])
          data[63:56] <= #Tp p_in[31:24];
          data[63:56] <= #Tp p_in[31:24];
        if (byte_sel[1])
 
          data[55:48] <= #Tp p_in[23:16];
 
        if (byte_sel[2])
        if (byte_sel[2])
 
          data[55:48] <= #Tp p_in[23:16];
 
        if (byte_sel[1])
          data[47:40] <= #Tp p_in[15:8];
          data[47:40] <= #Tp p_in[15:8];
        if (byte_sel[3])
        if (byte_sel[0])
          data[39:32] <= #Tp p_in[7:0];
          data[39:32] <= #Tp p_in[7:0];
      end
      end
`else
`else
    else if (latch[0] && !tip)
    else if (latch[0] && !tip)
      begin
      begin
      `ifdef SPI_MAX_CHAR_8
      `ifdef SPI_MAX_CHAR_8
        if (byte_sel[3])
        if (byte_sel[0])
          data[`SPI_MAX_CHAR-1:0] <= #Tp p_in[`SPI_MAX_CHAR-1:0];
          data[`SPI_MAX_CHAR-1:0] <= #Tp p_in[`SPI_MAX_CHAR-1:0];
      `endif
      `endif
      `ifdef SPI_MAX_CHAR_16
      `ifdef SPI_MAX_CHAR_16
        if (byte_sel[3])
        if (byte_sel[0])
          data[7:0] <= #Tp p_in[7:0];
          data[7:0] <= #Tp p_in[7:0];
        if (byte_sel[2])
        if (byte_sel[1])
          data[`SPI_MAX_CHAR-1:8] <= #Tp p_in[`SPI_MAX_CHAR-1:8];
          data[`SPI_MAX_CHAR-1:8] <= #Tp p_in[`SPI_MAX_CHAR-1:8];
      `endif
      `endif
      `ifdef SPI_MAX_CHAR_24
      `ifdef SPI_MAX_CHAR_24
        if (byte_sel[3])
        if (byte_sel[0])
          data[7:0] <= #Tp p_in[7:0];
          data[7:0] <= #Tp p_in[7:0];
        if (byte_sel[2])
 
          data[15:8] <= #Tp p_in[15:8];
 
        if (byte_sel[1])
        if (byte_sel[1])
 
          data[15:8] <= #Tp p_in[15:8];
 
        if (byte_sel[2])
          data[`SPI_MAX_CHAR-1:16] <= #Tp p_in[`SPI_MAX_CHAR-1:16];
          data[`SPI_MAX_CHAR-1:16] <= #Tp p_in[`SPI_MAX_CHAR-1:16];
      `endif
      `endif
      `ifdef SPI_MAX_CHAR_32
      `ifdef SPI_MAX_CHAR_32
        if (byte_sel[3])
        if (byte_sel[0])
          data[7:0] <= #Tp p_in[7:0];
          data[7:0] <= #Tp p_in[7:0];
        if (byte_sel[2])
 
          data[15:8] <= #Tp p_in[15:8];
 
        if (byte_sel[1])
        if (byte_sel[1])
 
          data[15:8] <= #Tp p_in[15:8];
 
        if (byte_sel[2])
          data[23:16] <= #Tp p_in[23:16];
          data[23:16] <= #Tp p_in[23:16];
        if (byte_sel[0])
        if (byte_sel[3])
          data[`SPI_MAX_CHAR-1:24] <= #Tp p_in[`SPI_MAX_CHAR-1:24];
          data[`SPI_MAX_CHAR-1:24] <= #Tp p_in[`SPI_MAX_CHAR-1:24];
      `endif
      `endif
      end
      end
`endif
`endif
`endif
`endif

powered by: WebSVN 2.1.0

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