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
|