|
@@ -90,9 +90,17 @@ module InterfaceArbiter
|
|
|
|
|
|
|
|
//================================================================================
|
|
//================================================================================
|
|
|
// CODING
|
|
// CODING
|
|
|
- always @(posedge Sck_i or negedge Rst_i) begin
|
|
|
|
|
- if (!Rst_i) begin
|
|
|
|
|
- if (!Ss_i) begin
|
|
|
|
|
|
|
+ always @(posedge Sck_i or posedge Rst_i) begin
|
|
|
|
|
+ if (Rst_i) begin
|
|
|
|
|
+ captRegSspi <= 0;
|
|
|
|
|
+
|
|
|
|
|
+ captReg0 <= 0;
|
|
|
|
|
+ captReg1 <= 0;
|
|
|
|
|
+ captReg2 <= 0;
|
|
|
|
|
+ captReg3 <= 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (!Ss_i) begin
|
|
|
captRegSspi <= {captRegSspi[OUTWORDWIDTH-2:0], Mosi0_i};
|
|
captRegSspi <= {captRegSspi[OUTWORDWIDTH-2:0], Mosi0_i};
|
|
|
|
|
|
|
|
captReg0 <= {captReg0[QSPIWORDWIDTH-2:0], Mosi0_i};
|
|
captReg0 <= {captReg0[QSPIWORDWIDTH-2:0], Mosi0_i};
|
|
@@ -100,30 +108,25 @@ module InterfaceArbiter
|
|
|
captReg2 <= {captReg2[QSPIWORDWIDTH-2:0], Mosi2_i};
|
|
captReg2 <= {captReg2[QSPIWORDWIDTH-2:0], Mosi2_i};
|
|
|
captReg3 <= {captReg3[QSPIWORDWIDTH-2:0], Mosi3_i};
|
|
captReg3 <= {captReg3[QSPIWORDWIDTH-2:0], Mosi3_i};
|
|
|
end
|
|
end
|
|
|
- end else begin
|
|
|
|
|
- captRegSspi <= 0;
|
|
|
|
|
-
|
|
|
|
|
- captReg0 <= 0;
|
|
|
|
|
- captReg1 <= 0;
|
|
|
|
|
- captReg2 <= 0;
|
|
|
|
|
- captReg3 <= 0;
|
|
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
- always @(posedge Sck_i or negedge Rst_i) begin
|
|
|
|
|
- if (!Rst_i) begin
|
|
|
|
|
- if (!Ss_i) begin
|
|
|
|
|
- if (ssCnt == ssCntRstThresh) begin
|
|
|
|
|
- ssCnt <= 0;
|
|
|
|
|
- end else begin
|
|
|
|
|
- ssCnt <= ssCnt+1;
|
|
|
|
|
|
|
+ always @(posedge Sck_i or posedge Rst_i) begin
|
|
|
|
|
+ if (Rst_i) begin
|
|
|
|
|
+ ssCnt <= 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (!Ss_i) begin
|
|
|
|
|
+ if (ssCnt == ssCntRstThresh) begin
|
|
|
|
|
+ ssCnt <= 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ ssCnt <= ssCnt+1;
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
- end else begin
|
|
|
|
|
- ssCnt <= 0;
|
|
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
always @(posedge Clk_i) begin
|
|
always @(posedge Clk_i) begin
|
|
|
if (!Rst_i) begin
|
|
if (!Rst_i) begin
|
|
|
if (currState == DATARX) begin
|
|
if (currState == DATARX) begin
|
|
@@ -146,19 +149,19 @@ module InterfaceArbiter
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
- always @(posedge Sck_i or negedge Rst_i) begin
|
|
|
|
|
- if (!Rst_i) begin
|
|
|
|
|
- if (currState == IDLE) begin
|
|
|
|
|
- if (ssCnt == 1) begin
|
|
|
|
|
- if (captRegSspi[0]) begin
|
|
|
|
|
- spiMode <= 1'b1; //quad
|
|
|
|
|
- end else begin
|
|
|
|
|
- spiMode <= 1'b0; //single
|
|
|
|
|
- end
|
|
|
|
|
|
|
+ always @(posedge Sck_i or posedge Rst_i) begin
|
|
|
|
|
+ if (Rst_i) begin
|
|
|
|
|
+ spiMode <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (ssCnt == 1) begin
|
|
|
|
|
+ if (captRegSspi[0]) begin
|
|
|
|
|
+ spiMode <= 1'b1;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ spiMode <= 1'b0;
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
- end else begin
|
|
|
|
|
- spiMode <= 1'b0;
|
|
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|