|
|
@@ -28,6 +28,8 @@ module LmxWrapper #(
|
|
|
input Val_i,
|
|
|
|
|
|
input [3:0] LmxWordNum_i,
|
|
|
+ input [2:0] DdsWordNumReg_i,
|
|
|
+ input DdsCs_i,
|
|
|
input LmxDirectFlag_i,
|
|
|
input LmxWordNumVal_i,
|
|
|
|
|
|
@@ -57,6 +59,7 @@ reg plsToggleSyncB;
|
|
|
|
|
|
reg ssR;
|
|
|
reg ssReg;
|
|
|
+reg ssRegDds;
|
|
|
reg [3:0] lmxWordNumReg;
|
|
|
reg [3:0] lmxWordNumRegR;
|
|
|
//==========================================================================//
|
|
|
@@ -107,6 +110,15 @@ always @(posedge RdClk_i) begin
|
|
|
end
|
|
|
end
|
|
|
|
|
|
+always @(posedge RdClk_i) begin
|
|
|
+ if (Rst_i) begin
|
|
|
+ ssRegDds <= 1'b0;
|
|
|
+ end
|
|
|
+ else begin
|
|
|
+ ssRegDds <= DdsCs_i;
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
always @(posedge RdClk_i) begin
|
|
|
if (Rst_i) begin
|
|
|
lmxWordNumReg <= 3'h0;
|
|
|
@@ -129,11 +141,14 @@ always @(posedge RdClk_i) begin
|
|
|
end
|
|
|
else begin
|
|
|
if (!LmxDirectFlag_i) begin
|
|
|
- if ((!Ss_o && ssReg) && (lmxWordNumReg != 0) ) begin
|
|
|
+ if (lmxWordNumReg == 0 ) begin
|
|
|
+ PllVtuneCtrl_o <= 1'b1;
|
|
|
+ end
|
|
|
+ else if ((!DdsCs_i && ssRegDds) && (DdsWordNumReg_i != 0)) begin
|
|
|
PllVtuneCtrl_o <= 1'b0;
|
|
|
end
|
|
|
- else if (lmxWordNumReg == 0 ) begin
|
|
|
- PllVtuneCtrl_o <= 1'b1;
|
|
|
+ else if ((!Ss_o && ssReg) && (lmxWordNumReg != 0) ) begin
|
|
|
+ PllVtuneCtrl_o <= 1'b0;
|
|
|
end
|
|
|
end
|
|
|
else begin
|