|
@@ -1,4 +1,4 @@
|
|
|
-`timescale 1ns/1ps
|
|
|
|
|
|
|
+`timescale 1ns/1ns
|
|
|
|
|
|
|
|
module TopSbTmsgTb(inout Mosi1_io);
|
|
module TopSbTmsgTb(inout Mosi1_io);
|
|
|
parameter CLK_PERIOD = 8.13; // Clock period in ns
|
|
parameter CLK_PERIOD = 8.13; // Clock period in ns
|
|
@@ -47,6 +47,8 @@ module TopSbTmsgTb(inout Mosi1_io);
|
|
|
wire locked;
|
|
wire locked;
|
|
|
wire rstInit;
|
|
wire rstInit;
|
|
|
|
|
|
|
|
|
|
+ logic mosi1Reg;
|
|
|
|
|
+
|
|
|
logic [16:0] trCnt;
|
|
logic [16:0] trCnt;
|
|
|
logic [4:0] trCntSync;
|
|
logic [4:0] trCntSync;
|
|
|
|
|
|
|
@@ -109,6 +111,7 @@ 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 [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;
|
|
@@ -172,7 +175,7 @@ initial begin
|
|
|
#(CLK_PERIOD*10) Rst_i = 0;
|
|
#(CLK_PERIOD*10) Rst_i = 0;
|
|
|
#(300000-60) rstForFPGA = 1;
|
|
#(300000-60) rstForFPGA = 1;
|
|
|
#(CLK_PERIOD*74) rstForFPGA = 0;
|
|
#(CLK_PERIOD*74) rstForFPGA = 0;
|
|
|
- #(20) Start_i = 1; // Start SPI transaction
|
|
|
|
|
|
|
+ #(165000) Start_i = 1; // Start SPI transaction
|
|
|
|
|
|
|
|
end
|
|
end
|
|
|
//***********************************************
|
|
//***********************************************
|
|
@@ -188,13 +191,24 @@ always_ff @(posedge Clk10) begin
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
+always_comb begin
|
|
|
|
|
+ if (Rst_i) begin
|
|
|
|
|
+ mosi1Reg = 0;
|
|
|
|
|
+ end
|
|
|
|
|
+ else begin
|
|
|
|
|
+ mosi1Reg = Mosi1_io;
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
genvar i;
|
|
genvar i;
|
|
|
always_comb begin
|
|
always_comb begin
|
|
|
if (Rst_i) begin
|
|
if (Rst_i) begin
|
|
|
WidthSel_i = 2'd0;
|
|
WidthSel_i = 2'd0;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
|
- if (trCnt > 152 && trCnt < 159) begin
|
|
|
|
|
|
|
+ if (trCnt > 158 && trCnt < 165) begin
|
|
|
WidthSel_i = 2'd3;
|
|
WidthSel_i = 2'd3;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
@@ -208,7 +222,7 @@ always_comb begin
|
|
|
modeSel = 0;
|
|
modeSel = 0;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
|
- if (trCnt == 159) begin
|
|
|
|
|
|
|
+ if (trCnt == 165) begin
|
|
|
modeSel = 1;
|
|
modeSel = 1;
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|