|
@@ -72,20 +72,28 @@ wire [7:0] selector;
|
|
|
//==========================================
|
|
//==========================================
|
|
|
// Parameters
|
|
// Parameters
|
|
|
//==========================================
|
|
//==========================================
|
|
|
-localparam [22:0] DECREMENT_DDS = 23'h80000; //23'b000 1000 0000 0000 0000 0000
|
|
|
|
|
|
|
+// localparam [22:0] DECREMENT_DDS = 23'h80000; //23'b000 1000 0000 0000 0000 0000
|
|
|
|
|
+// localparam [22:0] DECREMENT_GPIO = 23'h10000; //23'b000 0001 0000 0000 0000 0000
|
|
|
|
|
+// localparam [22:0] DECREMENT_LMX = 23'h1000; //23'b000 0000 0001 0000 0000 0000
|
|
|
|
|
+// localparam [22:0] DECREMENT_MAX = 23'h200; //23'b000 0000 0000 0010 0000 0000
|
|
|
|
|
+// localparam [22:0] DECREMENT_SH_REG = 23'h40; //23'b000 0000 0000 0000 0100 0000
|
|
|
|
|
+// localparam [22:0] DECREMENT_POT = 23'h8; //23'b000 0000 0000 0000 0000 1000
|
|
|
|
|
+// localparam [22:0] DECREMENT_DAC = 23'h4; //23'b000 0000 0000 0000 0000 0100
|
|
|
|
|
+// localparam [22:0] DECREMENT_ATT = 23'h2; //23'b000 0000 0000 0000 0000 0010
|
|
|
|
|
+
|
|
|
|
|
+localparam [22:0] DECREMENT_LMX = 23'h40000; //23'b000 0100 0000 0000 0000 0000
|
|
|
localparam [22:0] DECREMENT_GPIO = 23'h10000; //23'b000 0001 0000 0000 0000 0000
|
|
localparam [22:0] DECREMENT_GPIO = 23'h10000; //23'b000 0001 0000 0000 0000 0000
|
|
|
-localparam [22:0] DECREMENT_LMX = 23'h1000; //23'b000 0000 0001 0000 0000 0000
|
|
|
|
|
|
|
+localparam [22:0] DECREMENT_DDS = 23'h1000; //23'b000 0000 0001 0000 0000 0000
|
|
|
localparam [22:0] DECREMENT_MAX = 23'h200; //23'b000 0000 0000 0010 0000 0000
|
|
localparam [22:0] DECREMENT_MAX = 23'h200; //23'b000 0000 0000 0010 0000 0000
|
|
|
localparam [22:0] DECREMENT_SH_REG = 23'h40; //23'b000 0000 0000 0000 0100 0000
|
|
localparam [22:0] DECREMENT_SH_REG = 23'h40; //23'b000 0000 0000 0000 0100 0000
|
|
|
localparam [22:0] DECREMENT_POT = 23'h8; //23'b000 0000 0000 0000 0000 1000
|
|
localparam [22:0] DECREMENT_POT = 23'h8; //23'b000 0000 0000 0000 0000 1000
|
|
|
localparam [22:0] DECREMENT_DAC = 23'h4; //23'b000 0000 0000 0000 0000 0100
|
|
localparam [22:0] DECREMENT_DAC = 23'h4; //23'b000 0000 0000 0000 0000 0100
|
|
|
localparam [22:0] DECREMENT_ATT = 23'h2; //23'b000 0000 0000 0000 0000 0010
|
|
localparam [22:0] DECREMENT_ATT = 23'h2; //23'b000 0000 0000 0000 0000 0010
|
|
|
-
|
|
|
|
|
//==========================================
|
|
//==========================================
|
|
|
// Assignments
|
|
// Assignments
|
|
|
//==========================================
|
|
//==========================================
|
|
|
-assign lmxOr = |dataSpiReg[15:12];
|
|
|
|
|
-assign ddsOr = |dataSpiReg[21:19];
|
|
|
|
|
|
|
+assign lmxOr = |dataSpiReg[21:18];
|
|
|
|
|
+assign ddsOr = |dataSpiReg[14:12];
|
|
|
assign potOr = |dataSpiReg[4:3];
|
|
assign potOr = |dataSpiReg[4:3];
|
|
|
assign dacOr = dataSpiReg[2];
|
|
assign dacOr = dataSpiReg[2];
|
|
|
assign attOr = dataSpiReg[1];
|
|
assign attOr = dataSpiReg[1];
|
|
@@ -93,7 +101,7 @@ assign shRegOr = |dataSpiReg[7:6];
|
|
|
assign maxOr = |dataSpiReg[10:9];
|
|
assign maxOr = |dataSpiReg[10:9];
|
|
|
assign gpioOr = |dataSpiReg[17:16];
|
|
assign gpioOr = |dataSpiReg[17:16];
|
|
|
|
|
|
|
|
-assign selector = {ddsOr, gpioOr, lmxOr, maxOr, shRegOr, potOr, dacOr, attOr};
|
|
|
|
|
|
|
+assign selector = {lmxOr, gpioOr, ddsOr, maxOr, shRegOr, potOr, dacOr, attOr};
|
|
|
|
|
|
|
|
//==========================================================================//
|
|
//==========================================================================//
|
|
|
// CODING //
|
|
// CODING //
|
|
@@ -128,23 +136,23 @@ always @(posedge Clk_i) begin
|
|
|
else if (ValDataFromSpi_i) begin
|
|
else if (ValDataFromSpi_i) begin
|
|
|
if ((dataSpiReg == 0) && (DataFromSpi_i[23] == 1'b1)) begin
|
|
if ((dataSpiReg == 0) && (DataFromSpi_i[23] == 1'b1)) begin
|
|
|
dataSpiReg[22:1] <= DataFromSpi_i[22:1];
|
|
dataSpiReg[22:1] <= DataFromSpi_i[22:1];
|
|
|
- LmxWordNum_o <= DataFromSpi_i[15:12];
|
|
|
|
|
- DdsWordNum_o <= DataFromSpi_i[21:19];
|
|
|
|
|
|
|
+ LmxWordNum_o <= DataFromSpi_i[21:18];
|
|
|
|
|
+ DdsWordNum_o <= DataFromSpi_i[14:12];
|
|
|
ValWordNum_o <= 1'b1;
|
|
ValWordNum_o <= 1'b1;
|
|
|
end
|
|
end
|
|
|
else begin
|
|
else begin
|
|
|
casez(selector)
|
|
casez(selector)
|
|
|
- 8'b1???????: begin //DDS
|
|
|
|
|
- dataSpiReg <= dataSpiReg - DECREMENT_DDS;
|
|
|
|
|
- ValDdsDataToFifo_o <= 1'b1;
|
|
|
|
|
|
|
+ 8'b1???????: begin //LMX
|
|
|
|
|
+ dataSpiReg <= dataSpiReg - DECREMENT_LMX;
|
|
|
|
|
+ ValLmxDataToFifo_o <= 1'b1;
|
|
|
end
|
|
end
|
|
|
8'b01??????: begin //GPIO
|
|
8'b01??????: begin //GPIO
|
|
|
dataSpiReg <= dataSpiReg - DECREMENT_GPIO;
|
|
dataSpiReg <= dataSpiReg - DECREMENT_GPIO;
|
|
|
ValGpioDataToFifo_o <= 1'b1;
|
|
ValGpioDataToFifo_o <= 1'b1;
|
|
|
end
|
|
end
|
|
|
- 8'b001?????: begin //LMX
|
|
|
|
|
- dataSpiReg <= dataSpiReg - DECREMENT_LMX;
|
|
|
|
|
- ValLmxDataToFifo_o <= 1'b1;
|
|
|
|
|
|
|
+ 8'b001?????: begin //DDS
|
|
|
|
|
+ dataSpiReg <= dataSpiReg - DECREMENT_DDS;
|
|
|
|
|
+ ValDdsDataToFifo_o <= 1'b1;
|
|
|
end
|
|
end
|
|
|
8'b0001????: begin //MAX
|
|
8'b0001????: begin //MAX
|
|
|
dataSpiReg <= dataSpiReg - DECREMENT_MAX;
|
|
dataSpiReg <= dataSpiReg - DECREMENT_MAX;
|