|
|
@@ -10,35 +10,35 @@ input Ss_i,
|
|
|
input SsFlash_i,
|
|
|
|
|
|
input Mosi0_i,
|
|
|
-input Mosi1_io,
|
|
|
+inout Mosi1_io,
|
|
|
input Mosi2_i,
|
|
|
input Mosi3_i,
|
|
|
|
|
|
/* LMK_A */
|
|
|
-output reg LmkAMosi_o,
|
|
|
-output reg LmkACs_o,
|
|
|
-output reg LmkASck_o,
|
|
|
-input LmkAMiso_i,
|
|
|
+output reg LmkAMosi_o,
|
|
|
+output reg LmkACs_o,
|
|
|
+output reg LmkASck_o,
|
|
|
+input LmkAMiso_i,
|
|
|
/* LMK_B */
|
|
|
-output reg LmkBMosi_o,
|
|
|
-output reg LmkBCs_o,
|
|
|
-output reg LmkBSck_o,
|
|
|
-input LmkBMiso_i,
|
|
|
+output reg LmkBMosi_o,
|
|
|
+output reg LmkBCs_o,
|
|
|
+output reg LmkBSck_o,
|
|
|
+input LmkBMiso_i,
|
|
|
/* CtrlCp2444v1 */
|
|
|
-output reg CtrlCp2444v1Mosi0_o,
|
|
|
-output CtrlCp2444v1Mosi1_o,
|
|
|
-output CtrlCp2444v1Mosi2_o,
|
|
|
-output CtrlCp2444v1Mosi3_o,
|
|
|
-output reg CtrlCp2444v1Cs_o,
|
|
|
-output reg CtrlCp2444v1CsFlash_o,
|
|
|
-output reg CtrlCp2444v1Sck_o,
|
|
|
-output CtrlCp2444v1Rst_o,
|
|
|
-input CtrlCp2444v1Ld_i,
|
|
|
+output reg CtrlCp2444v1Mosi0_o,
|
|
|
+inout CtrlCp2444v1Mosi1_io,
|
|
|
+output CtrlCp2444v1Mosi2_o,
|
|
|
+output CtrlCp2444v1Mosi3_o,
|
|
|
+output reg CtrlCp2444v1Cs_o,
|
|
|
+output reg CtrlCp2444v1CsFlash_o,
|
|
|
+output reg CtrlCp2444v1Sck_o,
|
|
|
+output CtrlCp2444v1Rst_o,
|
|
|
+input CtrlCp2444v1Ld_i,
|
|
|
/* HUB-1854 */
|
|
|
-output reg TfeClk_o,
|
|
|
-output reg TfeMosi_o,
|
|
|
-output reg TfeCs_o,
|
|
|
-input TfeMiso_i,
|
|
|
+output reg TfeClk_o,
|
|
|
+output reg TfeMosi_o,
|
|
|
+output reg TfeCs_o,
|
|
|
+input TfeMiso_i,
|
|
|
|
|
|
/* Led */
|
|
|
output Led_o
|
|
|
@@ -59,8 +59,12 @@ wire spiDataVal;
|
|
|
wire flagDirectLmkA;
|
|
|
wire flagDirectLmkB;
|
|
|
wire flagDirectCtrlColdPart;
|
|
|
+wire flagDirectCtrlColdPartMirrored;
|
|
|
+wire flagDirectColdPartMuxed;
|
|
|
wire flagDirectHubTfe;
|
|
|
wire flagDirectFlash;
|
|
|
+wire flagDirectFlashMirrored;
|
|
|
+wire flagDirectFlashMuxed;
|
|
|
/* PacketAnalyzer4Mosi Flags */
|
|
|
wire valCtrlColdPartDataToFifo;
|
|
|
wire valTfe2BytesDataToFifo;
|
|
|
@@ -75,6 +79,9 @@ wire clk210;
|
|
|
/* InitRst */
|
|
|
wire initRst;
|
|
|
|
|
|
+/* misoReg */
|
|
|
+reg misoReg;
|
|
|
+
|
|
|
/* Busy wires */
|
|
|
wire busyMosi1;
|
|
|
wire busyMosi4;
|
|
|
@@ -120,6 +127,7 @@ reg ledReg;
|
|
|
wire ctrlCp2444v1Cs;
|
|
|
wire ctrlCp2444v1Sck;
|
|
|
wire ctrlCp2444v1Mosi;
|
|
|
+wire ctrlCp2444v1Mosi1;
|
|
|
//***********************************************
|
|
|
// ASSIGNMENTS
|
|
|
//***********************************************
|
|
|
@@ -129,7 +137,16 @@ assign busyForTfe2Bytes = tfe4BytesSpiBusy | tfe6BytesSpiBusy | tfe7BytesSpiBusy
|
|
|
assign busyForTfe4Bytes = tfe2BytesSpiBusy | tfe6BytesSpiBusy | tfe7BytesSpiBusy;
|
|
|
assign busyForTfe6Bytes = tfe2BytesSpiBusy | tfe4BytesSpiBusy | tfe7BytesSpiBusy;
|
|
|
assign busyForTfe7Bytes = tfe2BytesSpiBusy | tfe4BytesSpiBusy | tfe6BytesSpiBusy | (!tfe6BytesFifoEmpty) | (!tfe4BytesFifoEmpty);
|
|
|
-assign Led_o = ledReg;
|
|
|
+// assign Led_o = ledReg;
|
|
|
+assign Led_o = 1'b1; //Golden Image
|
|
|
+
|
|
|
+assign flagDirectColdPartMuxed = flagDirectCtrlColdPart | flagDirectCtrlColdPartMirrored;
|
|
|
+assign flagDirectFlashMuxed = flagDirectFlash | flagDirectFlashMirrored;
|
|
|
+
|
|
|
+/* CtrlCp2444Mosi1_io */
|
|
|
+assign CtrlCp2444v1Mosi1_io = (flagDirectFlashMuxed) ? 1'bz : ctrlCp2444v1Mosi1;
|
|
|
+/* Mosi1_io */
|
|
|
+assign Mosi1_io = misoReg;
|
|
|
|
|
|
//***********************************************
|
|
|
// CODING
|
|
|
@@ -151,6 +168,21 @@ always @(posedge clk25) begin
|
|
|
end
|
|
|
end
|
|
|
|
|
|
+/* misoReg */
|
|
|
+always @(*) begin
|
|
|
+ if (Rst_i) begin
|
|
|
+ misoReg = 1'b0;
|
|
|
+ end
|
|
|
+ else begin
|
|
|
+ if (flagDirectFlashMuxed) begin
|
|
|
+ misoReg = CtrlCp2444v1Mosi1_io;
|
|
|
+ end
|
|
|
+ else begin
|
|
|
+ misoReg = 1'bz;
|
|
|
+ end
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
/* MUX SpiM devices */
|
|
|
always @(*) begin
|
|
|
if (flagDirectLmkA) begin // LMK_A
|
|
|
@@ -173,7 +205,7 @@ always @(*) begin
|
|
|
LmkBCs_o = 1'b1;
|
|
|
LmkBSck_o = 1'b0;
|
|
|
end
|
|
|
- if (flagDirectCtrlColdPart) begin
|
|
|
+ if (flagDirectColdPartMuxed) begin
|
|
|
CtrlCp2444v1Cs_o = Ss_i;
|
|
|
CtrlCp2444v1Sck_o = Sck_i;
|
|
|
CtrlCp2444v1Mosi0_o = Mosi0_i;
|
|
|
@@ -215,8 +247,11 @@ always @(*) begin
|
|
|
TfeCs_o = 1'b1;
|
|
|
end
|
|
|
end
|
|
|
- if (flagDirectFlash) begin // Flash
|
|
|
- CtrlCp2444v1CsFlash_o = SsFlash_i;
|
|
|
+ if (flagDirectFlashMuxed) begin // Flash
|
|
|
+ CtrlCp2444v1Sck_o = Sck_i;
|
|
|
+ CtrlCp2444v1Mosi0_o = Mosi0_i;
|
|
|
+ CtrlCp2444v1Cs_o = 1'b1;
|
|
|
+ CtrlCp2444v1CsFlash_o = Ss_i;
|
|
|
end
|
|
|
else begin
|
|
|
CtrlCp2444v1CsFlash_o = 1'b1;
|
|
|
@@ -278,8 +313,10 @@ PacketAnalyzer1Mosi PacketAnalyzer1Mosi
|
|
|
.FlagDirectLmkA_o (flagDirectLmkA),
|
|
|
.FlagDirectLmkB_o (flagDirectLmkB),
|
|
|
.FlagDirectCtrlColdPart_o (flagDirectCtrlColdPart),
|
|
|
+ .FlagDirectCtrlColdPartMirrored_o (flagDirectCtrlColdPartMirrored),
|
|
|
.FlagDirectHubTfe_o (flagDirectHubTfe),
|
|
|
.FlagDirectFlash_o (flagDirectFlash),
|
|
|
+ .FlagDirectFlashMirrored_o (flagDirectFlashMirrored),
|
|
|
|
|
|
.Busy_o (busyMosi1)
|
|
|
);
|
|
|
@@ -317,7 +354,7 @@ CtrlCp2444Wrapper #(
|
|
|
.Ss_o (ctrlCp2444v1Cs),
|
|
|
.Sck_o (ctrlCp2444v1Sck),
|
|
|
.Mosi0_o (ctrlCp2444v1Mosi),
|
|
|
- .Mosi1_o (CtrlCp2444v1Mosi1_o),
|
|
|
+ .Mosi1_o (ctrlCp2444v1Mosi1),
|
|
|
.Mosi2_o (CtrlCp2444v1Mosi2_o),
|
|
|
.Mosi3_o (CtrlCp2444v1Mosi3_o)
|
|
|
|