|
|
@@ -28,6 +28,7 @@ module LmxWrapper #(
|
|
|
input Val_i,
|
|
|
|
|
|
input [3:0] LmxWordNum_i,
|
|
|
+ input LmxDirectFlag_i,
|
|
|
input LmxWordNumVal_i,
|
|
|
|
|
|
output reg PllVtuneCtrl_o,
|
|
|
@@ -72,7 +73,7 @@ always @(posedge WrClk_i) begin
|
|
|
lmxWordNumReg <= LmxWordNum_i;
|
|
|
end
|
|
|
else begin
|
|
|
- if (Ss_o && !ssR) begin
|
|
|
+ if (Ss_o && !ssR && lmxWordNumReg != 0) begin
|
|
|
lmxWordNumReg <= lmxWordNumReg-1;
|
|
|
end
|
|
|
end
|
|
|
@@ -83,15 +84,20 @@ always @(posedge WrClk_i) begin
|
|
|
if (Rst_i) begin
|
|
|
PllVtuneCtrl_o <=1'b0;
|
|
|
end
|
|
|
- else begin
|
|
|
- if ((!Ss_o && ssR) && (lmxWordNumReg != 0) ) begin
|
|
|
- PllVtuneCtrl_o <= 1'b0;
|
|
|
- end
|
|
|
- else begin
|
|
|
- if (lmxWordNumReg == 0) begin
|
|
|
- PllVtuneCtrl_o <= 1'b1;
|
|
|
+ else begin
|
|
|
+ if (!LmxDirectFlag_i) begin
|
|
|
+ if ((!Ss_o && ssR) && (lmxWordNumReg != 0) ) begin
|
|
|
+ PllVtuneCtrl_o <= 1'b0;
|
|
|
+ end
|
|
|
+ else begin
|
|
|
+ if (lmxWordNumReg == 0) begin
|
|
|
+ PllVtuneCtrl_o <= 1'b1;
|
|
|
+ end
|
|
|
end
|
|
|
end
|
|
|
+ else begin
|
|
|
+ PllVtuneCtrl_o <= ~LmxDirectFlag_i;
|
|
|
+ end
|
|
|
end
|
|
|
end
|
|
|
|