Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

VHDL warning: Xst:647 - Input is never used.

Status
Not open for further replies.

WR

Junior Member level 1
Joined
Feb 24, 2005
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,392
Hi every one,
I got this warning:

WARNING:Xst:647 - Input <sel2> is never used.
Unit <nestedif_warning> synthesized.

when Synthesizing the following code:

process(sel1, sel2)
begin
if sel1 = '1' then
f<='0';
if sel2 = '1' then
z<='0';
end if;
else
f<='1';
end if;
end process;


Thanks,
 

Re: VHDL warning help

Hello WR,


The signal z is always 0, that's why the synthesizer ignore the input sel2. You have to assign the signal z inside this process. [/b]
 

VHDL warning help

process(sel1, sel2)
variable temp: std_logic_vector(1 downto 0)
begin
temp := sel1 & sel2;
case(temp)
when "10" | "11" =>
f <= '0';
when "01" =>
z <= '1';
when others =>
f <= '1';
end case
end process;


if this for FPGA/CPLD you migt need to include clock
to avoid latches

regards,
 

Re: VHDL warning help

Hi,
I new that I can do it by case statement ... but what is wrong with that code by if statement..even if there is a clock or if z<='1' .. it will give the warning.
 

Re: VHDL warning help

Thiago said:
The signal z is always 0, that's why the synthesizer ignore the input sel2. You have to assign the signal z inside this process. [/b]
In other words, you need to specify what other values z can have, and what conditions produce those other values.

If you don't, sel2 is redundant and the optimizer can (and did) remove it.
 

Re: VHDL warning help

You have to mention all values of 'f' and 'z' in the code.. and also you haven't checked for sel2 in the first condition and sel1 in the 2nd.

if (sel1 = '1' AND sel2 = '0')
...
....
if (sel2 = '1' AND sel1 = '0')

If you dont explicitly mention this...then the loops can get executed when both sel1 and sel2 are '1'. So the synthesis tool will remove the second loop as it is redundant. In other words you have to check the other signals also in your IF loop.
 

Re: VHDL warning help

u should either mention F and Z in each branch of your "if" statement
or have initial values for both of them and mention just the changed ones in the "if" statement branches
 

VHDL warning help

Thanks.
 

Re: VHDL warning help

Does WARNINGS really matter in the synthesis process.

what happens if they are ignored..?
Should we really consider and debug WARNINGS for effective programming. ?

Please explain.
 

VHDL warning help

Hi Tan,

Yes, the output 'z' in my case will not change by changing the input (x1).

This means that you design will not work properly.

Regards.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top