Ver código fonte

Добавил врапперы для устройств

Anatoliy Chigirinskiy 1 ano atrás
pai
commit
3e7e245264
40 arquivos alterados com 1434 adições e 806 exclusões
  1. 8 1
      src/src/ClkGen/ClkGen.v
  2. 24 0
      src/src/ClkGen/GowinPllSecond/GowinPllSecond.ipc
  3. 33 0
      src/src/ClkGen/GowinPllSecond/GowinPllSecond.mod
  4. 63 0
      src/src/ClkGen/GowinPllSecond/GowinPllSecond.v
  5. 18 0
      src/src/ClkGen/GowinPllSecond/GowinPllSecond_tmp.v
  6. 5 35
      src/src/InterfaceArbiter/InterfaceArbiter.v
  7. 1 1
      src/src/PacketAnalyzer4Mosi/PacketAnalyzer4Mosi.v
  8. 151 8
      src/src/Top/TopBochV3.v
  9. 100 64
      src/src/Top/TopBochV3Tb.sv
  10. 0 0
      src/src/WrapFifoChain/FifoTfe6Bytes/FifoTfe6Bytes.ipc
  11. 201 0
      src/src/WrapFifoChain/FifoTfe6Bytes/FifoTfe6Bytes.v
  12. 1 1
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/FifoTfe6Bytes.vo
  13. 1 1
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/FifoTfe6Bytes_tmp.v
  14. 0 201
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/FifoTfe6Bytes.v
  15. 0 201
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes.vg
  16. 1 1
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FIFOHS.prj
  17. 3 3
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes.log
  18. 201 0
      src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/FifoTfe6Bytes.vg
  19. 3 3
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes_syn.rpt.html
  20. 0 0
      src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/FifoTfe6Bytes_syn_resource.html
  21. 0 0
      src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/FifoTfe6Bytes_syn_rsc.xml
  22. 1 1
      src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes_tmp.v
  23. 0 0
      src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/fifo_define.v
  24. 0 0
      src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/fifo_parameter.v
  25. 0 0
      src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/project.ini
  26. 2 2
      src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes.ipc
  27. 134 134
      src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes.v
  28. 2 2
      src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes.vo
  29. 2 2
      src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes_tmp.v
  30. 2 2
      src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes.log
  31. 134 134
      src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes.vg
  32. 4 4
      src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_syn.rpt.html
  33. 1 1
      src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_syn_resource.html
  34. 1 1
      src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_syn_rsc.xml
  35. 2 2
      src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_tmp.v
  36. 1 1
      src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/fifo_define.v
  37. 83 0
      src/src/WrapFifoChain/Tfe2BytesWrapper.v
  38. 83 0
      src/src/WrapFifoChain/Tfe4BytesWrapper.v
  39. 85 0
      src/src/WrapFifoChain/Tfe6BytesWrapper.v
  40. 83 0
      src/src/WrapFifoChain/Tfe7BytesWrapper.v

+ 8 - 1
src/src/ClkGen/ClkGen.v

@@ -16,6 +16,7 @@
 ////////////////////////////////////////////////////////////////////////////////////////////
 module ClkGen (
 	output Clk60Mhz_o,
+	output Clk40Mhz_o,
 	output Clk25Mhz_o
 );
 
@@ -24,9 +25,9 @@ module ClkGen (
 //==========================================
 wire clk25Mhz;
 wire clk210Mhz;
-wire clk60Mhz;
 
 wire lockFirstPll;
+wire lockSecondPll;
 
 //==========================================
 // Assignments
@@ -47,6 +48,12 @@ GowinPllFirst GowinPllFirst
 	.clkout(clk210Mhz)
 );
 
+GowinPllSecond GowinPllSecond
+(
+	.clkin(clk25Mhz),
+	.clkout(Clk40Mhz_o)
+);
+
 GowinClkDiv3dot5 GowinClkDiv210MhzTo60Mhz
 (
 	.hclkin(clk210Mhz),

+ 24 - 0
src/src/ClkGen/GowinPllSecond/GowinPllSecond.ipc

@@ -0,0 +1,24 @@
+[General]
+ipc_version=4
+file=GowinPllSecond
+module=GowinPllSecond
+target_device=gw1n9-022
+type=clock_rpll
+version=1.0
+
+[Config]
+CKLOUTD3=false
+CLKFB_SOURCE=0
+CLKIN_FREQ=25
+CLKOUTD=false
+CLKOUTP=false
+CLKOUT_BYPASS=false
+CLKOUT_DIVIDE_DYN=true
+CLKOUT_FREQ=40
+CLKOUT_TOLERANCE=0
+DYNAMIC=true
+LANG=0
+LOCK_EN=true
+MODE_GENERAL=true
+PLL_PWD=false
+RESET_PLL=false

+ 33 - 0
src/src/ClkGen/GowinPllSecond/GowinPllSecond.mod

@@ -0,0 +1,33 @@
+-series GW1N
+-device GW1N-9
+-device_version 
+-package QFN88
+-part_number GW1N-UV9QN88C6/I5
+
+
+-mod_name GowinPllSecond
+-file_name GowinPllSecond
+-path C:/Gowin/Projects/BOCHv3_FPGA/src/src/ClkGen/GowinPllSecond/
+-type PLL
+-rPll true
+-file_type vlg
+-dev_type GW1N-9
+-dyn_idiv_sel false
+-idiv_sel 5
+-dyn_fbdiv_sel false
+-fbdiv_sel 8
+-dyn_odiv_sel false
+-odiv_sel 16
+-dyn_da_en true
+-rst_sig false
+-rst_sig_p false
+-fclkin 25
+-clkfb_sel 0
+-en_lock true
+-clkout_bypass false
+-clkout_ft_dir 1
+-en_clkoutp false
+-clkoutp_bypass false
+-en_clkoutd false
+-clkoutd_bypass false
+-en_clkoutd3 false

+ 63 - 0
src/src/ClkGen/GowinPllSecond/GowinPllSecond.v

@@ -0,0 +1,63 @@
+//Copyright (C)2014-2024 Gowin Semiconductor Corporation.
+//All rights reserved.
+//File Title: IP file
+//Tool Version: V1.9.9.03 (64-bit)
+//Part Number: GW1N-UV9QN88C6/I5
+//Device: GW1N-9
+//Created Time: Mon Nov 25 12:18:21 2024
+
+module GowinPllSecond (clkout, lock, clkin);
+
+output clkout;
+output lock;
+input clkin;
+
+wire clkoutp_o;
+wire clkoutd_o;
+wire clkoutd3_o;
+wire gw_gnd;
+
+assign gw_gnd = 1'b0;
+
+rPLL rpll_inst (
+    .CLKOUT(clkout),
+    .LOCK(lock),
+    .CLKOUTP(clkoutp_o),
+    .CLKOUTD(clkoutd_o),
+    .CLKOUTD3(clkoutd3_o),
+    .RESET(gw_gnd),
+    .RESET_P(gw_gnd),
+    .CLKIN(clkin),
+    .CLKFB(gw_gnd),
+    .FBDSEL({gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd}),
+    .IDSEL({gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd}),
+    .ODSEL({gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd}),
+    .PSDA({gw_gnd,gw_gnd,gw_gnd,gw_gnd}),
+    .DUTYDA({gw_gnd,gw_gnd,gw_gnd,gw_gnd}),
+    .FDLY({gw_gnd,gw_gnd,gw_gnd,gw_gnd})
+);
+
+defparam rpll_inst.FCLKIN = "25";
+defparam rpll_inst.DYN_IDIV_SEL = "false";
+defparam rpll_inst.IDIV_SEL = 4;
+defparam rpll_inst.DYN_FBDIV_SEL = "false";
+defparam rpll_inst.FBDIV_SEL = 7;
+defparam rpll_inst.DYN_ODIV_SEL = "false";
+defparam rpll_inst.ODIV_SEL = 16;
+defparam rpll_inst.PSDA_SEL = "0000";
+defparam rpll_inst.DYN_DA_EN = "true";
+defparam rpll_inst.DUTYDA_SEL = "1000";
+defparam rpll_inst.CLKOUT_FT_DIR = 1'b1;
+defparam rpll_inst.CLKOUTP_FT_DIR = 1'b1;
+defparam rpll_inst.CLKOUT_DLY_STEP = 0;
+defparam rpll_inst.CLKOUTP_DLY_STEP = 0;
+defparam rpll_inst.CLKFB_SEL = "internal";
+defparam rpll_inst.CLKOUT_BYPASS = "false";
+defparam rpll_inst.CLKOUTP_BYPASS = "false";
+defparam rpll_inst.CLKOUTD_BYPASS = "false";
+defparam rpll_inst.DYN_SDIV_SEL = 2;
+defparam rpll_inst.CLKOUTD_SRC = "CLKOUT";
+defparam rpll_inst.CLKOUTD3_SRC = "CLKOUT";
+defparam rpll_inst.DEVICE = "GW1N-9";
+
+endmodule //GowinPllSecond

+ 18 - 0
src/src/ClkGen/GowinPllSecond/GowinPllSecond_tmp.v

@@ -0,0 +1,18 @@
+//Copyright (C)2014-2024 Gowin Semiconductor Corporation.
+//All rights reserved.
+//File Title: Template file for instantiation
+//Tool Version: V1.9.9.03 (64-bit)
+//Part Number: GW1N-UV9QN88C6/I5
+//Device: GW1N-9
+//Created Time: Mon Nov 25 12:18:21 2024
+
+//Change the instance name and port connections to the signal names
+//--------Copy here to design--------
+
+    GowinPllSecond your_instance_name(
+        .clkout(clkout), //output clkout
+        .lock(lock), //output lock
+        .clkin(clkin) //input clkin
+    );
+
+//--------Copy end-------------------

+ 5 - 35
src/src/InterfaceArbiter/InterfaceArbiter.v

@@ -106,13 +106,14 @@ module InterfaceArbiter
 	reg plsToggleSyncSignalR;
 
 	/*Flash signals*/
-	reg plsToggleFlash;
+	reg 	plsToggleFlash;
+	wire 	plsToggleMux;
 
 //================================================================================
 //  ASSIGNMENTS
 	assign ssPos = ssRegR & !ssRegRR;
 
-	
+	assign plsToggleMux = (DirectFlagFlash_i) ? plsToggleFlash:plsToggle;
 	assign DataVal_o = plsToggleSyncSignalR;
 	assign Data_o = (spiMode)? dataRegQSpi:dataRegSSpi;
 
@@ -235,15 +236,6 @@ module InterfaceArbiter
 		end
 	end
 
-	always @(*) begin
-		if (currState == IDLE && (Data_o[11]& Data_o[8])) begin
-			TestTrig_o = 1'b1;
-		end
-		else begin
-			TestTrig_o = 1'b0;
-		end
-	end
-
 	always @(posedge Sck_i or posedge Rst_i) begin 
 		if (Rst_i) begin 
 			ssCnt <= 0;
@@ -299,35 +291,13 @@ module InterfaceArbiter
 		end
 	end
 
-	always @(posedge Sck_i or posedge Rst_i) begin 
-		if (Rst_i) begin 
-			qSpiDirectMode <= 1'b0;
-		end
-		else begin 
-			if (currState == IDLE) begin 
-				if (ssCnt == 2) begin 
-					if (captRegSspi[1:0] == 2'b11) begin 
-						qSpiDirectMode <= 1'b1; 
-					end 
-					else begin 
-						qSpiDirectMode <= 1'b0; 
-					end
-				end
-			end
-		end
-	end
-
 	always @(posedge Clk_i) begin
 		if (!Rst_i) begin
 			if (currState == IDLE) begin
 				if (!spiMode) begin
-					wordsNum <= dataRegSSpi[16:1];
+					wordsNum <= dataRegSSpi[17:1];
 				end else begin
-					if (!qSpiDirectMode) begin
-						wordsNum <= dataRegQSpi[21:19]+dataRegQSpi[17:16]+dataRegQSpi[15:12]+dataRegQSpi[10:9]+dataRegQSpi[7:6]+dataRegQSpi[4:3]+dataRegQSpi[2]+dataRegQSpi[1];
-					end else begin
-						wordsNum <= dataRegQSpi[16:1];
-					end
+					wordsNum <= dataRegQSpi[21:18]+dataRegQSpi[17]+dataRegQSpi[16:15]+dataRegQSpi[14:13]+dataRegQSpi[12:11];
 				end 
 			end
 		end else begin

+ 1 - 1
src/src/PacketAnalyzer4Mosi/PacketAnalyzer4Mosi.v

@@ -65,7 +65,7 @@ wire [4:0] selector;
 //==========================================
 localparam [22:0] DECREMENT_CTRL_COLD_PART 	= 23'h40000;	//23'b000 0100 0000 0000 0000 0000
 localparam [22:0] DECREMENT_TFE_2_BYTES 	= 23'h20000;	//23'b000 0010 0000 0000 0000 0000
-localparam [22:0] DECREMENT_TFE_4_BYTES 	= 23'h10000;	//23'b000 0001 0000 0000 0000 0000
+localparam [22:0] DECREMENT_TFE_4_BYTES 	= 23'h8000;		//23'b000 0001 0000 0000 0000 0000
 localparam [22:0] DECREMENT_TFE_7_BYTES 	= 23'h2000;		//23'b000 0000 0010 0000 0000 0000
 localparam [22:0] DECREMENT_TFE_6_BYTES 	= 23'h800 ;		//23'b000 0000 0000 1000 0000 0000
 

+ 151 - 8
src/src/Top/TopBochV3.v

@@ -3,7 +3,6 @@ module TopBochv3 #(
     parameter SSPIWORDWIDTH = 24
 )
 (
-input Clk_i,
 input Rst_i,
 
 input Sck_i,
@@ -61,9 +60,53 @@ wire valTfe6BytesDataToFifo;
 /* ClkGen wires */
 wire clk60;
 wire clk25;
+wire clk40;
 /* InitRst */
 wire initRst;
 
+/* Busy wires */
+wire busyMosi1;
+wire busyMosi4;
+/* Tfe Wrapper Spi lines */
+wire tfe2BytesCs;
+wire tfe2BytesSck;
+wire tfe2BytesMosi;
+/* 4 Bytes */
+wire tfe4BytesCs;
+wire tfe4BytesSck;
+wire tfe4BytesMosi;
+/* 6 Bytes */
+wire tfe6BytesCs;
+wire tfe6BytesSck;
+wire tfe6BytesMosi;
+/* 7 Bytes */
+wire tfe7BytesCs;
+wire tfe7BytesSck;
+wire tfe7BytesMosi;
+
+/* Busy SpiM devices */
+wire tfe2BytesSpiBusy;
+wire tfe4BytesSpiBusy;
+wire tfe6BytesSpiBusy;
+wire tfe7BytesSpiBusy;
+/* BusyForTfeDevs */
+wire busyForTfe2Bytes;
+wire busyForTfe4Bytes;
+wire busyForTfe6Bytes;
+wire busyForTfe7Bytes;
+
+/* Tfe6BytesFifoEmpty */
+wire tfe6BytesFifoEmpty;
+//***********************************************
+//	                ASSIGNMENTS
+//***********************************************
+assign CtrlCp2444v1Rst_o = Rst_i;
+
+assign busyForTfe2Bytes = tfe4BytesSpiBusy | tfe6BytesSpiBusy | tfe7BytesSpiBusy;
+assign busyForTfe4Bytes = tfe2BytesSpiBusy | tfe6BytesSpiBusy | tfe7BytesSpiBusy;
+assign busyForTfe6Bytes = tfe2BytesSpiBusy | tfe4BytesSpiBusy | tfe7BytesSpiBusy ;
+assign busyForTfe7Bytes = tfe2BytesSpiBusy | tfe4BytesSpiBusy | tfe6BytesSpiBusy | (!tfe6BytesFifoEmpty);
+
 //***********************************************
 //	                CODING
 //***********************************************
@@ -96,9 +139,31 @@ always @(*) begin
         TfeCs_o = Ss_i;
     end
     else begin 
-        TfeClk_o = 1'b0;
-        TfeMosi_o = 24'b0;
-        TfeCs_o = 1'b1;
+        if (!busyForTfe2Bytes) begin // Tfe2Bytes
+            TfeClk_o = tfe2BytesSck;
+            TfeMosi_o = tfe2BytesMosi;
+            TfeCs_o = tfe2BytesCs;
+        end
+        else if (!busyForTfe4Bytes) begin // Tfe4Bytes
+            TfeClk_o = tfe4BytesSck;
+            TfeMosi_o = tfe4BytesMosi;
+            TfeCs_o = tfe4BytesCs;
+        end
+        else if (!busyForTfe6Bytes) begin // Tfe6Bytes
+            TfeClk_o = tfe6BytesSck;
+            TfeMosi_o = tfe6BytesMosi;
+            TfeCs_o = tfe6BytesCs;
+        end
+        else if (!busyForTfe7Bytes) begin // Tfe7Bytes
+            TfeClk_o = tfe7BytesSck;
+            TfeMosi_o = tfe7BytesMosi;
+            TfeCs_o = tfe7BytesCs;
+        end
+        else begin 
+            TfeClk_o = 1'b0;
+            TfeMosi_o = 24'b0;
+            TfeCs_o = 1'b1;
+        end
     end
     if (flagDirectFlash) begin // Flash
         CtrlCp2444v1CsFlash_o = SsFlash_i;
@@ -111,6 +176,7 @@ end
 ClkGen ClkGen
 (
     .Clk60Mhz_o(clk60),
+    .Clk40Mhz_o(clk40),
     .Clk25Mhz_o(clk25)
 );
 
@@ -128,10 +194,11 @@ InterfaceArbiter#
 SpiSlaveArbiter
 (
     .Rst_i(Rst_i),
-    .Clk_i(Clk_i),
+    .Clk_i(clk60),
     .Sck_i(Sck_i),
     .Ss_i(Ss_i),
     .SsFlash_i(SsFlash_i),
+    .DirectFlagFlash_i(flagDirectFlash),
     .Mosi0_i(Mosi0_i),
     .Mosi1_i(Mosi1_io),
     .Mosi2_i(Mosi2_i),
@@ -178,16 +245,16 @@ PacketAnalyzer4Mosi PacketAnalyzer4Mosi
 );
 
 CtrlCp2444Wrapper #(
-    .IN_WIDTH(WORDWIDTH),
+    .IN_WIDTH(24),
     .WR_NUM(1),
-    .OUT_WIDTH(WORDWIDTH)
+    .OUT_WIDTH(24)
 ) CtrlCp2444Wrapper
 (
     .WrClk_i                        (clk60),
     .RdClk_i                        (clk60),
     .Rst_i                          (initRst),
     .Data_i                         (spiData),
-    .Val_i                          (spiDataVal),
+    .Val_i                          (valCtrlColdPartDataToFifo),
     .Ss_o                           (CtrlCp2444v1Cs_o),
     .Sck_o                          (CtrlCp2444v1Sck_o),
     .Mosi0_o                        (CtrlCp2444v1Mosi0_o),
@@ -197,5 +264,81 @@ CtrlCp2444Wrapper #(
 
 );
 
+Tfe2BytesWrapper #(
+    .IN_WIDTH(24),
+    .WR_NUM(1),
+    .OUT_WIDTH(24),
+    .DATA_WIDTH(24)
+) Tfe2BytesWrapper
+(
+    .WrClk_i                        (clk60),
+    .RdClk_i                        (clk40),
+    .Rst_i                          (initRst),
+    .Data_i                         (spiData),
+    .Val_i                          (valTfe2BytesDataToFifo),
+    .SpiBusy_i                      (busyForTfe2Bytes),
+    .Tfe2BytesSpiBusy_o             (tfe2BytesSpiBusy),
+    .Ss_o                           (tfe2BytesCs),
+    .Sck_o                          (tfe2BytesSck),
+    .Mosi_o                         (tfe2BytesMosi)
+);
+
+Tfe4BytesWrapper #(
+    .IN_WIDTH(24),
+    .WR_NUM(2),
+    .OUT_WIDTH(32),
+    .DATA_WIDTH(32)
+) Tfe4BytesWrapper
+(
+    .WrClk_i                        (clk60),
+    .RdClk_i                        (clk40),
+    .Rst_i                          (initRst),
+    .Data_i                         (spiData),
+    .Val_i                          (valTfe4BytesDataToFifo),
+    .SpiBusy_i                      (busyForTfe4Bytes),
+    .Tfe4BytesSpiBusy_o             (tfe4BytesSpiBusy),
+    .Ss_o                           (tfe4BytesCs),
+    .Sck_o                          (tfe4BytesSck),
+    .Mosi_o                         (tfe4BytesMosi)
+);
+
+Tfe6BytesWrapper #(
+    .IN_WIDTH(24),
+    .WR_NUM(2),
+    .OUT_WIDTH(48),
+    .DATA_WIDTH(48)
+) Tfe6BytesWrapper
+(
+    .WrClk_i                        (clk60),
+    .RdClk_i                        (clk40),
+    .Rst_i                          (initRst),
+    .Data_i                         (spiData),
+    .Val_i                          (valTfe6BytesDataToFifo),
+    .SpiBusy_i                      (busyForTfe6Bytes),
+    .Tfe6BytesSpiBusy_o             (tfe6BytesSpiBusy),
+    .Tfe6BytesFifoEmpty_o           (tfe6BytesFifoEmpty),
+    .Ss_o                           (tfe6BytesCs),
+    .Sck_o                          (tfe6BytesSck),
+    .Mosi_o                         (tfe6BytesMosi)
+);
+
+Tfe7BytesWrapper #(
+    .IN_WIDTH(24),
+    .WR_NUM(3),
+    .OUT_WIDTH(56),
+    .DATA_WIDTH(56)
+) Tfe7BytesWrapper
+(
+    .WrClk_i                        (clk60),
+    .RdClk_i                        (clk40),
+    .Rst_i                          (initRst),
+    .Data_i                         (spiData),
+    .Val_i                          (valTfe7BytesDataToFifo),
+    .SpiBusy_i                      (busyForTfe7Bytes),
+    .Tfe7BytesSpiBusy_o             (tfe7BytesSpiBusy),
+    .Ss_o                           (tfe7BytesCs),
+    .Sck_o                          (tfe7BytesSck),
+    .Mosi_o                         (tfe7BytesMosi)
+);
 
 endmodule

+ 100 - 64
src/src/Top/TopBochV3Tb.sv

@@ -2,7 +2,7 @@
 
 module TopBochV3Tb;
 
-
+parameter CLK_PERIOD = 8.13; // Clock period in ns
 //***********************************************
 //	            INPUTS
 //***********************************************
@@ -19,7 +19,7 @@ module TopBochV3Tb;
     logic Rst_i;
     logic Start_i;
     logic CPHA_i;
-    logic [31:0] SPIdata;
+    logic [23:0] SPIdata;
 	logic SpiDataVal_i;
     logic SELST_i;
     logic [1:0] WidthSel_i;
@@ -39,6 +39,7 @@ module TopBochV3Tb;
     wire Mosi3_o;
     wire Sck_o;
     wire Ss_o;
+    wire SsFlash_o;
     wire Val_o;
     wire anyFlag;
 
@@ -92,15 +93,6 @@ class Packet;
 endclass
 
 Packet pkt;
-
-//***********************************************
-//	            FUNCTIONS
-//***********************************************
-task automatic Packet::randomize();
-    data = $urandom_range(0, 2**24-1);
-    data32 = $urandom_range(0, 2**32-1);
-endtask
-
 //***********************************************
 //	      HEADERS FOR DEVICES - SB_TMSG
 //***********************************************
@@ -199,9 +191,9 @@ localparam [23:0] InitFlashHeader = {1'h0, DeviceIdFlash, FlashInitWordNum, 1'h1
 /* Word Numbers 4-MOSI */
 localparam [3:0] CtrlColdPartWordNum = 4'd7;
 localparam [0:0]     Tfe2bWordNum = 1'd1;
-localparam [0:0]      Tfe4bWordNum= 2'd2;
-localparam [0:0]      Tfe7bWordNum= 2'd3;
-localparam [0:0]      Tfe6bWordNum= 2'd2;
+localparam [1:0]      Tfe4bWordNum= 2'd2;
+localparam [1:0]      Tfe7bWordNum= 2'd3;
+localparam [1:0]      Tfe6bWordNum= 2'd2;
 /* Headers 4-MOSI */
 localparam [23:0] CtrlColdPartHeader = {1'h1, 1'h0, CtrlColdPartWordNum, 1'h0, 2'h0, 2'h0, 2'h0, 10'h0, 1'h1};
 localparam [23:0] Tfe2bHeader = {1'h1, 1'h0, 4'h0, Tfe2bWordNum, 2'h0, 2'h0, 2'h0, 10'h0, 1'h1};
@@ -234,20 +226,20 @@ localparam [23:0] AttCtrlP3Header = {1'h0, DeviceIdAttCtrlP3, AttCtrlP3WordNum,
 localparam [23:0] AttCtrlP4Header = {1'h0, DeviceIdAttCtrlP4, AttCtrlP4WordNum, 1'h1};
 localparam [23:0] CtrlCp2444v1GpioHeader = {1'h0, DeviceIdCtrlCp2444v1Gpio, CtrlCp2444v1GpioWordNum, 1'h1};
 /* Word Numbers */
-localparam [3:0] SwCtrlP1WordNum = 1'd1;
-localparam [3:0] AttCtrlP1WordNum = 1'd1;
-localparam [3:0] AttCtrlP2WordNum = 1'd1;
-localparam [3:0] AttCtrlP3WordNum = 1'd1;
-localparam [3:0] AttCtrlP4WordNum = 1'd1;
-localparam [3:0] CtrlCp2444v1GpioWordNum = 1'd1;
+localparam        SwCtrlP1QSpiWordNum = 1'd1;
+localparam        AttCtrlP1QSpiWordNum = 1'd1;
+localparam        AttCtrlP2QSpiWordNum = 1'd1;
+localparam        AttCtrlP3QSpiWordNum = 1'd1;
+localparam        AttCtrlP4QSpiWordNum = 1'd1;
+localparam        CtrlCp2444v1GpioQSpiWordNum = 1'd1;
 /* QSpi Headers */
-localparam [23:0] CtrlCp2444v1GpioHeader = {1'h1, CtrlCp2444v1GpioWordNum, 1'h0,1'h0,1'h0,1'h0,1'h0, 15'h0, 1'h1};
-localparam [23:0] SwCtrlP1Header = {1'h1, 1'h0, SwCtrlP1WordNum, 1'h0, 1'h0, 1'h0, 1'h0, 15'h0, 1'h1};
-localparam [23:0] AttCtrlP1Header = {1'h1, 1'h0, 1'h0, AttCtrlP1WordNum, 1'h0, 1'h0, 1'h0, 15'h0, 1'h1};
-localparam [23:0] AttCtrlP2Header = {1'h1, 1'h0, 1'h0, 1'h0, AttCtrlP2WordNum, 1'h0, 1'h0, 15'h0, 1'h1};
-localparam [23:0] AttCtrlP3Header = {1'h1, 1'h0, 1'h0, 1'h0, 1'h0, AttCtrlP3WordNum, 1'h0, 15'h0, 1'h1};
-localparam [23:0] AttCtrlP4Header = {1'h1, 1'h0, 1'h0, 1'h0, 1'h0, 1'h0, AttCtrlP4WordNum, 15'h0, 1'h1};
-localparam [23:0] AllDevCtrlCp2444v1QSpiHeader = {1'h1,CtrlCp2444v1GpioWordNum, SwCtrlP1WordNum, AttCtrlP1WordNum, AttCtrlP2WordNum, AttCtrlP3WordNum, AttCtrlP4WordNum, 15'h0, 1'h1};
+localparam [23:0] CtrlCp2444v1GpioQSpiHeader = {1'h1, CtrlCp2444v1GpioQSpiWordNum, 1'h0,1'h0,1'h0,1'h0,1'h0, 15'h0, 1'h1};
+localparam [23:0] SwCtrlP1QSpiHeader = {1'h1, 1'h0, SwCtrlP1QSpiWordNum, 1'h0, 1'h0, 1'h0, 1'h0, 15'h0, 1'h1};
+localparam [23:0] AttCtrlP1QSpiHeader = {1'h1, 1'h0, 1'h0, AttCtrlP1QSpiWordNum, 1'h0, 1'h0, 1'h0, 15'h0, 1'h1};
+localparam [23:0] AttCtrlP2QSpiHeader = {1'h1, 1'h0, 1'h0, 1'h0, AttCtrlP2QSpiWordNum, 1'h0, 1'h0, 15'h0, 1'h1};
+localparam [23:0] AttCtrlP3QSpiHeader = {1'h1, 1'h0, 1'h0, 1'h0, 1'h0, AttCtrlP3QSpiWordNum, 1'h0, 15'h0, 1'h1};
+localparam [23:0] AttCtrlP4QSpiHeader = {1'h1, 1'h0, 1'h0, 1'h0, 1'h0, 1'h0, AttCtrlP4QSpiWordNum, 15'h0, 1'h1};
+localparam [23:0] AllDevCtrlCp2444v1QSpiHeader = {1'h1,CtrlCp2444v1GpioQSpiWordNum, SwCtrlP1QSpiWordNum, AttCtrlP1QSpiWordNum, AttCtrlP2QSpiWordNum, AttCtrlP3QSpiWordNum, AttCtrlP4QSpiWordNum, 16'h0, 1'h1};
 
 
 //***********************************************
@@ -255,12 +247,15 @@ localparam [23:0] AllDevCtrlCp2444v1QSpiHeader = {1'h1,CtrlCp2444v1GpioWordNum,
 //***********************************************
 assign Val_o = (modeSel) ? valQ : valR;
 assign Sck_o = (modeSel) ? SckQ : SckR;
-assign Ss_o = (modeSel) ? SsQ : SsR;
+/* If the counter is 261 then the SsFlash should be active instead of Ss_o */
+assign Ss_o = (trCnt == 261) ? 1'b1 : (modeSel) ? SsQ : SsR;
+/* SsFlash_o should be active instead of Ss_o during the Flash transaction */
+assign SsFlash_o = (trCnt  == 261 ) ? 1'b0 : 1'b1;
 assign Mosi0_o = (modeSel) ? mosi0Q : mosi0R;
 assign Mosi1_io = (anyFlag) ? 1'bz : Mosi1_o;
 assign MisoLdLmx_i = 1'b1;
 
-assign emptyFlagTx = (trCnt > 260+QSpiBochv3TotalWordNum) ? 1'b1 : 1'b0;
+assign emptyFlagTx = (trCnt > 262 + QSpiBochv3TotalWordNum) ? 1'b1 : 1'b0;
 assign QSPITotalWordNum = LMXWordNum + DDSWordNum + POTWordNum + DACWordNum + ATTWordNum + ShRegWordNum + MaxWordNum + GPIOWordNum; 
 assign QSpiBochv3TotalWordNum = CtrlColdPartWordNum + Tfe2bWordNum + Tfe4bWordNum + Tfe7bWordNum + Tfe6bWordNum;
 assign QSpiCtrlCp2444v1TotalWordNum = CtrlCp2444v1GpioWordNum + SwCtrlP1WordNum + AttCtrlP1WordNum + AttCtrlP2WordNum + AttCtrlP3WordNum + AttCtrlP4WordNum;
@@ -313,16 +308,16 @@ initial begin
       #(700000-60) rstForFPGA = 1;
       #(CLK_PERIOD*74) rstForFPGA = 0;
       #(165000) Start_i = 1; // Start SPI transaction
-       wait (trCnt == 45) begin 
+       wait (trCnt == 262) begin 
             Start_i = 0;
         end
         #(CLK_PERIOD*100) 
         Start_i = 1; // Start SPI transaction
-      wait (trCnt == 70) begin 
-            Start_i = 0;
-        end
-        #(CLK_PERIOD*1000) 
-        Start_i = 1; // Start SPI transaction
+    //   wait (trCnt == 70) begin 
+    //         Start_i = 0;
+    //     end
+    //     #(CLK_PERIOD*1000) 
+    //     Start_i = 1; // Start SPI transaction
   end
 //***********************************************
 always_ff @(posedge currClk) begin
@@ -370,7 +365,7 @@ always_comb begin
         modeSel = 0;
     end
     else begin 
-        if (trCnt == 260) begin 
+        if (trCnt == 262) begin 
             modeSel = 1;
         end
     end
@@ -413,7 +408,7 @@ always_comb begin
         end
         /* Then the data for LMK_A */
         else if (trCnt > 0 && trCnt < 130) begin 
-            SPIdata = randData;
+            SPIdata = 24'haaaaaa;
         end
         /* Then the header for LMK_B */
         else if (trCnt == 130) begin 
@@ -421,15 +416,15 @@ always_comb begin
         end
         /* Then the data for LMK_B */
         else if (trCnt > 130 && trCnt < 260) begin 
-            SPIdata = randData;
+            SPIdata = 24'haaaaaa;
         end
         /* Then the header for the Flash */
         else if (trCnt == 260) begin 
             SPIdata = InitFlashHeader;
         end
         /* Then the data for the Flash but the SsFlash should be active instead of Ss_o */
-        else if (trCnt > 260 && trCnt < 261) begin 
-            SPIdata = randData;
+        else if (trCnt == 261) begin 
+            SPIdata = 24'haaaaaa;
         end
         /* Then the header for QSpi header */
         else if (trCnt == 262) begin 
@@ -440,14 +435,16 @@ always_comb begin
             SPIdata = AllDevCtrlCp2444v1QSpiHeader;
         end
         /* Then the data for QSpi */
-        else if (trCnt > 263 && trCnt < 260+QSpiBochv3TotalWordNum) begin
-            SPIdata = randData;
+        else if (trCnt > 263 && trCnt < 263+QSpiBochv3TotalWordNum) begin
+            SPIdata = 24'haaaaaa;
         end
     end
 end
 //***********************************************
 //	           DUT INSTANTIATION
 //***********************************************
+GSR GSR(.GSRI(1'b1));
+
 ExtSpiMEmul ExtSpiMEmul_inst (
         .Clk_i(currClk), 
         .Rst_i(Rst_i || modeSel), 
@@ -468,28 +465,67 @@ ExtSpiMEmul ExtSpiMEmul_inst (
         .Val_o(valR)
     );
 
-    ExtQspiMEmul ExtQspiMEmul_inst (
-        .Clk_i(currClk),
-        .Rst_i(Rst_i || !modeSel),
-        .Start_i(Start_i),
-        .ClockPhase_i(CPHA_i),
-        .EmptyFlag_i(emptyFlagTx),
-        .SpiData_i(SPIdata),
-        .SelSt_i(SELST_i),
-        .WidthSel_i(WidthSel_i),
-        .Lag_i(LAG_i),
-        .Lead_i(LEAD_i),
-        .EndianSel_i(EndianSel_i),
-        .Stop_i(6'h0),
-        .PulsePol_i(PulsePol_i),
-        .Mosi0_o(mosi0Q),
-        .Mosi1_o(Mosi1_o),
-        .Mosi2_o(Mosi2_o),
-        .Mosi3_o(Mosi3_o),
-        .Sck_o(SckQ),
-        .Ss_o(SsQ),
-        .Val_o(valQ)
-    );
+ExtQspiMEmul ExtQspiMEmul_inst (
+    .Clk_i(currClk),
+    .Rst_i(Rst_i || !modeSel),
+    .Start_i(Start_i),
+    .ClockPhase_i(CPHA_i),
+    .EmptyFlag_i(emptyFlagTx),
+    .SpiData_i(SPIdata),
+    .SelSt_i(SELST_i),
+    .WidthSel_i(WidthSel_i),
+    .Lag_i(LAG_i),
+    .Lead_i(LEAD_i),
+    .EndianSel_i(EndianSel_i),
+    .Stop_i(6'h0),
+    .PulsePol_i(PulsePol_i),
+    .Mosi0_o(mosi0Q),
+    .Mosi1_o(Mosi1_o),
+    .Mosi2_o(Mosi2_o),
+    .Mosi3_o(Mosi3_o),
+    .Sck_o(SckQ),
+    .Ss_o(SsQ),
+    .Val_o(valQ)
+);
+
+TopBochv3 TopBochV3_inst (
+    .Rst_i(rstForFPGA),
+    .Sck_i(Sck_o),
+    .Ss_i(Ss_o),
+    .SsFlash_i(SsFlash_o),
+    .Mosi0_i(Mosi0_o),
+    .Mosi1_io(Mosi1_o),
+    .Mosi2_i(Mosi2_o),
+    .Mosi3_i(Mosi3_o),
+
+    /* LMK_A */
+    .LmkAMosi_o(),
+    .LmkACs_o(),
+    .LmkASck_o(),
+    .LmkAMiso_i(),
+    /* LMK_B */
+    .LmkBMosi_o(),
+    .LmkBCs_o(),
+    .LmkBSck_o(),
+    .LmkBMiso_i(),
+    /* CtrlCp2444v1 */
+    .CtrlCp2444v1Mosi0_o(),
+    .CtrlCp2444v1Mosi1_o(),
+    .CtrlCp2444v1Mosi2_o(),
+    .CtrlCp2444v1Mosi3_o(),
+    .CtrlCp2444v1Sck_o(),
+    .CtrlCp2444v1Cs_o(),
+    .CtrlCp2444v1Rst_o(),
+    .CtrlCp2444v1Ld_i(),
+    /* HUB-1854 */
+    .TfeClk_o(),
+    .TfeCs_o(),
+    .TfeMosi_o(),
+    .TfeMiso_i()
+
+
+);
+
 
 
 

src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/FifoTfe6Bytes.ipc → src/src/WrapFifoChain/FifoTfe6Bytes/FifoTfe6Bytes.ipc


+ 201 - 0
src/src/WrapFifoChain/FifoTfe6Bytes/FifoTfe6Bytes.v

@@ -0,0 +1,201 @@
+//
+//Written by GowinSynthesis
+//Tool Version "V1.9.9.03 (64-bit)"
+//Mon Nov 25 11:45:23 2024
+
+//Source file index table:
+//file0 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
+//file1 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v"
+`timescale 100 ps/100 ps
+`pragma protect begin_protected
+`pragma protect version="2.3"
+`pragma protect author="default"
+`pragma protect author_info="default"
+`pragma protect encrypt_agent="GOWIN"
+`pragma protect encrypt_agent_info="GOWIN Encrypt Version 2.3"
+
+`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
+`pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
+`pragma protect key_block
+jWih6ak7/z2P6RpNz3vz503y47WXCF6yI4el8IlW6l+TgV+MmVIpmm9OQrACC7gq0oskV0a5zVso
+1iYHR/MYsGecfV3UWCuZQJuGninuyiIaX9HIDhn/yQ4CSQ/9oH5FvjFpzz9Bdp6pVLZnGb7EUpvi
+Ij1Ec0+LIcxc1HNugTbZno6y4QsNlHf4fjFihvqLaLgmD7f/g4CnQSEHpCW+QQF+ynSAqBJMhr59
+1kOIjKPaV0VFJvJsH+q2Vp4Bnl2qfbPaM3m0aKtvTW2wIlRwq9Okhqc1It8i/V54yI1awS2RQjQp
+/GopcgEfto7uy9bUIia9kJVk96EEjQCbViCOcQ==
+
+`pragma protect encoding=(enctype="base64", line_length=76, bytes=7136)
+`pragma protect data_keyowner="default-ip-vendor"
+`pragma protect data_keyname="default-ip-key"
+`pragma protect data_method="aes128-cfb"
+`pragma protect data_block
+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
+pkr25MEyl+V31OQ=
+`pragma protect end_protected
+module FifoTfe6Bytes (
+  Data,
+  Reset,
+  WrClk,
+  RdClk,
+  WrEn,
+  RdEn,
+  Q,
+  Empty,
+  Full
+)
+;
+input [47:0] Data;
+input Reset;
+input WrClk;
+input RdClk;
+input WrEn;
+input RdEn;
+output [47:0] Q;
+output Empty;
+output Full;
+wire VCC;
+wire GND;
+  \~fifo.FifoTfe6Bytes  fifo_inst (
+    .Reset(Reset),
+    .RdClk(RdClk),
+    .WrClk(WrClk),
+    .WrEn(WrEn),
+    .RdEn(RdEn),
+    .Data(Data[47:0]),
+    .Empty(Empty),
+    .Full(Full),
+    .Q(Q[47:0])
+);
+  VCC VCC_cZ (
+    .V(VCC)
+);
+  GND GND_cZ (
+    .G(GND)
+);
+  GSR GSR (
+    .GSRI(VCC) 
+);
+endmodule /* FifoTfe6Bytes */

+ 1 - 1
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/FifoTfe6Bytes.vo

@@ -2,7 +2,7 @@
 //All rights reserved.
 //File Title: Post-PnR Simulation Model file
 //Tool Version: V1.9.9.03 (64-bit)
-//Created Time: Fri Nov 22 16:07:51 2024
+//Created Time: Mon Nov 25 11:45:24 2024
 
 `timescale 100 ps/100 ps
 module FifoTfe6Bytes(

+ 1 - 1
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/FifoTfe6Bytes_tmp.v

@@ -4,7 +4,7 @@
 //Tool Version: V1.9.9.03 (64-bit)
 //Part Number: GW1N-UV9QN88C6/I5
 //Device: GW1N-9
-//Created Time: Fri Nov 22 16:07:51 2024
+//Created Time: Mon Nov 25 11:45:23 2024
 
 //Change the instance name and port connections to the signal names
 //--------Copy here to design--------

+ 0 - 201
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/FifoTfe6Bytes.v

@@ -1,201 +0,0 @@
-//
-//Written by GowinSynthesis
-//Tool Version "V1.9.9.03 (64-bit)"
-//Fri Nov 22 16:07:51 2024
-
-//Source file index table:
-//file0 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
-//file1 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v"
-`timescale 100 ps/100 ps
-`pragma protect begin_protected
-`pragma protect version="2.3"
-`pragma protect author="default"
-`pragma protect author_info="default"
-`pragma protect encrypt_agent="GOWIN"
-`pragma protect encrypt_agent_info="GOWIN Encrypt Version 2.3"
-
-`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
-`pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
-`pragma protect key_block
-eVx2GS+EpYkFF40Lcjcxf5wn1X7Bs6YgwecTcs+5taMkjCEDi36Sf4LsDW5msK5QSgjmSCgQZ+jP
-qypzGRxVpd+DFJwD9lTJTDI8nKtLrLBP934bD6TVf9U0poeTHom0wNINVwahZTiUs/P0/XmqOAim
-9dVOFxWiiRNxMIcN6YnP9ab2Zs+ikHTgD5Y2Xb/8ggidRROeQ2mS8BYxMfu8XH+jLsIGzXx6GU5Q
-HPsoPaN4UDeJB0FPeoEuMMnZgyYmFZz4ouFbNmHicr+XuuqNCtjWXVMRGgbKuaRVOkhMQr8LIDoz
-TMz6WSobcGnS0P51nPOCv6H7tiXNIwziR7+ekg==
-
-`pragma protect encoding=(enctype="base64", line_length=76, bytes=7136)
-`pragma protect data_keyowner="default-ip-vendor"
-`pragma protect data_keyname="default-ip-key"
-`pragma protect data_method="aes128-cfb"
-`pragma protect data_block
-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
-std/lcv1FqX4Wk4=
-`pragma protect end_protected
-module FifoTfe6Bytes (
-  Data,
-  Reset,
-  WrClk,
-  RdClk,
-  WrEn,
-  RdEn,
-  Q,
-  Empty,
-  Full
-)
-;
-input [47:0] Data;
-input Reset;
-input WrClk;
-input RdClk;
-input WrEn;
-input RdEn;
-output [47:0] Q;
-output Empty;
-output Full;
-wire VCC;
-wire GND;
-  \~fifo.FifoTfe6Bytes  fifo_inst (
-    .Reset(Reset),
-    .RdClk(RdClk),
-    .WrClk(WrClk),
-    .WrEn(WrEn),
-    .RdEn(RdEn),
-    .Data(Data[47:0]),
-    .Empty(Empty),
-    .Full(Full),
-    .Q(Q[47:0])
-);
-  VCC VCC_cZ (
-    .V(VCC)
-);
-  GND GND_cZ (
-    .G(GND)
-);
-  GSR GSR (
-    .GSRI(VCC) 
-);
-endmodule /* FifoTfe6Bytes */

+ 0 - 201
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes.vg

@@ -1,201 +0,0 @@
-//
-//Written by GowinSynthesis
-//Tool Version "V1.9.9.03 (64-bit)"
-//Fri Nov 22 16:07:51 2024
-
-//Source file index table:
-//file0 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
-//file1 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v"
-`timescale 100 ps/100 ps
-`pragma protect begin_protected
-`pragma protect version="2.3"
-`pragma protect author="default"
-`pragma protect author_info="default"
-`pragma protect encrypt_agent="GOWIN"
-`pragma protect encrypt_agent_info="GOWIN Encrypt Version 2.3"
-
-`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
-`pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
-`pragma protect key_block
-eVx2GS+EpYkFF40Lcjcxf5wn1X7Bs6YgwecTcs+5taMkjCEDi36Sf4LsDW5msK5QSgjmSCgQZ+jP
-qypzGRxVpd+DFJwD9lTJTDI8nKtLrLBP934bD6TVf9U0poeTHom0wNINVwahZTiUs/P0/XmqOAim
-9dVOFxWiiRNxMIcN6YnP9ab2Zs+ikHTgD5Y2Xb/8ggidRROeQ2mS8BYxMfu8XH+jLsIGzXx6GU5Q
-HPsoPaN4UDeJB0FPeoEuMMnZgyYmFZz4ouFbNmHicr+XuuqNCtjWXVMRGgbKuaRVOkhMQr8LIDoz
-TMz6WSobcGnS0P51nPOCv6H7tiXNIwziR7+ekg==
-
-`pragma protect encoding=(enctype="base64", line_length=76, bytes=7136)
-`pragma protect data_keyowner="default-ip-vendor"
-`pragma protect data_keyname="default-ip-key"
-`pragma protect data_method="aes128-cfb"
-`pragma protect data_block
-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
-std/lcv1FqX4Wk4=
-`pragma protect end_protected
-module FifoTfe6Bytes (
-  Data,
-  Reset,
-  WrClk,
-  RdClk,
-  WrEn,
-  RdEn,
-  Q,
-  Empty,
-  Full
-)
-;
-input [47:0] Data;
-input Reset;
-input WrClk;
-input RdClk;
-input WrEn;
-input RdEn;
-output [47:0] Q;
-output Empty;
-output Full;
-wire VCC;
-wire GND;
-  \~fifo.FifoTfe6Bytes  fifo_inst (
-    .Reset(Reset),
-    .RdClk(RdClk),
-    .WrClk(WrClk),
-    .WrEn(WrEn),
-    .RdEn(RdEn),
-    .Data(Data[47:0]),
-    .Empty(Empty),
-    .Full(Full),
-    .Q(Q[47:0])
-);
-  VCC VCC_cZ (
-    .V(VCC)
-);
-  GND GND_cZ (
-    .G(GND)
-);
-  GSR GSR (
-    .GSRI(VCC) 
-);
-endmodule /* FifoTfe6Bytes */

+ 1 - 1
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FIFOHS.prj

@@ -10,7 +10,7 @@
     <OptionList>
         <Option type="disable_insert_pad" value="1"/>
         <Option type="include_path" value="C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data"/>
-        <Option type="include_path" value="C:/Gowin/Projects/BOCHv3_FPGA/src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS"/>
+        <Option type="include_path" value="C:/Gowin/Projects/BOCHv3_FPGA/src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS"/>
         <Option type="output_file" value="FifoTfe6Bytes.vg"/>
         <Option type="output_template" value="FifoTfe6Bytes_tmp.v"/>
         <Option type="ram_balance" value="1"/>

+ 3 - 3
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes.log

@@ -39,7 +39,7 @@ WARN  (AG0100) : Find logical loop signal : "fifo_inst/Full_s3"("C:\Gowin\Gowin_
 WARN  (AG0101) : The netlist is not one directed acyclic graph
 [80%] Tech-Mapping Phase 3 completed
 [90%] Tech-Mapping Phase 4 completed
-[95%] Generate netlist file "C:\Gowin\Projects\BOCHv3_FPGA\src\src\WrapFifoChain\FifoTfe6Bytes\fifo_hs\temp\FIFOHS\FifoTfe6Bytes.vg" completed
-Generate template file "C:\Gowin\Projects\BOCHv3_FPGA\src\src\WrapFifoChain\FifoTfe6Bytes\fifo_hs\temp\FIFOHS\FifoTfe6Bytes_tmp.v" completed
-[100%] Generate report file "C:\Gowin\Projects\BOCHv3_FPGA\src\src\WrapFifoChain\FifoTfe6Bytes\fifo_hs\temp\FIFOHS\FifoTfe6Bytes_syn.rpt.html" completed
+[95%] Generate netlist file "C:\Gowin\Projects\BOCHv3_FPGA\src\src\WrapFifoChain\FifoTfe6Bytes\temp\FIFOHS\FifoTfe6Bytes.vg" completed
+Generate template file "C:\Gowin\Projects\BOCHv3_FPGA\src\src\WrapFifoChain\FifoTfe6Bytes\temp\FIFOHS\FifoTfe6Bytes_tmp.v" completed
+[100%] Generate report file "C:\Gowin\Projects\BOCHv3_FPGA\src\src\WrapFifoChain\FifoTfe6Bytes\temp\FIFOHS\FifoTfe6Bytes_syn.rpt.html" completed
 GowinSynthesis finish

+ 201 - 0
src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/FifoTfe6Bytes.vg

@@ -0,0 +1,201 @@
+//
+//Written by GowinSynthesis
+//Tool Version "V1.9.9.03 (64-bit)"
+//Mon Nov 25 11:45:23 2024
+
+//Source file index table:
+//file0 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
+//file1 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v"
+`timescale 100 ps/100 ps
+`pragma protect begin_protected
+`pragma protect version="2.3"
+`pragma protect author="default"
+`pragma protect author_info="default"
+`pragma protect encrypt_agent="GOWIN"
+`pragma protect encrypt_agent_info="GOWIN Encrypt Version 2.3"
+
+`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
+`pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
+`pragma protect key_block
+jWih6ak7/z2P6RpNz3vz503y47WXCF6yI4el8IlW6l+TgV+MmVIpmm9OQrACC7gq0oskV0a5zVso
+1iYHR/MYsGecfV3UWCuZQJuGninuyiIaX9HIDhn/yQ4CSQ/9oH5FvjFpzz9Bdp6pVLZnGb7EUpvi
+Ij1Ec0+LIcxc1HNugTbZno6y4QsNlHf4fjFihvqLaLgmD7f/g4CnQSEHpCW+QQF+ynSAqBJMhr59
+1kOIjKPaV0VFJvJsH+q2Vp4Bnl2qfbPaM3m0aKtvTW2wIlRwq9Okhqc1It8i/V54yI1awS2RQjQp
+/GopcgEfto7uy9bUIia9kJVk96EEjQCbViCOcQ==
+
+`pragma protect encoding=(enctype="base64", line_length=76, bytes=7136)
+`pragma protect data_keyowner="default-ip-vendor"
+`pragma protect data_keyname="default-ip-key"
+`pragma protect data_method="aes128-cfb"
+`pragma protect data_block
+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
+pkr25MEyl+V31OQ=
+`pragma protect end_protected
+module FifoTfe6Bytes (
+  Data,
+  Reset,
+  WrClk,
+  RdClk,
+  WrEn,
+  RdEn,
+  Q,
+  Empty,
+  Full
+)
+;
+input [47:0] Data;
+input Reset;
+input WrClk;
+input RdClk;
+input WrEn;
+input RdEn;
+output [47:0] Q;
+output Empty;
+output Full;
+wire VCC;
+wire GND;
+  \~fifo.FifoTfe6Bytes  fifo_inst (
+    .Reset(Reset),
+    .RdClk(RdClk),
+    .WrClk(WrClk),
+    .WrEn(WrEn),
+    .RdEn(RdEn),
+    .Data(Data[47:0]),
+    .Empty(Empty),
+    .Full(Full),
+    .Q(Q[47:0])
+);
+  VCC VCC_cZ (
+    .V(VCC)
+);
+  GND GND_cZ (
+    .G(GND)
+);
+  GSR GSR (
+    .GSRI(VCC) 
+);
+endmodule /* FifoTfe6Bytes */

Diferenças do arquivo suprimidas por serem muito extensas
+ 3 - 3
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes_syn.rpt.html


src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes_syn_resource.html → src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/FifoTfe6Bytes_syn_resource.html


src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes_syn_rsc.xml → src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/FifoTfe6Bytes_syn_rsc.xml


+ 1 - 1
src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/FifoTfe6Bytes_tmp.v

@@ -4,7 +4,7 @@
 //Tool Version: V1.9.9.03 (64-bit)
 //Part Number: GW1N-UV9QN88C6/I5
 //Device: GW1N-9
-//Created Time: Fri Nov 22 16:07:51 2024
+//Created Time: Mon Nov 25 11:45:23 2024
 
 //Change the instance name and port connections to the signal names
 //--------Copy here to design--------

src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/fifo_define.v → src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/fifo_define.v


src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/fifo_parameter.v → src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/fifo_parameter.v


src/src/WrapFifoChain/FifoTfe6Bytes/fifo_hs/temp/FIFOHS/project.ini → src/src/WrapFifoChain/FifoTfe6Bytes/temp/FIFOHS/project.ini


+ 2 - 2
src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes.ipc

@@ -1,7 +1,7 @@
 [General]
 ipc_version=4
 file=FifoTfe7Bytes
-module=FifoTfe2Bytes
+module=FifoTfe7Bytes
 target_device=gw1n9-022
 type=fifo_hs
 version=1.0
@@ -10,7 +10,7 @@ version=1.0
 AlmostEmptyFlag=false
 AlmostEmptyFlagItem=Empty_Single Threshold Constant Parameter
 AlmostFullFlag=false
-AlmostFullFlagItem=Full_Dual Threshold Constant Parameter
+AlmostFullFlagItem=Full_Single Threshold Constant Parameter
 BSRAM=true
 ControlledByRdEn=false
 ECCSelected=false

+ 134 - 134
src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes.v

@@ -1,7 +1,7 @@
 //
 //Written by GowinSynthesis
 //Tool Version "V1.9.9.03 (64-bit)"
-//Fri Nov 22 16:10:39 2024
+//Mon Nov 25 11:42:49 2024
 
 //Source file index table:
 //file0 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
@@ -17,144 +17,144 @@
 `pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
 `pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
 `pragma protect key_block
-C5fLb2KxIhKnQirCC/KZ5sfPTjLqghcylp11BntEaEweKJe5CJcVbHpVkkr664QmVjQrgNPK5WZY
-8p4C7MtDREwqkAGbSoMCUfLFFCNL4iiBTK8eKtVjEuIk5QT9Wuw0/IAUbNzouCb+wi84KI+ke+pB
-EOp+UGM8ZtlaF0wZPeiGX45BrdoqePgJ+gs/I/85yYFfutqYHGkBekcPLIC9Mz6H+QykDF/IYj1P
-GvD2aunMa/hBACYVcSI7NTLgRY1w6asJ/8bwInSKqluaGgsedXPxaohyWFR9wYXFSaY/Xv8wIWiQ
-+pfQH0mMgLnxdZ7w6KkL07UfaqpA4YTfcqQl7w==
+r1TsxRyz+jtNe/906f4le5iFC+jH+/4g9JNQzgUBMd23xZMsyiZzJkdvLTif9iKLBaJ3BYKiGdzC
+X2PkbWeqQd7Upz8XYSh52Z2wWb3THx+LX5KT0Qiqm2o/zyLqDh82MfVKJC+C14eQPM8mReGJiIPm
+nk7MKFwtrLq28qL+SHqP4pjfAXeV2MesOiUhoORw33Gqkzjfb1iEzwyb9ILBORB7cv5/JzjKnbj1
+ouFtCkWU91+sWvru6W7CZUavQtsDwKjgv12variUqpWD0JAV9RGf7O4/RPb6iBXiS+BUno26z55/
+ByxOM+vj5gLABIgxBUkfu2HIgQPc/ABFQK6Ong==
 
 `pragma protect encoding=(enctype="base64", line_length=76, bytes=7104)
 `pragma protect data_keyowner="default-ip-vendor"
 `pragma protect data_keyname="default-ip-key"
 `pragma protect data_method="aes128-cfb"
 `pragma protect data_block
-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
+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
 `pragma protect end_protected
-module FifoTfe2Bytes (
+module FifoTfe7Bytes (
   Data,
   Reset,
   WrClk,
@@ -177,7 +177,7 @@ output Empty;
 output Full;
 wire VCC;
 wire GND;
-  \~fifo.FifoTfe2Bytes  fifo_inst (
+  \~fifo.FifoTfe7Bytes  fifo_inst (
     .Reset(Reset),
     .RdClk(RdClk),
     .WrClk(WrClk),
@@ -197,4 +197,4 @@ wire GND;
   GSR GSR (
     .GSRI(VCC) 
 );
-endmodule /* FifoTfe2Bytes */
+endmodule /* FifoTfe7Bytes */

+ 2 - 2
src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes.vo

@@ -2,10 +2,10 @@
 //All rights reserved.
 //File Title: Post-PnR Simulation Model file
 //Tool Version: V1.9.9.03 (64-bit)
-//Created Time: Fri Nov 22 16:10:39 2024
+//Created Time: Mon Nov 25 11:42:49 2024
 
 `timescale 100 ps/100 ps
-module FifoTfe2Bytes(
+module FifoTfe7Bytes(
 	Data,
 	Reset,
 	WrClk,

+ 2 - 2
src/src/WrapFifoChain/FifoTfe7Bytes/FifoTfe7Bytes_tmp.v

@@ -4,12 +4,12 @@
 //Tool Version: V1.9.9.03 (64-bit)
 //Part Number: GW1N-UV9QN88C6/I5
 //Device: GW1N-9
-//Created Time: Fri Nov 22 16:10:39 2024
+//Created Time: Mon Nov 25 11:42:49 2024
 
 //Change the instance name and port connections to the signal names
 //--------Copy here to design--------
 
-	FifoTfe2Bytes your_instance_name(
+	FifoTfe7Bytes your_instance_name(
 		.Data(Data), //input [55:0] Data
 		.Reset(Reset), //input Reset
 		.WrClk(WrClk), //input WrClk

+ 2 - 2
src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes.log

@@ -11,10 +11,10 @@ Analyzing included file 'C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\st
 Back to file 'C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs_top.v'("C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs_top.v":2)
 Analyzing included file 'fifo_parameter.v'("C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs_top.v":57)
 Back to file 'C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs_top.v'("C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs_top.v":57)
-Compiling module 'FifoTfe2Bytes'("C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs_top.v":4)
+Compiling module 'FifoTfe7Bytes'("C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs_top.v":4)
 Compiling module '**'("C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs.v":15293)
 Extracting RAM for identifier '**'("C:\Gowin\Gowin_V1.9.9.03_x64\IDE\ipcore\FIFO_HS\data\fifo_hs.v":15293)
-NOTE  (EX0101) : Current top module is "FifoTfe2Bytes"
+NOTE  (EX0101) : Current top module is "FifoTfe7Bytes"
 [5%] Running netlist conversion ...
 Running device independent optimization ...
 [10%] Optimizing Phase 0 completed

+ 134 - 134
src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes.vg

@@ -1,7 +1,7 @@
 //
 //Written by GowinSynthesis
 //Tool Version "V1.9.9.03 (64-bit)"
-//Fri Nov 22 16:10:39 2024
+//Mon Nov 25 11:42:49 2024
 
 //Source file index table:
 //file0 "\C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
@@ -17,144 +17,144 @@
 `pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
 `pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
 `pragma protect key_block
-C5fLb2KxIhKnQirCC/KZ5sfPTjLqghcylp11BntEaEweKJe5CJcVbHpVkkr664QmVjQrgNPK5WZY
-8p4C7MtDREwqkAGbSoMCUfLFFCNL4iiBTK8eKtVjEuIk5QT9Wuw0/IAUbNzouCb+wi84KI+ke+pB
-EOp+UGM8ZtlaF0wZPeiGX45BrdoqePgJ+gs/I/85yYFfutqYHGkBekcPLIC9Mz6H+QykDF/IYj1P
-GvD2aunMa/hBACYVcSI7NTLgRY1w6asJ/8bwInSKqluaGgsedXPxaohyWFR9wYXFSaY/Xv8wIWiQ
-+pfQH0mMgLnxdZ7w6KkL07UfaqpA4YTfcqQl7w==
+r1TsxRyz+jtNe/906f4le5iFC+jH+/4g9JNQzgUBMd23xZMsyiZzJkdvLTif9iKLBaJ3BYKiGdzC
+X2PkbWeqQd7Upz8XYSh52Z2wWb3THx+LX5KT0Qiqm2o/zyLqDh82MfVKJC+C14eQPM8mReGJiIPm
+nk7MKFwtrLq28qL+SHqP4pjfAXeV2MesOiUhoORw33Gqkzjfb1iEzwyb9ILBORB7cv5/JzjKnbj1
+ouFtCkWU91+sWvru6W7CZUavQtsDwKjgv12variUqpWD0JAV9RGf7O4/RPb6iBXiS+BUno26z55/
+ByxOM+vj5gLABIgxBUkfu2HIgQPc/ABFQK6Ong==
 
 `pragma protect encoding=(enctype="base64", line_length=76, bytes=7104)
 `pragma protect data_keyowner="default-ip-vendor"
 `pragma protect data_keyname="default-ip-key"
 `pragma protect data_method="aes128-cfb"
 `pragma protect data_block
-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
+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
 `pragma protect end_protected
-module FifoTfe2Bytes (
+module FifoTfe7Bytes (
   Data,
   Reset,
   WrClk,
@@ -177,7 +177,7 @@ output Empty;
 output Full;
 wire VCC;
 wire GND;
-  \~fifo.FifoTfe2Bytes  fifo_inst (
+  \~fifo.FifoTfe7Bytes  fifo_inst (
     .Reset(Reset),
     .RdClk(RdClk),
     .WrClk(WrClk),
@@ -197,4 +197,4 @@ wire GND;
   GSR GSR (
     .GSRI(VCC) 
 );
-endmodule /* FifoTfe2Bytes */
+endmodule /* FifoTfe7Bytes */

Diferenças do arquivo suprimidas por serem muito extensas
+ 4 - 4
src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_syn.rpt.html


+ 1 - 1
src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_syn_resource.html

@@ -30,7 +30,7 @@ table td.label { width: 20%; white-space: nowrap; min-width: 20px; background-co
 <th class="label">ROM16 NUMBER</th>
 </tr>
 <tr>
-<td class="label">FifoTfe2Bytes (C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v)</td>
+<td class="label">FifoTfe7Bytes (C:/Gowin/Gowin_V1.9.9.03_x64/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v)</td>
 <td align = "center">19</td>
 <td align = "center">-</td>
 <td align = "center">18</td>

+ 1 - 1
src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_syn_rsc.xml

@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Module name="FifoTfe2Bytes" Register="19" Lut="18" Bsram="2" T_Register="19(19)" T_Lut="18(18)" T_Bsram="2(2)"/>
+<Module name="FifoTfe7Bytes" Register="19" Lut="18" Bsram="2" T_Register="19(19)" T_Lut="18(18)" T_Bsram="2(2)"/>

+ 2 - 2
src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/FifoTfe7Bytes_tmp.v

@@ -4,12 +4,12 @@
 //Tool Version: V1.9.9.03 (64-bit)
 //Part Number: GW1N-UV9QN88C6/I5
 //Device: GW1N-9
-//Created Time: Fri Nov 22 16:10:39 2024
+//Created Time: Mon Nov 25 11:42:49 2024
 
 //Change the instance name and port connections to the signal names
 //--------Copy here to design--------
 
-	FifoTfe2Bytes your_instance_name(
+	FifoTfe7Bytes your_instance_name(
 		.Data(Data), //input [55:0] Data
 		.Reset(Reset), //input Reset
 		.WrClk(WrClk), //input WrClk

+ 1 - 1
src/src/WrapFifoChain/FifoTfe7Bytes/temp/FIFOHS/fifo_define.v

@@ -1,4 +1,4 @@
-`define module_name FifoTfe2Bytes
+`define module_name FifoTfe7Bytes
 `define EBR_BASED
 `define FWFT
 `define En_Reset

+ 83 - 0
src/src/WrapFifoChain/Tfe2BytesWrapper.v

@@ -0,0 +1,83 @@
+module Tfe2BytesWrapper #(
+   	parameter 	IN_WIDTH = 24,
+	parameter 	WR_NUM = 1,
+    parameter	OUT_WIDTH = 24,
+    parameter	DATA_WIDTH = 24
+)(
+    input WrClk_i,
+    input RdClk_i,
+    input Rst_i,
+    input [IN_WIDTH-1:0] Data_i,
+    input Val_i,
+
+	input 	SpiBusy_i,
+	output 	Tfe2BytesSpiBusy_o,
+
+    output Ss_o,
+    output Sck_o,
+    output Mosi_o
+);
+//================================================================================
+//	                                REG/WIRE
+//================================================================================  
+wire [OUT_WIDTH-1:0] dataFromFifoCtrl;
+wire [OUT_WIDTH-1:0] dataFromFifo;
+wire readEn;
+wire writeEn;
+wire valRdData;
+wire busySpiM;
+wire fifoFull;
+wire fifoEmpty;
+//==========================================================================//
+//									ASSIGNMENTS								//
+//==========================================================================//
+assign Tfe2BytesSpiBusy_o = busySpiM;
+//==========================================================================//
+//									CODING									//
+//==========================================================================//
+FifoCtrl #(
+	.IN_WIDTH		(IN_WIDTH),
+	.WR_NUM			(WR_NUM),
+	.OUT_WIDTH		(OUT_WIDTH)
+) FifoCtrlTfe2Bytes
+(
+	.WrClk_i		(WrClk_i),
+	.RdClk_i		(RdClk_i),
+	.Rst_i			(Rst_i),
+	.Data_i			(Data_i),
+	.Val_i			(Val_i),
+	.BusySpiM_i		(busySpiM | SpiBusy_i ),
+	.FifoFull_i		(fifoFull),
+	.FifoEmpty_i	(fifoEmpty),
+	.Data_o			(dataFromFifoCtrl),
+	.ReadEn_o		(readEn),
+	.WriteEn_o		(writeEn),
+	.ValRdData_o	(valRdData)
+);
+
+FifoTfe2Bytes FifoTfe2Bytes (
+	.Data	(dataFromFifoCtrl),
+	.WrClk	(WrClk_i),
+	.RdClk	(RdClk_i),
+	.Reset	(Rst_i),
+	.WrEn	(writeEn),
+	.RdEn	(readEn),
+	.Full	(fifoFull),
+	.Empty	(fifoEmpty),
+	.Q		(dataFromFifo)
+);
+
+SpiM #(
+	.DATA_WIDTH	(DATA_WIDTH)
+)SpiMTfe2Bytes(
+	.Clk_i		(RdClk_i),
+	.Rst_i		(Rst_i),
+	.Val_i		(valRdData),
+	.SpiData_i	(dataFromFifo),
+	.Busy_o	    (busySpiM),
+	.Ss_o		(Ss_o),
+	.Mosi_o		(Mosi_o),
+	.Sck_o		(Sck_o)
+);
+
+endmodule

+ 83 - 0
src/src/WrapFifoChain/Tfe4BytesWrapper.v

@@ -0,0 +1,83 @@
+module Tfe4BytesWrapper #(
+   	parameter	IN_WIDTH = 24,
+    parameter 	WR_NUM = 	2,
+    parameter	OUT_WIDTH = 32,
+    parameter	DATA_WIDTH = 32
+)(
+    input WrClk_i,
+    input RdClk_i,
+    input Rst_i,
+    input [IN_WIDTH-1:0] Data_i,
+    input Val_i,
+
+	input 	SpiBusy_i,
+	output 	Tfe4BytesSpiBusy_o,
+
+    output Ss_o,
+    output Sck_o,
+    output Mosi_o
+);
+//================================================================================
+//	                                REG/WIRE
+//================================================================================  
+wire [OUT_WIDTH-1:0] dataFromFifoCtrl;
+wire [OUT_WIDTH-1:0] dataFromFifo;
+wire readEn;
+wire writeEn;
+wire valRdData;
+wire busySpiM;
+wire fifoFull;
+wire fifoEmpty;
+//==========================================================================//
+//									ASSIGNMENTS								//
+//==========================================================================//
+assign Tfe4BytesSpiBusy_o = busySpiM;
+//==========================================================================//
+//									CODING									//
+//==========================================================================//
+FifoCtrl #(
+	.IN_WIDTH		(IN_WIDTH),
+	.WR_NUM			(WR_NUM),
+	.OUT_WIDTH		(OUT_WIDTH)
+) FifoCtrlTfe4Bytes
+(
+	.WrClk_i		(WrClk_i),
+	.RdClk_i		(RdClk_i),
+	.Rst_i			(Rst_i),
+	.Data_i			(Data_i),
+	.Val_i			(Val_i),
+	.BusySpiM_i		(busySpiM | SpiBusy_i),
+	.FifoFull_i		(fifoFull),
+	.FifoEmpty_i	(fifoEmpty),
+	.Data_o			(dataFromFifoCtrl),
+	.ReadEn_o		(readEn),
+	.WriteEn_o		(writeEn),
+	.ValRdData_o	(valRdData)
+);
+
+FifoTfe4Bytes FifoTfe4Bytes (
+	.Data	(dataFromFifoCtrl),
+	.WrClk	(WrClk_i),
+	.RdClk	(RdClk_i),
+	.Reset	(Rst_i),
+	.WrEn	(writeEn),
+	.RdEn	(readEn),
+	.Full	(fifoFull),
+	.Empty	(fifoEmpty),
+	.Q		(dataFromFifo)
+);
+
+SpiM #(
+	.DATA_WIDTH	(DATA_WIDTH)
+)SpiMTfe4Bytes(
+	.Clk_i		(RdClk_i),
+	.Rst_i		(Rst_i),
+	.Val_i		(valRdData),
+	.SpiData_i	(dataFromFifo),
+	.Busy_o	    (busySpiM),
+	.Ss_o		(Ss_o),
+	.Mosi_o		(Mosi_o),
+	.Sck_o		(Sck_o)
+);
+
+endmodule

+ 85 - 0
src/src/WrapFifoChain/Tfe6BytesWrapper.v

@@ -0,0 +1,85 @@
+module Tfe6BytesWrapper #(
+   	parameter	IN_WIDTH = 24,
+    parameter	WR_NUM = 2,
+    parameter	OUT_WIDTH = 48,
+    parameter	DATA_WIDTH = 48
+)(
+    input WrClk_i,
+    input RdClk_i,
+    input Rst_i,
+    input [IN_WIDTH-1:0] Data_i,
+    input Val_i,
+
+	input	SpiBusy_i,
+	output 	Tfe6BytesSpiBusy_o,
+	output	Tfe6BytesFifoEmpty_o,
+
+    output Ss_o,
+    output Sck_o,
+    output Mosi_o
+);
+//================================================================================
+//	                                REG/WIRE
+//================================================================================  
+wire [OUT_WIDTH-1:0] dataFromFifoCtrl;
+wire [OUT_WIDTH-1:0] dataFromFifo;
+wire readEn;
+wire writeEn;
+wire valRdData;
+wire busySpiM;
+wire fifoFull;
+wire fifoEmpty;
+//==========================================================================//
+//									ASSIGNMENTS								//
+//==========================================================================//
+assign Tfe6BytesSpiBusy_o = busySpiM;
+assign Tfe6BytesFifoEmpty_o = fifoEmpty;
+//==========================================================================//
+//									CODING									//
+//==========================================================================//
+FifoCtrl #(
+	.IN_WIDTH		(IN_WIDTH),
+	.WR_NUM			(WR_NUM),
+	.OUT_WIDTH		(OUT_WIDTH)
+) FifoCtrlTfe6Bytes
+(
+	.WrClk_i		(WrClk_i),
+	.RdClk_i		(RdClk_i),
+	.Rst_i			(Rst_i),
+	.Data_i			(Data_i),
+	.Val_i			(Val_i),
+	.BusySpiM_i		(busySpiM | SpiBusy_i ),
+	.FifoFull_i		(fifoFull),
+	.FifoEmpty_i	(fifoEmpty),
+	.Data_o			(dataFromFifoCtrl),
+	.ReadEn_o		(readEn),
+	.WriteEn_o		(writeEn),
+	.ValRdData_o	(valRdData)
+);
+
+FifoTfe6Bytes FifoTfe6Bytes (
+	.Data	(dataFromFifoCtrl),
+	.WrClk	(WrClk_i),
+	.RdClk	(RdClk_i),
+	.Reset	(Rst_i),
+	.WrEn	(writeEn),
+	.RdEn	(readEn),
+	.Full	(fifoFull),
+	.Empty	(fifoEmpty),
+	.Q		(dataFromFifo)
+);
+
+SpiM #(
+	.DATA_WIDTH	(DATA_WIDTH)
+)SpiMTfe6Bytes(
+	.Clk_i		(RdClk_i),
+	.Rst_i		(Rst_i),
+	.Val_i		(valRdData),
+	.SpiData_i	(dataFromFifo),
+	.Busy_o	    (busySpiM),
+	.Ss_o		(Ss_o),
+	.Mosi_o		(Mosi_o),
+	.Sck_o		(Sck_o)
+);
+
+endmodule

+ 83 - 0
src/src/WrapFifoChain/Tfe7BytesWrapper.v

@@ -0,0 +1,83 @@
+module Tfe7BytesWrapper #(
+   	parameter	IN_WIDTH = 24,
+    parameter	WR_NUM = 3,
+    parameter	OUT_WIDTH = 56,
+    parameter	DATA_WIDTH = 56
+)(
+    input WrClk_i,
+    input RdClk_i,
+    input Rst_i,
+    input [IN_WIDTH-1:0] Data_i,
+    input Val_i,
+
+	input	SpiBusy_i,
+	output 	Tfe7BytesSpiBusy_o,
+	
+    output Ss_o,
+    output Sck_o,
+    output Mosi_o
+);
+//================================================================================
+//	                                REG/WIRE
+//================================================================================  
+wire [OUT_WIDTH-1:0] dataFromFifoCtrl;
+wire [OUT_WIDTH-1:0] dataFromFifo;
+wire readEn;
+wire writeEn;
+wire valRdData;
+wire busySpiM;
+wire fifoFull;
+wire fifoEmpty;
+//==========================================================================//
+//									ASSIGNMENTS								//
+//==========================================================================//
+assign Tfe7BytesSpiBusy_o = busySpiM;
+//==========================================================================//
+//									CODING									//
+//==========================================================================//
+FifoCtrl #(
+	.IN_WIDTH		(IN_WIDTH),
+	.WR_NUM			(WR_NUM),
+	.OUT_WIDTH		(OUT_WIDTH)
+) FifoCtrlTfe7Bytes
+(
+	.WrClk_i		(WrClk_i),
+	.RdClk_i		(RdClk_i),
+	.Rst_i			(Rst_i),
+	.Data_i			(Data_i),
+	.Val_i			(Val_i),
+	.BusySpiM_i		(busySpiM | SpiBusy_i ),
+	.FifoFull_i		(fifoFull),
+	.FifoEmpty_i	(fifoEmpty),
+	.Data_o			(dataFromFifoCtrl),
+	.ReadEn_o		(readEn),
+	.WriteEn_o		(writeEn),
+	.ValRdData_o	(valRdData)
+);
+
+FifoTfe7Bytes FifoTfe7Bytes (
+	.Data	(dataFromFifoCtrl),
+	.WrClk	(WrClk_i),
+	.RdClk	(RdClk_i),
+	.Reset	(Rst_i),
+	.WrEn	(writeEn),
+	.RdEn	(readEn),
+	.Full	(fifoFull),
+	.Empty	(fifoEmpty),
+	.Q		(dataFromFifo)
+);
+
+SpiM #(
+	.DATA_WIDTH	(DATA_WIDTH)
+)SpiMTfe7Bytes(
+	.Clk_i		(RdClk_i),
+	.Rst_i		(Rst_i),
+	.Val_i		(valRdData),
+	.SpiData_i	(dataFromFifo),
+	.Busy_o	    (busySpiM),
+	.Ss_o		(Ss_o),
+	.Mosi_o		(Mosi_o),
+	.Sck_o		(Sck_o)
+);
+
+endmodule