xilinx - Synthesis Warning VHDL constant value of FF/Latch and Node Unconnected -


i beg please me, making final year project. part of project simple alarm system. alarm goes on , off same push-button. getting these warnings making me upset , demotivated weeks now. these warnings ruining design on fpga, can't ignore them (it removing important signals specially d1count).

note there 2 main warnings:

1) xst:1293 ff/latch has constant value

2) xst:2677 node unconnected

warnings:

warning:xst:1293 - ff/latch <d1count_26> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_25> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_24> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_23> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_22> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_21> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_20> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_19> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_18> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_17> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_16> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_15> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_14> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_13> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_12> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_11> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_10> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_9> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_8> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_7> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_6> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_5> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_4> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_3> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_2> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_1> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <d1count_0> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <capture1_1> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <capture1_0> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:1896 - due other ff/latch trimming, ff/latch <buzzer1_3> has constant value of 0 in block <safehouse1>. ff/latch trimmed during optimization process. warning:xst:2677 - node <temp3_7> of sequential type unconnected in block <safehouse1>. warning:xst:2677 - node <temp3_6> of sequential type unconnected in block <safehouse1>. warning:xst:2677 - node <temp3_5> of sequential type unconnected in block <safehouse1>. warning:xst:2677 - node <temp3_4> of sequential type unconnected in block <safehouse1>. warning:xst:2677 - node <temp3_3> of sequential type unconnected in block <safehouse1>. warning:xst:2677 - node <temp3_2> of sequential type unconnected in block <safehouse1>. warning:xst:2677 - node <temp3_1> of sequential type unconnected in block <safehouse1>. warning:xst:2677 - node <temp3_0> of sequential type unconnected in block <safehouse1>. 

the signal d1count used create delay alarm. when implement design on fpga nothing happens. however, program simulates correctly.

please, me program works on fpga correctly. using xilinx spartan 6.

code:

library ieee; use ieee.std_logic_1164.all;  entity safehouse1     port ( buzzer1 : out bit_vector(0 3);               keypad1 : in bit_vector(0 7);               clk1 : in std_logic ); end safehouse1;  architecture safehouse1 of safehouse1  signal temp3 : bit_vector(0 7) := "00000000"; signal d1count : integer range 0 100000001 := 0; signal capture1 : integer range 0 3 := 0;  begin  buzzer_alarm: process(clk1,keypad1,temp3,d1count,capture1) begin     if (rising_edge(clk1))          if keypad1 /= temp3                     if keypad1 = "00010010"                 capture1 <= capture1 + 1;                            end if;             temp3 <= keypad1;         end if;           if capture1 = 1                         d1count <= d1count + 1;             if d1count >= 100000000                 d1count <= 0;             elsif d1count >= 50000000                   buzzer1(0) <= '1';                 buzzer1(1) <= '1';                 buzzer1(2) <= '1';                 buzzer1(3) <= '1';                                           else                 buzzer1(0) <= '0';                 buzzer1(1) <= '0';                 buzzer1(2) <= '0';                 buzzer1(3) <= '0';                                       end if;          else              buzzer1(0) <= '0';             buzzer1(1) <= '0';             buzzer1(2) <= '0';             buzzer1(3) <= '0';                            capture1 <= 0;                   end if;     end if; end process buzzer_alarm;  end safehouse1; 

i solved problem myself... second time answering own question...

the synthesizer thought value of capture1 never '1'... changed type of capture1 bit. created assignment statement, assigning value '1' capture1, instead of incrementing value of capture1 '0' (as in question)...

if don't believe me see code in solution, did stated above.

it seems there different ways every program warning xst 1293 ff/latch has constant value...

so, learned 3 ways handle warning xt 1293...

1) change variables signals (as integer, natural, etc)

2) add constraint these signals (the range of values take)

3) answer in post.

same code without warning:

library ieee; use ieee.std_logic_1164.all;  entity safehouse1     port ( buzzer1 : out bit_vector(0 3);               keypad1 : in bit_vector(0 7);               clk1 : in std_logic ); end safehouse1;  architecture safehouse1 of safehouse1  signal temp3 : bit_vector(0 7) := "00000000"; signal d1count : integer range 0 100000001 := 0; signal capture1 : bit := '0';  begin  buzzer_alarm: process(clk1,keypad1,temp3,d1count,capture1) begin     if (rising_edge(clk1))          if keypad1 /= temp3                     if keypad1 = "00010010"                 if capture1 = '1'                     capture1 <= '0';                     else                     capture1 <= '1';                 end if;             end if;             temp3 <= keypad1;         end if;           if capture1 = '1'                       d1count <= d1count + 1;             if d1count >= 100000000                 d1count <= 0;             elsif d1count >= 50000000                   buzzer1(0) <= '1';                 buzzer1(1) <= '1';                 buzzer1(2) <= '1';                 buzzer1(3) <= '1';                                           else                 buzzer1(0) <= '0';                 buzzer1(1) <= '0';                 buzzer1(2) <= '0';                 buzzer1(3) <= '0';                                       end if;          else              buzzer1(0) <= '0';             buzzer1(1) <= '0';             buzzer1(2) <= '0';             buzzer1(3) <= '0';                        end if;     end if; end process buzzer_alarm;  end safehouse1; 

Comments

Popular posts from this blog

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

python Tkinter Capturing keyboard events save as one single string -

sql server - Why does Linq-to-SQL add unnecessary COUNT()? -