|
@@ -62,6 +62,7 @@ module QuadSPIm
|
|
|
reg [3:0] ssNum;
|
|
reg [3:0] ssNum;
|
|
|
reg [2:0] delayCnt;
|
|
reg [2:0] delayCnt;
|
|
|
reg stopFlag;
|
|
reg stopFlag;
|
|
|
|
|
+ reg rstReg;
|
|
|
|
|
|
|
|
wire [31:0] txLenght = ssNum+Lag_i+Lead_i;
|
|
wire [31:0] txLenght = ssNum+Lag_i+Lead_i;
|
|
|
//================================================================================
|
|
//================================================================================
|
|
@@ -72,7 +73,9 @@ module QuadSPIm
|
|
|
//================================================================================
|
|
//================================================================================
|
|
|
// CODING
|
|
// CODING
|
|
|
//================================================================================
|
|
//================================================================================
|
|
|
-
|
|
|
|
|
|
|
+ always @(posedge Clk_i) begin
|
|
|
|
|
+ rstReg <= Rst_i;
|
|
|
|
|
+ end
|
|
|
|
|
|
|
|
always @(*) begin
|
|
always @(*) begin
|
|
|
if (Start_i) begin
|
|
if (Start_i) begin
|
|
@@ -103,7 +106,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(negedge Clk_i) begin
|
|
always @(negedge Clk_i) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
delayCnt <= 1'b0;
|
|
delayCnt <= 1'b0;
|
|
|
end else begin
|
|
end else begin
|
|
|
if (stopFlag) begin
|
|
if (stopFlag) begin
|
|
@@ -115,7 +118,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(*) begin
|
|
always @(*) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
stopFlag = 1'b0;
|
|
stopFlag = 1'b0;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
@@ -144,7 +147,7 @@ module QuadSPIm
|
|
|
|
|
|
|
|
reg [2:0] clkCtrlReg;
|
|
reg [2:0] clkCtrlReg;
|
|
|
always @(*) begin
|
|
always @(*) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
clkCtrlReg = 0;
|
|
clkCtrlReg = 0;
|
|
|
end else begin
|
|
end else begin
|
|
|
clkCtrlReg = {SelSt_i,PulsePol_i,ClockPhase_i};
|
|
clkCtrlReg = {SelSt_i,PulsePol_i,ClockPhase_i};
|
|
@@ -152,7 +155,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(*) begin
|
|
always @(*) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
Sck_o = 0;
|
|
Sck_o = 0;
|
|
|
end else begin
|
|
end else begin
|
|
|
if (Stop_i!=0) begin
|
|
if (Stop_i!=0) begin
|
|
@@ -576,7 +579,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(posedge Clk_i) begin
|
|
always @(posedge Clk_i) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
valReg <= 0;
|
|
valReg <= 0;
|
|
|
end else begin
|
|
end else begin
|
|
|
if (ssCnt == txLenght-3) begin
|
|
if (ssCnt == txLenght-3) begin
|
|
@@ -592,7 +595,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(*) begin
|
|
always @(*) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
startFlag = 1'b0;
|
|
startFlag = 1'b0;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
@@ -606,7 +609,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(*) begin
|
|
always @(*) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
ssNum = 1'b0;
|
|
ssNum = 1'b0;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
@@ -628,7 +631,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(negedge Clk_i) begin
|
|
always @(negedge Clk_i) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
ssCnt <= 0;
|
|
ssCnt <= 0;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
@@ -658,7 +661,7 @@ module QuadSPIm
|
|
|
|
|
|
|
|
|
|
|
|
|
always @(negedge Clk_i) begin
|
|
always @(negedge Clk_i) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
ss <= 1'b1;
|
|
ss <= 1'b1;
|
|
|
end else begin
|
|
end else begin
|
|
|
if (Stop_i != 0) begin
|
|
if (Stop_i != 0) begin
|
|
@@ -704,7 +707,7 @@ module QuadSPIm
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
always @(negedge Clk_i) begin
|
|
always @(negedge Clk_i) begin
|
|
|
- if (Rst_i) begin
|
|
|
|
|
|
|
+ if (rstReg) begin
|
|
|
mosiReg3 <= SpiData_i[7:0];
|
|
mosiReg3 <= SpiData_i[7:0];
|
|
|
mosiReg2 <= SpiData_i[15:8];
|
|
mosiReg2 <= SpiData_i[15:8];
|
|
|
mosiReg1 <= SpiData_i[23:16];
|
|
mosiReg1 <= SpiData_i[23:16];
|