|
@@ -105,9 +105,17 @@ module InterfaceArbiter
|
|
|
reg plsToggleSyncC;
|
|
reg plsToggleSyncC;
|
|
|
reg plsToggleSyncSignalR;
|
|
reg plsToggleSyncSignalR;
|
|
|
|
|
|
|
|
|
|
+
|
|
|
/*Flash signals*/
|
|
/*Flash signals*/
|
|
|
reg plsToggleFlash;
|
|
reg plsToggleFlash;
|
|
|
wire plsToggleMux;
|
|
wire plsToggleMux;
|
|
|
|
|
+ reg plsToggleSyncAFlash;
|
|
|
|
|
+ reg plsToggleSyncBFlash;
|
|
|
|
|
+ reg plsToggleSyncSignalRFlash;
|
|
|
|
|
+ wire plsToggleSyncSignalFlash;
|
|
|
|
|
+
|
|
|
|
|
+ /* Mux */
|
|
|
|
|
+ wire plsToggleSyncSignalMux;
|
|
|
|
|
|
|
|
//================================================================================
|
|
//================================================================================
|
|
|
// ASSIGNMENTS
|
|
// ASSIGNMENTS
|
|
@@ -118,6 +126,8 @@ module InterfaceArbiter
|
|
|
assign Data_o = (spiMode)? dataRegQSpi:dataRegSSpi;
|
|
assign Data_o = (spiMode)? dataRegQSpi:dataRegSSpi;
|
|
|
|
|
|
|
|
assign plsToggleSyncSignal = plsToggleSyncA^plsToggle;
|
|
assign plsToggleSyncSignal = plsToggleSyncA^plsToggle;
|
|
|
|
|
+ assign plsToggleSyncSignalFlash = plsToggleSyncAFlash^plsToggleFlash;
|
|
|
|
|
+ assign plsToggleSyncSignalMux = (DirectFlagFlash_i) ? plsToggleSyncSignalFlash:plsToggleSyncSignal;
|
|
|
|
|
|
|
|
//assign ssCntRstThresh = (spiMode) ? QSPIWORDWIDTH-1:SSPIWORDWIDTH-1;
|
|
//assign ssCntRstThresh = (spiMode) ? QSPIWORDWIDTH-1:SSPIWORDWIDTH-1;
|
|
|
|
|
|
|
@@ -135,6 +145,18 @@ module InterfaceArbiter
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
+ always @(posedge Clk_i) begin
|
|
|
|
|
+ if (Rst_i) begin
|
|
|
|
|
+ plsToggleSyncAFlash <= 1'b0;
|
|
|
|
|
+ plsToggleSyncBFlash <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ plsToggleSyncAFlash <= plsToggleFlash;
|
|
|
|
|
+ plsToggleSyncBFlash <= plsToggleSyncAFlash;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
always @(posedge Clk_i) begin
|
|
always @(posedge Clk_i) begin
|
|
|
if (Rst_i) begin
|
|
if (Rst_i) begin
|
|
|
plsToggleSyncC <= 1'b0;
|
|
plsToggleSyncC <= 1'b0;
|
|
@@ -177,7 +199,7 @@ module InterfaceArbiter
|
|
|
plsToggleSyncSignalR <= 1'b0;
|
|
plsToggleSyncSignalR <= 1'b0;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
|
- plsToggleSyncSignalR <= plsToggleSyncSignal;
|
|
|
|
|
|
|
+ plsToggleSyncSignalR <= plsToggleSyncSignalMux;
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
@@ -254,7 +276,7 @@ module InterfaceArbiter
|
|
|
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
|
|
|
- if (plsToggleSyncSignal) begin
|
|
|
|
|
|
|
+ if (plsToggleSyncSignalMux) begin
|
|
|
if (wordsCnt == wordsNum-1) begin
|
|
if (wordsCnt == wordsNum-1) begin
|
|
|
wordsCnt <= 0;
|
|
wordsCnt <= 0;
|
|
|
rxDone <= 1'b1;
|
|
rxDone <= 1'b1;
|
|
@@ -321,7 +343,7 @@ module InterfaceArbiter
|
|
|
|
|
|
|
|
always @(posedge Clk_i) begin
|
|
always @(posedge Clk_i) begin
|
|
|
if (!Rst_i) begin
|
|
if (!Rst_i) begin
|
|
|
- if (plsToggleSyncSignal) begin
|
|
|
|
|
|
|
+ if (plsToggleSyncSignalMux) begin
|
|
|
dataRegSSpi <= captRegSspi;
|
|
dataRegSSpi <= captRegSspi;
|
|
|
dataRegQSpi <= {captReg0,captReg1,captReg2,captReg3};
|
|
dataRegQSpi <= {captReg0,captReg1,captReg2,captReg3};
|
|
|
dataValReg <= 1'b1;
|
|
dataValReg <= 1'b1;
|