|
@@ -23,6 +23,7 @@ module TopSbTmsgTb;
|
|
|
logic EndianSel_i;
|
|
logic EndianSel_i;
|
|
|
logic [5:0] Stop_i;
|
|
logic [5:0] Stop_i;
|
|
|
logic PulsePol_i;
|
|
logic PulsePol_i;
|
|
|
|
|
+ logic MisoLdLmx_i;
|
|
|
|
|
|
|
|
// Outputs
|
|
// Outputs
|
|
|
wire Mosi0_o;
|
|
wire Mosi0_o;
|
|
@@ -91,14 +92,18 @@ localparam [4:0] DeviceIdDac = 5'h3;
|
|
|
localparam [4:0] DeviceIdAtt = 5'h4;
|
|
localparam [4:0] DeviceIdAtt = 5'h4;
|
|
|
localparam [4:0] DeviceIdShReg = 5'h5;
|
|
localparam [4:0] DeviceIdShReg = 5'h5;
|
|
|
localparam [4:0] DeviceIdMax2870 = 5'h6;
|
|
localparam [4:0] DeviceIdMax2870 = 5'h6;
|
|
|
-localparam [4:0] DeviceIdGPIO = 5'h7;
|
|
|
|
|
|
|
+localparam [4:0] DeviceIdGpio1 = 5'h7;
|
|
|
|
|
+localparam [4:0] DeviceIdTemp = 5'h8;
|
|
|
|
|
+localparam [4:0] DeviceIdGpio2 = 5'h9;
|
|
|
|
|
|
|
|
-localparam [16:0] GpioInitWordNum = 17'd1;
|
|
|
|
|
|
|
+localparam [16:0] Gpio1InitWordNum = 17'd1;
|
|
|
|
|
+localparam [16:0] Gpio2InitWordNum = 17'd1;
|
|
|
localparam [16:0] Lmx2594InitWordNum = 17'd113;
|
|
localparam [16:0] Lmx2594InitWordNum = 17'd113;
|
|
|
localparam [16:0] DDSInitWordNum = 17'd37;
|
|
localparam [16:0] DDSInitWordNum = 17'd37;
|
|
|
localparam [16:0] MaxInitWordNum = 17'd6;
|
|
localparam [16:0] MaxInitWordNum = 17'd6;
|
|
|
|
|
|
|
|
-localparam [23:0] InitGpioHeader = {1'h0, DeviceIdGPIO, GpioInitWordNum, 1'h1};
|
|
|
|
|
|
|
+localparam [23:0] InitGpio1Header = {1'h0, DeviceIdGpio1, Gpio1InitWordNum, 1'h1};
|
|
|
|
|
+localparam [23:0] InitGpio2Header = {1'b0, DeviceIdGpio2,Gpio2InitWordNum,1'h1 };
|
|
|
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};
|
|
@@ -120,6 +125,7 @@ assign Val_o = (modeSel) ? valQ : valR;
|
|
|
assign Sck_o = (modeSel) ? SckQ : SckR;
|
|
assign Sck_o = (modeSel) ? SckQ : SckR;
|
|
|
assign Ss_o = (modeSel) ? SsQ : SsR;
|
|
assign Ss_o = (modeSel) ? SsQ : SsR;
|
|
|
assign Mosi0_o = (modeSel) ? mosi0Q : mosi0R;
|
|
assign Mosi0_o = (modeSel) ? mosi0Q : mosi0R;
|
|
|
|
|
+assign MisoLdLmx_i = 1'b1;
|
|
|
|
|
|
|
|
assign emptyFlagTx = (trCnt > 187) ? 1'b1 : 1'b0;
|
|
assign emptyFlagTx = (trCnt > 187) ? 1'b1 : 1'b0;
|
|
|
assign QSPITotalWordNum = LMXWordNum + DDSWordNum + POTWordNum + DACWordNum + ATTWordNum + ShRegWordNum + MaxWordNum + GPIOWordNum;
|
|
assign QSPITotalWordNum = LMXWordNum + DDSWordNum + POTWordNum + DACWordNum + ATTWordNum + ShRegWordNum + MaxWordNum + GPIOWordNum;
|
|
@@ -237,10 +243,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 = InitGpioHeader;
|
|
|
|
|
|
|
+ SPIdata = InitGpio2Header;
|
|
|
end
|
|
end
|
|
|
else if (trCnt == 2) begin
|
|
else if (trCnt == 2) begin
|
|
|
- SPIdata = InitGpioHeader;
|
|
|
|
|
|
|
+ SPIdata = InitGpio2Header;
|
|
|
end
|
|
end
|
|
|
else if (trCnt == 4) begin
|
|
else if (trCnt == 4) begin
|
|
|
SPIdata = InitLMX2594Header;
|
|
SPIdata = InitLMX2594Header;
|
|
@@ -334,6 +340,8 @@ always_comb begin
|
|
|
.Rst_i(rstForFPGA),
|
|
.Rst_i(rstForFPGA),
|
|
|
.Sck_i(Sck_o),
|
|
.Sck_i(Sck_o),
|
|
|
.Ss_i(Ss_o),
|
|
.Ss_i(Ss_o),
|
|
|
|
|
+ .MisoLdLmx_i(1'b1),
|
|
|
|
|
+ .MisoLdMax2870_i(1'b1),
|
|
|
.Mosi0_i(Mosi0_o),
|
|
.Mosi0_i(Mosi0_o),
|
|
|
.Mosi1_io(Mosi1_o),
|
|
.Mosi1_io(Mosi1_o),
|
|
|
.Mosi2_i(Mosi2_o),
|
|
.Mosi2_i(Mosi2_o),
|