Преглед изворни кода

Исправил перезапись ddsWordNum и lmxWordNum во врапперах.

Anatoliy Chigirinskiy пре 6 месеци
родитељ
комит
14c7f7b4e4
2 измењених фајлова са 14 додато и 10 уклоњено
  1. 2 2
      src/src/Top/TopSbTmsg.v
  2. 12 8
      src/src/Top/TopSbTmsgTb.sv

+ 2 - 2
src/src/Top/TopSbTmsg.v

@@ -484,7 +484,7 @@ LmxWrapper #(
 	.Data_i				(spiData),
 	.Val_i				(valLmxDataToFifo),
 	.LmxWordNum_i		(lmxWordNum),
-	.LmxWordNumVal_i	(valWordNum),
+	.LmxWordNumVal_i	(valWordNum && (lmxWordNum != 0)),
 	.DdsWordNumReg_i	(ddsWordNumReg),
 	.DdsCs_i			(ddsCsSpiM),
 	.LmxDirectFlag_i	(flagDirectLmx),	
@@ -504,7 +504,7 @@ DDSWrapper #(
 	.RdClk_i			(clk50),
 	.Rst_i				(initRst),
 	.DdsWordNum_i		(ddsWordNum),
-	.DdsWordNumVal_i	(valWordNum),
+	.DdsWordNumVal_i	( valWordNum && (ddsWordNum != 0)),
 	.DdsDirectFlag_i	(flagDirectDds),
 	.Data_i				(spiData),
 	.Val_i				(valDdsDataToFifo),

+ 12 - 8
src/src/Top/TopSbTmsgTb.sv

@@ -123,6 +123,8 @@ localparam [23:0] InitDacHeader         = {1'h0, DeviceIdDac, DacWordInitNum, 1'
 localparam [23:0] InitAttHeader         = {1'h0, DeviceIdAtt, AttWordInitNum, 1'h1};
 localparam [23:0] InitShRegHeader       = {1'h0, DeviceIdShReg, ShRegWordInitNum, 1'h1};
 
+
+
 localparam [3:0]  LMXWordNum = 4'd14;
 localparam [2:0]  DDSWordNum = 3'd4;
 localparam        POTWordNum = 2'd2;
@@ -132,6 +134,8 @@ localparam [1:0]  ShRegWordNum = 2'd1;
 localparam [1:0]  MaxWordNum =   2'd2;
 localparam [1:0]  GPIOWordNum =  2'd1;
 
+localparam [23:0] Max2870Header         = {1'h1, 1'h0, 3'h0, 1'h0, 2'h0, 4'h0, 1'h0, MaxWordNum, 1'h0, 2'h0, 1'h0, 2'h0, 1'h0, 1'h0, 1'h1};
+
 //***********************************************
 //	           GPIO 1 REG 
 //***********************************************
@@ -175,7 +179,7 @@ assign Mosi0_o = (modeSel) ? mosi0Q : mosi0R;
 assign Mosi1_io = (anyFlag) ? 1'bz : Mosi1_o;
 assign MisoLdLmx_i = 1'b1;
 
-assign emptyFlagTx = (trCnt > 71) ? 1'b1 : 1'b0;
+assign emptyFlagTx = (trCnt > 74) ? 1'b1 : 1'b0;
 assign QSPITotalWordNum = LMXWordNum + DDSWordNum + POTWordNum + DACWordNum + ATTWordNum + ShRegWordNum + MaxWordNum + GPIOWordNum; 
 
 assign currClk = (modeSel) ? Clk60 : Clk10;
@@ -231,11 +235,11 @@ initial begin
         end
         #(CLK_PERIOD*100) 
         Start_i = 1; // Start SPI transaction
-      wait (trCnt == 70) begin 
-            Start_i = 0;
-        end
-        #(CLK_PERIOD*1000) 
-        Start_i = 1; // Start SPI transaction
+    //   wait (trCnt == 70) begin 
+    //         Start_i = 0;
+    //     end
+    //     #(CLK_PERIOD*1000) 
+    //     Start_i = 1; // Start SPI transaction
   end
 //***********************************************
 
@@ -367,7 +371,7 @@ always_comb begin
                 SPIdata = 7'h55;
             end
             else if (trCnt == 72) begin 
-                SPIdata = AllDevQSPIHeader;
+                SPIdata = Max2870Header;
             end
             else begin
                 SPIdata = 24'haaaaaa;
@@ -413,7 +417,7 @@ always_comb begin
         .Lag_i(LAG_i),
         .Lead_i(LEAD_i),
         .EndianSel_i(EndianSel_i),
-        .Stop_i(6'h0),
+        .Stop_i(6'h3),
         .PulsePol_i(PulsePol_i),
         .Mosi0_o(mosi0Q),
         .Mosi1_o(Mosi1_o),