Procházet zdrojové kódy

Обновлена последовательность отгрузок в режиме 1MOSI.

Anatoliy Chigirinskiy před 1 rokem
rodič
revize
9798b29ab3
1 změnil soubory, kde provedl 35 přidání a 26 odebrání
  1. 35 26
      src/src/Top/TopSbTmsgTb.sv

+ 35 - 26
src/src/Top/TopSbTmsgTb.sv

@@ -100,8 +100,12 @@ localparam [4:0]  DeviceIdGpio2 = 5'h9;
 
 localparam [16:0] Gpio1InitWordNum = 17'd1;
 localparam [16:0] Gpio2InitWordNum = 17'd1;
-localparam [16:0] Lmx2594InitWordNum = 17'd113;
-localparam [16:0] DDSInitWordNum = 17'd37;
+localparam [16:0] PotWordInitNum = 17'd1;
+localparam [16:0] DacWordInitNum = 17'd1;
+localparam [16:0] AttWordInitNum = 17'd1;
+localparam [16:0] ShRegWordInitNum = 17'd1;
+localparam [16:0] Lmx2594InitWordNum = 17'd13;
+localparam [16:0] DDSInitWordNum = 17'd7;
 localparam [16:0] MaxInitWordNum = 17'd6;
 localparam [16:0] TempSensWordNum = 17'd1;
 
@@ -111,7 +115,11 @@ localparam [23:0] TempSensHeader        = {1'h0, DeviceIdTemp, TempSensWordNum,
 localparam [23:0] InitLMX2594Header     = {1'h0, DeviceIdLmx2594, Lmx2594InitWordNum, 1'h1};
 localparam [23:0] InitDDSHeader         = {1'h0, DeviceIdDDS, DDSInitWordNum, 1'h1};
 localparam [23:0] InitMAX2870Header     = {1'h0, DeviceIdMax2870, MaxInitWordNum, 1'h1};
-// localparam [23:0] InitPot
+localparam [23:0] InitPotHeader         = {1'h0, DeviceIdPot, PotWordInitNum, 1'h1};
+localparam [23:0] InitDacHeader         = {1'h0, DeviceIdDac, DacWordInitNum, 1'h1};
+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 [1:0]  DDSWordNum = 2'd3;
 localparam        POTWordNum = 1'd1;
@@ -133,7 +141,7 @@ assign Mosi0_o = (modeSel) ? mosi0Q : mosi0R;
 assign Mosi1_io = (anyFlag) ? 1'bz : Mosi1_o;
 assign MisoLdLmx_i = 1'b1;
 
-assign emptyFlagTx = (trCnt > 189) ? 1'b1 : 1'b0;
+assign emptyFlagTx = (trCnt > 69) ? 1'b1 : 1'b0;
 assign QSPITotalWordNum = LMXWordNum + DDSWordNum + POTWordNum + DACWordNum + ATTWordNum + ShRegWordNum + MaxWordNum + GPIOWordNum; 
 
 //***********************************************
@@ -208,7 +216,7 @@ always_comb begin
         WidthSel_i = 2'd0;
     end
     else begin 
-        if (trCnt > 158 && trCnt < 165) begin 
+        if (trCnt > 36 && trCnt < 43) begin 
             WidthSel_i = 2'd3;
         end
         else begin 
@@ -222,7 +230,7 @@ always_comb begin
         modeSel = 0;
     end
     else begin 
-        if (trCnt == 165) begin 
+        if (trCnt == 45) begin 
             modeSel = 1;
         end
     end
@@ -260,10 +268,10 @@ always_comb begin
     else begin 
         // if (!rstInit && locked) begin
             if (trCnt == 0) begin 
-                SPIdata = InitGpio2Header;
+                SPIdata = InitGpio1Header;
             end
             else if (trCnt == 2) begin 
-                SPIdata = InitGpio2Header;
+                SPIdata = InitGpio1Header;
             end
             else if (trCnt == 4) begin 
                 SPIdata = TempSensHeader;
@@ -274,34 +282,35 @@ always_comb begin
             // else if (trCnt > 0 && trCnt < 114) begin 
             //     SPIdata = pkt.data;
             // end
-            else if (trCnt == 120) begin 
+            else if (trCnt == 20) begin 
                 SPIdata = InitDDSHeader;
             end
-            else if (trCnt == 158) begin 
+            else if (trCnt == 28) begin 
+                SPIdata = InitPotHeader;
+            end
+            else if (trCnt == 30) begin 
+                SPIdata = InitDacHeader;
+            end
+            else if (trCnt == 32) begin 
+                SPIdata = InitAttHeader;
+            end
+            else if (trCnt == 34) begin 
+                SPIdata = InitShRegHeader;
+            end
+            else if (trCnt == 36) begin 
                 SPIdata = InitMAX2870Header;
             end
-            else if (trCnt > 158 && trCnt < 165) begin 
-                // if (trCnt % 2 == 0) begin 
-                //     SPIdata = 32'haaaaaaaa;
-                // end
-                // else begin 
-                //     SPIdata = 32'h55555555;
-                // end
+            else if (trCnt > 36 && trCnt < 43) begin 
                 SPIdata = 32'haaaaaaaa;
-                // SPIdata = pkt.data32;
             end
-            else if (trCnt == 165) begin 
+            else if (trCnt == 43) begin 
+                SPIdata = InitGpio2Header;
+            end
+            else if (trCnt == 45) begin 
                 SPIdata = AllDevQSPIHeader;
             end
             else begin
-                // if (trCnt % 2 == 0) begin 
-                //     SPIdata = 24'haaaaaa;
-                // end
-                // else begin 
-                //     SPIdata = 24'h555555;
-                // end
                 SPIdata = 24'haaaaaa;
-                // SPIdata = pkt.data;
             end
         end
     end