|
@@ -42,6 +42,8 @@ module QuadSPIm(
|
|
|
reg [3:0] ssNum;
|
|
reg [3:0] ssNum;
|
|
|
reg [2:0] delayCnt;
|
|
reg [2:0] delayCnt;
|
|
|
reg stopFlag;
|
|
reg stopFlag;
|
|
|
|
|
+
|
|
|
|
|
+ wire [31:0] txLenght = ssNum+Lag_i+Lead_i;
|
|
|
//================================================================================
|
|
//================================================================================
|
|
|
// ASSIGNMENTS
|
|
// ASSIGNMENTS
|
|
|
//================================================================================
|
|
//================================================================================
|
|
@@ -144,163 +146,210 @@ module QuadSPIm(
|
|
|
|
|
|
|
|
|
|
|
|
|
always @(*) begin
|
|
always @(*) begin
|
|
|
- if (SelSt_i) begin
|
|
|
|
|
- if (PulsePol_i) begin
|
|
|
|
|
- if (ClockPhase_i) begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (!ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (!ss && (ssCnt < ssNum+Lag_i+Lead_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (!ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (!ss && (ssCnt < ssNum + Lag_i + Lead_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ClockPhase_i) begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (!ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (!ss && (ssCnt <ssNum + Lag_i + Lag_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (!ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (!ss && (ssCnt < ssNum + Lag_i + Lead_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (PulsePol_i) begin
|
|
|
|
|
- if (ClockPhase_i) begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ss && (ssCnt < ssNum+Lag_i+Lead_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ss && (ssCnt < ssNum + Lag_i + Lead_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ClockPhase_i) begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ss && (ssCnt <ssNum + Lag_i + Lag_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (Lead_i == 0) begin
|
|
|
|
|
- if (ss && (ssCnt <= ssNum+Lag_i+Lead_i && ssCnt > Lag_i) ) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ss && (ssCnt < ssNum + Lag_i + Lead_i && ssCnt > Lag_i)) begin
|
|
|
|
|
- Sck_o = ~(~Clk_i);
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- Sck_o = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if (Stop_i != 0) begin
|
|
|
|
|
+ if (SelSt_i) begin
|
|
|
|
|
+ if (PulsePol_i) begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (!ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (!ss && (ssCnt < txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (!ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (!ss && (ssCnt < txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (!ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (!ss && (ssCnt <txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (!ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (!ss && (ssCnt < txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (PulsePol_i) begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (ss && (ssCnt < txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (ss && (ssCnt < txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (ss && (ssCnt <txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (Lead_i == 0) begin
|
|
|
|
|
+ if (ss && (ssCnt <= txLenght-1 && ssCnt > Lag_i) ) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (ss && (ssCnt < txLenght-1 && ssCnt > Lag_i)) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (startFlag) begin
|
|
|
|
|
+ if (SelSt_i) begin
|
|
|
|
|
+ if (!ss) begin
|
|
|
|
|
+ if (PulsePol_i) begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = ~Clk_i;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ Sck_o <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (ss) begin
|
|
|
|
|
+ if (PulsePol_i) begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = ~Clk_i;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (ClockPhase_i) begin
|
|
|
|
|
+ Sck_o = ~(Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ Sck_o = ~(~Clk_i);
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ Sck_o <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ Sck_o = 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
@@ -430,25 +479,37 @@ module QuadSPIm(
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
- always @(*) begin
|
|
|
|
|
- if (SelSt_i) begin
|
|
|
|
|
- if (ss && !ssR) begin
|
|
|
|
|
- valReg = 1'b1;
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- valReg = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (!ss&& ssR) begin
|
|
|
|
|
- valReg = 1'b1;
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- valReg = 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
|
|
+ // always @(*) begin
|
|
|
|
|
+ // if (SelSt_i) begin
|
|
|
|
|
+ // if (ss && !ssR) begin
|
|
|
|
|
+ // valReg = 1'b1;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // valReg = 1'b0;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // if (!ss&& ssR) begin
|
|
|
|
|
+ // valReg = 1'b1;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // valReg = 1'b0;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
|
|
|
|
|
+ always @(*) begin
|
|
|
|
|
+ if (Rst_i) begin
|
|
|
|
|
+ valReg = 0;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (ssCnt == txLenght-1) begin
|
|
|
|
|
+ valReg = 1;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ valReg = 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
|
|
|
always @(posedge Clk_i) begin
|
|
always @(posedge Clk_i) begin
|
|
|
if (valReg) begin
|
|
if (valReg) begin
|
|
@@ -509,7 +570,7 @@ module QuadSPIm(
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
- wire [31:0] test = ssNum+Lag_i+Lead_i;
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
// always @(negedge Clk_i) begin
|
|
// always @(negedge Clk_i) begin
|
|
|
// if (Rst_i) begin
|
|
// if (Rst_i) begin
|
|
@@ -527,47 +588,109 @@ module QuadSPIm(
|
|
|
|
|
|
|
|
always @(negedge Clk_i) begin
|
|
always @(negedge Clk_i) begin
|
|
|
if (Rst_i) begin
|
|
if (Rst_i) begin
|
|
|
- ssCnt <= 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- else if (ssCnt < (ssNum+Lag_i+Lead_i) && startFlag ) begin
|
|
|
|
|
- ssCnt <= ssCnt + 1'b1;
|
|
|
|
|
- end else begin
|
|
|
|
|
- ssCnt <= 1'b0;
|
|
|
|
|
|
|
+ ssCnt <= 0;
|
|
|
end
|
|
end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ if (SelSt_i) begin
|
|
|
|
|
+ if (!ss) begin
|
|
|
|
|
+ if (ssCnt != txLenght-1) begin
|
|
|
|
|
+ ssCnt <= ssCnt + 1;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ ssCnt <= 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ ssCnt <= 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (ss) begin
|
|
|
|
|
+ if (ssCnt != txLenght-1) begin
|
|
|
|
|
+ ssCnt <= ssCnt + 1;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ ssCnt <= 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ ssCnt <= 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
always @(negedge Clk_i) begin
|
|
always @(negedge Clk_i) begin
|
|
|
- if (SelSt_i) begin
|
|
|
|
|
- if (Rst_i) begin
|
|
|
|
|
- ss <= 1'b1;
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ssCnt < (ssNum+Lag_i+Lead_i) && startFlag ) begin
|
|
|
|
|
- ss <= 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- ss <= 1'b1;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (Rst_i) begin
|
|
|
|
|
- ss <= 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- if (ssCnt < (ssNum+Lag_i+Lead_i) && startFlag ) begin
|
|
|
|
|
- ss <= 1'b1;
|
|
|
|
|
- end
|
|
|
|
|
- else begin
|
|
|
|
|
- ss <= 1'b0;
|
|
|
|
|
- end
|
|
|
|
|
- end
|
|
|
|
|
|
|
+ if (Rst_i) begin
|
|
|
|
|
+ ss <= 1'b1;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (Stop_i != 0) begin
|
|
|
|
|
+ if (startFlag) begin
|
|
|
|
|
+ if (SelSt_i) begin
|
|
|
|
|
+ if (ssCnt != txLenght-1) begin
|
|
|
|
|
+ ss <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ ss <= 1'b1;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (ssCnt != txLenght-1) begin
|
|
|
|
|
+ ss <= 1'b1;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ ss <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (SelSt_i) begin
|
|
|
|
|
+ ss <= 1'b1;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ ss <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (startFlag) begin
|
|
|
|
|
+ if (SelSt_i) begin
|
|
|
|
|
+ ss <= 1'b0;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ ss <= 1'b1;
|
|
|
|
|
+ end
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ if (SelSt_i) begin
|
|
|
|
|
+ ss <= 1'b1;
|
|
|
|
|
+ end else begin
|
|
|
|
|
+ ss <= 1'b0;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
+ // always @(negedge Clk_i) begin
|
|
|
|
|
+ // if (SelSt_i) begin
|
|
|
|
|
+ // if (Rst_i) begin
|
|
|
|
|
+ // ss <= 1'b1;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // if (ssCnt < (ssNum+Lag_i+Lead_i) && startFlag ) begin
|
|
|
|
|
+ // ss <= 1'b0;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // ss <= 1'b1;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // if (Rst_i) begin
|
|
|
|
|
+ // ss <= 1'b0;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // if (ssCnt < (ssNum+Lag_i+Lead_i) && startFlag ) begin
|
|
|
|
|
+ // ss <= 1'b1;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // else begin
|
|
|
|
|
+ // ss <= 1'b0;
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
+ // end
|
|
|
|
|
+
|
|
|
|
|
|
|
|
always @(negedge Clk_i) begin
|
|
always @(negedge Clk_i) begin
|
|
|
if (Rst_i) begin
|
|
if (Rst_i) begin
|