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