|
|
@@ -18,7 +18,7 @@
|
|
|
// Additional Comments:
|
|
|
//
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
-module PulseGenV2
|
|
|
+module PulseGen
|
|
|
#(
|
|
|
parameter CmdRegWidth = 32
|
|
|
)
|
|
|
@@ -70,7 +70,7 @@ module PulseGenV2
|
|
|
reg [1:0] nextState;
|
|
|
|
|
|
reg pulseDone;
|
|
|
- wire delayDone = (currState == PULSE)? delayCnt==currDelValue-1:1'b0;
|
|
|
+ wire delayDone = (currState == DELAY)? delayCnt==currDelValue-1:1'b0;
|
|
|
|
|
|
wire zeroDelay = (P1Del_i==0);
|
|
|
|
|
|
@@ -115,7 +115,7 @@ always @(posedge Clk_i) begin
|
|
|
delayCnt <= 0;
|
|
|
end
|
|
|
end else begin
|
|
|
- if (currState == PULSE) begin
|
|
|
+ if (currState == DELAY) begin
|
|
|
delayCnt <= delayCnt+1;
|
|
|
end else begin
|
|
|
delayCnt <= 0;
|
|
|
@@ -128,7 +128,7 @@ end
|
|
|
|
|
|
always @(posedge Clk_i) begin
|
|
|
if (!Rst_i) begin
|
|
|
- if (pulse) begin
|
|
|
+ if (currState == PULSE) begin
|
|
|
widthCnt <= widthCnt+1;
|
|
|
end else begin
|
|
|
widthCnt <= 0;
|
|
|
@@ -141,12 +141,8 @@ end
|
|
|
always @(*) begin
|
|
|
if (!Rst_i) begin
|
|
|
if (currState == PULSE) begin
|
|
|
- if (delayDone) begin
|
|
|
- if (widthCnt==currWidthValue-1) begin
|
|
|
- pulseDone = 1'b1;
|
|
|
- end else begin
|
|
|
- pulseDone = 1'b0;
|
|
|
- end
|
|
|
+ if (widthCnt==currWidthValue-1) begin
|
|
|
+ pulseDone = 1'b1;
|
|
|
end else begin
|
|
|
pulseDone = 1'b0;
|
|
|
end
|
|
|
@@ -247,16 +243,28 @@ always @(*) begin
|
|
|
case(currState)
|
|
|
IDLE : begin
|
|
|
if (enPulseEn) begin
|
|
|
+ if (zeroDelay) begin
|
|
|
+ nextState = PULSE;
|
|
|
+ end else begin
|
|
|
+ nextState = DELAY;
|
|
|
+ end
|
|
|
+ end else begin
|
|
|
+ nextState = IDLE;
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ DELAY : begin
|
|
|
+ if (delayDone) begin
|
|
|
nextState = PULSE;
|
|
|
end else begin
|
|
|
- nextState = IDLE;
|
|
|
+ nextState = DELAY;
|
|
|
end
|
|
|
end
|
|
|
|
|
|
PULSE : begin
|
|
|
if (pulseDone) begin
|
|
|
if (!patternDone) begin
|
|
|
- nextState = PULSE;
|
|
|
+ nextState = DELAY;
|
|
|
end else begin
|
|
|
nextState = IDLE;
|
|
|
end
|
|
|
@@ -274,13 +282,11 @@ always @(*) begin
|
|
|
IDLE: begin
|
|
|
pulse = 1'b0;
|
|
|
end
|
|
|
- PULSE: begin
|
|
|
- if (delayDone) begin
|
|
|
- pulse = 1'b1;
|
|
|
- end
|
|
|
- if (pulseDone) begin
|
|
|
+ DELAY: begin
|
|
|
pulse = 1'b0;
|
|
|
end
|
|
|
+ PULSE: begin
|
|
|
+ pulse = 1'b1;
|
|
|
end
|
|
|
default:begin
|
|
|
pulse = 1'b0;
|