cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Newbie
Newbie
12,993 Views
Registered: ‎01-29-2015

[Synth 8-3332] Sequential element (\FSM_onehot_estado_reg[6] ) is unused and will be removed...

Jump to solution

I am using Vivado 2013.4

 

When I  is synthesised the module i get two warnings. I tried to use some attributes but not work

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_unsigned.all; 

entity synchro5X5 is   
PORT (
		 clk5sy      			: IN STD_LOGIC;
		 rst5sy					: IN STD_LOGIC;
		 xx_res					: IN STD_LOGIC_VECTOR (10 DOWNTO 0);
		 l1sy 					: IN STD_LOGIC_VECTOR (14 DOWNTO 0);
		 l2sy 					: IN STD_LOGIC_VECTOR (14 DOWNTO 0);
		 l3sy 					: IN STD_LOGIC_VECTOR (14 DOWNTO 0);
		 l4sy 					: IN STD_LOGIC_VECTOR (14 DOWNTO 0);
		 l5sy 					: IN STD_LOGIC_VECTOR (14 DOWNTO 0);		 
       msk5e_001sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_002sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_003sy       	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_004sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_005sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_006sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_007sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_008sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_009sy   		: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_010sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_011sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_012sy       	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_013sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_014sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_015sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_016sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_017sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_018sy   		: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_019sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_020sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_021sy       	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_022sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_023sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_024sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);
       msk5e_025sy	   	: IN STD_LOGIC_VECTOR (15 downto 0);		 
       msk5e_001syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_002syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_003syy       	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_004syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_005syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_006syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_007syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_008syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_009syy   		: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_010syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_011syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_012syy       	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_013syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_014syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_015syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_016syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_017syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_018syy   		: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_019syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_020syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_021syy       	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_022syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_023syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_024syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);
       msk5e_025syy	   	: OUT STD_LOGIC_VECTOR (15 downto 0);		 
       l1syy					: OUT STD_LOGIC_VECTOR (14 DOWNTO 0);
       l2syy					: OUT STD_LOGIC_VECTOR (14 DOWNTO 0);
       l3syy					: OUT STD_LOGIC_VECTOR (14 DOWNTO 0);
       l4syy					: OUT STD_LOGIC_VECTOR (14 DOWNTO 0);
       l5syy					: OUT STD_LOGIC_VECTOR (14 DOWNTO 0)
	  );
end synchro5X5;

architecture sincronizador of synchro5X5 is
--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
--                          Señales
--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
signal contador : STD_LOGIC_VECTOR (10 downto 0) := "00000000000";
type estados is (S1,S2,S3,S4,S5,S6);
signal estado   : estados;
attribute fms_encoding : string;
attribute fms_encoding of estado : signal is "secuential";
--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
--                         Comportamiento
--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
BEGIN
------------------------------------------------------------------
------------------------------------------------------------------
l1syy <= l1sy;
l2syy <= l2sy;
l3syy <= l3sy;		
l4syy <= l4sy;	
l5syy <= l5sy;	

    PROCESS (rst5sy, clk5sy, contador,xx_res)
    BEGIN   
          IF rst5sy = '1' or contador = xx_res THEN 
             contador <= "00000000000";   
          ELSIF  rising_edge(clk5sy)  THEN     
				 contador <=contador  +"00000000001"; 
          END IF;  
    END PROCESS ;


    PROCESS (rst5sy,clk5sy)
    BEGIN   
          IF rst5sy = '1' THEN 
				 estado <= S1;
          ELSIF  rising_edge(clk5sy) THEN    	 
				CASE estado IS
					WHEN S1 =>   
						estado <= S2;
					WHEN S2 =>   
						estado <= S3;
					WHEN S3 =>  
						estado <= S4;
					WHEN S4 =>  
						estado <= S5;		
					WHEN S5 =>  
						estado <= S6;
					WHEN S6 =>  
						estado <= S1;						
					--WHEN OTHERS => 
						--estado <= "001";	
				END CASE;			 
          END IF;  
    END PROCESS ;
	 
    PROCESS (clk5sy,contador,estado,l1sy,l2sy,l3sy,l4sy,l5sy,
				 msk5e_001sy,msk5e_002sy,msk5e_003sy,msk5e_004sy,msk5e_005sy,
				 msk5e_006sy,msk5e_007sy,msk5e_008sy,msk5e_009sy,msk5e_010sy,
				 msk5e_011sy,msk5e_012sy,msk5e_013sy,msk5e_014sy,msk5e_015sy,
				 msk5e_016sy,msk5e_017sy,msk5e_018sy,msk5e_019sy,msk5e_020sy,
				 msk5e_021sy,msk5e_022sy,msk5e_023sy,msk5e_024sy,msk5e_025sy)
    BEGIN   
          IF  falling_edge(clk5sy) and contador = "00000000000" THEN    	 
				CASE estado IS
------------------------------------------------------------------
--									LINEA 1
------------------------------------------------------------------
					WHEN S1 =>   
						msk5e_001syy <= msk5e_001sy;
						msk5e_002syy <= msk5e_002sy;
						msk5e_003syy <= msk5e_003sy;
						msk5e_004syy <= msk5e_004sy;
						msk5e_005syy <= msk5e_005sy;
						msk5e_006syy <= msk5e_006sy;
						msk5e_007syy <= msk5e_007sy;
						msk5e_008syy <= msk5e_008sy;
						msk5e_009syy <= msk5e_009sy;
						msk5e_010syy <= msk5e_010sy;
						msk5e_011syy <= msk5e_011sy;
						msk5e_012syy <= msk5e_012sy;
						msk5e_013syy <= msk5e_013sy;
						msk5e_014syy <= msk5e_014sy;
						msk5e_015syy <= msk5e_015sy;
						msk5e_016syy <= msk5e_016sy;
						msk5e_017syy <= msk5e_017sy;
						msk5e_018syy <= msk5e_018sy;
						msk5e_019syy <= msk5e_019sy;
						msk5e_020syy <= msk5e_020sy;
						msk5e_021syy <= msk5e_021sy;
						msk5e_022syy <= msk5e_022sy;
						msk5e_023syy <= msk5e_023sy;
						msk5e_024syy <= msk5e_024sy;
						msk5e_025syy <= msk5e_025sy;
------------------------------------------------------------------
--									LINEA 2
------------------------------------------------------------------
					WHEN S2 =>   
						msk5e_001syy <= msk5e_001sy;
						msk5e_002syy <= msk5e_002sy;
						msk5e_003syy <= msk5e_003sy;
						msk5e_004syy <= msk5e_004sy;
						msk5e_005syy <= msk5e_005sy;
						msk5e_006syy <= msk5e_006sy;
						msk5e_007syy <= msk5e_007sy;
						msk5e_008syy <= msk5e_008sy;
						msk5e_009syy <= msk5e_009sy;
						msk5e_010syy <= msk5e_010sy;
						msk5e_011syy <= msk5e_011sy;
						msk5e_012syy <= msk5e_012sy;
						msk5e_013syy <= msk5e_013sy;
						msk5e_014syy <= msk5e_014sy;
						msk5e_015syy <= msk5e_015sy;
						msk5e_016syy <= msk5e_016sy;
						msk5e_017syy <= msk5e_017sy;
						msk5e_018syy <= msk5e_018sy;
						msk5e_019syy <= msk5e_019sy;
						msk5e_020syy <= msk5e_020sy;
						msk5e_021syy <= msk5e_021sy;
						msk5e_022syy <= msk5e_022sy;
						msk5e_023syy <= msk5e_023sy;
						msk5e_024syy <= msk5e_024sy;
						msk5e_025syy <= msk5e_025sy;
------------------------------------------------------------------
--									LINEA 3
------------------------------------------------------------------
					WHEN S3 =>  
						msk5e_001syy <= msk5e_021sy;
						msk5e_002syy <= msk5e_022sy;
						msk5e_003syy <= msk5e_023sy;
						msk5e_004syy <= msk5e_024sy;
						msk5e_005syy <= msk5e_025sy;
						msk5e_006syy <= msk5e_001sy;
						msk5e_007syy <= msk5e_002sy;
						msk5e_008syy <= msk5e_003sy;
						msk5e_009syy <= msk5e_004sy;
						msk5e_010syy <= msk5e_005sy;
						msk5e_011syy <= msk5e_006sy;
						msk5e_012syy <= msk5e_007sy;
						msk5e_013syy <= msk5e_008sy;
						msk5e_014syy <= msk5e_009sy;
						msk5e_015syy <= msk5e_010sy;
						msk5e_016syy <= msk5e_011sy;
						msk5e_017syy <= msk5e_012sy;
						msk5e_018syy <= msk5e_013sy;
						msk5e_019syy <= msk5e_014sy;
						msk5e_020syy <= msk5e_015sy;
						msk5e_021syy <= msk5e_016sy;
						msk5e_022syy <= msk5e_017sy;
						msk5e_023syy <= msk5e_018sy;
						msk5e_024syy <= msk5e_019sy;
						msk5e_025syy <= msk5e_020sy;
------------------------------------------------------------------
--									LINEA 4
------------------------------------------------------------------
					WHEN S4 =>  
						msk5e_001syy <= msk5e_016sy;
						msk5e_002syy <= msk5e_017sy;
						msk5e_003syy <= msk5e_018sy;
						msk5e_004syy <= msk5e_019sy;
						msk5e_005syy <= msk5e_020sy;
						msk5e_006syy <= msk5e_021sy;
						msk5e_007syy <= msk5e_022sy;
						msk5e_008syy <= msk5e_023sy;
						msk5e_009syy <= msk5e_024sy;
						msk5e_010syy <= msk5e_025sy;
						msk5e_011syy <= msk5e_001sy;
						msk5e_012syy <= msk5e_002sy;
						msk5e_013syy <= msk5e_003sy;
						msk5e_014syy <= msk5e_004sy;
						msk5e_015syy <= msk5e_005sy;
						msk5e_016syy <= msk5e_006sy;
						msk5e_017syy <= msk5e_007sy;
						msk5e_018syy <= msk5e_008sy;
						msk5e_019syy <= msk5e_009sy;
						msk5e_020syy <= msk5e_010sy;
						msk5e_021syy <= msk5e_011sy;
						msk5e_022syy <= msk5e_012sy;
						msk5e_023syy <= msk5e_013sy;
						msk5e_024syy <= msk5e_014sy;
						msk5e_025syy <= msk5e_015sy;
------------------------------------------------------------------
--									LINEA 5
------------------------------------------------------------------						
					WHEN S5 =>  
						msk5e_001syy <= msk5e_011sy;
						msk5e_002syy <= msk5e_012sy;
						msk5e_003syy <= msk5e_013sy;
						msk5e_004syy <= msk5e_014sy;
						msk5e_005syy <= msk5e_015sy;
						msk5e_006syy <= msk5e_016sy;
						msk5e_007syy <= msk5e_017sy;
						msk5e_008syy <= msk5e_018sy;
						msk5e_009syy <= msk5e_019sy;
						msk5e_010syy <= msk5e_020sy;
						msk5e_011syy <= msk5e_021sy;
						msk5e_012syy <= msk5e_022sy;
						msk5e_013syy <= msk5e_023sy;
						msk5e_014syy <= msk5e_024sy;
						msk5e_015syy <= msk5e_025sy;
						msk5e_016syy <= msk5e_001sy;
						msk5e_017syy <= msk5e_002sy;
						msk5e_018syy <= msk5e_003sy;
						msk5e_019syy <= msk5e_004sy;
						msk5e_020syy <= msk5e_005sy;
						msk5e_021syy <= msk5e_006sy;
						msk5e_022syy <= msk5e_006sy;
						msk5e_023syy <= msk5e_008sy;
						msk5e_024syy <= msk5e_009sy;
						msk5e_025syy <= msk5e_010sy;	
------------------------------------------------------------------
--									LINEA 6
------------------------------------------------------------------
					WHEN S6 =>  
						msk5e_001syy <= msk5e_006sy;
						msk5e_002syy <= msk5e_007sy;
						msk5e_003syy <= msk5e_008sy;
						msk5e_004syy <= msk5e_009sy;
						msk5e_005syy <= msk5e_010sy;
						msk5e_006syy <= msk5e_011sy;
						msk5e_007syy <= msk5e_012sy;
						msk5e_008syy <= msk5e_013sy;
						msk5e_009syy <= msk5e_014sy;
						msk5e_010syy <= msk5e_015sy;
						msk5e_011syy <= msk5e_016sy;
						msk5e_012syy <= msk5e_017sy;
						msk5e_013syy <= msk5e_018sy;
						msk5e_014syy <= msk5e_019sy;
						msk5e_015syy <= msk5e_020sy;
						msk5e_016syy <= msk5e_021sy;
						msk5e_017syy <= msk5e_022sy;
						msk5e_018syy <= msk5e_023sy;
						msk5e_019syy <= msk5e_021sy;
						msk5e_020syy <= msk5e_025sy;
						msk5e_021syy <= msk5e_001sy;
						msk5e_022syy <= msk5e_002sy;
						msk5e_023syy <= msk5e_003sy;
						msk5e_024syy <= msk5e_004sy;
						msk5e_025syy <= msk5e_005sy;	
				END CASE;			 
          END IF;  
    END PROCESS ;
	 
end sincronizador;

 

what is wrong here?

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
22,204 Views
Registered: ‎02-14-2014

Hello,

Can you try this design with the latest version of Vivado Design Suite? I have tried to synthesize the design with Vivado 2014.4 and I don't see these warnings. I have attached log file for your reference.

Regards,
Ashish
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
6 Replies
Highlighted
Moderator
Moderator
12,988 Views
Registered: ‎07-21-2014

Hi,

 

What are the warnings did you get in synthesis phase?

Make sure signals mentioned in warnings are properly connected.

 

Thanks,
Anusheel
-----------------------------------------------------------------------------------------------
Search for documents/answer records related to your device and tool before posting query on forums.
Search related forums and make sure your query is not repeated.

Please mark the post as an answer "Accept as solution" in case it helps to resolve your query.
Helpful answer -> Give Kudos
-----------------------------------------------------------------------------------------------

Tags (2)
0 Kudos
Highlighted
Newbie
Newbie
12,983 Views
Registered: ‎01-29-2015

Hi, the warning is 

  • [Synth 8-3332] Sequential element (\FSM_onehot_estado_reg[6] ) is unused and will be removed from module synchro5X5.
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
12,982 Views
Registered: ‎02-16-2014

Hi,

 

Please check if the state machine driving elements are connected so that the tool doesn't trim them as unused.

 

If you think in your code the register is connected and it is driving the elemnets properly, try applying DONT_TOUCH attribute on the signals on which the warnings are shown up.

 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
22,205 Views
Registered: ‎02-14-2014

Hello,

Can you try this design with the latest version of Vivado Design Suite? I have tried to synthesize the design with Vivado 2014.4 and I don't see these warnings. I have attached log file for your reference.

Regards,
Ashish
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
12,971 Views
Registered: ‎10-24-2013
Hi,

Does this effect your functionality? Check behavioral Vs post synthesis simulation results.
Check the following threads where the similar topic is discussed for some insight.
http://forums.xilinx.com/t5/Synthesis/Synth-8-3332-Sequential-element-FSM-onehot-currentState-is/td-p/444958
Thanks,Vijay
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Highlighted
Newbie
Newbie
12,955 Views
Registered: ‎01-29-2015

the problem has been resolved. thank for all 

0 Kudos