|
|
@@ -56,9 +56,9 @@ module TopSbTmsg
|
|
|
output DdsSyncCtrlFpga_o,
|
|
|
output DdsResetFpga_o,
|
|
|
output DdsSyncFpga_o,
|
|
|
- output SwCap4_o,
|
|
|
+ output LrCtrlFpga_o,
|
|
|
output AmAlcSw_o,
|
|
|
- output SwCap3_o,
|
|
|
+ output FpgaAlcDetSet_o,
|
|
|
output SwCap2_o,
|
|
|
output SwCap1_o,
|
|
|
output AmAlc1Fix_o,
|
|
|
@@ -73,6 +73,7 @@ module TopSbTmsg
|
|
|
output GpioAdRfV2_o,
|
|
|
output DdsSaw1Fpga_o,
|
|
|
output FpgaAmCtrl_o,
|
|
|
+ output HrCtrlFpga_o,
|
|
|
|
|
|
//Output SPI devices
|
|
|
output reg CsLmx94_o,
|
|
|
@@ -101,15 +102,21 @@ module TopSbTmsg
|
|
|
|
|
|
output reg CsMax2870MixRf2_o,
|
|
|
output reg ClkMax2870MixRf2_o,
|
|
|
- output reg DataMax2870MixRf2_o
|
|
|
+ output reg DataMax2870MixRf2_o,
|
|
|
+
|
|
|
+ /* Led */
|
|
|
+ output FpgaLed_o
|
|
|
+
|
|
|
|
|
|
);
|
|
|
|
|
|
//================================================================================
|
|
|
// LOCALPARAM
|
|
|
|
|
|
-localparam [11:0] BOARD_VER = 12'h1;
|
|
|
-localparam [11:0] FIRMWARE_VER = 12'h1;
|
|
|
+localparam [11:0] BOARD_VER = 12'h2;
|
|
|
+localparam [11:0] FIRMWARE_VER = 12'h1;
|
|
|
+
|
|
|
+localparam LED_TICK_RATE = 48000000;//0.5Hz 24MHz
|
|
|
|
|
|
//================================================================================
|
|
|
// REG/WIRE
|
|
|
@@ -199,9 +206,15 @@ localparam [11:0] FIRMWARE_VER = 12'h1;
|
|
|
|
|
|
wire [23:0] servInfo;
|
|
|
|
|
|
+ /* LedCnt*/
|
|
|
+ reg [31:0] ledCnt;
|
|
|
+ /* LedReg */
|
|
|
+ reg ledReg;
|
|
|
+
|
|
|
//================================================================================
|
|
|
// ASSIGNMENTS
|
|
|
//================================================================================
|
|
|
+assign HrCtrlFpga_o = gpio1CtrlData[23];
|
|
|
assign FpgaAmCtrl_o = gpio1CtrlData[22];
|
|
|
assign DdsSaw1Fpga_o = gpio1CtrlData[21];
|
|
|
assign GpioAdRfV2_o = gpio1CtrlData[20];
|
|
|
@@ -215,13 +228,12 @@ assign PllSyncCtrl_o = gpio1CtrlData[13];
|
|
|
assign AmAlc1Fix_o = gpio1CtrlData[11];
|
|
|
assign SwCap1_o = gpio1CtrlData[10];
|
|
|
assign SwCap2_o = gpio1CtrlData[9];
|
|
|
-assign SwCap3_o = gpio1CtrlData[8];
|
|
|
+assign FpgaAlcDetSet_o = gpio1CtrlData[8];
|
|
|
assign AmAlcSw_o = gpio1CtrlData[7];
|
|
|
-assign SwCap4_o = gpio1CtrlData[6];
|
|
|
+assign LrCtrlFpga_o = gpio1CtrlData[6];
|
|
|
assign DdsResetFpga_o = gpio1CtrlData[4];
|
|
|
assign DdsSyncCtrlFpga_o = gpio1CtrlData[3];
|
|
|
assign CtrlAmSw3_o = gpio1CtrlData[2];
|
|
|
-// assign CtrlAmSw3_o = testTrig; //Debug-only
|
|
|
assign RfSw2_o = gpio1CtrlData[1];
|
|
|
assign RfSw1_o = gpio1CtrlData[0];
|
|
|
|
|
|
@@ -233,8 +245,27 @@ assign AnyFlag_o = anyFlag;//Debug-only
|
|
|
|
|
|
assign servInfo = {BOARD_VER, FIRMWARE_VER};
|
|
|
|
|
|
+assign FpgaLed_o = ledReg;
|
|
|
+
|
|
|
//================================================================================
|
|
|
// CODING
|
|
|
+/* Blink Led */
|
|
|
+always @(posedge Clk_i) begin
|
|
|
+ if (initRst) begin
|
|
|
+ ledCnt <= 0;
|
|
|
+ ledReg <= 1'b1;
|
|
|
+ end
|
|
|
+ else begin
|
|
|
+ if (ledCnt == LED_TICK_RATE) begin
|
|
|
+ ledReg <= ~ledReg;
|
|
|
+ ledCnt <= 0;
|
|
|
+ end
|
|
|
+ else begin
|
|
|
+ ledCnt <= ledCnt + 1;
|
|
|
+ end
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
always @(*) begin
|
|
|
if (Rst_i) begin
|
|
|
misoReg = 1'b0;
|
|
|
@@ -453,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),
|
|
|
@@ -473,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),
|