diff --git a/src/hdl/TWICtl.vhd b/src/hdl/TWICtl.vhd
deleted file mode 100644
index e0dad088dc435c2270e1b22384bd168dece168a1..0000000000000000000000000000000000000000
--- a/src/hdl/TWICtl.vhd
+++ /dev/null
@@ -1,571 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: Digilent Ro
--- Engineer: Elod Gyorgy
--- 
--- Create Date:    14:55:31 04/07/2011 
--- Design Name: 
--- Module Name:    TWIUtils - Package 
--- Project Name:	 TWI Master Controller Reference Design 
--- Target Devices: 
--- Tool versions: 
--- Description: This package provides enumeration types for TWI (Two-Wire
--- Interface) bus status and error conditions.
---
--- Dependencies: 
---
--- Revision: 
--- Revision 0.01 - File Created
--- Additional Comments: 
---
-----------------------------------------------------------------------------------
-package TWIUtils is
-  type busState_type is (busUnknown, busBusy, busFree);
-  type error_type is (errArb, errNAck);
-end TWIUtils;
-
-package body TWIUtils is 
-end TWIUtils;
-
-----------------------------------------------------------------------------------
--- Company: Digilent Ro
--- Engineer: Elod Gyorgy
--- 
--- Create Date:    14:55:31 04/07/2011 
--- Design Name: 
--- Module Name:    TWICtl - Behavioral 
--- Project Name:	 TWI Master Controller Reference Design 
--- Target Devices: 
--- Tool versions: 
--- Description: TWICtl is a reusabled Master Controller implementation of the
--- TWI protocol. It uses 7-bit addressing and was tested in STANDARD I2C mode.
--- FAST mode should also be theoretically possible, although it has not been
--- tested. It adheres to arbitration rules, thus supporting multi-master TWI
--- buses. Slave-wait is also supported.
--- 
---
--- Dependencies: digilent.TWIUtils package	- TWICtl.vhd
---
--- Revision: 
--- Revision 0.01 - File Created
--- Additional Comments: 
---
-----------------------------------------------------------------------------------
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.STD_LOGIC_ARITH.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use IEEE.math_real.all;
-
-library digilent;
---use digilent.TWIUtils.ALL;
-
-entity TWICtl is
-----------------------------------------------------------------------------------
--- Title : Mode of operation
--- Description: The controller can be instructed to initiate/continue/stop a 
--- data transfer using the strobe (STB_I, MSG_I) signals. Data flow management is 
--- provided by the done (DONE_O) and error (ERR_O, ERRTYPE_O) signals. Output
--- signals are synchronous to CLK and input signals must also be synchronous to
--- CLK. Signals are active-high.
--- Fast-track instructions (single byte transfer):
---		-put the TWI address on A_I
---		-if data is written put it on D_I
---		-assert STB_I
---		-when DONE_O pulse arrives, read data is present on D_O, if any
---		-repeat, or deassert STB_I
--- Detailed data transfer flow:
---    -when DONE_O is low, the controller is ready to accept commands
---    -data transfer can be initiated by putting a TWI slave address on the A_I
---    bus and providing a strobe (STB_I)
---    -the direction of data transfer (read/write) is determined by the LSB of the
---    address (0-write, 1-read)
---		-in case of a 'write' the data byte should also be present on the D_I bus
---		prior to the arrival of the strobe (STB_I)
---    -once the data byte gets read/written, DONE_I pulses high for one CLK cycle
---		-in case of an error, ERR_O will pulse high together with DONE_I; ERR_O low
---		together with DONE_I high indicates success
---		-after DONE_I pulses high there is a 1/4 TWI period time frame when the next
---		strobe can be sent; this is useful, when multiple bytes are sent/received
---		in a single transfer packet; for ex. for write transfers, a new byte can
--- 	be put on the D_I and STB_I provided;
---		-if no new strobe is provided, the transfer will end
---		-if a new strobe is provided, but the address changed, the current transfer
---		will end and a new will begin
---		-starting a new transfer can be forced with the MSG_I pin; if asserted with
---		a strobe, the data byte will be written/read in a new packet; the advantage
---		of this is relevant only in multi-master buses: rather than waiting for the
---		current transfer to end and the bus to be released, a new transfer can be
---		initiated without giving up the control over the bus
-----------------------------------------------------------------------------------
-	generic (CLOCKFREQ : natural := 50); -- input CLK frequency in MHz
-	port (
-		MSG_I : in STD_LOGIC; --new message
-		STB_I : in STD_LOGIC; --strobe
-		A_I : in  STD_LOGIC_VECTOR (7 downto 0); --address input bus
-		D_I : in  STD_LOGIC_VECTOR (7 downto 0); --data input bus
-		D_O : out  STD_LOGIC_VECTOR (7 downto 0); --data output bus
-		DONE_O : out  STD_LOGIC; --done status signal
-      ERR_O : out  STD_LOGIC; --error status
-		CLK : in std_logic;
-		SRST : in std_logic;
-----------------------------------------------------------------------------------
--- TWI bus signals
-----------------------------------------------------------------------------------
-		SDA : inout std_logic; --TWI SDA
-		SCL : inout std_logic --TWI SCL
-	);
-end TWICtl;
-
-architecture Behavioral of TWICtl is
-	attribute fsm_encoding: string;
-	
-	constant FSCL : natural := 400_000; --in Hz SCL clock frequency
-	constant TIMEOUT : natural := 10; --in ms TWI timeout for slave wait period
-	constant TSCL_CYCLES : natural := 
-		natural(ceil(real(CLOCKFREQ*1_000_000/FSCL)));
-	constant TIMEOUT_CYCLES : natural :=
-		natural(ceil(real(CLOCKFREQ*TIMEOUT*1_000)));
-
-   type state_type is (stIdle, stStart, stRead, stWrite, stError, stStop,
-		stSAck, stMAck, stMNAckStop, stMNAckStart, stStopError); 
-    type busState_type is (busUnknown, busFree, busBusy);
-    type error_type is (errNAck, errArb);
-   signal state, nstate : state_type;
-	attribute fsm_encoding of state: signal is "gray";	
-		
-	signal dSda, ddSda, dScl, ddScl : std_logic;
-	signal fStart, fStop : std_logic;
-	signal busState : busState_type := busUnknown;
-	signal errTypeR, errType : error_type;
-   signal busFreeCnt, sclCnt : natural range TSCL_CYCLES downto 0 := TSCL_CYCLES;
-	signal timeOutCnt : natural range TIMEOUT_CYCLES downto 0 := TIMEOUT_CYCLES;
-	signal slaveWait, arbLost : std_logic;
-	signal dataByte, loadByte, currAddr : std_logic_vector(7 downto 0); --shift register and parallel load
-	signal rSda, rScl : std_logic := '1';
-	signal subState : std_logic_vector(1 downto 0) := "00";
-	signal latchData, latchAddr, iDone, iErr, iSda, iScl, shiftBit, dataBitOut, rwBit, addrNData : std_logic;
-	signal bitCount : natural range 0 to 7 := 7;
-	signal int_Rst : std_logic := '0';
-begin
-
-----------------------------------------------------------------------------------                  
---Bus State detection
-----------------------------------------------------------------------------------
-SYNC_FFS: process(CLK)
-   begin
-      if Rising_Edge(CLK) then
-			dSda <= SDA;
-			ddSda <= dSda;
-			dScl <= SCL;
-      end if;
-   end process;
-	
-	fStart <= dSCL and not dSda and ddSda; --if SCL high while SDA falling, start condition
-	fStop <= dSCL and dSda and not ddSda; --if SCL high while SDA rising, stop condition
-
-TWISTATE: process(CLK)
-   begin
-      if Rising_Edge(CLK) then
-			if (int_Rst = '1') then
-				busState <= busUnknown;
-         elsif (fStart = '1') then --If START condition detected, bus is busy
-            busState <= busBusy;
-			elsif (busFreeCnt = 0) then --We counted down tBUF, so it must be free
-            busState <= busFree;
-         end if;
-      end if;
-   end process;
-
-TBUF_CNT: process(CLK)
-   begin
-      if Rising_Edge(CLK) then
-         if (dSCL = '0' or dSDA = '0' or int_Rst = '1') then
-            busFreeCnt <= TSCL_CYCLES;
-         elsif (dSCL = '1' and dSDA = '1') then
-            busFreeCnt <= busFreeCnt - 1; --counting down 1 SCL period on free bus
-         end if;
-      end if;
-   end process;
-	
-----------------------------------------------------------------------------------
---Slave devices can insert wait states by keeping SCL low
----------------------------------------------------------------------------------- 
-   slaveWait <=   '1' when (dSCL = '0' and rScl = '1') else
-                  '0';
-----------------------------------------------------------------------------------                  
---If the SDA line does not correspond to the transmitted data while the SCL line
---is at the HIGH level the master lost an arbitration to another master.
----------------------------------------------------------------------------------- 
-   arbLost <=     '1' when (dSCL = '1' and dSDA = '0' and rSda = '1') else
-                  '0';
-
-----------------------------------------------------------------------------------
--- Internal reset signal
-----------------------------------------------------------------------------------	
-   RST_PROC: process (CLK)
-   begin
-      if Rising_Edge(CLK) then
-         if (state = stIdle and SRST = '0') then
-            int_Rst <= '0';
-         elsif (SRST = '1') then
-            int_Rst <= '1';
-         end if;
-      end if;
-   end process;
-	
-----------------------------------------------------------------------------------
--- SCL period counter
----------------------------------------------------------------------------------- 
-SCL_CNT: process (CLK)
-	begin
-		if Rising_Edge(CLK) then
-			if (sclCnt = 0 or state = stIdle) then
-				sclCnt <= TSCL_CYCLES/4;
-			elsif (slaveWait = '0') then -- clock synchronization with other masters
-				sclCnt <= sclCnt - 1;
-			end if;
-		end if;
-	end process;
-
-----------------------------------------------------------------------------------
--- SCL period counter
----------------------------------------------------------------------------------- 
-TIMEOUT_CNT: process (CLK)
-	begin
-		if Rising_Edge(CLK) then
-			if (timeOutCnt = 0 or slaveWait = '0') then
-				timeOutCnt <= TIMEOUT_CYCLES;
-			elsif (slaveWait = '1') then -- count timeout on wait period inserted by slave
-				timeOutCnt <= timeOutCnt - 1;
-			end if;
-		end if;
-	end process;
-	
-----------------------------------------------------------------------------------
--- Title: Data byte shift register
--- Description: Stores the byte to be written or the byte read depending on the
--- transfer direction.
-----------------------------------------------------------------------------------	
-DATABYTE_SHREG: process (CLK) 
-	begin
-		if Rising_Edge(CLK) then
-			if ((latchData = '1' or latchAddr = '1') and sclCnt = 0) then
-				dataByte <= loadByte; --latch address/data
-				bitCount <= 7;
-				--set flag so that we now what is the byte we are sending
-				if (latchData = '1') then
-					addrNData <= '0';
-				else
-					addrNData <= '1';
-				end if;
-			elsif (shiftBit = '1' and sclCnt = 0) then
-				dataByte <= dataByte(dataByte'high-1 downto 0) & dSDA;
-				bitCount <= bitCount - 1;
-			end if;
-		end if;
-	end process;
-
-	loadByte <= A_I when latchAddr = '1' else
-					D_I;
-	dataBitOut <= dataByte(dataByte'high);
-	
-	D_O <= dataByte;
-
-----------------------------------------------------------------------------------
--- Title: Current address register
--- Description: Stores the TWI slave address
-----------------------------------------------------------------------------------	
-CURRADDR_REG: process (CLK) 
-	begin
-		if Rising_Edge(CLK) then
-			if (latchAddr = '1') then
-				currAddr <= A_I; --latch address/data
-			end if;
-		end if;
-	end process;
-	
-	rwBit <= currAddr(0);
-----------------------------------------------------------------------------------
--- Title: Substate counter
--- Description: Divides each state into 4, to respect the setup and hold times of
--- the TWI bus.
-----------------------------------------------------------------------------------	
-SUBSTATE_CNT: process (CLK)
-   begin
-      if Rising_Edge(CLK) then
-			if (state = stIdle) then
-				subState <= "00";
-			elsif (sclCnt = 0) then
-				subState <= subState + 1;
-			end if;
-		end if;
-	end process;
-	
-SYNC_PROC: process (CLK)
-   begin
-      if Rising_Edge(CLK) then
-         state <= nstate;
-			
-			rSda <= iSda;
-         rScl <= iScl;			
-			DONE_O <= iDone;
-			ERR_O <= iErr;
-			errTypeR <= errType;
-      end if;
-   end process;
-
-OUTPUT_DECODE: process (nstate, subState, state, errTypeR, dataByte(0),
-	sclCnt, bitCount, rSda, rScl, dataBitOut, arbLost, dSda, addrNData)
-   begin
-		iSda <= rSda; --no change by default
-		iScl <= rScl;
-		iDone <= '0';
-		iErr <= '0';
-		errType <= errTypeR; --keep error type
-		shiftBit <= '0';
-		latchAddr <= '0';
-		latchData <= '0';
-		
-		if (state = stStart) then
-			case (subState) is
-				when "00" =>
-					iSda <= '1';
-					--keep SCL
-				when "01" =>
-					iSda <= '1';
-					iScl <= '1';
-				when "10" =>
-					iSda <= '0';
-					iScl <= '1';
-				when "11" =>
-					iSda <= '0';
-					iScl <= '0';
-				when others =>
-			end case;
-		end if;
-		
-		if (state = stStop or state = stStopError) then
-			case (subState) is
-				when "00" =>
-					iSda <= '0';
-					--keep SCL
-				when "01" =>
-					iSda <= '0';
-					iScl <= '1';
-				when "10" =>
-					iSda <= '1';
-					iScl <= '1';
-				when others =>					
-			end case;
-		end if;
-		
-		if (state = stRead or state = stSAck) then
-			case (subState) is
-				when "00" =>
-					iSda <= '1'; --this will be 'Z' on SDA
-					--keep SCL
-				when "01" =>
-					--keep SDA
-					iScl <= '1';
-				when "10" =>
-					--keep SDA
-					iScl <= '1';
-				when "11" =>
-					--keep SDA
-					iScl <= '0';
-				when others =>					
-			end case;
-		end if;
-		
-		if (state = stWrite) then
-			case (subState) is
-				when "00" =>
-					iSda <= dataBitOut;
-					--keep SCL
-				when "01" =>
-					--keep SDA
-					iScl <= '1';
-				when "10" =>
-					--keep SDA
-					iScl <= '1';
-				when "11" =>
-					--keep SDA
-					iScl <= '0';
-				when others =>					
-			end case;
-		end if;
-		
-		if (state = stMAck) then
-			case (subState) is
-				when "00" =>
-					iSda <= '0'; -- acknowledge by writing 0
-					--keep SCL
-				when "01" =>
-					--keep SDA
-					iScl <= '1';
-				when "10" =>
-					--keep SDA
-					iScl <= '1';
-				when "11" =>
-					--keep SDA
-					iScl <= '0';
-				when others =>					
-			end case;
-		end if;
-		
-		if (state = stMNAckStop or state = stMNAckStart) then
-			case (subState) is
-				when "00" =>
-					iSda <= '1'; -- not acknowledge by writing 1
-					--keep SCL
-				when "01" =>
-					--keep SDA
-					iScl <= '1';
-				when "10" =>
-					--keep SDA
-					iScl <= '1';
-				when "11" =>
-					--keep SDA
-					iScl <= '0';
-				when others =>					
-			end case;
-		end if;
-		
-		if (state = stSAck and sclCnt = 0 and subState = "01") then
-			if (dSda = '1') then
-				iDone <= '1';
-				iErr <= '1'; --not acknowledged
-				errType <= errNAck;
-			elsif (addrNData = '0') then
-				--we are done only when the data is sent too after the address
-				iDone <= '1';
-			end if;
-		end if;
-		
-		if (state = stRead and subState = "01" and sclCnt = 0 and bitCount = 0) then
-			iDone <= '1'; --read done
-		end if;
-		
-		if (state = stWrite and arbLost = '1') then
-			iDone <= '1'; --write done
-			iErr <= '1'; --we lost the arbitration
-			errType <= errArb;
-		end if;
-		
-		if ((state = stWrite and sclCnt = 0 and subState = "11") or --shift at end of bit
-			((state = stSAck or state = stRead) and subState = "01")) then --read in middle of bit
-			shiftBit <= '1';
-		end if;
-		
-		if (state = stStart) then
-			latchAddr <= '1';
-		end if;
-		
-		if (state = stSAck and subState = "11") then --get the data byte for the next write
-			latchData <= '1';
-		end if;
-		
-	end process;
-	
-NEXT_STATE_DECODE: process (state, busState, slaveWait, arbLost, STB_I, MSG_I,
-SRST, subState, bitCount, int_Rst, dataByte, A_I, currAddr, rwBit, sclCnt, addrNData)
-   begin
-      
-      nstate <= state;  --default is to stay in current state
-   
-      case (state) is
-         when stIdle =>
-            if (STB_I = '1' and busState = busFree and SRST = '0') then
-               nstate <= stStart;
-            end if;
-				
-         when stStart =>
-            if (subState = "11" and sclCnt = 0) then
-					nstate <= stWrite;
-				end if;
-			
-			when stWrite =>
-				if (arbLost = '1') then
-					nstate <= stIdle;
-				elsif (subState = "11" and sclCnt = 0 and bitCount = 0) then
-					nstate <= stSAck;
-				end if;
-			
-			when stSAck =>
-				if (subState = "11" and sclCnt = 0) then
-					if (int_Rst = '1' or dataByte(0) = '1') then
-						nstate <= stStop;
-					else
-						if (addrNData = '1') then --if we have just sent the address, tx/rx the data too
-							if (rwBit = '1') then
-								nstate <= stRead;
-							else
-								nstate <= stWrite;
-							end if;
-						elsif (STB_I = '1') then
-							if (MSG_I = '1' or currAddr /= A_I) then
-								nstate <= stStart;
-							else
-								if (rwBit = '1') then
-									nstate <= stRead;
-								else
-									nstate <= stWrite;
-								end if;
-							end if;
-						else
-							nstate <= stStop;
-						end if;
-					end if;
-				end if;
-				
-         when stStop =>
-				if (subState = "10" and sclCnt = 0) then
-					nstate <= stIdle;
-				end if;
-			
-			when stRead =>
-				if (subState = "11" and sclCnt = 0 and bitCount = 7) then --bitCount will underflow
-					if (int_Rst = '0' and STB_I = '1') then
-						if (MSG_I = '1' or currAddr /= A_I) then
-							nstate <= stMNAckStart;
-						else
-							nstate <= stMAck;
-						end if;
-					else
-						nstate <= stMNAckStop;
-					end if;
-				end if;
-			
-			when stMAck =>
-				if (subState = "11" and sclCnt = 0) then
-					nstate <= stRead;
-				end if;
-			
-			when stMNAckStart =>
-				if (arbLost = '1') then
-					nstate <= stIdle; -- arbitration lost, back off, no error because we got all the data
-				elsif (subState = "11" and sclCnt = 0) then
-					nstate <= stStart;
-				end if;
-			
-			when stMNAckStop =>
-				if (arbLost = '1') then
-					nstate <= stIdle; -- arbitration lost, back off, no error because we got all the data
-				elsif (subState = "11" and sclCnt = 0) then
-					nstate <= stStop;
-				end if;
-				
-         when others =>
-            nstate <= stIdle;
-      end case;      
-   end process;
-
-----------------------------------------------------------------------------------
--- Open-drain outputs for bi-directional SDA and SCL
----------------------------------------------------------------------------------- 
-   SDA <= 'Z' when rSDA = '1' else
-          '0';
-   SCL <= 'Z' when rSCL = '1' else
-          '0';
-			 
-end Behavioral;
\ No newline at end of file
diff --git a/src/hdl/audioProc.v b/src/hdl/audioProc.v
deleted file mode 100644
index cae83dfc1161c885ee157b699a414b3778f03f22..0000000000000000000000000000000000000000
--- a/src/hdl/audioProc.v
+++ /dev/null
@@ -1,231 +0,0 @@
-//                              -*- Mode: Verilog -*-
-// Filename        : audioProc.v
-// Description     : Audio processing project for IMTA A1S2 Labs in digital electronics, based on looper project by Digilent Inc.
-// Author          : Matthieu Arzel
-// Created On      : Fri Feb  8 11:16:35 2019
-// Last Modified By: Matthieu Arzel
-// Last Modified On: Fri Feb  8 11:16:35 2019
-// Update Count    : 0
-// Status          : Unknown, Use with caution!
-
-`timescale 1ns / 1ps
-
-module audioProc(
-
-		 
-		 input 	BTNL,
-		 input 	BTNR,
-		 input 	BTND,
-		 input 	BTNC,
-		 input 	BTNU,
-		 //    input JA1,
-		 //    input JA2,
-		 //    input JA3,
-		 //    input JA4,
-
-		 input 	CLK100MHZ,
-		 input 	rstn,
-		 input 	sw,
-		 //input [3:0]sw,
-		 input 	sw3,
-		 input 	sw4,
-		 input 	sw5,
-		 input 	sw6,
-		 input 	sw7,
-		 output led3,
-		 output led4,
-		 output led5,
-		 output led6,
-		 output led7,
-
-		 inout 	scl,
-		 inout 	sda,
-
-		 output ac_mclk,
-		 input 	ac_adc_sdata,
-		 output ac_dac_sdata,
-		 output ac_bclk,
-		 output ac_lrclk
-
-		 );
-
-   wire 		rst;
-   assign rst = ~rstn;
-   wire 		clk50;
-   parameter tenhz = 10000000;
-   
-   
-
-   wire [4:0] 		buttons_i;
-   assign buttons_i = {BTNU, BTNR, BTNC, BTND, BTNL};
-   
-   reg [21:0] 		max_block=0;
-   
-   wire 		set_max;
-   wire 		reset_max;
-   
-   
-   wire [4:0] 		buttons_db;//Debounced buttons
-   
-   wire 		data_flag;
-   reg [23:0] 		sound_dataL;
-   reg [23:0] 		sound_dataR;
-   wire 		data_ready;
-   
-   wire 		mix_data;
-   wire [21:0] 		block48KHz;
-   
-   wire 		clk_out_100MHZ;
-   wire 		clk_out_200MHZ;
-   
-   
-   //////////////////////////////////////////////////////////////////////////////////////////////////////////
-   ////    clk_wiz instantiation and wiring
-   //////////////////////////////////////////////////////////////////////////////////////////////////////////
-   clk_wiz_0 clk_1
-     (
-      // Clock in ports
-      .clk_in1(CLK100MHZ),
-      // Clock out ports  
-      .clk_out1(clk_out_100MHZ),
-      .clk_out2(clk_out_200MHZ),
-      .clk_out3(ac_mclk),
-      .clk_out4(clk50),
-      // Status and control signals        
-      .locked()            
-      );     
-
-   //////////////////////////////////////////////////////////////////////////////////////////////////////////
-       ////    Audio Initialization via TWI
-       ////////////////////////////////////////////////////////////////////////////////////////////////////////// 
-
-   audio_init initialize_audio
-     (
-      .clk(clk50),
-      .rst(rst),
-      .sda(sda),
-      .scl(scl)
-      );
-
-
-   wire [23:0] 		mixL;
-   wire [23:0] 		mixR;
-
-
-   debounce dbuttons(
-		     .clock(clk_out_100MHZ),
-		     .reset(rst),
-		     .button(buttons_i),
-		     .out(buttons_db)
-		     );
-
-   
-
-   
-   
-
-   ////////////////////////////////////////////////////////////////////////////////////////////////////////
-     // Audio input and output
-   ////////////////////////////////////////////////////////////////////////////////////////////////////////
-   
-   wire [23:0] 		in_audioL;
-   wire [23:0] 		in_audioR;
-   wire [23:0] 		out_audioL;
-   wire [23:0] 		out_audioR;
-   
-   i2s_ctl audio_inout(
-		       .CLK_I(clk_out_100MHZ),    //Sys clk
-		       .RST_I(rst),    //Sys rst
-		       .EN_TX_I(1),  // Transmit Enable (push sound data into chip)
-		       .EN_RX_I(1), //Receive enable (pull sound data out of chip)
-		       .FS_I(4'b0101),     //Sampling rate selector
-		       .MM_I(0),     //Audio controller Master mode select
-		       .D_L_I(mixL),    //Left channel data input from mix (mixed audio output)
-		       .D_R_I(mixR),   //Right channel data input from mix
-		       .D_L_O(in_audioL),    // Left channel data (input from mic input)
-		       .D_R_O(in_audioR),    // Right channel data (input from mic input)
-		       .BCLK_O(ac_bclk),   // serial CLK
-		       .LRCLK_O(ac_lrclk),  // channel CLK
-		       .SDATA_O(ac_dac_sdata),  // Output serial data
-		       .SDATA_I(ac_adc_sdata)   // Input serial data
-		       ); 
-   
-   reg 			lrclkD1=0;
-   reg 			lrclkD2=0;
-   
-   always@(posedge(clk_out_100MHZ))begin
-      lrclkD1<=ac_lrclk;
-      lrclkD2<=lrclkD1;
-   end
-   
-    reg pulse48kHz;
-    wire lrclkrise;
-    assign lrclkrise = lrclkD1 & ~lrclkD2;
-    reg[3:0] lrclkcnt=0;
-    
-    always@(posedge(clk_out_100MHZ))begin
-        if (lrclkcnt==15)begin
-            pulse48kHz<=1;
-            lrclkcnt<=0;
-            end
-        else
-            pulse48kHz<=0;
-            if (lrclkrise)lrclkcnt<=lrclkcnt+1;
-    end
-   //////////////////////////////
-   //FIR filter
-   // Marz
-   /////////////////////////////
-   wire [23:0] inputLeftSample, inputRightSample,outputLeftSample,outputRightSample;
-   wire [4:0] configSw;
-
-   assign inputLeftSample = in_audioL;
-   assign inputRightSample = in_audioR;
-   assign configSw[0]=sw3;
-   assign configSw[1]=sw4;
-   assign configSw[2]=sw5;
-   assign configSw[3]=sw6;
-   assign configSw[4]=sw7;
-   assign led3=sw3;
-   assign led4=sw4;
-   assign led5=sw5;
-   assign led6=sw6;
-   assign led7=sw7;
-
-   fir #(24,16) leftFir 
-     (
-      inputLeftSample,
-      outputLeftSample,
-      configSw,//config_sw, //   : in  std_logic_vector(3 downto 0);  --inutilise dans le TP majeure
-      clk_out_100MHZ, //         : in  std_logic;
-      rst,//         : in  std_logic;
-      pulse48kHz//           : in  std_logic;  -- signal de validation de din a la frequence des echantillons audio
-      );
-   fir #(24,16) rightFir 
-     (
-      inputRightSample,
-      outputRightSample,
-      configSw,//config_sw, //   : in  std_logic_vector(3 downto 0);  --inutilise dans le TP majeure
-      clk_out_100MHZ, //         : in  std_logic;
-      rst,//         : in  std_logic;
-      pulse48kHz//           : in  std_logic;  -- signal de validation de din a la frequence des echantillons audio
-      );
-   
-   assign mixL = buttons_db[2] ? in_audioL : outputLeftSample;
-   assign mixR = buttons_db[2] ? in_audioR : outputRightSample;
-
-
-   ////////////////////////////////////////////////////////////////////////////////////////////////////////
-       ////    Data in latch
-       //////////////////////////////////////////////////////////////////////////////////////////////////////// 
-
-   //Latch audio data input when data_flag goes high
-   always@(posedge(clk_out_100MHZ))begin 
-      if (data_flag==1)begin
-         sound_dataL<=in_audioL;
-         sound_dataR<=in_audioR;
-      end
-   end
-   
-
-endmodule
diff --git a/src/hdl/audio_init.v b/src/hdl/audio_init.v
deleted file mode 100644
index 0f331842cd81d9470f1e7ecb0bc15cc6dab92ecd..0000000000000000000000000000000000000000
--- a/src/hdl/audio_init.v
+++ /dev/null
@@ -1,246 +0,0 @@
-`timescale 1ns / 1ps
-//////////////////////////////////////////////////////////////////////////////////
-// Company: 
-// Engineer: 
-// 
-// Create Date: 07/08/2015 06:07:53 PM
-// Design Name: 
-// Module Name: audio_init
-// Project Name: 
-// Target Devices: 
-// Tool Versions: 
-// Description: 
-// 
-// Dependencies: 
-// 
-// Revision:
-// Revision 0.01 - File Created
-// Additional Comments:
-// 
-//////////////////////////////////////////////////////////////////////////////////
-
-
-
-module audio_init(
-    input clk,
-    input rst,
-    inout sda,
-    inout scl
-    );
-    parameter stRegAddr1 = 4'b0000;
-    parameter stRegAddr2 =   4'b0001;
-    parameter stData1 = 4'b0010;
-    parameter stData2 = 4'b0011;
-    parameter stError =   4'b0100;
-    parameter stDone = 4'b0101;
-    parameter stIdle = 4'b0110;
-    parameter stDelay = 4'b0111;
-    parameter stPLLsecond = 4'b1111;
-    
-    parameter INIT_VECTORS = 35;
-    parameter IRD = 1'b1;//init read
-    parameter IWR = 1'b0;//init write
-    parameter delay = 1000*24;
-    
-    reg [3:0] state=stIdle;//State machine
-    reg [32:0] initWord;
-    reg initFbWe;
-    reg initEn;
-    reg [6:0]initA=0;
-    always @(posedge(clk))begin
-        case (initA)
-            0: initWord <= {IWR,31'h40150100};
-            1: initWord <= {IWR,31'h40160000};
-            2: initWord <= {IWR,31'h40170000};
-            3: initWord <= {IWR,31'h40F80000};
-            4: initWord <= {IWR,31'h40191300};
-            5: initWord <= {IWR,31'h402A0300};
-            6: initWord <= {IWR,31'h40290300};
-            7: initWord <= {IWR,31'h40F20100};
-            8: initWord <= {IWR,31'h40F97F00};
-            9: initWord <= {IWR,31'h40FA0300};
-            
-            10: initWord <= {IWR,31'h40200300};
-            11: initWord <= {IWR,31'h40220100};
-            12: initWord <= {IWR,31'h40210900};
-            13: initWord <= {IWR,31'h4025E600};
-            14: initWord <= {IWR,31'h4026E600};
-            15: initWord <= {IWR,31'h40270300};
-            16: initWord <= {IWR,31'h40100100};
-            17: initWord <= {IWR,31'h40280000};
-            18: initWord <= {IWR,31'h4023E600};
-            19: initWord <= {IWR,31'h4024E600};
-            
-            20: initWord <= {IWR,31'h400A0100};
-            21: initWord <= {IWR,31'h400B0500};
-            22: initWord <= {IWR,31'h400C0100};
-            23: initWord <= {IWR,31'h400D0500};
-            24: initWord <= {IWR,31'h400E0300};
-            25: initWord <= {IWR,31'h400F0300};
-            26: initWord <= {IWR,31'h401C2100};
-            27: initWord <= {IWR,31'h401D0000};
-            28: initWord <= {IWR,31'h401E4100};
-            29: initWord <= {IWR,31'h401F0000};
-            30: initWord <= {IWR,31'h40F30100};
-            31: initWord <= {IWR,31'h40F40000};
-            32: initWord <= {IWR,31'h40000F00};
-            33: initWord <= {IWR,31'h4002007D};//This sends the address of the PLL reg and the first config bits
-            34: initWord <= {IWR,31'h000C2101}; //These are the config bytes for the PLL reg
-        endcase
-    end
-    reg msg;//New message signal
-    reg stb;//Strobe signal
-    reg [7:0] data_i;//Data into TWI controller
-    wire [7:0] data_o;//Data out of TWI controller
-    wire done;
-    wire error;
-    wire errortype;
-    wire [7:0] twiAddr;//Address of device on TWI
-    reg [7:0] regData1;
-    
-    reg delayEn=0;
-    integer delaycnt;
-    
-    
-    assign twiAddr[7:1] = 7'b0111011;
-
-    assign twiAddr[0] = 0;
-    
-    TWICtl twi_controller(
-            .MSG_I(msg),
-            .STB_I(stb),
-            .A_I(twiAddr),
-            .D_I(data_i),
-            .D_O(data_o),
-            .DONE_O(done),
-            .ERR_O(error),
-            .CLK(clk),
-            .SRST(rst),
-            .SDA(sda),
-            .SCL(scl)
-        );
-
-
-    
-always @(posedge(clk))begin
-    if (delayEn==1)
-        delaycnt<=delaycnt-1;
-    else
-        delaycnt<=delay;
-end
-
-
-always @(posedge(clk))begin
-    if (state == stData1 && done == 1 && error != 1)
-        regData1 <= data_o;
-end
-
-
-always @(posedge(clk))begin
-    if (rst==1)begin
-        state<= stIdle;
-        delayEn <= 0;
-        initA <=0;
-        end
-    else begin
-        data_i <= "--------";
-        stb <= 0;
-        msg <= 0;
-        
-        initFbWe <= 0;
-        case (state) 
-            stRegAddr1: begin// Sends x40
-                if (done == 1)begin
-                    if (error == 1) 
-                        state <= stError;
-                    else
-                        state <= stRegAddr2;
-                end
-                data_i <= initWord[31:24];
-                stb <= 1;
-                msg <= 1;
-            end
-            stRegAddr2: begin    //Sends register address x40(XX)
-                if (done == 1)begin
-                    if (error == 1)
-                        state <= stError;
-                    else
-                        state <= stData1;
-                end
-                data_i <= initWord[23:16];
-                stb <= 1;
-            end
-            stData1: begin
-                if (done == 1) begin
-                    if (error == 1)
-                        state <= stError;
-                    else begin
-                        if (initWord[7:0]!=0)//If there is another byte, send it
-                            state <= stData2;
-                        else begin//no more bytes to send
-                            initEn <= 1;
-                            
-                            if (initA == INIT_VECTORS-1)//Done with all instructions
-                                state <= stDone;
-                            else            //Only 3 bytes to send
-                                state <= stDelay;
-                        end
-                    end
-                end
-                if (initWord[32] == 1) msg <= 1;
-                data_i <= initWord[15:8];
-                stb <= 1;
-            end
-            stData2: begin
-                if (done == 1)begin
-                    if (error == 1)
-                        state <= stError;
-                    else begin
-                        initEn<=1;
-                        if (initWord[32] == 1) initFbWe <= 1;
-                        if (initWord[23:16]== 8'h02)begin//If its the PLL register
-                            initA<=initA+1;//Move initWord to the remaining PLL config bits
-                            state <= stPLLsecond;//And send them
-                        end
-                        else if (initA == INIT_VECTORS-1)
-                            state <= stDone;
-                        else
-                            state <= stDelay;
-                    end
-                end
-                data_i <= initWord[7:0];
-                stb <= 1;
-            end
-            stPLLsecond:begin
-                if (done == 1)begin
-                    if (error == 1) 
-                        state <= stError;
-                    else
-                        state <= stRegAddr2;
-                end
-                data_i <= initWord[31:24];
-                stb <= 1;
-            end
-            stError: begin
-                state <= stRegAddr1;
-            end
-            stDone: begin
-            end
-            stIdle:begin
-                state <= stRegAddr1;
-            end
-            stDelay:begin
-                delayEn <= 1;
-                if (delaycnt==0)begin
-                    delayEn<=0;
-                    if (initEn)begin
-                        initA<=initA+1;
-                        initEn <= 0;
-                    end
-                    state<=stRegAddr1;
-                end
-            end
-        endcase
-    end
-end
-endmodule
diff --git a/src/hdl/debounce.v b/src/hdl/debounce.v
deleted file mode 100644
index 033a4fb552ee7347d5862c49eb3068ddc1a4c23d..0000000000000000000000000000000000000000
--- a/src/hdl/debounce.v
+++ /dev/null
@@ -1,108 +0,0 @@
-`timescale 1ns / 1ps
-//////////////////////////////////////////////////////////////////////////////////
-// Company: 
-// Engineer: 
-// 
-// Create Date: 05/13/2015 09:14:14 PM
-// Design Name: 
-// Module Name: debounce
-// Project Name: 
-// Target Devices: 
-// Tool Versions: 
-// Description: 
-// 
-// Dependencies: 
-// 
-// Revision:
-// Revision 0.01 - File Created
-// Additional Comments:
-// 
-//////////////////////////////////////////////////////////////////////////////////
-
-
-module debounce(
-    input clock,//100MHz clock
-    input reset,
-    input [4:0] button,//Buttons to debounce
-    output reg [4:0]out
-);
-
-reg [12:0] cnt0=0, cnt1=0, cnt2=0, cnt3=0, cnt4;
-reg [4:0] IV = 0;
-
-//parameter dbTime = 19;
-parameter dbTime = 4000;
-
-always @ (posedge(clock))begin
-    if(reset==1)begin
-        cnt0<=0;
-        cnt1<=0;
-        cnt2<=0;
-        cnt3<=0;
-        cnt4<=0;
-        out<=0;
-    end
-    else begin
-        if(button[0]==IV[0]) begin 
-            if (cnt0==dbTime) begin
-                out[0]<=IV[0];
-                end
-            else begin
-                cnt0<=cnt0+1;
-                end
-        end
-        else begin
-            cnt0<=0;
-            IV[0]<=button[0];
-            end
-        if(button[1]==IV[1]) begin 
-            if (cnt1==dbTime) begin
-                out[1]<=IV[1];
-            end
-            else begin
-                cnt1<=cnt1+1;
-            end
-        end
-        else begin
-            cnt1<=0;
-            IV[1]<=button[1];
-        end
-        if(button[2]==IV[2]) begin 
-            if (cnt2==dbTime) begin
-                out[2]<=IV[2];
-            end
-            else begin
-                cnt2<=cnt2+1;
-            end
-        end
-        else begin
-            cnt2<=0;
-            IV[2]<=button[2];
-        end
-        if(button[3]==IV[3]) begin 
-            if (cnt3==dbTime) begin
-                out[3]<=IV[3];
-            end
-            else begin
-                cnt3<=cnt3+1;
-            end
-        end
-        else begin
-            cnt3<=0;
-            IV[3]<=button[3];
-        end
-        if(button[4]==IV[4]) begin 
-            if (cnt4==dbTime) begin
-                out[4]<=IV[4];
-                end
-            else begin
-                cnt4<=cnt4+1;
-                end
-        end
-        else begin
-            cnt4<=0;
-            IV[4]<=button[4];
-            end
-    end
-end
-endmodule
\ No newline at end of file
diff --git a/src/hdl/fir.vhd b/src/hdl/fir.vhd
deleted file mode 100644
index 785d6e4cc41d94861610fdfffcc75a8fd166d83c..0000000000000000000000000000000000000000
--- a/src/hdl/fir.vhd
+++ /dev/null
@@ -1,93 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
-
-entity fir is
-
-  generic (
-    dwidth : natural := 18;
-    ntaps  : natural := 15);
-
-  port (
-    din          : in  std_logic_vector(dwidth-1 downto 0);
-    dout         : out std_logic_vector(dwidth-1 downto 0);
-    config_sw    : in  std_logic_vector(4 downto 0);  --inutilise dans le TP majeure
-    clk          : in  std_logic;
-    rst          : in  std_logic;
-    ce           : in  std_logic;  -- signal de validation de din a la frequence des echantillons audio
-    dbg_output_0 : out std_logic_vector(7 downto 0);  --inutilise dans le TP majeure
-    dbg_output_1 : out std_logic_vector(7 downto 0);  --inutilise dans le TP majeure
-    dbg_output_2 : out std_logic;       --inutilise dans le TP majeure
-    dbg_output_3 : out std_logic;       --inutilise dans le TP majeure
-    dbg_output_4 : out std_logic       --inutilise dans le TP majeure
---    dout_valid   : out std_logic
-    );
-
-end fir;
-
-architecture myarch of fir is
-
-  component firUnit is
-    port (
-      I_clock               : in  std_logic;
-      I_reset               : in  std_logic;
-      I_inputSample         : in  std_logic_vector(7 downto 0);
-      I_inputSampleValid    : in  std_logic;
-      O_filteredSample      : out std_logic_vector(7 downto 0);
-      O_filteredSampleValid : out std_logic);
-  end component firUnit;
-
-
-  signal D_in, D_out : std_logic_vector(7 downto 0);
-
-begin  -- myarch
-
--- Quantization on 8 bits or less
-
--- When config_sw(3)='1', rounding is made by finding the nearest value else rounding is made by truncating.
-  prc : process (config_sw(3 downto 0), din) is
-  begin  -- process prc
-    case to_integer(unsigned(config_sw(3 downto 0))) is
-      when 0      => D_in <= din(dwidth-1 downto dwidth -8);
-      when 1      => D_in <= din(dwidth-1 downto dwidth -7)&'0';
-      when 2      => D_in <= din(dwidth-1 downto dwidth -6)&"00";
-      when 3      => D_in <= din(dwidth-1 downto dwidth -5)&"000";
-      when 4      => D_in <= din(dwidth-1 downto dwidth -4)&"0000";
-      when 5      => D_in <= din(dwidth-1 downto dwidth -3)&"00000";
-      when 6      => D_in <= din(dwidth-1 downto dwidth -2)&"000000"; 
-      when 7      => D_in <= din(dwidth-1)&"0000000";
-      when 8      => if din(dwidth-8) = '0' then D_in <= din(dwidth-1 downto dwidth -8);else D_in <=std_logic_vector(signed(din(dwidth-1 downto dwidth -8))+1); end if;
-      when 9      => if din(dwidth-8) = '0' then D_in <= din(dwidth-1 downto dwidth -7)&'0'; else D_in <=std_logic_vector(signed(din(dwidth-1 downto dwidth -7))+1)&'0'; end if;
-      when 10      => if din(dwidth-7) = '0' then D_in <= din(dwidth-1 downto dwidth -6)&"00"; else D_in <=std_logic_vector(signed(din(dwidth-1 downto dwidth -6))+1)&"00"; end if;
-      when 11      => if din(dwidth-6) = '0' then D_in <= din(dwidth-1 downto dwidth -5)&"000"; else D_in <=std_logic_vector(signed(din(dwidth-1 downto dwidth -5))+1)&"000"; end if;
-      when 12      => if din(dwidth-5) = '0' then D_in <= din(dwidth-1 downto dwidth -4)&"0000"; else D_in <=std_logic_vector(signed(din(dwidth-1 downto dwidth -4))+1)&"0000"; end if;
-      when 13      => if din(dwidth-4) = '0' then D_in <= din(dwidth-1 downto dwidth -3)&"00000"; else D_in <=std_logic_vector(signed(din(dwidth-1 downto dwidth -3))+1)&"00000"; end if;
-      when 14      => if din(dwidth-3) = '0' then D_in <= din(dwidth-1 downto dwidth -2)&"000000"; else D_in <=std_logic_vector(signed(din(dwidth-1 downto dwidth -2))+1)&"000000"; end if;
-      when 15      => D_in <= din(dwidth-1)&"0000000";
-      when others => D_in <= (others => '0');
-    end case;
-  end process prc;
-  
---FIR over 8 bits
-
-  firUnit_1 : entity work.firUnit
-    port map (
-      I_clock               => clk,
-      I_reset               => rst,
-      I_inputSample         => D_in,
-      I_inputSampleValid    => ce,
-      O_filteredSample      => D_out,
-      O_filteredSampleValid => open);
-
-
--- End of FIR
-
-
-  dout(dwidth-1 downto dwidth -8) <= D_out when config_sw(4) = '1' else D_in;
-  dout(dwidth-9 downto 0)         <= (others => '0');
-
-
-
-
-
-end myarch;
diff --git a/src/hdl/firUnit.vhd b/src/hdl/firUnit.vhd
deleted file mode 100644
index 2c317f0ec840bcf248f38de4cb7f766b7afb95df..0000000000000000000000000000000000000000
--- a/src/hdl/firUnit.vhd
+++ /dev/null
@@ -1,109 +0,0 @@
--------------------------------------------------------------------------------
--- Title      : firUnit
--- Project    : 
--------------------------------------------------------------------------------
--- File       : operativeUnit.vhd
--- Author     : Jean-Noel BAZIN  <jnbazin@pc-disi-026.enst-bretagne.fr>
--- Company    : 
--- Created    : 2018-04-11
--- Last update: 2018-04-11
--- Platform   : 
--- Standard   : VHDL'93/02
--------------------------------------------------------------------------------
--- Description: 8 bit FIR
--------------------------------------------------------------------------------
--- Copyright (c) 2018 
--------------------------------------------------------------------------------
--- Revisions  :
--- Date        Version  Author  Description
--- 2018-04-11  1.0      jnbazin Created
--------------------------------------------------------------------------------
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
-
-entity firUnit is
-
-  port (
-    I_clock               : in  std_logic;  -- global clock
-    I_reset               : in  std_logic;  -- asynchronous global reset
-    I_inputSample         : in  std_logic_vector(7 downto 0);  -- 8 bit input sample
-    I_inputSampleValid    : in  std_logic;
-    O_filteredSample      : out std_logic_vector(7 downto 0);  -- filtered sample
-    O_filteredSampleValid : out std_logic
-    );
-
-end entity firUnit;
-
-architecture archi_firUnit of firUnit is
-
-  component controlUnit is
-    port (
-      I_clock               : in  std_logic;
-      I_reset               : in  std_logic;
-      I_inputSampleValid    : in  std_logic;
-      I_processingDone      : in  std_logic;
-      O_loadShift           : out std_logic;
-      O_initAddress         : out std_logic;
-      O_incrAddress         : out std_logic;
-      O_initSum             : out std_logic;
-      O_loadSum             : out std_logic;
-      O_loadY               : out std_logic;
-      O_FilteredSampleValid : out std_logic);
-  end component controlUnit;
-
-  component operativeUnit is
-    port (
-      I_clock          : in  std_logic;
-      I_reset          : in  std_logic;
-      I_inputSample    : in  std_logic_vector(7 downto 0);
-      I_loadShift      : in  std_logic;
-      I_initAddress    : in  std_logic;
-      I_incrAddress    : in  std_logic;
-      I_initSum        : in  std_logic;
-      I_loadSum        : in  std_logic;
-      I_loadY          : in  std_logic;
-      O_processingDone : out std_logic;
-      O_Y              : out std_logic_vector(7 downto 0));
-  end component operativeUnit;
-
-  signal SC_processingDone : std_logic;
-  signal SC_loadShift      : std_logic;
-  signal SC_initAddress    : std_logic;
-  signal SC_incrAddress    : std_logic;
-  signal SC_initSum        : std_logic;
-  signal SC_loadSum        : std_logic;
-  signal SC_loadY          : std_logic;
-
-begin
-
-  controlUnit_1 : entity work.controlUnit
-    port map (
-      I_clock               => I_clock,
-      I_reset               => I_reset,
-      I_inputSampleValid    => I_inputSampleValid,
-      I_processingDone      => SC_processingDone,
-      O_loadShift           => SC_loadShift,
-      O_initAddress         => SC_initAddress,
-      O_incrAddress         => SC_incrAddress,
-      O_initSum             => SC_initSum,
-      O_loadSum             => SC_loadSum,
-      O_loadY               => SC_loadY,
-      O_FilteredSampleValid => O_FilteredSampleValid);
-
-  operativeUnit_1 : entity work.operativeUnit
-    port map (
-      I_clock          => I_clock,
-      I_reset          => I_reset,
-      I_inputSample    => I_inputSample,
-      I_loadShift      => SC_loadShift,
-      I_initAddress    => SC_initAddress,
-      I_incrAddress    => SC_incrAddress,
-      I_initSum        => SC_initSum,
-      I_loadSum        => SC_loadSum,
-      I_loadY          => SC_loadY,
-      O_processingDone => SC_processingDone,
-      O_Y              => O_filteredSample);
-
-end architecture archi_firUnit;
diff --git a/src/hdl/i2s_ctl.vhd b/src/hdl/i2s_ctl.vhd
deleted file mode 100644
index 1b608ad94f8e2751241dfec581c148f45cfad09e..0000000000000000000000000000000000000000
--- a/src/hdl/i2s_ctl.vhd
+++ /dev/null
@@ -1,296 +0,0 @@
--------------------------------------------------------------------------------
---                                                                 
---  COPYRIGHT (C) 2012, Digilent RO. All rights reserved
---                                                                  
--------------------------------------------------------------------------------
--- FILE NAME            : i2s_ctl.vhd
--- MODULE NAME          : I2S Control
--- AUTHOR               : Mihaita Nagy
--- AUTHOR'S EMAIL       : mihaita.nagy@digilent.ro
--------------------------------------------------------------------------------
--- REVISION HISTORY
--- VERSION  DATE         AUTHOR         DESCRIPTION
--- 1.0 	   2012-25-01   Mihaita Nagy   Created
--- 2.0      2012-02-04   Mihaita Nagy   Remade the i2s_transmitter.vhd and
---                                      i2s_receiver.vhd into one new module.
--- 3.0 	   2014-12-02   HegbeliC       Implemented edge detection for the
---                                      master mode and the division rate
---                                      for the different sampling rates
--------------------------------------------------------------------------------
--- KEYWORDS : I2S
--------------------------------------------------------------------------------
--- DESCRIPTION : This module implements the I2S transmitter and receiver 
---               interface, with a 32-bit Stereo data transmission. Parameter 
---               C_DATA_WIDTH sets the width of the data to be transmitted, 
---               with a maximum value of 32 bits. If a smaller width size is 
---               used (i.e. 24) than the remaining bits that needs to be 
---               transmitted to complete the 32-bit length, are automaticaly 
---               set to 0.
--------------------------------------------------------------------------------
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
-------------------------------------------------------------------------
--- Module Declaration
-------------------------------------------------------------------------
-entity i2s_ctl is
-   generic (
-      -- Width of one Slot (24/20/18/16-bit wide)
-      C_DATA_WIDTH: integer := 24
-   );
-   port (
-      CLK_I       : in  std_logic; -- System clock (100 MHz)
-      RST_I       : in  std_logic; -- System reset		 
-      EN_TX_I     : in  std_logic; -- Transmit enable
-      EN_RX_I     : in  std_logic; -- Receive enable
-		FS_I			: in  std_logic_vector(3 downto 0); -- Sampling rate slector 
-		MM_I    		: in  std_logic; -- Audio controler Master Mode delcetor
-		D_L_I       : in  std_logic_vector(C_DATA_WIDTH-1 downto 0); -- Left channel data
-      D_R_I       : in  std_logic_vector(C_DATA_WIDTH-1 downto 0); -- Right channel data
---      OE_L_O      : out std_logic; -- Left channel data output enable pulse
---      OE_R_O      : out std_logic; -- Right channel data output enable pulse
---      WE_L_O      : out std_logic; -- Left channel data write enable pulse
---      WE_R_O      : out std_logic; -- Right channel data write enable pulse     
-      D_L_O       : out std_logic_vector(C_DATA_WIDTH-1 downto 0); -- Left channel data
-      D_R_O       : out std_logic_vector(C_DATA_WIDTH-1 downto 0); -- Right channel data
-      BCLK_O      : out std_logic; -- serial CLK
-		LRCLK_O     : out std_logic; -- channel CLK
-      SDATA_O     : out std_logic; -- Output serial data
-      SDATA_I     : in  std_logic  -- Input serial data
-   );
-end i2s_ctl;
-
-architecture Behavioral of i2s_ctl is
-
-------------------------------------------------------------------------
--- Signal Declarations
-------------------------------------------------------------------------
--- Counter for the clock divider
-signal Cnt_Bclk               : integer range 0 to 31;
-
--- Counter for the L/R clock divider
-signal Cnt_Lrclk              : integer range 0 to 31;
-
--- Rising and Falling edge impulses of the serial clock
-signal BCLK_Fall, BCLK_Rise   : std_logic;
-signal BCLK_Fall_int, BCLK_Rise_int   : std_logic;
---signal BCLK_Fall_shot, BCLK_Rise_shot : std_logic;
-
--- Synchronisation signals for Rising and Falling edge
-signal Q1R, Q2R, Q3R : std_logic;
-signal Q1F, Q2F, Q3F : std_logic;
-
--- Internal synchronous BCLK signal
-signal BCLK_int               : std_logic;
-
--- Internal synchronous LRCLK signal
-signal LRCLK_int              : std_logic;
-signal LRCLK		            : std_logic;
-
---
-signal Data_Out_int           : std_logic_vector(31 downto 0);
-
---
-signal Data_In_int            : std_logic_vector(31 downto 0);
-
---
-signal D_L_O_int              : std_logic_vector(C_DATA_WIDTH-1 downto 0);
-
---
-signal D_R_O_int              : std_logic_vector(C_DATA_WIDTH-1 downto 0);
-
---Internal synchronous OE signals
-signal OE_R_int, OE_L_int     : std_logic;
-
---Internal synchronous WE signals
-signal WE_R_int, WE_L_int     : std_logic;
-
--- Division rate for the BCLK and LRCLK 
-signal DIV_RATE : natural 		:= 4;
-
-------------------------------------------------------------------------
--- Module Implementation
-------------------------------------------------------------------------
-
-begin
-
------------------------------------------------------------------------- 
--- Sampling frequency and data width decoder (DIV_RATE, C_DATA_WIDTH)
-------------------------------------------------------------------------
-
-	BIT_FS: process(CLK_I)
-	begin
-		if rising_edge(CLK_I) then
-			case (FS_I) is
-				when x"0" => DIV_RATE <= 24;
-				when x"1" => DIV_RATE <= 16;
-				when x"2" => DIV_RATE <= 12;
-				when x"3" => DIV_RATE <= 8;
-				when x"4" => DIV_RATE <= 6;
-				when x"5" => DIV_RATE <= 4;
-				when x"6" => DIV_RATE <= 2;
-				when others => DIV_RATE <= 4;
-			end case;
-		end if;
-	end process;
-
------------------------------------------------------------------------- 
--- Serial clock generator (BCLK_O, BCLK_Fall, BCLK_Rise)
-------------------------------------------------------------------------
-   SER_CLK: process(CLK_I)
-   begin
-      if rising_edge(CLK_I) then
-         if RST_I = '1' then
-            Cnt_Bclk <= 0;
-            BCLK_int <= '0';
-         elsif Cnt_Bclk = ((DIV_RATE/2)-1) then
-            Cnt_Bclk <= 0;
-            BCLK_int <= not BCLK_int;
-         else
-            Cnt_Bclk <= Cnt_Bclk + 1;
-         end if;
-      end if;
-   end process SER_CLK;
-   
-   -- Rising and Falling edges when in Slave mode
-   BCLK_Fall_int <= '1' when Cnt_Bclk = ((DIV_RATE/2)-1) and BCLK_int = '1' and (EN_RX_I = '1' or EN_TX_I = '1') else '0';
-   BCLK_Rise_int <= '1' when Cnt_Bclk = ((DIV_RATE/2)-1) and BCLK_int = '0' and (EN_RX_I = '1' or EN_TX_I = '1') else '0';
-	
-
-   
-	-- Falling edge selection with respect to Master Mode bit
-	BCLK_Fall <= BCLK_Fall_int;
-					 
-	-- Risesing edge selection with respect to Master Mode bit				 
-	BCLK_Rise <= BCLK_Rise_int;
-
-   -- Serial clock output
-   BCLK_O <= BCLK_int when EN_RX_I = '1' or EN_TX_I = '1' else '1';
-
------------------------------------------------------------------------- 
--- Left/Right clock generator (LRCLK_O, LRCLK_Pls)
-------------------------------------------------------------------------
-   LRCLK_GEN: process(CLK_I)
-   begin
-      if rising_edge(CLK_I) then
-         if RST_I = '1' then
-            Cnt_Lrclk <= 0;
-            LRCLK <= '0'; -- Left channel active by default
-         elsif BCLK_Fall = '1' then
-            if Cnt_Lrclk = 31 then -- half of frame (64 bits)
-               Cnt_Lrclk <= 0;
-               LRCLK <= not LRCLK;
-            else
-               Cnt_Lrclk <= Cnt_Lrclk + 1;
-            end if;
-         end if;
-      end if;
-   end process LRCLK_GEN;
-   
-   -- L/R clock output
-   LRCLK_O <= LRCLK when EN_TX_I = '1' or EN_RX_I = '1' else '0';
-	LRCLK_int <= LRCLK;
-
-
------------------------------------------------------------------------- 
--- Load in paralled data, shift out serial data (SDATA_O)
-------------------------------------------------------------------------
-   SER_DATA_O: process(CLK_I)
-   begin
-      if rising_edge(CLK_I) then
-         if RST_I = '1' then
-            Data_Out_int(31) <= '0';
-            Data_Out_int(30 downto 31-C_DATA_WIDTH) <= D_L_I; -- Left channel data by default
-            Data_Out_int(30-C_DATA_WIDTH downto 0) <= (others => '0');
-         elsif Cnt_Lrclk = 0 and BCLK_Rise = '1' then -- load par. data
-            if LRCLK_int = '1' then
-               Data_Out_int(31) <= '0';
-               Data_Out_int(30 downto 31-C_DATA_WIDTH) <= D_R_I;
-               Data_Out_int(30-C_DATA_WIDTH downto 0) <= (others => '0');
-            else
-               Data_Out_int(31) <= '0';
-               Data_Out_int(30 downto 31-C_DATA_WIDTH) <= D_L_I;
-               Data_Out_int(30-C_DATA_WIDTH downto 0) <= (others => '0');
-            end if;
-         elsif BCLK_Fall = '1' then -- shift out ser. data
-            Data_Out_int <= Data_Out_int(30 downto 0) & '0';
-         end if;
-      end if;
-   end process SER_DATA_O;
-   
-   -- Serial data output
-   SDATA_O <= Data_Out_int(31) when EN_TX_I = '1' else '0';
-
------------------------------------------------------------------------- 
--- Shift in serial data, load out parallel data (SDATA_I)
-------------------------------------------------------------------------
-   SER_DATA_I: process(CLK_I)
-   begin
-      if rising_edge(CLK_I) then
-         if RST_I = '1' then
-            Data_In_int <= (others => '0');
-            D_L_O_int <= (others => '0');
-            D_R_O_int <= (others => '0');
-         elsif Cnt_Lrclk = 0 and BCLK_Fall = '1' then -- load par. data
-            if LRCLK_int = '1' then
-               D_L_O_int <= Data_In_int(31 downto 32-C_DATA_WIDTH);
-               Data_In_int <= (others => '0');
-            else
-               D_R_O_int <= Data_In_int(31 downto 32-C_DATA_WIDTH);
-               Data_In_int <= (others => '0');
-            end if;
-         elsif BCLK_Rise = '1' then -- shift in ser. data
-            Data_In_int <= Data_In_int(30 downto 0) & SDATA_I;
-         end if;
-      end if;
-   end process SER_DATA_I;
-   
-   D_L_O <= D_L_O_int;
-   D_R_O <= D_R_O_int;
-
--------------------------------------------------------------------------- 
----- Output Enable signals (for FIFO)
---------------------------------------------------------------------------
---   OE_GEN: process(CLK_I)
---   begin
---      if rising_edge(CLK_I) then
---         if Cnt_Lrclk = 31 and BCLK_Fall = '1' then
---            if LRCLK_int = '1' then -- Right channel
---               OE_R_int <= '1';
---            else -- Left channel
---               OE_L_int <= '1';
---            end if;
---         else
---            OE_R_int <= '0';
---            OE_L_int <= '0';
---         end if;
---      end if;
---   end process OE_GEN;
-   
---   OE_R_O <= OE_R_int when EN_TX_I = '1' else '0';
---   OE_L_O <= OE_L_int when EN_TX_I = '1' else '0';
-
--------------------------------------------------------------------------- 
----- Write Enable signals (for FIFO)
---------------------------------------------------------------------------
---   WE_GEN: process(CLK_I)
---   begin
---      if rising_edge(CLK_I) then
---         if Cnt_Lrclk = 1 and BCLK_Rise = '1' then
---            if LRCLK_int = '1' then -- Right channel
---               WE_R_int <= '1';
---            else -- Left channel
---               WE_L_int <= '1';
---            end if;
---         else
---            WE_R_int <= '0';
---            WE_L_int <= '0';
---         end if;
---      end if;
---   end process WE_GEN;
-   
---   WE_R_O <= WE_R_int when EN_RX_I = '1' else '0';
---   WE_L_O <= WE_L_int when EN_RX_I = '1' else '0';
-
-end Behavioral;
-
diff --git a/src/hdl/processingUnitIP.v b/src/hdl/processingUnitIP.v
deleted file mode 100644
index 8ca1850662db62f5cc46beeed26fa9fef75e7d4c..0000000000000000000000000000000000000000
--- a/src/hdl/processingUnitIP.v
+++ /dev/null
@@ -1,3270 +0,0 @@
-// Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
-// --------------------------------------------------------------------------------
-// Tool Version: Vivado v.2018.3 (lin64) Build 2405991 Thu Dec  6 23:36:41 MST 2018
-// Date        : Mon Feb 25 17:59:18 2019
-// Host        : marzel-XPS-13-9350 running 64-bit Ubuntu 18.04.2 LTS
-// Command     : write_verilog
-//               /home/marzel/Documents/enseignements/IMTA_ELEC_A1S2_TAF/UV_ELEC_A1S2/TP_loto_ProcSon/ProcSon/NexysVideo/src/hdl/processingUnitIP.v
-// Design      : operativeUnit
-// Purpose     : This is a Verilog netlist of the current design or from a specific cell of the design. The output is an
-//               IEEE 1364-2001 compliant Verilog HDL file that contains netlist information obtained from the input
-//               design files.
-// Device      : xc7a200tsbg484-1
-// --------------------------------------------------------------------------------
-`timescale 1 ps / 1 ps
-
-(* STRUCTURAL_NETLIST = "yes" *)
-module operativeUnit
-   (I_clock,
-    I_reset,
-    I_inputSample,
-    I_loadShift,
-    I_initAddress,
-    I_incrAddress,
-    I_initSum,
-    I_loadSum,
-    I_loadY,
-    O_processingDone,
-    O_Y);
-  input I_clock;
-  input I_reset;
-  input [7:0]I_inputSample;
-  input I_loadShift;
-  input I_initAddress;
-  input I_incrAddress;
-  input I_initSum;
-  input I_loadSum;
-  input I_loadY;
-  output O_processingDone;
-  output [7:0]O_Y;
-
-  wire \<const0> ;
-  wire \<const1> ;
-  wire I_clock;
-  wire I_clock_IBUF;
-  wire I_clock_IBUF_BUFG;
-  wire I_incrAddress;
-  wire I_incrAddress_IBUF;
-  wire I_initAddress;
-  wire I_initAddress_IBUF;
-  wire I_initSum;
-  wire I_initSum_IBUF;
-  wire [7:0]I_inputSample;
-  wire [7:0]I_inputSample_IBUF;
-  wire I_loadShift;
-  wire I_loadShift_IBUF;
-  wire I_loadSum;
-  wire I_loadSum_IBUF;
-  wire I_loadY;
-  wire I_loadY_IBUF;
-  wire I_reset;
-  wire I_reset_IBUF;
-  wire [14:7]L;
-  wire [7:0]O_Y;
-  wire [7:0]O_Y_OBUF;
-  wire O_processingDone;
-  wire O_processingDone_OBUF;
-  wire [14:0]SC_MultResult;
-  wire [4:0]SC_multOperand2;
-  wire \SR_Y[4]_i_11_n_0 ;
-  wire \SR_Y[4]_i_12_n_0 ;
-  wire \SR_Y[4]_i_13_n_0 ;
-  wire \SR_Y[4]_i_14_n_0 ;
-  wire \SR_Y[4]_i_15_n_0 ;
-  wire \SR_Y[4]_i_16_n_0 ;
-  wire \SR_Y[4]_i_17_n_0 ;
-  wire \SR_Y[4]_i_18_n_0 ;
-  wire \SR_Y[4]_i_19_n_0 ;
-  wire \SR_Y[4]_i_20_n_0 ;
-  wire \SR_Y[4]_i_21_n_0 ;
-  wire \SR_Y[4]_i_22_n_0 ;
-  wire \SR_Y[4]_i_23_n_0 ;
-  wire \SR_Y[4]_i_24_n_0 ;
-  wire \SR_Y[4]_i_25_n_0 ;
-  wire \SR_Y[4]_i_26_n_0 ;
-  wire \SR_Y[4]_i_28_n_0 ;
-  wire \SR_Y[4]_i_29_n_0 ;
-  wire \SR_Y[4]_i_30_n_0 ;
-  wire \SR_Y[4]_i_32_n_0 ;
-  wire \SR_Y[4]_i_33_n_0 ;
-  wire \SR_Y[4]_i_34_n_0 ;
-  wire \SR_Y[4]_i_35_n_0 ;
-  wire \SR_Y[4]_i_36_n_0 ;
-  wire \SR_Y[4]_i_37_n_0 ;
-  wire \SR_Y[4]_i_38_n_0 ;
-  wire \SR_Y[4]_i_39_n_0 ;
-  wire \SR_Y[4]_i_40_n_0 ;
-  wire \SR_Y[4]_i_41_n_0 ;
-  wire \SR_Y[4]_i_42_n_0 ;
-  wire \SR_Y[4]_i_43_n_0 ;
-  wire \SR_Y[4]_i_44_n_0 ;
-  wire \SR_Y[4]_i_45_n_0 ;
-  wire \SR_Y[4]_i_46_n_0 ;
-  wire \SR_Y[4]_i_47_n_0 ;
-  wire \SR_Y[4]_i_48_n_0 ;
-  wire \SR_Y[4]_i_49_n_0 ;
-  wire \SR_Y[4]_i_50_n_0 ;
-  wire \SR_Y[4]_i_51_n_0 ;
-  wire \SR_Y[4]_i_5_n_0 ;
-  wire \SR_Y[4]_i_6_n_0 ;
-  wire \SR_Y[4]_i_7_n_0 ;
-  wire \SR_Y[4]_i_8_n_0 ;
-  wire \SR_Y[7]_i_11_n_0 ;
-  wire \SR_Y[7]_i_12_n_0 ;
-  wire \SR_Y[7]_i_13_n_0 ;
-  wire \SR_Y[7]_i_15_n_0 ;
-  wire \SR_Y[7]_i_16_n_0 ;
-  wire \SR_Y[7]_i_17_n_0 ;
-  wire \SR_Y[7]_i_18_n_0 ;
-  wire \SR_Y[7]_i_19_n_0 ;
-  wire \SR_Y[7]_i_20_n_0 ;
-  wire \SR_Y[7]_i_21_n_0 ;
-  wire \SR_Y[7]_i_22_n_0 ;
-  wire \SR_Y[7]_i_25_n_0 ;
-  wire \SR_Y[7]_i_26_n_0 ;
-  wire \SR_Y[7]_i_27_n_0 ;
-  wire \SR_Y[7]_i_28_n_0 ;
-  wire \SR_Y[7]_i_3_n_0 ;
-  wire \SR_Y[7]_i_42_n_0 ;
-  wire \SR_Y[7]_i_43_n_0 ;
-  wire \SR_Y[7]_i_44_n_0 ;
-  wire \SR_Y[7]_i_45_n_0 ;
-  wire \SR_Y[7]_i_46_n_0 ;
-  wire \SR_Y[7]_i_47_n_0 ;
-  wire \SR_Y[7]_i_48_n_0 ;
-  wire \SR_Y[7]_i_49_n_0 ;
-  wire \SR_Y[7]_i_50_n_0 ;
-  wire \SR_Y[7]_i_51_n_0 ;
-  wire \SR_Y[7]_i_52_n_0 ;
-  wire \SR_Y[7]_i_53_n_0 ;
-  wire \SR_Y[7]_i_54_n_0 ;
-  wire \SR_Y[7]_i_55_n_0 ;
-  wire \SR_Y[7]_i_56_n_0 ;
-  wire \SR_Y[7]_i_57_n_0 ;
-  wire \SR_Y[7]_i_5_n_0 ;
-  wire \SR_Y[7]_i_6_n_0 ;
-  wire \SR_Y[7]_i_7_n_0 ;
-  wire \SR_Y[7]_i_9_n_0 ;
-  wire \SR_Y_reg[4]_i_10_n_0 ;
-  wire \SR_Y_reg[4]_i_10_n_1 ;
-  wire \SR_Y_reg[4]_i_10_n_2 ;
-  wire \SR_Y_reg[4]_i_10_n_3 ;
-  wire \SR_Y_reg[4]_i_27_n_0 ;
-  wire \SR_Y_reg[4]_i_27_n_1 ;
-  wire \SR_Y_reg[4]_i_27_n_2 ;
-  wire \SR_Y_reg[4]_i_27_n_3 ;
-  wire \SR_Y_reg[4]_i_27_n_4 ;
-  wire \SR_Y_reg[4]_i_27_n_5 ;
-  wire \SR_Y_reg[4]_i_27_n_6 ;
-  wire \SR_Y_reg[4]_i_27_n_7 ;
-  wire \SR_Y_reg[4]_i_2_n_0 ;
-  wire \SR_Y_reg[4]_i_2_n_1 ;
-  wire \SR_Y_reg[4]_i_2_n_2 ;
-  wire \SR_Y_reg[4]_i_2_n_3 ;
-  wire \SR_Y_reg[4]_i_3_n_0 ;
-  wire \SR_Y_reg[4]_i_3_n_1 ;
-  wire \SR_Y_reg[4]_i_3_n_2 ;
-  wire \SR_Y_reg[4]_i_3_n_3 ;
-  wire \SR_Y_reg[4]_i_3_n_5 ;
-  wire \SR_Y_reg[4]_i_4_n_0 ;
-  wire \SR_Y_reg[4]_i_4_n_1 ;
-  wire \SR_Y_reg[4]_i_4_n_2 ;
-  wire \SR_Y_reg[4]_i_4_n_3 ;
-  wire \SR_Y_reg[4]_i_9_n_0 ;
-  wire \SR_Y_reg[4]_i_9_n_1 ;
-  wire \SR_Y_reg[4]_i_9_n_2 ;
-  wire \SR_Y_reg[4]_i_9_n_3 ;
-  wire \SR_Y_reg[7]_i_10_n_0 ;
-  wire \SR_Y_reg[7]_i_10_n_1 ;
-  wire \SR_Y_reg[7]_i_10_n_2 ;
-  wire \SR_Y_reg[7]_i_10_n_3 ;
-  wire \SR_Y_reg[7]_i_10_n_4 ;
-  wire \SR_Y_reg[7]_i_10_n_5 ;
-  wire \SR_Y_reg[7]_i_10_n_6 ;
-  wire \SR_Y_reg[7]_i_10_n_7 ;
-  wire \SR_Y_reg[7]_i_14_n_1 ;
-  wire \SR_Y_reg[7]_i_14_n_3 ;
-  wire \SR_Y_reg[7]_i_14_n_6 ;
-  wire \SR_Y_reg[7]_i_14_n_7 ;
-  wire \SR_Y_reg[7]_i_2_n_2 ;
-  wire \SR_Y_reg[7]_i_2_n_3 ;
-  wire \SR_Y_reg[7]_i_33_n_0 ;
-  wire \SR_Y_reg[7]_i_34_n_0 ;
-  wire \SR_Y_reg[7]_i_35_n_0 ;
-  wire \SR_Y_reg[7]_i_36_n_0 ;
-  wire \SR_Y_reg[7]_i_38_n_0 ;
-  wire \SR_Y_reg[7]_i_39_n_0 ;
-  wire \SR_Y_reg[7]_i_40_n_0 ;
-  wire \SR_Y_reg[7]_i_41_n_0 ;
-  wire \SR_Y_reg[7]_i_4_n_1 ;
-  wire \SR_Y_reg[7]_i_4_n_2 ;
-  wire \SR_Y_reg[7]_i_4_n_3 ;
-  wire \SR_Y_reg[7]_i_8_n_2 ;
-  wire \SR_Y_reg[7]_i_8_n_3 ;
-  wire \SR_Y_reg[7]_i_8_n_5 ;
-  wire \SR_Y_reg[7]_i_8_n_6 ;
-  wire \SR_Y_reg[7]_i_8_n_7 ;
-  wire \SR_readAddress[0]_i_1_n_0 ;
-  wire \SR_readAddress[1]_i_1_n_0 ;
-  wire \SR_readAddress[2]_i_1_n_0 ;
-  wire \SR_readAddress[3]_i_1_n_0 ;
-  wire \SR_readAddress[3]_i_2_n_0 ;
-  wire [3:0]SR_readAddress_reg__0;
-  wire [7:0]\SR_shiftRegister[0] ;
-  wire [7:0]\SR_shiftRegister_reg[0]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[10]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[11]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[12]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[13]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[14]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[15]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[1]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[2]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[3]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[4]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[5]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[6]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[7]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[8]__0 ;
-  wire [7:0]\SR_shiftRegister_reg[9]__0 ;
-  wire \SR_sum[0]_i_10_n_0 ;
-  wire \SR_sum[0]_i_13_n_0 ;
-  wire \SR_sum[0]_i_14_n_0 ;
-  wire \SR_sum[0]_i_15_n_0 ;
-  wire \SR_sum[0]_i_16_n_0 ;
-  wire \SR_sum[0]_i_17_n_0 ;
-  wire \SR_sum[0]_i_18_n_0 ;
-  wire \SR_sum[0]_i_19_n_0 ;
-  wire \SR_sum[0]_i_1_n_0 ;
-  wire \SR_sum[0]_i_20_n_0 ;
-  wire \SR_sum[0]_i_21_n_0 ;
-  wire \SR_sum[0]_i_22_n_0 ;
-  wire \SR_sum[0]_i_23_n_0 ;
-  wire \SR_sum[0]_i_24_n_0 ;
-  wire \SR_sum[0]_i_25_n_0 ;
-  wire \SR_sum[0]_i_26_n_0 ;
-  wire \SR_sum[0]_i_27_n_0 ;
-  wire \SR_sum[0]_i_31_n_0 ;
-  wire \SR_sum[0]_i_32_n_0 ;
-  wire \SR_sum[0]_i_33_n_0 ;
-  wire \SR_sum[0]_i_3_n_0 ;
-  wire \SR_sum[0]_i_45_n_0 ;
-  wire \SR_sum[0]_i_46_n_0 ;
-  wire \SR_sum[0]_i_47_n_0 ;
-  wire \SR_sum[0]_i_48_n_0 ;
-  wire \SR_sum[0]_i_49_n_0 ;
-  wire \SR_sum[0]_i_4_n_0 ;
-  wire \SR_sum[0]_i_50_n_0 ;
-  wire \SR_sum[0]_i_51_n_0 ;
-  wire \SR_sum[0]_i_52_n_0 ;
-  wire \SR_sum[0]_i_53_n_0 ;
-  wire \SR_sum[0]_i_54_n_0 ;
-  wire \SR_sum[0]_i_55_n_0 ;
-  wire \SR_sum[0]_i_56_n_0 ;
-  wire \SR_sum[0]_i_57_n_0 ;
-  wire \SR_sum[0]_i_58_n_0 ;
-  wire \SR_sum[0]_i_59_n_0 ;
-  wire \SR_sum[0]_i_5_n_0 ;
-  wire \SR_sum[0]_i_60_n_0 ;
-  wire \SR_sum[0]_i_6_n_0 ;
-  wire \SR_sum[0]_i_7_n_0 ;
-  wire \SR_sum[0]_i_8_n_0 ;
-  wire \SR_sum[0]_i_9_n_0 ;
-  wire \SR_sum[12]_i_2_n_0 ;
-  wire \SR_sum[12]_i_3_n_0 ;
-  wire \SR_sum[12]_i_4_n_0 ;
-  wire \SR_sum[12]_i_5_n_0 ;
-  wire \SR_sum[12]_i_6_n_0 ;
-  wire \SR_sum[4]_i_2_n_0 ;
-  wire \SR_sum[4]_i_3_n_0 ;
-  wire \SR_sum[4]_i_4_n_0 ;
-  wire \SR_sum[4]_i_5_n_0 ;
-  wire \SR_sum[4]_i_6_n_0 ;
-  wire \SR_sum[4]_i_7_n_0 ;
-  wire \SR_sum[4]_i_8_n_0 ;
-  wire \SR_sum[4]_i_9_n_0 ;
-  wire \SR_sum[8]_i_2_n_0 ;
-  wire \SR_sum[8]_i_3_n_0 ;
-  wire \SR_sum[8]_i_4_n_0 ;
-  wire \SR_sum[8]_i_5_n_0 ;
-  wire \SR_sum[8]_i_6_n_0 ;
-  wire \SR_sum[8]_i_7_n_0 ;
-  wire \SR_sum[8]_i_8_n_0 ;
-  wire \SR_sum[8]_i_9_n_0 ;
-  wire [14:0]SR_sum_reg;
-  wire \SR_sum_reg[0]_i_11_n_0 ;
-  wire \SR_sum_reg[0]_i_11_n_1 ;
-  wire \SR_sum_reg[0]_i_11_n_2 ;
-  wire \SR_sum_reg[0]_i_11_n_3 ;
-  wire \SR_sum_reg[0]_i_11_n_4 ;
-  wire \SR_sum_reg[0]_i_11_n_5 ;
-  wire \SR_sum_reg[0]_i_11_n_6 ;
-  wire \SR_sum_reg[0]_i_11_n_7 ;
-  wire \SR_sum_reg[0]_i_12_n_0 ;
-  wire \SR_sum_reg[0]_i_12_n_1 ;
-  wire \SR_sum_reg[0]_i_12_n_2 ;
-  wire \SR_sum_reg[0]_i_12_n_3 ;
-  wire \SR_sum_reg[0]_i_12_n_4 ;
-  wire \SR_sum_reg[0]_i_2_n_0 ;
-  wire \SR_sum_reg[0]_i_2_n_1 ;
-  wire \SR_sum_reg[0]_i_2_n_2 ;
-  wire \SR_sum_reg[0]_i_2_n_3 ;
-  wire \SR_sum_reg[0]_i_2_n_4 ;
-  wire \SR_sum_reg[0]_i_2_n_5 ;
-  wire \SR_sum_reg[0]_i_2_n_6 ;
-  wire \SR_sum_reg[0]_i_2_n_7 ;
-  wire \SR_sum_reg[0]_i_37_n_0 ;
-  wire \SR_sum_reg[0]_i_38_n_0 ;
-  wire \SR_sum_reg[0]_i_39_n_0 ;
-  wire \SR_sum_reg[0]_i_40_n_0 ;
-  wire \SR_sum_reg[0]_i_41_n_0 ;
-  wire \SR_sum_reg[0]_i_42_n_0 ;
-  wire \SR_sum_reg[0]_i_43_n_0 ;
-  wire \SR_sum_reg[0]_i_44_n_0 ;
-  wire \SR_sum_reg[12]_i_1_n_2 ;
-  wire \SR_sum_reg[12]_i_1_n_3 ;
-  wire \SR_sum_reg[12]_i_1_n_5 ;
-  wire \SR_sum_reg[12]_i_1_n_6 ;
-  wire \SR_sum_reg[12]_i_1_n_7 ;
-  wire \SR_sum_reg[4]_i_1_n_0 ;
-  wire \SR_sum_reg[4]_i_1_n_1 ;
-  wire \SR_sum_reg[4]_i_1_n_2 ;
-  wire \SR_sum_reg[4]_i_1_n_3 ;
-  wire \SR_sum_reg[4]_i_1_n_4 ;
-  wire \SR_sum_reg[4]_i_1_n_5 ;
-  wire \SR_sum_reg[4]_i_1_n_6 ;
-  wire \SR_sum_reg[4]_i_1_n_7 ;
-  wire \SR_sum_reg[8]_i_1_n_0 ;
-  wire \SR_sum_reg[8]_i_1_n_1 ;
-  wire \SR_sum_reg[8]_i_1_n_2 ;
-  wire \SR_sum_reg[8]_i_1_n_3 ;
-  wire \SR_sum_reg[8]_i_1_n_4 ;
-  wire \SR_sum_reg[8]_i_1_n_5 ;
-  wire \SR_sum_reg[8]_i_1_n_6 ;
-  wire \SR_sum_reg[8]_i_1_n_7 ;
-  wire [7:0]p_0_in;
-  wire [3:0]\NLW_SR_Y_reg[4]_i_10_O_UNCONNECTED ;
-  wire [3:0]\NLW_SR_Y_reg[4]_i_3_O_UNCONNECTED ;
-  wire [3:0]\NLW_SR_Y_reg[7]_i_14_CO_UNCONNECTED ;
-
-  GND GND
-       (.G(\<const0> ));
-  BUFG I_clock_IBUF_BUFG_inst
-       (.I(I_clock_IBUF),
-        .O(I_clock_IBUF_BUFG));
-  IBUF I_clock_IBUF_inst
-       (.I(I_clock),
-        .O(I_clock_IBUF));
-  IBUF I_incrAddress_IBUF_inst
-       (.I(I_incrAddress),
-        .O(I_incrAddress_IBUF));
-  IBUF I_initAddress_IBUF_inst
-       (.I(I_initAddress),
-        .O(I_initAddress_IBUF));
-  IBUF I_initSum_IBUF_inst
-       (.I(I_initSum),
-        .O(I_initSum_IBUF));
-  IBUF \I_inputSample_IBUF[0]_inst 
-       (.I(I_inputSample[0]),
-        .O(I_inputSample_IBUF[0]));
-  IBUF \I_inputSample_IBUF[1]_inst 
-       (.I(I_inputSample[1]),
-        .O(I_inputSample_IBUF[1]));
-  IBUF \I_inputSample_IBUF[2]_inst 
-       (.I(I_inputSample[2]),
-        .O(I_inputSample_IBUF[2]));
-  IBUF \I_inputSample_IBUF[3]_inst 
-       (.I(I_inputSample[3]),
-        .O(I_inputSample_IBUF[3]));
-  IBUF \I_inputSample_IBUF[4]_inst 
-       (.I(I_inputSample[4]),
-        .O(I_inputSample_IBUF[4]));
-  IBUF \I_inputSample_IBUF[5]_inst 
-       (.I(I_inputSample[5]),
-        .O(I_inputSample_IBUF[5]));
-  IBUF \I_inputSample_IBUF[6]_inst 
-       (.I(I_inputSample[6]),
-        .O(I_inputSample_IBUF[6]));
-  IBUF \I_inputSample_IBUF[7]_inst 
-       (.I(I_inputSample[7]),
-        .O(I_inputSample_IBUF[7]));
-  IBUF I_loadShift_IBUF_inst
-       (.I(I_loadShift),
-        .O(I_loadShift_IBUF));
-  IBUF I_loadSum_IBUF_inst
-       (.I(I_loadSum),
-        .O(I_loadSum_IBUF));
-  IBUF I_loadY_IBUF_inst
-       (.I(I_loadY),
-        .O(I_loadY_IBUF));
-  IBUF I_reset_IBUF_inst
-       (.I(I_reset),
-        .O(I_reset_IBUF));
-  OBUF \O_Y_OBUF[0]_inst 
-       (.I(O_Y_OBUF[0]),
-        .O(O_Y[0]));
-  OBUF \O_Y_OBUF[1]_inst 
-       (.I(O_Y_OBUF[1]),
-        .O(O_Y[1]));
-  OBUF \O_Y_OBUF[2]_inst 
-       (.I(O_Y_OBUF[2]),
-        .O(O_Y[2]));
-  OBUF \O_Y_OBUF[3]_inst 
-       (.I(O_Y_OBUF[3]),
-        .O(O_Y[3]));
-  OBUF \O_Y_OBUF[4]_inst 
-       (.I(O_Y_OBUF[4]),
-        .O(O_Y[4]));
-  OBUF \O_Y_OBUF[5]_inst 
-       (.I(O_Y_OBUF[5]),
-        .O(O_Y[5]));
-  OBUF \O_Y_OBUF[6]_inst 
-       (.I(O_Y_OBUF[6]),
-        .O(O_Y[6]));
-  OBUF \O_Y_OBUF[7]_inst 
-       (.I(O_Y_OBUF[7]),
-        .O(O_Y[7]));
-  OBUF O_processingDone_OBUF_inst
-       (.I(O_processingDone_OBUF),
-        .O(O_processingDone));
-  LUT3 #(
-    .INIT(8'h80)) 
-    O_processingDone_OBUF_inst_i_1
-       (.I0(SR_readAddress_reg__0[1]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[2]),
-        .O(O_processingDone_OBUF));
-  (* SOFT_HLUTNM = "soft_lutpair14" *) 
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[0]_i_1 
-       (.I0(\SR_Y_reg[4]_i_3_n_5 ),
-        .I1(L[7]),
-        .O(p_0_in[0]));
-  (* SOFT_HLUTNM = "soft_lutpair14" *) 
-  LUT3 #(
-    .INIT(8'h78)) 
-    \SR_Y[1]_i_1 
-       (.I0(\SR_Y_reg[4]_i_3_n_5 ),
-        .I1(L[7]),
-        .I2(L[8]),
-        .O(p_0_in[1]));
-  (* SOFT_HLUTNM = "soft_lutpair11" *) 
-  LUT4 #(
-    .INIT(16'h7F80)) 
-    \SR_Y[2]_i_1 
-       (.I0(L[7]),
-        .I1(\SR_Y_reg[4]_i_3_n_5 ),
-        .I2(L[8]),
-        .I3(L[9]),
-        .O(p_0_in[2]));
-  (* SOFT_HLUTNM = "soft_lutpair11" *) 
-  LUT5 #(
-    .INIT(32'h7FFF8000)) 
-    \SR_Y[3]_i_1 
-       (.I0(L[8]),
-        .I1(\SR_Y_reg[4]_i_3_n_5 ),
-        .I2(L[7]),
-        .I3(L[9]),
-        .I4(L[10]),
-        .O(p_0_in[3]));
-  LUT6 #(
-    .INIT(64'h7FFFFFFF80000000)) 
-    \SR_Y[4]_i_1 
-       (.I0(L[9]),
-        .I1(L[7]),
-        .I2(\SR_Y_reg[4]_i_3_n_5 ),
-        .I3(L[8]),
-        .I4(L[10]),
-        .I5(L[11]),
-        .O(p_0_in[4]));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_11 
-       (.I0(SC_MultResult[7]),
-        .I1(SR_sum_reg[7]),
-        .O(\SR_Y[4]_i_11_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_12 
-       (.I0(SC_MultResult[6]),
-        .I1(SR_sum_reg[6]),
-        .O(\SR_Y[4]_i_12_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_13 
-       (.I0(SC_MultResult[5]),
-        .I1(SR_sum_reg[5]),
-        .O(\SR_Y[4]_i_13_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_14 
-       (.I0(SC_MultResult[4]),
-        .I1(SR_sum_reg[4]),
-        .O(\SR_Y[4]_i_14_n_0 ));
-  LUT2 #(
-    .INIT(4'h8)) 
-    \SR_Y[4]_i_15 
-       (.I0(\SR_Y_reg[7]_i_10_n_5 ),
-        .I1(\SR_Y_reg[7]_i_14_n_6 ),
-        .O(\SR_Y[4]_i_15_n_0 ));
-  LUT2 #(
-    .INIT(4'h8)) 
-    \SR_Y[4]_i_16 
-       (.I0(\SR_Y_reg[7]_i_10_n_6 ),
-        .I1(\SR_Y_reg[7]_i_14_n_7 ),
-        .O(\SR_Y[4]_i_16_n_0 ));
-  LUT2 #(
-    .INIT(4'hE)) 
-    \SR_Y[4]_i_17 
-       (.I0(\SR_Y_reg[4]_i_27_n_4 ),
-        .I1(\SR_Y_reg[7]_i_10_n_7 ),
-        .O(\SR_Y[4]_i_17_n_0 ));
-  LUT2 #(
-    .INIT(4'h9)) 
-    \SR_Y[4]_i_18 
-       (.I0(\SR_Y_reg[7]_i_10_n_7 ),
-        .I1(\SR_Y_reg[4]_i_27_n_4 ),
-        .O(\SR_Y[4]_i_18_n_0 ));
-  LUT4 #(
-    .INIT(16'h8778)) 
-    \SR_Y[4]_i_19 
-       (.I0(\SR_Y_reg[7]_i_14_n_6 ),
-        .I1(\SR_Y_reg[7]_i_10_n_5 ),
-        .I2(\SR_Y_reg[7]_i_10_n_4 ),
-        .I3(\SR_Y_reg[7]_i_14_n_1 ),
-        .O(\SR_Y[4]_i_19_n_0 ));
-  LUT4 #(
-    .INIT(16'h8778)) 
-    \SR_Y[4]_i_20 
-       (.I0(\SR_Y_reg[7]_i_14_n_7 ),
-        .I1(\SR_Y_reg[7]_i_10_n_6 ),
-        .I2(\SR_Y_reg[7]_i_10_n_5 ),
-        .I3(\SR_Y_reg[7]_i_14_n_6 ),
-        .O(\SR_Y[4]_i_20_n_0 ));
-  LUT4 #(
-    .INIT(16'hE11E)) 
-    \SR_Y[4]_i_21 
-       (.I0(\SR_Y_reg[7]_i_10_n_7 ),
-        .I1(\SR_Y_reg[4]_i_27_n_4 ),
-        .I2(\SR_Y_reg[7]_i_10_n_6 ),
-        .I3(\SR_Y_reg[7]_i_14_n_7 ),
-        .O(\SR_Y[4]_i_21_n_0 ));
-  LUT4 #(
-    .INIT(16'h6999)) 
-    \SR_Y[4]_i_22 
-       (.I0(\SR_Y_reg[7]_i_10_n_7 ),
-        .I1(\SR_Y_reg[4]_i_27_n_4 ),
-        .I2(\SR_Y_reg[4]_i_27_n_5 ),
-        .I3(\SR_sum_reg[0]_i_11_n_4 ),
-        .O(\SR_Y[4]_i_22_n_0 ));
-  LUT3 #(
-    .INIT(8'h96)) 
-    \SR_Y[4]_i_23 
-       (.I0(\SR_sum_reg[0]_i_11_n_7 ),
-        .I1(\SR_sum_reg[0]_i_12_n_4 ),
-        .I2(SR_sum_reg[3]),
-        .O(\SR_Y[4]_i_23_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_24 
-       (.I0(SC_MultResult[2]),
-        .I1(SR_sum_reg[2]),
-        .O(\SR_Y[4]_i_24_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_25 
-       (.I0(SC_MultResult[1]),
-        .I1(SR_sum_reg[1]),
-        .O(\SR_Y[4]_i_25_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_26 
-       (.I0(SC_MultResult[0]),
-        .I1(SR_sum_reg[0]),
-        .O(\SR_Y[4]_i_26_n_0 ));
-  LUT3 #(
-    .INIT(8'h96)) 
-    \SR_Y[4]_i_28 
-       (.I0(\SR_sum_reg[0]_i_11_n_5 ),
-        .I1(\SR_sum_reg[0]_i_11_n_4 ),
-        .I2(\SR_Y_reg[4]_i_27_n_5 ),
-        .O(\SR_Y[4]_i_28_n_0 ));
-  LUT2 #(
-    .INIT(4'h9)) 
-    \SR_Y[4]_i_29 
-       (.I0(\SR_sum_reg[0]_i_11_n_5 ),
-        .I1(\SR_Y_reg[4]_i_27_n_6 ),
-        .O(\SR_Y[4]_i_29_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_30 
-       (.I0(\SR_Y_reg[4]_i_27_n_7 ),
-        .I1(\SR_sum_reg[0]_i_11_n_6 ),
-        .O(\SR_Y[4]_i_30_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_31 
-       (.I0(\SR_sum_reg[0]_i_12_n_4 ),
-        .I1(\SR_sum_reg[0]_i_11_n_7 ),
-        .O(SC_MultResult[3]));
-  LUT3 #(
-    .INIT(8'h17)) 
-    \SR_Y[4]_i_32 
-       (.I0(\SR_Y[4]_i_40_n_0 ),
-        .I1(\SR_Y[4]_i_41_n_0 ),
-        .I2(\SR_Y[4]_i_42_n_0 ),
-        .O(\SR_Y[4]_i_32_n_0 ));
-  LUT3 #(
-    .INIT(8'h17)) 
-    \SR_Y[4]_i_33 
-       (.I0(\SR_Y[4]_i_43_n_0 ),
-        .I1(\SR_Y[4]_i_44_n_0 ),
-        .I2(\SR_Y[4]_i_45_n_0 ),
-        .O(\SR_Y[4]_i_33_n_0 ));
-  LUT3 #(
-    .INIT(8'h17)) 
-    \SR_Y[4]_i_34 
-       (.I0(\SR_Y[4]_i_46_n_0 ),
-        .I1(\SR_Y[4]_i_47_n_0 ),
-        .I2(\SR_Y[4]_i_48_n_0 ),
-        .O(\SR_Y[4]_i_34_n_0 ));
-  LUT3 #(
-    .INIT(8'h17)) 
-    \SR_Y[4]_i_35 
-       (.I0(\SR_sum[0]_i_32_n_0 ),
-        .I1(\SR_sum[0]_i_31_n_0 ),
-        .I2(\SR_sum[0]_i_33_n_0 ),
-        .O(\SR_Y[4]_i_35_n_0 ));
-  LUT4 #(
-    .INIT(16'h6996)) 
-    \SR_Y[4]_i_36 
-       (.I0(\SR_Y[4]_i_32_n_0 ),
-        .I1(\SR_Y[4]_i_49_n_0 ),
-        .I2(\SR_Y[4]_i_50_n_0 ),
-        .I3(\SR_Y[4]_i_51_n_0 ),
-        .O(\SR_Y[4]_i_36_n_0 ));
-  LUT6 #(
-    .INIT(64'h17E8E817E81717E8)) 
-    \SR_Y[4]_i_37 
-       (.I0(\SR_Y[4]_i_45_n_0 ),
-        .I1(\SR_Y[4]_i_44_n_0 ),
-        .I2(\SR_Y[4]_i_43_n_0 ),
-        .I3(\SR_Y[4]_i_41_n_0 ),
-        .I4(\SR_Y[4]_i_40_n_0 ),
-        .I5(\SR_Y[4]_i_42_n_0 ),
-        .O(\SR_Y[4]_i_37_n_0 ));
-  LUT6 #(
-    .INIT(64'h17E8E817E81717E8)) 
-    \SR_Y[4]_i_38 
-       (.I0(\SR_Y[4]_i_48_n_0 ),
-        .I1(\SR_Y[4]_i_47_n_0 ),
-        .I2(\SR_Y[4]_i_46_n_0 ),
-        .I3(\SR_Y[4]_i_44_n_0 ),
-        .I4(\SR_Y[4]_i_43_n_0 ),
-        .I5(\SR_Y[4]_i_45_n_0 ),
-        .O(\SR_Y[4]_i_38_n_0 ));
-  LUT6 #(
-    .INIT(64'h17E8E817E81717E8)) 
-    \SR_Y[4]_i_39 
-       (.I0(\SR_sum[0]_i_33_n_0 ),
-        .I1(\SR_sum[0]_i_31_n_0 ),
-        .I2(\SR_sum[0]_i_32_n_0 ),
-        .I3(\SR_Y[4]_i_47_n_0 ),
-        .I4(\SR_Y[4]_i_46_n_0 ),
-        .I5(\SR_Y[4]_i_48_n_0 ),
-        .O(\SR_Y[4]_i_39_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair7" *) 
-  LUT5 #(
-    .INIT(32'hF5FD7F5F)) 
-    \SR_Y[4]_i_40 
-       (.I0(\SR_shiftRegister[0] [4]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_40_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair1" *) 
-  LUT5 #(
-    .INIT(32'h557D7D55)) 
-    \SR_Y[4]_i_41 
-       (.I0(\SR_shiftRegister[0] [5]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[2]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_Y[4]_i_41_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair0" *) 
-  LUT5 #(
-    .INIT(32'hFF7D7DFF)) 
-    \SR_Y[4]_i_42 
-       (.I0(\SR_shiftRegister[0] [6]),
-        .I1(SR_readAddress_reg__0[1]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_42_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair9" *) 
-  LUT5 #(
-    .INIT(32'hF5FD7F5F)) 
-    \SR_Y[4]_i_43 
-       (.I0(\SR_shiftRegister[0] [3]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_43_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair4" *) 
-  LUT5 #(
-    .INIT(32'h557D7D55)) 
-    \SR_Y[4]_i_44 
-       (.I0(\SR_shiftRegister[0] [4]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[2]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_Y[4]_i_44_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair1" *) 
-  LUT5 #(
-    .INIT(32'hFF7D7DFF)) 
-    \SR_Y[4]_i_45 
-       (.I0(\SR_shiftRegister[0] [5]),
-        .I1(SR_readAddress_reg__0[1]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_45_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair2" *) 
-  LUT5 #(
-    .INIT(32'hF5FD7F5F)) 
-    \SR_Y[4]_i_46 
-       (.I0(\SR_shiftRegister[0] [2]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_46_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair5" *) 
-  LUT5 #(
-    .INIT(32'h557D7D55)) 
-    \SR_Y[4]_i_47 
-       (.I0(\SR_shiftRegister[0] [3]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[2]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_Y[4]_i_47_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair4" *) 
-  LUT5 #(
-    .INIT(32'hFF7D7DFF)) 
-    \SR_Y[4]_i_48 
-       (.I0(\SR_shiftRegister[0] [4]),
-        .I1(SR_readAddress_reg__0[1]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_48_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair0" *) 
-  LUT5 #(
-    .INIT(32'h557D7D55)) 
-    \SR_Y[4]_i_49 
-       (.I0(\SR_shiftRegister[0] [6]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[2]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_Y[4]_i_49_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_5 
-       (.I0(SC_MultResult[11]),
-        .I1(SR_sum_reg[11]),
-        .O(\SR_Y[4]_i_5_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair8" *) 
-  LUT5 #(
-    .INIT(32'hF5FD7F5F)) 
-    \SR_Y[4]_i_50 
-       (.I0(\SR_shiftRegister[0] [5]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_50_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair3" *) 
-  LUT5 #(
-    .INIT(32'hFF7D7DFF)) 
-    \SR_Y[4]_i_51 
-       (.I0(\SR_shiftRegister[0] [7]),
-        .I1(SR_readAddress_reg__0[1]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_Y[4]_i_51_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_6 
-       (.I0(SC_MultResult[10]),
-        .I1(SR_sum_reg[10]),
-        .O(\SR_Y[4]_i_6_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_7 
-       (.I0(SC_MultResult[9]),
-        .I1(SR_sum_reg[9]),
-        .O(\SR_Y[4]_i_7_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[4]_i_8 
-       (.I0(SC_MultResult[8]),
-        .I1(SR_sum_reg[8]),
-        .O(\SR_Y[4]_i_8_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[5]_i_1 
-       (.I0(\SR_Y[7]_i_3_n_0 ),
-        .I1(L[12]),
-        .O(p_0_in[5]));
-  (* SOFT_HLUTNM = "soft_lutpair12" *) 
-  LUT3 #(
-    .INIT(8'h78)) 
-    \SR_Y[6]_i_1 
-       (.I0(\SR_Y[7]_i_3_n_0 ),
-        .I1(L[12]),
-        .I2(L[13]),
-        .O(p_0_in[6]));
-  (* SOFT_HLUTNM = "soft_lutpair12" *) 
-  LUT4 #(
-    .INIT(16'h7F80)) 
-    \SR_Y[7]_i_1 
-       (.I0(L[12]),
-        .I1(\SR_Y[7]_i_3_n_0 ),
-        .I2(L[13]),
-        .I3(L[14]),
-        .O(p_0_in[7]));
-  LUT6 #(
-    .INIT(64'hFFF55FFFDDF55F77)) 
-    \SR_Y[7]_i_11 
-       (.I0(\SR_shiftRegister[0] [7]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [6]),
-        .O(\SR_Y[7]_i_11_n_0 ));
-  LUT5 #(
-    .INIT(32'hFDDD777F)) 
-    \SR_Y[7]_i_12 
-       (.I0(\SR_shiftRegister[0] [7]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_Y[7]_i_12_n_0 ));
-  LUT6 #(
-    .INIT(64'hDDC00377FFFFFFFF)) 
-    \SR_Y[7]_i_13 
-       (.I0(\SR_shiftRegister[0] [6]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [7]),
-        .O(\SR_Y[7]_i_13_n_0 ));
-  LUT6 #(
-    .INIT(64'h333AACCC220AA088)) 
-    \SR_Y[7]_i_15 
-       (.I0(\SR_shiftRegister[0] [6]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [5]),
-        .O(\SR_Y[7]_i_15_n_0 ));
-  LUT6 #(
-    .INIT(64'h333AACCC220AA088)) 
-    \SR_Y[7]_i_16 
-       (.I0(\SR_shiftRegister[0] [5]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [4]),
-        .O(\SR_Y[7]_i_16_n_0 ));
-  LUT6 #(
-    .INIT(64'h333AACCC220AA088)) 
-    \SR_Y[7]_i_17 
-       (.I0(\SR_shiftRegister[0] [4]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [3]),
-        .O(\SR_Y[7]_i_17_n_0 ));
-  LUT6 #(
-    .INIT(64'h333AACCC220AA088)) 
-    \SR_Y[7]_i_18 
-       (.I0(\SR_shiftRegister[0] [3]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [2]),
-        .O(\SR_Y[7]_i_18_n_0 ));
-  LUT5 #(
-    .INIT(32'hD32C6060)) 
-    \SR_Y[7]_i_19 
-       (.I0(\SR_shiftRegister[0] [5]),
-        .I1(\SR_shiftRegister[0] [6]),
-        .I2(SC_multOperand2[4]),
-        .I3(\SR_shiftRegister[0] [7]),
-        .I4(SC_multOperand2[3]),
-        .O(\SR_Y[7]_i_19_n_0 ));
-  LUT5 #(
-    .INIT(32'h2CD39F9F)) 
-    \SR_Y[7]_i_20 
-       (.I0(\SR_shiftRegister[0] [4]),
-        .I1(\SR_shiftRegister[0] [5]),
-        .I2(SC_multOperand2[4]),
-        .I3(\SR_shiftRegister[0] [6]),
-        .I4(SC_multOperand2[3]),
-        .O(\SR_Y[7]_i_20_n_0 ));
-  LUT5 #(
-    .INIT(32'h2CD39F9F)) 
-    \SR_Y[7]_i_21 
-       (.I0(\SR_shiftRegister[0] [3]),
-        .I1(\SR_shiftRegister[0] [4]),
-        .I2(SC_multOperand2[4]),
-        .I3(\SR_shiftRegister[0] [5]),
-        .I4(SC_multOperand2[3]),
-        .O(\SR_Y[7]_i_21_n_0 ));
-  LUT5 #(
-    .INIT(32'h2CD39F9F)) 
-    \SR_Y[7]_i_22 
-       (.I0(\SR_shiftRegister[0] [2]),
-        .I1(\SR_shiftRegister[0] [3]),
-        .I2(SC_multOperand2[4]),
-        .I3(\SR_shiftRegister[0] [4]),
-        .I4(SC_multOperand2[3]),
-        .O(\SR_Y[7]_i_22_n_0 ));
-  LUT6 #(
-    .INIT(64'h134001C400000000)) 
-    \SR_Y[7]_i_25 
-       (.I0(\SR_shiftRegister[0] [7]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[3]),
-        .I5(\SR_shiftRegister[0] [6]),
-        .O(\SR_Y[7]_i_25_n_0 ));
-  LUT3 #(
-    .INIT(8'h71)) 
-    \SR_Y[7]_i_26 
-       (.I0(\SR_Y[4]_i_50_n_0 ),
-        .I1(\SR_Y[4]_i_49_n_0 ),
-        .I2(\SR_Y[4]_i_51_n_0 ),
-        .O(\SR_Y[7]_i_26_n_0 ));
-  LUT6 #(
-    .INIT(64'hCE3FFCB3DD7FFD77)) 
-    \SR_Y[7]_i_27 
-       (.I0(\SR_shiftRegister[0] [6]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[3]),
-        .I5(\SR_shiftRegister[0] [7]),
-        .O(\SR_Y[7]_i_27_n_0 ));
-  LUT6 #(
-    .INIT(64'h8171FC0C1EEE3CCC)) 
-    \SR_Y[7]_i_28 
-       (.I0(SC_multOperand2[0]),
-        .I1(\SR_Y[4]_i_50_n_0 ),
-        .I2(\SR_shiftRegister[0] [6]),
-        .I3(SC_multOperand2[2]),
-        .I4(\SR_shiftRegister[0] [7]),
-        .I5(SC_multOperand2[1]),
-        .O(\SR_Y[7]_i_28_n_0 ));
-  LUT6 #(
-    .INIT(64'h8000000000000000)) 
-    \SR_Y[7]_i_3 
-       (.I0(L[11]),
-        .I1(L[9]),
-        .I2(L[7]),
-        .I3(\SR_Y_reg[4]_i_3_n_5 ),
-        .I4(L[8]),
-        .I5(L[10]),
-        .O(\SR_Y[7]_i_3_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair3" *) 
-  LUT4 #(
-    .INIT(16'h542A)) 
-    \SR_Y[7]_i_31 
-       (.I0(SR_readAddress_reg__0[3]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[2]),
-        .O(SC_multOperand2[4]));
-  (* SOFT_HLUTNM = "soft_lutpair9" *) 
-  LUT4 #(
-    .INIT(16'h724E)) 
-    \SR_Y[7]_i_32 
-       (.I0(SR_readAddress_reg__0[3]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .O(SC_multOperand2[3]));
-  (* SOFT_HLUTNM = "soft_lutpair8" *) 
-  LUT4 #(
-    .INIT(16'h6006)) 
-    \SR_Y[7]_i_37 
-       (.I0(SR_readAddress_reg__0[2]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[1]),
-        .O(SC_multOperand2[0]));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_42 
-       (.I0(\SR_shiftRegister_reg[3]__0 [7]),
-        .I1(\SR_shiftRegister_reg[2]__0 [7]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [7]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [7]),
-        .O(\SR_Y[7]_i_42_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_43 
-       (.I0(\SR_shiftRegister_reg[7]__0 [7]),
-        .I1(\SR_shiftRegister_reg[6]__0 [7]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [7]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [7]),
-        .O(\SR_Y[7]_i_43_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_44 
-       (.I0(\SR_shiftRegister_reg[11]__0 [7]),
-        .I1(\SR_shiftRegister_reg[10]__0 [7]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [7]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [7]),
-        .O(\SR_Y[7]_i_44_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_45 
-       (.I0(\SR_shiftRegister_reg[15]__0 [7]),
-        .I1(\SR_shiftRegister_reg[14]__0 [7]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [7]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [7]),
-        .O(\SR_Y[7]_i_45_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_46 
-       (.I0(\SR_shiftRegister_reg[3]__0 [6]),
-        .I1(\SR_shiftRegister_reg[2]__0 [6]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [6]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [6]),
-        .O(\SR_Y[7]_i_46_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_47 
-       (.I0(\SR_shiftRegister_reg[7]__0 [6]),
-        .I1(\SR_shiftRegister_reg[6]__0 [6]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [6]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [6]),
-        .O(\SR_Y[7]_i_47_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_48 
-       (.I0(\SR_shiftRegister_reg[11]__0 [6]),
-        .I1(\SR_shiftRegister_reg[10]__0 [6]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [6]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [6]),
-        .O(\SR_Y[7]_i_48_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_49 
-       (.I0(\SR_shiftRegister_reg[15]__0 [6]),
-        .I1(\SR_shiftRegister_reg[14]__0 [6]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [6]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [6]),
-        .O(\SR_Y[7]_i_49_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[7]_i_5 
-       (.I0(SR_sum_reg[14]),
-        .I1(SC_MultResult[14]),
-        .O(\SR_Y[7]_i_5_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_50 
-       (.I0(\SR_shiftRegister_reg[3]__0 [5]),
-        .I1(\SR_shiftRegister_reg[2]__0 [5]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [5]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [5]),
-        .O(\SR_Y[7]_i_50_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_51 
-       (.I0(\SR_shiftRegister_reg[7]__0 [5]),
-        .I1(\SR_shiftRegister_reg[6]__0 [5]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [5]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [5]),
-        .O(\SR_Y[7]_i_51_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_52 
-       (.I0(\SR_shiftRegister_reg[11]__0 [5]),
-        .I1(\SR_shiftRegister_reg[10]__0 [5]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [5]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [5]),
-        .O(\SR_Y[7]_i_52_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_53 
-       (.I0(\SR_shiftRegister_reg[15]__0 [5]),
-        .I1(\SR_shiftRegister_reg[14]__0 [5]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [5]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [5]),
-        .O(\SR_Y[7]_i_53_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_54 
-       (.I0(\SR_shiftRegister_reg[3]__0 [4]),
-        .I1(\SR_shiftRegister_reg[2]__0 [4]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [4]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [4]),
-        .O(\SR_Y[7]_i_54_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_55 
-       (.I0(\SR_shiftRegister_reg[7]__0 [4]),
-        .I1(\SR_shiftRegister_reg[6]__0 [4]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [4]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [4]),
-        .O(\SR_Y[7]_i_55_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_56 
-       (.I0(\SR_shiftRegister_reg[11]__0 [4]),
-        .I1(\SR_shiftRegister_reg[10]__0 [4]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [4]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [4]),
-        .O(\SR_Y[7]_i_56_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_Y[7]_i_57 
-       (.I0(\SR_shiftRegister_reg[15]__0 [4]),
-        .I1(\SR_shiftRegister_reg[14]__0 [4]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [4]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [4]),
-        .O(\SR_Y[7]_i_57_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[7]_i_6 
-       (.I0(SC_MultResult[13]),
-        .I1(SR_sum_reg[13]),
-        .O(\SR_Y[7]_i_6_n_0 ));
-  LUT2 #(
-    .INIT(4'h6)) 
-    \SR_Y[7]_i_7 
-       (.I0(SC_MultResult[12]),
-        .I1(SR_sum_reg[12]),
-        .O(\SR_Y[7]_i_7_n_0 ));
-  LUT3 #(
-    .INIT(8'h78)) 
-    \SR_Y[7]_i_9 
-       (.I0(\SR_Y_reg[7]_i_14_n_1 ),
-        .I1(\SR_Y_reg[7]_i_10_n_4 ),
-        .I2(\SR_Y_reg[7]_i_8_n_7 ),
-        .O(\SR_Y[7]_i_9_n_0 ));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[0]),
-        .Q(O_Y_OBUF[0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[1]),
-        .Q(O_Y_OBUF[1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[2]),
-        .Q(O_Y_OBUF[2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[3]),
-        .Q(O_Y_OBUF[3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[4]),
-        .Q(O_Y_OBUF[4]));
-  CARRY4 \SR_Y_reg[4]_i_10 
-       (.CI(\<const0> ),
-        .CO({\SR_Y_reg[4]_i_10_n_0 ,\SR_Y_reg[4]_i_10_n_1 ,\SR_Y_reg[4]_i_10_n_2 ,\SR_Y_reg[4]_i_10_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_sum_reg[0]_i_11_n_5 ,\SR_Y_reg[4]_i_27_n_6 ,\SR_Y_reg[4]_i_27_n_7 ,\SR_sum_reg[0]_i_12_n_4 }),
-        .O({SC_MultResult[6:4],\NLW_SR_Y_reg[4]_i_10_O_UNCONNECTED [0]}),
-        .S({\SR_Y[4]_i_28_n_0 ,\SR_Y[4]_i_29_n_0 ,\SR_Y[4]_i_30_n_0 ,SC_MultResult[3]}));
-  CARRY4 \SR_Y_reg[4]_i_2 
-       (.CI(\SR_Y_reg[4]_i_3_n_0 ),
-        .CO({\SR_Y_reg[4]_i_2_n_0 ,\SR_Y_reg[4]_i_2_n_1 ,\SR_Y_reg[4]_i_2_n_2 ,\SR_Y_reg[4]_i_2_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI(SC_MultResult[11:8]),
-        .O(L[11:8]),
-        .S({\SR_Y[4]_i_5_n_0 ,\SR_Y[4]_i_6_n_0 ,\SR_Y[4]_i_7_n_0 ,\SR_Y[4]_i_8_n_0 }));
-  CARRY4 \SR_Y_reg[4]_i_27 
-       (.CI(\SR_sum_reg[0]_i_12_n_0 ),
-        .CO({\SR_Y_reg[4]_i_27_n_0 ,\SR_Y_reg[4]_i_27_n_1 ,\SR_Y_reg[4]_i_27_n_2 ,\SR_Y_reg[4]_i_27_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_Y[4]_i_32_n_0 ,\SR_Y[4]_i_33_n_0 ,\SR_Y[4]_i_34_n_0 ,\SR_Y[4]_i_35_n_0 }),
-        .O({\SR_Y_reg[4]_i_27_n_4 ,\SR_Y_reg[4]_i_27_n_5 ,\SR_Y_reg[4]_i_27_n_6 ,\SR_Y_reg[4]_i_27_n_7 }),
-        .S({\SR_Y[4]_i_36_n_0 ,\SR_Y[4]_i_37_n_0 ,\SR_Y[4]_i_38_n_0 ,\SR_Y[4]_i_39_n_0 }));
-  CARRY4 \SR_Y_reg[4]_i_3 
-       (.CI(\SR_Y_reg[4]_i_9_n_0 ),
-        .CO({\SR_Y_reg[4]_i_3_n_0 ,\SR_Y_reg[4]_i_3_n_1 ,\SR_Y_reg[4]_i_3_n_2 ,\SR_Y_reg[4]_i_3_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI(SC_MultResult[7:4]),
-        .O({L[7],\SR_Y_reg[4]_i_3_n_5 ,\NLW_SR_Y_reg[4]_i_3_O_UNCONNECTED [1:0]}),
-        .S({\SR_Y[4]_i_11_n_0 ,\SR_Y[4]_i_12_n_0 ,\SR_Y[4]_i_13_n_0 ,\SR_Y[4]_i_14_n_0 }));
-  CARRY4 \SR_Y_reg[4]_i_4 
-       (.CI(\SR_Y_reg[4]_i_10_n_0 ),
-        .CO({\SR_Y_reg[4]_i_4_n_0 ,\SR_Y_reg[4]_i_4_n_1 ,\SR_Y_reg[4]_i_4_n_2 ,\SR_Y_reg[4]_i_4_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_Y[4]_i_15_n_0 ,\SR_Y[4]_i_16_n_0 ,\SR_Y[4]_i_17_n_0 ,\SR_Y[4]_i_18_n_0 }),
-        .O(SC_MultResult[10:7]),
-        .S({\SR_Y[4]_i_19_n_0 ,\SR_Y[4]_i_20_n_0 ,\SR_Y[4]_i_21_n_0 ,\SR_Y[4]_i_22_n_0 }));
-  CARRY4 \SR_Y_reg[4]_i_9 
-       (.CI(\<const0> ),
-        .CO({\SR_Y_reg[4]_i_9_n_0 ,\SR_Y_reg[4]_i_9_n_1 ,\SR_Y_reg[4]_i_9_n_2 ,\SR_Y_reg[4]_i_9_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({SR_sum_reg[3],SC_MultResult[2:0]}),
-        .S({\SR_Y[4]_i_23_n_0 ,\SR_Y[4]_i_24_n_0 ,\SR_Y[4]_i_25_n_0 ,\SR_Y[4]_i_26_n_0 }));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[5]),
-        .Q(O_Y_OBUF[5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[6]),
-        .Q(O_Y_OBUF[6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_Y_reg[7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadY_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(p_0_in[7]),
-        .Q(O_Y_OBUF[7]));
-  CARRY4 \SR_Y_reg[7]_i_10 
-       (.CI(\SR_sum_reg[0]_i_11_n_0 ),
-        .CO({\SR_Y_reg[7]_i_10_n_0 ,\SR_Y_reg[7]_i_10_n_1 ,\SR_Y_reg[7]_i_10_n_2 ,\SR_Y_reg[7]_i_10_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_Y[7]_i_15_n_0 ,\SR_Y[7]_i_16_n_0 ,\SR_Y[7]_i_17_n_0 ,\SR_Y[7]_i_18_n_0 }),
-        .O({\SR_Y_reg[7]_i_10_n_4 ,\SR_Y_reg[7]_i_10_n_5 ,\SR_Y_reg[7]_i_10_n_6 ,\SR_Y_reg[7]_i_10_n_7 }),
-        .S({\SR_Y[7]_i_19_n_0 ,\SR_Y[7]_i_20_n_0 ,\SR_Y[7]_i_21_n_0 ,\SR_Y[7]_i_22_n_0 }));
-  CARRY4 \SR_Y_reg[7]_i_14 
-       (.CI(\SR_Y_reg[4]_i_27_n_0 ),
-        .CO({\SR_Y_reg[7]_i_14_n_1 ,\NLW_SR_Y_reg[7]_i_14_CO_UNCONNECTED [1],\SR_Y_reg[7]_i_14_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\<const0> ,\<const0> ,\SR_Y[7]_i_25_n_0 ,\SR_Y[7]_i_26_n_0 }),
-        .O({\SR_Y_reg[7]_i_14_n_6 ,\SR_Y_reg[7]_i_14_n_7 }),
-        .S({\<const0> ,\<const1> ,\SR_Y[7]_i_27_n_0 ,\SR_Y[7]_i_28_n_0 }));
-  CARRY4 \SR_Y_reg[7]_i_2 
-       (.CI(\SR_Y_reg[4]_i_2_n_0 ),
-        .CO({\SR_Y_reg[7]_i_2_n_2 ,\SR_Y_reg[7]_i_2_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\<const0> ,\<const0> ,SC_MultResult[13:12]}),
-        .O(L[14:12]),
-        .S({\<const0> ,\SR_Y[7]_i_5_n_0 ,\SR_Y[7]_i_6_n_0 ,\SR_Y[7]_i_7_n_0 }));
-  MUXF8 \SR_Y_reg[7]_i_23 
-       (.I0(\SR_Y_reg[7]_i_33_n_0 ),
-        .I1(\SR_Y_reg[7]_i_34_n_0 ),
-        .O(\SR_shiftRegister[0] [7]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF8 \SR_Y_reg[7]_i_24 
-       (.I0(\SR_Y_reg[7]_i_35_n_0 ),
-        .I1(\SR_Y_reg[7]_i_36_n_0 ),
-        .O(\SR_shiftRegister[0] [6]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF8 \SR_Y_reg[7]_i_29 
-       (.I0(\SR_Y_reg[7]_i_38_n_0 ),
-        .I1(\SR_Y_reg[7]_i_39_n_0 ),
-        .O(\SR_shiftRegister[0] [5]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF8 \SR_Y_reg[7]_i_30 
-       (.I0(\SR_Y_reg[7]_i_40_n_0 ),
-        .I1(\SR_Y_reg[7]_i_41_n_0 ),
-        .O(\SR_shiftRegister[0] [4]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF7 \SR_Y_reg[7]_i_33 
-       (.I0(\SR_Y[7]_i_42_n_0 ),
-        .I1(\SR_Y[7]_i_43_n_0 ),
-        .O(\SR_Y_reg[7]_i_33_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_Y_reg[7]_i_34 
-       (.I0(\SR_Y[7]_i_44_n_0 ),
-        .I1(\SR_Y[7]_i_45_n_0 ),
-        .O(\SR_Y_reg[7]_i_34_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_Y_reg[7]_i_35 
-       (.I0(\SR_Y[7]_i_46_n_0 ),
-        .I1(\SR_Y[7]_i_47_n_0 ),
-        .O(\SR_Y_reg[7]_i_35_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_Y_reg[7]_i_36 
-       (.I0(\SR_Y[7]_i_48_n_0 ),
-        .I1(\SR_Y[7]_i_49_n_0 ),
-        .O(\SR_Y_reg[7]_i_36_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_Y_reg[7]_i_38 
-       (.I0(\SR_Y[7]_i_50_n_0 ),
-        .I1(\SR_Y[7]_i_51_n_0 ),
-        .O(\SR_Y_reg[7]_i_38_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_Y_reg[7]_i_39 
-       (.I0(\SR_Y[7]_i_52_n_0 ),
-        .I1(\SR_Y[7]_i_53_n_0 ),
-        .O(\SR_Y_reg[7]_i_39_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  CARRY4 \SR_Y_reg[7]_i_4 
-       (.CI(\SR_Y_reg[4]_i_4_n_0 ),
-        .CO({\SR_Y_reg[7]_i_4_n_1 ,\SR_Y_reg[7]_i_4_n_2 ,\SR_Y_reg[7]_i_4_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\<const0> ,\SR_Y_reg[7]_i_8_n_5 ,\<const0> ,\SR_Y_reg[7]_i_8_n_7 }),
-        .O(SC_MultResult[14:11]),
-        .S({\SR_Y_reg[7]_i_8_n_5 ,\SR_Y_reg[7]_i_8_n_5 ,\SR_Y_reg[7]_i_8_n_6 ,\SR_Y[7]_i_9_n_0 }));
-  MUXF7 \SR_Y_reg[7]_i_40 
-       (.I0(\SR_Y[7]_i_54_n_0 ),
-        .I1(\SR_Y[7]_i_55_n_0 ),
-        .O(\SR_Y_reg[7]_i_40_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_Y_reg[7]_i_41 
-       (.I0(\SR_Y[7]_i_56_n_0 ),
-        .I1(\SR_Y[7]_i_57_n_0 ),
-        .O(\SR_Y_reg[7]_i_41_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  CARRY4 \SR_Y_reg[7]_i_8 
-       (.CI(\SR_Y_reg[7]_i_10_n_0 ),
-        .CO({\SR_Y_reg[7]_i_8_n_2 ,\SR_Y_reg[7]_i_8_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\<const0> ,\<const0> ,\<const0> ,\SR_Y[7]_i_11_n_0 }),
-        .O({\SR_Y_reg[7]_i_8_n_5 ,\SR_Y_reg[7]_i_8_n_6 ,\SR_Y_reg[7]_i_8_n_7 }),
-        .S({\<const0> ,\<const1> ,\SR_Y[7]_i_12_n_0 ,\SR_Y[7]_i_13_n_0 }));
-  (* SOFT_HLUTNM = "soft_lutpair13" *) 
-  LUT2 #(
-    .INIT(4'h1)) 
-    \SR_readAddress[0]_i_1 
-       (.I0(SR_readAddress_reg__0[0]),
-        .I1(I_initAddress_IBUF),
-        .O(\SR_readAddress[0]_i_1_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair13" *) 
-  LUT3 #(
-    .INIT(8'h06)) 
-    \SR_readAddress[1]_i_1 
-       (.I0(SR_readAddress_reg__0[1]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(I_initAddress_IBUF),
-        .O(\SR_readAddress[1]_i_1_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair10" *) 
-  LUT4 #(
-    .INIT(16'h006A)) 
-    \SR_readAddress[2]_i_1 
-       (.I0(SR_readAddress_reg__0[2]),
-        .I1(SR_readAddress_reg__0[1]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(I_initAddress_IBUF),
-        .O(\SR_readAddress[2]_i_1_n_0 ));
-  LUT2 #(
-    .INIT(4'hE)) 
-    \SR_readAddress[3]_i_1 
-       (.I0(I_incrAddress_IBUF),
-        .I1(I_initAddress_IBUF),
-        .O(\SR_readAddress[3]_i_1_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair10" *) 
-  LUT5 #(
-    .INIT(32'h00006AAA)) 
-    \SR_readAddress[3]_i_2 
-       (.I0(SR_readAddress_reg__0[3]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(I_initAddress_IBUF),
-        .O(\SR_readAddress[3]_i_2_n_0 ));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_readAddress_reg[0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_readAddress[3]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_readAddress[0]_i_1_n_0 ),
-        .Q(SR_readAddress_reg__0[0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_readAddress_reg[1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_readAddress[3]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_readAddress[1]_i_1_n_0 ),
-        .Q(SR_readAddress_reg__0[1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_readAddress_reg[2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_readAddress[3]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_readAddress[2]_i_1_n_0 ),
-        .Q(SR_readAddress_reg__0[2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_readAddress_reg[3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_readAddress[3]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_readAddress[3]_i_2_n_0 ),
-        .Q(SR_readAddress_reg__0[3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[0]),
-        .Q(\SR_shiftRegister_reg[0]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[1]),
-        .Q(\SR_shiftRegister_reg[0]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[2]),
-        .Q(\SR_shiftRegister_reg[0]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[3]),
-        .Q(\SR_shiftRegister_reg[0]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[4]),
-        .Q(\SR_shiftRegister_reg[0]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[5]),
-        .Q(\SR_shiftRegister_reg[0]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[6]),
-        .Q(\SR_shiftRegister_reg[0]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[0][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(I_inputSample_IBUF[7]),
-        .Q(\SR_shiftRegister_reg[0]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [0]),
-        .Q(\SR_shiftRegister_reg[10]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [1]),
-        .Q(\SR_shiftRegister_reg[10]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [2]),
-        .Q(\SR_shiftRegister_reg[10]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [3]),
-        .Q(\SR_shiftRegister_reg[10]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [4]),
-        .Q(\SR_shiftRegister_reg[10]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [5]),
-        .Q(\SR_shiftRegister_reg[10]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [6]),
-        .Q(\SR_shiftRegister_reg[10]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[10][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[9]__0 [7]),
-        .Q(\SR_shiftRegister_reg[10]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [0]),
-        .Q(\SR_shiftRegister_reg[11]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [1]),
-        .Q(\SR_shiftRegister_reg[11]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [2]),
-        .Q(\SR_shiftRegister_reg[11]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [3]),
-        .Q(\SR_shiftRegister_reg[11]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [4]),
-        .Q(\SR_shiftRegister_reg[11]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [5]),
-        .Q(\SR_shiftRegister_reg[11]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [6]),
-        .Q(\SR_shiftRegister_reg[11]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[11][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[10]__0 [7]),
-        .Q(\SR_shiftRegister_reg[11]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [0]),
-        .Q(\SR_shiftRegister_reg[12]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [1]),
-        .Q(\SR_shiftRegister_reg[12]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [2]),
-        .Q(\SR_shiftRegister_reg[12]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [3]),
-        .Q(\SR_shiftRegister_reg[12]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [4]),
-        .Q(\SR_shiftRegister_reg[12]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [5]),
-        .Q(\SR_shiftRegister_reg[12]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [6]),
-        .Q(\SR_shiftRegister_reg[12]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[12][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[11]__0 [7]),
-        .Q(\SR_shiftRegister_reg[12]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [0]),
-        .Q(\SR_shiftRegister_reg[13]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [1]),
-        .Q(\SR_shiftRegister_reg[13]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [2]),
-        .Q(\SR_shiftRegister_reg[13]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [3]),
-        .Q(\SR_shiftRegister_reg[13]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [4]),
-        .Q(\SR_shiftRegister_reg[13]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [5]),
-        .Q(\SR_shiftRegister_reg[13]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [6]),
-        .Q(\SR_shiftRegister_reg[13]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[13][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[12]__0 [7]),
-        .Q(\SR_shiftRegister_reg[13]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [0]),
-        .Q(\SR_shiftRegister_reg[14]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [1]),
-        .Q(\SR_shiftRegister_reg[14]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [2]),
-        .Q(\SR_shiftRegister_reg[14]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [3]),
-        .Q(\SR_shiftRegister_reg[14]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [4]),
-        .Q(\SR_shiftRegister_reg[14]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [5]),
-        .Q(\SR_shiftRegister_reg[14]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [6]),
-        .Q(\SR_shiftRegister_reg[14]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[14][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[13]__0 [7]),
-        .Q(\SR_shiftRegister_reg[14]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [0]),
-        .Q(\SR_shiftRegister_reg[15]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [1]),
-        .Q(\SR_shiftRegister_reg[15]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [2]),
-        .Q(\SR_shiftRegister_reg[15]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [3]),
-        .Q(\SR_shiftRegister_reg[15]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [4]),
-        .Q(\SR_shiftRegister_reg[15]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [5]),
-        .Q(\SR_shiftRegister_reg[15]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [6]),
-        .Q(\SR_shiftRegister_reg[15]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[15][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[14]__0 [7]),
-        .Q(\SR_shiftRegister_reg[15]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [0]),
-        .Q(\SR_shiftRegister_reg[1]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [1]),
-        .Q(\SR_shiftRegister_reg[1]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [2]),
-        .Q(\SR_shiftRegister_reg[1]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [3]),
-        .Q(\SR_shiftRegister_reg[1]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [4]),
-        .Q(\SR_shiftRegister_reg[1]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [5]),
-        .Q(\SR_shiftRegister_reg[1]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [6]),
-        .Q(\SR_shiftRegister_reg[1]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[1][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[0]__0 [7]),
-        .Q(\SR_shiftRegister_reg[1]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [0]),
-        .Q(\SR_shiftRegister_reg[2]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [1]),
-        .Q(\SR_shiftRegister_reg[2]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [2]),
-        .Q(\SR_shiftRegister_reg[2]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [3]),
-        .Q(\SR_shiftRegister_reg[2]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [4]),
-        .Q(\SR_shiftRegister_reg[2]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [5]),
-        .Q(\SR_shiftRegister_reg[2]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [6]),
-        .Q(\SR_shiftRegister_reg[2]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[2][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[1]__0 [7]),
-        .Q(\SR_shiftRegister_reg[2]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [0]),
-        .Q(\SR_shiftRegister_reg[3]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [1]),
-        .Q(\SR_shiftRegister_reg[3]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [2]),
-        .Q(\SR_shiftRegister_reg[3]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [3]),
-        .Q(\SR_shiftRegister_reg[3]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [4]),
-        .Q(\SR_shiftRegister_reg[3]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [5]),
-        .Q(\SR_shiftRegister_reg[3]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [6]),
-        .Q(\SR_shiftRegister_reg[3]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[3][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[2]__0 [7]),
-        .Q(\SR_shiftRegister_reg[3]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [0]),
-        .Q(\SR_shiftRegister_reg[4]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [1]),
-        .Q(\SR_shiftRegister_reg[4]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [2]),
-        .Q(\SR_shiftRegister_reg[4]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [3]),
-        .Q(\SR_shiftRegister_reg[4]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [4]),
-        .Q(\SR_shiftRegister_reg[4]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [5]),
-        .Q(\SR_shiftRegister_reg[4]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [6]),
-        .Q(\SR_shiftRegister_reg[4]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[4][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[3]__0 [7]),
-        .Q(\SR_shiftRegister_reg[4]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [0]),
-        .Q(\SR_shiftRegister_reg[5]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [1]),
-        .Q(\SR_shiftRegister_reg[5]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [2]),
-        .Q(\SR_shiftRegister_reg[5]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [3]),
-        .Q(\SR_shiftRegister_reg[5]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [4]),
-        .Q(\SR_shiftRegister_reg[5]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [5]),
-        .Q(\SR_shiftRegister_reg[5]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [6]),
-        .Q(\SR_shiftRegister_reg[5]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[5][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[4]__0 [7]),
-        .Q(\SR_shiftRegister_reg[5]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [0]),
-        .Q(\SR_shiftRegister_reg[6]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [1]),
-        .Q(\SR_shiftRegister_reg[6]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [2]),
-        .Q(\SR_shiftRegister_reg[6]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [3]),
-        .Q(\SR_shiftRegister_reg[6]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [4]),
-        .Q(\SR_shiftRegister_reg[6]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [5]),
-        .Q(\SR_shiftRegister_reg[6]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [6]),
-        .Q(\SR_shiftRegister_reg[6]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[6][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[5]__0 [7]),
-        .Q(\SR_shiftRegister_reg[6]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [0]),
-        .Q(\SR_shiftRegister_reg[7]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [1]),
-        .Q(\SR_shiftRegister_reg[7]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [2]),
-        .Q(\SR_shiftRegister_reg[7]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [3]),
-        .Q(\SR_shiftRegister_reg[7]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [4]),
-        .Q(\SR_shiftRegister_reg[7]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [5]),
-        .Q(\SR_shiftRegister_reg[7]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [6]),
-        .Q(\SR_shiftRegister_reg[7]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[7][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[6]__0 [7]),
-        .Q(\SR_shiftRegister_reg[7]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [0]),
-        .Q(\SR_shiftRegister_reg[8]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [1]),
-        .Q(\SR_shiftRegister_reg[8]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [2]),
-        .Q(\SR_shiftRegister_reg[8]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [3]),
-        .Q(\SR_shiftRegister_reg[8]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [4]),
-        .Q(\SR_shiftRegister_reg[8]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [5]),
-        .Q(\SR_shiftRegister_reg[8]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [6]),
-        .Q(\SR_shiftRegister_reg[8]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[8][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[7]__0 [7]),
-        .Q(\SR_shiftRegister_reg[8]__0 [7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [0]),
-        .Q(\SR_shiftRegister_reg[9]__0 [0]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [1]),
-        .Q(\SR_shiftRegister_reg[9]__0 [1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [2]),
-        .Q(\SR_shiftRegister_reg[9]__0 [2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [3]),
-        .Q(\SR_shiftRegister_reg[9]__0 [3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [4]),
-        .Q(\SR_shiftRegister_reg[9]__0 [4]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [5]),
-        .Q(\SR_shiftRegister_reg[9]__0 [5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [6]),
-        .Q(\SR_shiftRegister_reg[9]__0 [6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_shiftRegister_reg[9][7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(I_loadShift_IBUF),
-        .CLR(I_reset_IBUF),
-        .D(\SR_shiftRegister_reg[8]__0 [7]),
-        .Q(\SR_shiftRegister_reg[9]__0 [7]));
-  LUT2 #(
-    .INIT(4'hE)) 
-    \SR_sum[0]_i_1 
-       (.I0(I_loadSum_IBUF),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[0]_i_1_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[0]_i_10 
-       (.I0(SC_MultResult[0]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[0]),
-        .O(\SR_sum[0]_i_10_n_0 ));
-  LUT1 #(
-    .INIT(2'h1)) 
-    \SR_sum[0]_i_13 
-       (.I0(\SR_sum[0]_i_27_n_0 ),
-        .O(\SR_sum[0]_i_13_n_0 ));
-  LUT5 #(
-    .INIT(32'hFDDD777F)) 
-    \SR_sum[0]_i_14 
-       (.I0(\SR_shiftRegister[0] [1]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_sum[0]_i_14_n_0 ));
-  LUT5 #(
-    .INIT(32'h724E0000)) 
-    \SR_sum[0]_i_15 
-       (.I0(SR_readAddress_reg__0[3]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(\SR_shiftRegister[0] [1]),
-        .O(\SR_sum[0]_i_15_n_0 ));
-  LUT6 #(
-    .INIT(64'h02228880FDDD777F)) 
-    \SR_sum[0]_i_16 
-       (.I0(\SR_shiftRegister[0] [1]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[3]),
-        .I5(\SR_sum[0]_i_27_n_0 ),
-        .O(\SR_sum[0]_i_16_n_0 ));
-  LUT6 #(
-    .INIT(64'hCED287B3FDDD777F)) 
-    \SR_sum[0]_i_17 
-       (.I0(\SR_shiftRegister[0] [1]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[3]),
-        .I5(\SR_shiftRegister[0] [2]),
-        .O(\SR_sum[0]_i_17_n_0 ));
-  LUT6 #(
-    .INIT(64'h113AAC44220AA088)) 
-    \SR_sum[0]_i_18 
-       (.I0(\SR_shiftRegister[0] [1]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [0]),
-        .O(\SR_sum[0]_i_18_n_0 ));
-  LUT5 #(
-    .INIT(32'h028AA280)) 
-    \SR_sum[0]_i_19 
-       (.I0(\SR_shiftRegister[0] [0]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[2]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_sum[0]_i_19_n_0 ));
-  LUT3 #(
-    .INIT(8'h69)) 
-    \SR_sum[0]_i_20 
-       (.I0(\SR_sum[0]_i_31_n_0 ),
-        .I1(\SR_sum[0]_i_32_n_0 ),
-        .I2(\SR_sum[0]_i_33_n_0 ),
-        .O(\SR_sum[0]_i_20_n_0 ));
-  LUT6 #(
-    .INIT(64'h9B4AA1E6A88AA22A)) 
-    \SR_sum[0]_i_21 
-       (.I0(\SR_shiftRegister[0] [1]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[3]),
-        .I5(\SR_shiftRegister[0] [0]),
-        .O(\SR_sum[0]_i_21_n_0 ));
-  LUT5 #(
-    .INIT(32'h60060000)) 
-    \SR_sum[0]_i_22 
-       (.I0(SR_readAddress_reg__0[2]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(\SR_shiftRegister[0] [1]),
-        .O(\SR_sum[0]_i_22_n_0 ));
-  LUT6 #(
-    .INIT(64'h6696969666666666)) 
-    \SR_sum[0]_i_23 
-       (.I0(\SR_sum[0]_i_31_n_0 ),
-        .I1(\SR_sum[0]_i_33_n_0 ),
-        .I2(\SR_shiftRegister[0] [1]),
-        .I3(SC_multOperand2[1]),
-        .I4(\SR_shiftRegister[0] [0]),
-        .I5(SC_multOperand2[2]),
-        .O(\SR_sum[0]_i_23_n_0 ));
-  LUT6 #(
-    .INIT(64'h96AAAA96AAAAAAAA)) 
-    \SR_sum[0]_i_24 
-       (.I0(\SR_sum[0]_i_21_n_0 ),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[3]),
-        .I4(SR_readAddress_reg__0[1]),
-        .I5(\SR_shiftRegister[0] [2]),
-        .O(\SR_sum[0]_i_24_n_0 ));
-  LUT6 #(
-    .INIT(64'hF7C143DF08028020)) 
-    \SR_sum[0]_i_25 
-       (.I0(\SR_shiftRegister[0] [1]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[2]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister[0] [0]),
-        .O(\SR_sum[0]_i_25_n_0 ));
-  LUT5 #(
-    .INIT(32'h00828200)) 
-    \SR_sum[0]_i_26 
-       (.I0(\SR_shiftRegister[0] [0]),
-        .I1(SR_readAddress_reg__0[1]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_sum[0]_i_26_n_0 ));
-  LUT6 #(
-    .INIT(64'h113AAC44220AA088)) 
-    \SR_sum[0]_i_27 
-       (.I0(\SR_shiftRegister[0] [3]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[0]),
-        .I3(SR_readAddress_reg__0[1]),
-        .I4(SR_readAddress_reg__0[2]),
-        .I5(\SR_shiftRegister[0] [2]),
-        .O(\SR_sum[0]_i_27_n_0 ));
-  LUT3 #(
-    .INIT(8'h06)) 
-    \SR_sum[0]_i_3 
-       (.I0(\SR_sum_reg[0]_i_11_n_7 ),
-        .I1(\SR_sum_reg[0]_i_12_n_4 ),
-        .I2(I_initSum_IBUF),
-        .O(\SR_sum[0]_i_3_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair2" *) 
-  LUT5 #(
-    .INIT(32'h557D7D55)) 
-    \SR_sum[0]_i_31 
-       (.I0(\SR_shiftRegister[0] [2]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[2]),
-        .I4(SR_readAddress_reg__0[3]),
-        .O(\SR_sum[0]_i_31_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair6" *) 
-  LUT5 #(
-    .INIT(32'hF5FD7F5F)) 
-    \SR_sum[0]_i_32 
-       (.I0(\SR_shiftRegister[0] [1]),
-        .I1(SR_readAddress_reg__0[3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_sum[0]_i_32_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair5" *) 
-  LUT5 #(
-    .INIT(32'hFF7D7DFF)) 
-    \SR_sum[0]_i_33 
-       (.I0(\SR_shiftRegister[0] [3]),
-        .I1(SR_readAddress_reg__0[1]),
-        .I2(SR_readAddress_reg__0[3]),
-        .I3(SR_readAddress_reg__0[0]),
-        .I4(SR_readAddress_reg__0[2]),
-        .O(\SR_sum[0]_i_33_n_0 ));
-  (* SOFT_HLUTNM = "soft_lutpair7" *) 
-  LUT4 #(
-    .INIT(16'hF99F)) 
-    \SR_sum[0]_i_34 
-       (.I0(SR_readAddress_reg__0[3]),
-        .I1(SR_readAddress_reg__0[2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[0]),
-        .O(SC_multOperand2[1]));
-  (* SOFT_HLUTNM = "soft_lutpair6" *) 
-  LUT4 #(
-    .INIT(16'h581A)) 
-    \SR_sum[0]_i_35 
-       (.I0(SR_readAddress_reg__0[2]),
-        .I1(SR_readAddress_reg__0[0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(SR_readAddress_reg__0[3]),
-        .O(SC_multOperand2[2]));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[0]_i_4 
-       (.I0(SC_MultResult[2]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[0]_i_4_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_45 
-       (.I0(\SR_shiftRegister_reg[3]__0 [1]),
-        .I1(\SR_shiftRegister_reg[2]__0 [1]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [1]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [1]),
-        .O(\SR_sum[0]_i_45_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_46 
-       (.I0(\SR_shiftRegister_reg[7]__0 [1]),
-        .I1(\SR_shiftRegister_reg[6]__0 [1]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [1]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [1]),
-        .O(\SR_sum[0]_i_46_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_47 
-       (.I0(\SR_shiftRegister_reg[11]__0 [1]),
-        .I1(\SR_shiftRegister_reg[10]__0 [1]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [1]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [1]),
-        .O(\SR_sum[0]_i_47_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_48 
-       (.I0(\SR_shiftRegister_reg[15]__0 [1]),
-        .I1(\SR_shiftRegister_reg[14]__0 [1]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [1]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [1]),
-        .O(\SR_sum[0]_i_48_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_49 
-       (.I0(\SR_shiftRegister_reg[3]__0 [2]),
-        .I1(\SR_shiftRegister_reg[2]__0 [2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [2]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [2]),
-        .O(\SR_sum[0]_i_49_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[0]_i_5 
-       (.I0(SC_MultResult[1]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[0]_i_5_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_50 
-       (.I0(\SR_shiftRegister_reg[7]__0 [2]),
-        .I1(\SR_shiftRegister_reg[6]__0 [2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [2]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [2]),
-        .O(\SR_sum[0]_i_50_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_51 
-       (.I0(\SR_shiftRegister_reg[11]__0 [2]),
-        .I1(\SR_shiftRegister_reg[10]__0 [2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [2]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [2]),
-        .O(\SR_sum[0]_i_51_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_52 
-       (.I0(\SR_shiftRegister_reg[15]__0 [2]),
-        .I1(\SR_shiftRegister_reg[14]__0 [2]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [2]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [2]),
-        .O(\SR_sum[0]_i_52_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_53 
-       (.I0(\SR_shiftRegister_reg[3]__0 [0]),
-        .I1(\SR_shiftRegister_reg[2]__0 [0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [0]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [0]),
-        .O(\SR_sum[0]_i_53_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_54 
-       (.I0(\SR_shiftRegister_reg[7]__0 [0]),
-        .I1(\SR_shiftRegister_reg[6]__0 [0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [0]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [0]),
-        .O(\SR_sum[0]_i_54_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_55 
-       (.I0(\SR_shiftRegister_reg[11]__0 [0]),
-        .I1(\SR_shiftRegister_reg[10]__0 [0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [0]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [0]),
-        .O(\SR_sum[0]_i_55_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_56 
-       (.I0(\SR_shiftRegister_reg[15]__0 [0]),
-        .I1(\SR_shiftRegister_reg[14]__0 [0]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [0]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [0]),
-        .O(\SR_sum[0]_i_56_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_57 
-       (.I0(\SR_shiftRegister_reg[3]__0 [3]),
-        .I1(\SR_shiftRegister_reg[2]__0 [3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[1]__0 [3]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[0]__0 [3]),
-        .O(\SR_sum[0]_i_57_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_58 
-       (.I0(\SR_shiftRegister_reg[7]__0 [3]),
-        .I1(\SR_shiftRegister_reg[6]__0 [3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[5]__0 [3]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[4]__0 [3]),
-        .O(\SR_sum[0]_i_58_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_59 
-       (.I0(\SR_shiftRegister_reg[11]__0 [3]),
-        .I1(\SR_shiftRegister_reg[10]__0 [3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[9]__0 [3]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[8]__0 [3]),
-        .O(\SR_sum[0]_i_59_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[0]_i_6 
-       (.I0(SC_MultResult[0]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[0]_i_6_n_0 ));
-  LUT6 #(
-    .INIT(64'hAFA0CFCFAFA0C0C0)) 
-    \SR_sum[0]_i_60 
-       (.I0(\SR_shiftRegister_reg[15]__0 [3]),
-        .I1(\SR_shiftRegister_reg[14]__0 [3]),
-        .I2(SR_readAddress_reg__0[1]),
-        .I3(\SR_shiftRegister_reg[13]__0 [3]),
-        .I4(SR_readAddress_reg__0[0]),
-        .I5(\SR_shiftRegister_reg[12]__0 [3]),
-        .O(\SR_sum[0]_i_60_n_0 ));
-  LUT4 #(
-    .INIT(16'h0906)) 
-    \SR_sum[0]_i_7 
-       (.I0(\SR_sum_reg[0]_i_12_n_4 ),
-        .I1(\SR_sum_reg[0]_i_11_n_7 ),
-        .I2(I_initSum_IBUF),
-        .I3(SR_sum_reg[3]),
-        .O(\SR_sum[0]_i_7_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[0]_i_8 
-       (.I0(SC_MultResult[2]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[2]),
-        .O(\SR_sum[0]_i_8_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[0]_i_9 
-       (.I0(SC_MultResult[1]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[1]),
-        .O(\SR_sum[0]_i_9_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[12]_i_2 
-       (.I0(SC_MultResult[13]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[12]_i_2_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[12]_i_3 
-       (.I0(SC_MultResult[12]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[12]_i_3_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[12]_i_4 
-       (.I0(SC_MultResult[14]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[14]),
-        .O(\SR_sum[12]_i_4_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[12]_i_5 
-       (.I0(SC_MultResult[13]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[13]),
-        .O(\SR_sum[12]_i_5_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[12]_i_6 
-       (.I0(SC_MultResult[12]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[12]),
-        .O(\SR_sum[12]_i_6_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[4]_i_2 
-       (.I0(SC_MultResult[7]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[4]_i_2_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[4]_i_3 
-       (.I0(SC_MultResult[6]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[4]_i_3_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[4]_i_4 
-       (.I0(SC_MultResult[5]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[4]_i_4_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[4]_i_5 
-       (.I0(SC_MultResult[4]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[4]_i_5_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[4]_i_6 
-       (.I0(SC_MultResult[7]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[7]),
-        .O(\SR_sum[4]_i_6_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[4]_i_7 
-       (.I0(SC_MultResult[6]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[6]),
-        .O(\SR_sum[4]_i_7_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[4]_i_8 
-       (.I0(SC_MultResult[5]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[5]),
-        .O(\SR_sum[4]_i_8_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[4]_i_9 
-       (.I0(SC_MultResult[4]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[4]),
-        .O(\SR_sum[4]_i_9_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[8]_i_2 
-       (.I0(SC_MultResult[11]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[8]_i_2_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[8]_i_3 
-       (.I0(SC_MultResult[10]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[8]_i_3_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[8]_i_4 
-       (.I0(SC_MultResult[9]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[8]_i_4_n_0 ));
-  LUT2 #(
-    .INIT(4'h2)) 
-    \SR_sum[8]_i_5 
-       (.I0(SC_MultResult[8]),
-        .I1(I_initSum_IBUF),
-        .O(\SR_sum[8]_i_5_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[8]_i_6 
-       (.I0(SC_MultResult[11]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[11]),
-        .O(\SR_sum[8]_i_6_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[8]_i_7 
-       (.I0(SC_MultResult[10]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[10]),
-        .O(\SR_sum[8]_i_7_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[8]_i_8 
-       (.I0(SC_MultResult[9]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[9]),
-        .O(\SR_sum[8]_i_8_n_0 ));
-  LUT3 #(
-    .INIT(8'h12)) 
-    \SR_sum[8]_i_9 
-       (.I0(SC_MultResult[8]),
-        .I1(I_initSum_IBUF),
-        .I2(SR_sum_reg[8]),
-        .O(\SR_sum[8]_i_9_n_0 ));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[0] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[0]_i_2_n_7 ),
-        .Q(SR_sum_reg[0]));
-  CARRY4 \SR_sum_reg[0]_i_11 
-       (.CI(\<const0> ),
-        .CO({\SR_sum_reg[0]_i_11_n_0 ,\SR_sum_reg[0]_i_11_n_1 ,\SR_sum_reg[0]_i_11_n_2 ,\SR_sum_reg[0]_i_11_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_sum[0]_i_13_n_0 ,\SR_sum[0]_i_14_n_0 ,\SR_sum[0]_i_15_n_0 ,\<const0> }),
-        .O({\SR_sum_reg[0]_i_11_n_4 ,\SR_sum_reg[0]_i_11_n_5 ,\SR_sum_reg[0]_i_11_n_6 ,\SR_sum_reg[0]_i_11_n_7 }),
-        .S({\SR_sum[0]_i_16_n_0 ,\SR_sum[0]_i_17_n_0 ,\SR_sum[0]_i_18_n_0 ,\SR_sum[0]_i_19_n_0 }));
-  CARRY4 \SR_sum_reg[0]_i_12 
-       (.CI(\<const0> ),
-        .CO({\SR_sum_reg[0]_i_12_n_0 ,\SR_sum_reg[0]_i_12_n_1 ,\SR_sum_reg[0]_i_12_n_2 ,\SR_sum_reg[0]_i_12_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_sum[0]_i_20_n_0 ,\SR_sum[0]_i_21_n_0 ,\SR_sum[0]_i_22_n_0 ,\<const0> }),
-        .O({\SR_sum_reg[0]_i_12_n_4 ,SC_MultResult[2:0]}),
-        .S({\SR_sum[0]_i_23_n_0 ,\SR_sum[0]_i_24_n_0 ,\SR_sum[0]_i_25_n_0 ,\SR_sum[0]_i_26_n_0 }));
-  CARRY4 \SR_sum_reg[0]_i_2 
-       (.CI(\<const0> ),
-        .CO({\SR_sum_reg[0]_i_2_n_0 ,\SR_sum_reg[0]_i_2_n_1 ,\SR_sum_reg[0]_i_2_n_2 ,\SR_sum_reg[0]_i_2_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_sum[0]_i_3_n_0 ,\SR_sum[0]_i_4_n_0 ,\SR_sum[0]_i_5_n_0 ,\SR_sum[0]_i_6_n_0 }),
-        .O({\SR_sum_reg[0]_i_2_n_4 ,\SR_sum_reg[0]_i_2_n_5 ,\SR_sum_reg[0]_i_2_n_6 ,\SR_sum_reg[0]_i_2_n_7 }),
-        .S({\SR_sum[0]_i_7_n_0 ,\SR_sum[0]_i_8_n_0 ,\SR_sum[0]_i_9_n_0 ,\SR_sum[0]_i_10_n_0 }));
-  MUXF8 \SR_sum_reg[0]_i_28 
-       (.I0(\SR_sum_reg[0]_i_37_n_0 ),
-        .I1(\SR_sum_reg[0]_i_38_n_0 ),
-        .O(\SR_shiftRegister[0] [1]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF8 \SR_sum_reg[0]_i_29 
-       (.I0(\SR_sum_reg[0]_i_39_n_0 ),
-        .I1(\SR_sum_reg[0]_i_40_n_0 ),
-        .O(\SR_shiftRegister[0] [2]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF8 \SR_sum_reg[0]_i_30 
-       (.I0(\SR_sum_reg[0]_i_41_n_0 ),
-        .I1(\SR_sum_reg[0]_i_42_n_0 ),
-        .O(\SR_shiftRegister[0] [0]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF8 \SR_sum_reg[0]_i_36 
-       (.I0(\SR_sum_reg[0]_i_43_n_0 ),
-        .I1(\SR_sum_reg[0]_i_44_n_0 ),
-        .O(\SR_shiftRegister[0] [3]),
-        .S(SR_readAddress_reg__0[3]));
-  MUXF7 \SR_sum_reg[0]_i_37 
-       (.I0(\SR_sum[0]_i_45_n_0 ),
-        .I1(\SR_sum[0]_i_46_n_0 ),
-        .O(\SR_sum_reg[0]_i_37_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_sum_reg[0]_i_38 
-       (.I0(\SR_sum[0]_i_47_n_0 ),
-        .I1(\SR_sum[0]_i_48_n_0 ),
-        .O(\SR_sum_reg[0]_i_38_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_sum_reg[0]_i_39 
-       (.I0(\SR_sum[0]_i_49_n_0 ),
-        .I1(\SR_sum[0]_i_50_n_0 ),
-        .O(\SR_sum_reg[0]_i_39_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_sum_reg[0]_i_40 
-       (.I0(\SR_sum[0]_i_51_n_0 ),
-        .I1(\SR_sum[0]_i_52_n_0 ),
-        .O(\SR_sum_reg[0]_i_40_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_sum_reg[0]_i_41 
-       (.I0(\SR_sum[0]_i_53_n_0 ),
-        .I1(\SR_sum[0]_i_54_n_0 ),
-        .O(\SR_sum_reg[0]_i_41_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_sum_reg[0]_i_42 
-       (.I0(\SR_sum[0]_i_55_n_0 ),
-        .I1(\SR_sum[0]_i_56_n_0 ),
-        .O(\SR_sum_reg[0]_i_42_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_sum_reg[0]_i_43 
-       (.I0(\SR_sum[0]_i_57_n_0 ),
-        .I1(\SR_sum[0]_i_58_n_0 ),
-        .O(\SR_sum_reg[0]_i_43_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  MUXF7 \SR_sum_reg[0]_i_44 
-       (.I0(\SR_sum[0]_i_59_n_0 ),
-        .I1(\SR_sum[0]_i_60_n_0 ),
-        .O(\SR_sum_reg[0]_i_44_n_0 ),
-        .S(SR_readAddress_reg__0[2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[10] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[8]_i_1_n_5 ),
-        .Q(SR_sum_reg[10]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[11] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[8]_i_1_n_4 ),
-        .Q(SR_sum_reg[11]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[12] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[12]_i_1_n_7 ),
-        .Q(SR_sum_reg[12]));
-  CARRY4 \SR_sum_reg[12]_i_1 
-       (.CI(\SR_sum_reg[8]_i_1_n_0 ),
-        .CO({\SR_sum_reg[12]_i_1_n_2 ,\SR_sum_reg[12]_i_1_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\<const0> ,\<const0> ,\SR_sum[12]_i_2_n_0 ,\SR_sum[12]_i_3_n_0 }),
-        .O({\SR_sum_reg[12]_i_1_n_5 ,\SR_sum_reg[12]_i_1_n_6 ,\SR_sum_reg[12]_i_1_n_7 }),
-        .S({\<const0> ,\SR_sum[12]_i_4_n_0 ,\SR_sum[12]_i_5_n_0 ,\SR_sum[12]_i_6_n_0 }));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[13] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[12]_i_1_n_6 ),
-        .Q(SR_sum_reg[13]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[14] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[12]_i_1_n_5 ),
-        .Q(SR_sum_reg[14]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[1] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[0]_i_2_n_6 ),
-        .Q(SR_sum_reg[1]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[2] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[0]_i_2_n_5 ),
-        .Q(SR_sum_reg[2]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[3] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[0]_i_2_n_4 ),
-        .Q(SR_sum_reg[3]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[4] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[4]_i_1_n_7 ),
-        .Q(SR_sum_reg[4]));
-  CARRY4 \SR_sum_reg[4]_i_1 
-       (.CI(\SR_sum_reg[0]_i_2_n_0 ),
-        .CO({\SR_sum_reg[4]_i_1_n_0 ,\SR_sum_reg[4]_i_1_n_1 ,\SR_sum_reg[4]_i_1_n_2 ,\SR_sum_reg[4]_i_1_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_sum[4]_i_2_n_0 ,\SR_sum[4]_i_3_n_0 ,\SR_sum[4]_i_4_n_0 ,\SR_sum[4]_i_5_n_0 }),
-        .O({\SR_sum_reg[4]_i_1_n_4 ,\SR_sum_reg[4]_i_1_n_5 ,\SR_sum_reg[4]_i_1_n_6 ,\SR_sum_reg[4]_i_1_n_7 }),
-        .S({\SR_sum[4]_i_6_n_0 ,\SR_sum[4]_i_7_n_0 ,\SR_sum[4]_i_8_n_0 ,\SR_sum[4]_i_9_n_0 }));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[5] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[4]_i_1_n_6 ),
-        .Q(SR_sum_reg[5]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[6] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[4]_i_1_n_5 ),
-        .Q(SR_sum_reg[6]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[7] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[4]_i_1_n_4 ),
-        .Q(SR_sum_reg[7]));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[8] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[8]_i_1_n_7 ),
-        .Q(SR_sum_reg[8]));
-  CARRY4 \SR_sum_reg[8]_i_1 
-       (.CI(\SR_sum_reg[4]_i_1_n_0 ),
-        .CO({\SR_sum_reg[8]_i_1_n_0 ,\SR_sum_reg[8]_i_1_n_1 ,\SR_sum_reg[8]_i_1_n_2 ,\SR_sum_reg[8]_i_1_n_3 }),
-        .CYINIT(\<const0> ),
-        .DI({\SR_sum[8]_i_2_n_0 ,\SR_sum[8]_i_3_n_0 ,\SR_sum[8]_i_4_n_0 ,\SR_sum[8]_i_5_n_0 }),
-        .O({\SR_sum_reg[8]_i_1_n_4 ,\SR_sum_reg[8]_i_1_n_5 ,\SR_sum_reg[8]_i_1_n_6 ,\SR_sum_reg[8]_i_1_n_7 }),
-        .S({\SR_sum[8]_i_6_n_0 ,\SR_sum[8]_i_7_n_0 ,\SR_sum[8]_i_8_n_0 ,\SR_sum[8]_i_9_n_0 }));
-  FDCE #(
-    .INIT(1'b0)) 
-    \SR_sum_reg[9] 
-       (.C(I_clock_IBUF_BUFG),
-        .CE(\SR_sum[0]_i_1_n_0 ),
-        .CLR(I_reset_IBUF),
-        .D(\SR_sum_reg[8]_i_1_n_6 ),
-        .Q(SR_sum_reg[9]));
-  VCC VCC
-       (.P(\<const1> ));
-endmodule
diff --git a/src/hdl/tb_firUnit.vhd b/src/hdl/tb_firUnit.vhd
deleted file mode 100644
index e19d713585d5121f39e78cd67ed5edb8a48f4ed0..0000000000000000000000000000000000000000
--- a/src/hdl/tb_firUnit.vhd
+++ /dev/null
@@ -1,87 +0,0 @@
--------------------------------------------------------------------------------
--- Title      : FirUnit
--- Project    : 
--------------------------------------------------------------------------------
--- File       : operativeUnit.vhd
--- Author     : Jean-Noel BAZIN  <jnbazin@pc-disi-026.enst-bretagne.fr>
--- Company    : 
--- Created    : 2018-04-11
--- Last update: 2019-02-26
--- Platform   : 
--- Standard   : VHDL'93/02
--------------------------------------------------------------------------------
--- Description: 8 bit FIR
--------------------------------------------------------------------------------
--- Copyright (c) 2018 
--------------------------------------------------------------------------------
--- Revisions  :
--- Date        Version  Author  Description
--- 2018-04-11  1.0      jnbazin Created
--- 2018-04-18  1.1      marzel	Modified to add more test inputs
--- 2019-02-26  1.1      marzel  Adapted to 16-tap filtering
--------------------------------------------------------------------------------
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
-
-entity tb_firUnit is
-end entity tb_firUnit;
-
-architecture archi_tb_firUnit of tb_firUnit is
-  component firUnit is
-    port (
-      I_clock               : in  std_logic;
-      I_reset               : in  std_logic;
-      I_inputSample         : in  std_logic_vector(7 downto 0);
-      I_inputSampleValid    : in  std_logic;
-      O_filteredSample      : out std_logic_vector(7 downto 0);
-      O_filteredSampleValid : out std_logic);
-  end component firUnit;
-
-  signal SC_clock               : std_logic := '0';
-  signal SC_reset               : std_logic;
-  signal SC_inputSample         : std_logic_vector(7 downto 0);
-  signal SC_inputSampleValid    : std_logic:='0';
-  signal SC_filteredSample      : std_logic_vector(7 downto 0);
-  signal SC_filteredSampleValid : std_logic;
-
-begin
-
-  SC_clock <= not SC_clock after 5 ns;
-  SC_reset <= '0', '1' after 19 ns, '0' after 57 ns;
-
-  -- Sample period = 20 clk period
-  SC_inputSampleValid <= not SC_inputSampleValid after 100 ns;
-
-  -- Null signal followed by a Dirac and then an arbitrary sequence
-  SC_inputSample <= "00000000",
-                    "01111111" after 401 ns,
-                    "00000000" after 601 ns,
-                    "00100100" after 4201 ns,
-                    "01100100" after 4401 ns,
-                    "10100010" after 4601 ns,
-                    "11011011" after 4801 ns,
-                    "00001011" after 5001 ns,
-                    "10000000" after 5201 ns,
-                    "01111111" after 5401 ns,
-                    "10111010" after 5601 ns;
-
-
--- the filter output on 8 bits is a sequence of signed numbers (with the  assumption
--- of rounding the output, so the accuracy can be slightly different depending
--- on your final stage):
-  -- 0 2 3 6 10 15 20 24 26 26 24 20 15 10 6 3 2 0 0 0 1 2 3 5 7 7 8  4 -1 -8
-  -- -17 -27 -38 -49 -61 -71 -82 -93 -101 -107 -112 -113 -116
-  
-
-  firUnit_1 : entity work.firUnit
-    port map (
-      I_clock               => SC_clock,
-      I_reset               => SC_reset,
-      I_inputSample         => SC_inputSample,
-      I_inputSampleValid    => SC_inputSampleValid,
-      O_filteredSample      => SC_filteredSample,
-      O_filteredSampleValid => SC_filteredSampleValid);
-
-end architecture archi_tb_firUnit;