cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Newbie
Newbie
3,918 Views
Registered: ‎12-20-2009

Lots of Warning and Annoying Error

I'm working on GRAIN encryption and want to use keyboard for standard input, however, after I was done writting and code nicely compiled in ModelSim, it gives me over 170 warnings (which I usually just ignored) about uconnected sequential circuits and optimizing latches or unusued signals. I have two components in addition to main one which worked fine, I hope.

Here is the code:

 

 

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY grain IS PORT( pb_in : in std_logic_vector(3 downto 0); -- 4 pushbutton inputs digit_out : out std_logic_vector(3 downto 0); -- digit drivers seg_out : out std_logic_vector(7 downto 0); -- segment drivers led_out : out std_logic_vector(7 downto 0); -- 8 LEDs --keyboard interface courtesy of PyroElectro.com K_clk, K_data : IN std_logic; clk :IN STD_LOGIC ); END grain; ARCHITECTURE do_it of grain IS COMPONENT hex_7seg PORT(hex_digit : IN STD_LOGIC_VECTOR(3 DOWNTO 0); segment_a, segment_b, segment_c, segment_d, segment_e, segment_f, segment_g : OUT std_logic); END COMPONENT; COMPONENT keyboard PORT( keyboard_clk, keyboard_data, clock_25Mhz , read : IN STD_LOGIC; scan_code : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); scan_ready : OUT STD_LOGIC); END COMPONENT; SIGNAL hex_val : STD_LOGIC_VECTOR (3 DOWNTO 0 ); SIGNAL seg_count : STD_LOGIC_VECTOR (9 DOWNTO 0 ); SIGNAL K_code : STD_LOGIC_VECTOR ( 7 DOWNTO 0 ); SIGNAL K_value : STD_LOGIC_VECTOR ( 4 DOWNTO 0 ); SIGNAL K_value_reg : STD_LOGIC_VECTOR (4 DOWNTO 0); SIGNAL K_read : STD_LOGIC; SIGNAL K_ready : STD_LOGIC; TYPE StateType IS (FIRST,INKEY,INIV,INIT,ENC,PRINT); SIGNAL state: StateType; SIGNAL kcount,ecount,posN,posL: INTEGER; SIGNAL nreg: STD_LOGIC_VECTOR (79 DOWNTO 0); SIGNAL lreg: STD_LOGIC_VECTOR (79 DOWNTO 0); SIGNAL n,l,h,z_reg: STD_LOGIC; SIGNAL stream_reg: STD_LOGIC_VECTOR(79 DOWNTO 0); BEGIN A1 : hex_7seg port map ( hex_val, seg_out(7), seg_out(6), seg_out(5), seg_out(4), seg_out(3), seg_out(2), seg_out(1)); A2 : keyboard port map ( K_clk, K_data, clk, K_read, K_code, K_ready); seg_out(0) <= '1'; -- no dots K_read <= '1'; --KEYBOARD CHARACTER TRANSLATION WITH K_code(7 DOWNTO 0) SELECT K_value <= "10000" WHEN "01110000", -- 0 =70 "10000" WHEN "01000101", -- 0 =45 "10001" WHEN "01101001", -- 1 =69 "10001" WHEN "00010110", -- 1 =16 "10010" WHEN "01110010", -- 2 =72 "10010" WHEN "00011110", -- 2 =1E "10011" WHEN "01111010", -- 3 =7A "10011" WHEN "00100110", -- 3 =26 "10100" WHEN "01101011", -- 4 =6B "10100" WHEN "00100101", -- 4 =25 "10101" WHEN "01110011", -- 5 =73 "10101" WHEN "00101110", -- 5 =2E "10110" WHEN "01110100", -- 6 =74 "10110" WHEN "00110110", -- 6 =36 "10111" WHEN "01101100", -- 7 =6C "10111" WHEN "00111101", -- 7 =3D "11000" WHEN "01110101", -- 8 =75 "11000" WHEN "00111110", -- 8 =3E "11001" WHEN "01111101", -- 9 =7D "11001" WHEN "01000110", -- 9 =46 "11010" WHEN "00011100", -- A =1C "11011" WHEN "00110010", -- B =32 "11100" WHEN "00100001", -- C =21 "11101" WHEN "00100011", -- D =23 "11110" WHEN "00100100", -- E =24 "11111" WHEN "00101011", -- F =2B "01000" WHEN "01011010", -- ENT = 5A "00000" WHEN OTHERS; --LFSR l <= lreg(62) XOR lreg(51) XOR lreg(38) XOR lreg(23) XOR lreg(13) XOR lreg(0); --NFSR n <= nreg(62) XOR nreg(60) XOR nreg(52) XOR nreg(45) XOR nreg(37) XOR nreg(33) XOR nreg(28) XOR nreg(21) XOR nreg(14) XOR nreg(9) XOR nreg(0) XOR (nreg(63) AND nreg(60)) XOR (nreg(37) AND nreg(33)) XOR (nreg(15) AND nreg(9)) XOR (nreg(60) AND nreg(52) AND nreg(45)) XOR (nreg(33) AND nreg(28) AND nreg(21)) XOR (nreg(63) AND nreg(28) AND nreg(45) AND nreg(9)) XOR (nreg(60) AND nreg(52) AND nreg(37) AND nreg(33)) XOR (nreg(63) AND nreg(60) AND nreg(21) AND nreg(15)) XOR (nreg(63) AND nreg(60) AND nreg(45) AND nreg(52) AND nreg(37)) XOR (nreg(33) AND nreg(28) AND nreg(21) AND nreg(15) AND nreg(9)) XOR (nreg(33) AND nreg(37) AND nreg(45) AND nreg(52) AND nreg(21) AND nreg(28)); -- h(x) h <= lreg(25) XOR nreg(63) XOR (lreg(3) AND lreg(64)) XOR (lreg(46) AND lreg(64)) XOR (nreg(63) AND lreg(64)) XOR (lreg(3) AND lreg(25) AND lreg(46)) XOR (lreg(3) AND lreg(64) AND lreg(46)) XOR (lreg(3) AND nreg(63) AND lreg(46)) XOR (nreg(63) AND lreg(25) AND lreg(46)) XOR (nreg(63) AND lreg(64) AND lreg(46)); --z z_reg <= nreg(1) XOR nreg(2) XOR nreg(4) XOR nreg(10) XOR nreg(31) XOR nreg(43) XOR nreg(56) XOR h; --NFSR PROCESS (clk) BEGIN IF (clk'event AND clk='1') THEN CASE state IS WHEN INKEY => IF ( K_value(4 DOWNTO 3) = "01" AND K_value_reg(4) = '1' ) THEN IF ( posN = 0 ) THEN nreg ( 79 DOWNTO 76) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 1) THEN nreg (75 DOWNTO 72) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 2) THEN nreg (71 DOWNTO 68) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 3) THEN nreg (67 DOWNTO 64) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 4) THEN nreg (63 DOWNTO 60) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 5) THEN nreg (59 DOWNTO 56) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 6) THEN nreg (55 DOWNTO 52) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 7) THEN nreg (51 DOWNTO 48) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 8) THEN nreg (47 DOWNTO 44) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 9) THEN nreg (43 DOWNTO 40) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 10) THEN nreg (39 DOWNTO 36) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 11) THEN nreg (35 DOWNTO 32) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 12) THEN nreg (31 DOWNTO 28) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 13) THEN nreg (27 DOWNTO 24) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 14) THEN nreg (23 DOWNTO 20) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 15) THEN nreg (19 DOWNTO 16) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 16) THEN nreg (15 DOWNTO 12) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 17) THEN nreg (11 DOWNTO 8) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 18) THEN nreg (7 DOWNTO 4) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 19) THEN nreg (3 DOWNTO 0) <= K_value_reg( 3 DOWNTO 0); END IF; posN <= posN +1; END IF; WHEN INIT => nreg(79 DOWNTO 0) <=(n XOR z_reg XOR lreg(0))& nreg(79 DOWNTO 1); WHEN ENC => nreg(79 DOWNTO 0) <=(n XOR lreg(0)) & nreg(79 DOWNTO 1); WHEN OTHERS => posN <= 0; END CASE; END IF; END PROCESS; --LFSR PROCESS (clk) BEGIN IF (clk'event AND clk='1') THEN CASE state IS WHEN INIV => lreg (79 DOWNTO 64) <= (OTHERS => '1'); IF ( K_value(4 DOWNTO 3) = "01" AND K_value_reg(4) = '1' ) THEN IF (posN = 0) THEN nreg (63 DOWNTO 60) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 1) THEN lreg (59 DOWNTO 56) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 2) THEN lreg (55 DOWNTO 52) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 3) THEN lreg (51 DOWNTO 48) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 4) THEN lreg (47 DOWNTO 44) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 5) THEN lreg (43 DOWNTO 40) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 6) THEN lreg (39 DOWNTO 36) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 7) THEN lreg (35 DOWNTO 32) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 8) THEN lreg (31 DOWNTO 28) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 9) THEN lreg (27 DOWNTO 24) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 10) THEN lreg (23 DOWNTO 20) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 11) THEN lreg (19 DOWNTO 16) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 12) THEN lreg (15 DOWNTO 12) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 13) THEN lreg (11 DOWNTO 8) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 14) THEN lreg (7 DOWNTO 4) <= K_value_reg( 3 DOWNTO 0); ELSIF (posN = 15) THEN lreg (3 DOWNTO 0) <= K_value_reg( 3 DOWNTO 0); END IF; posL <= posL + 1; END IF; WHEN INIT => lreg <=(l XOR z_reg) & lreg(79 DOWNTO 1); WHEN ENC => lreg <=l & lreg(79 DOWNTO 1); WHEN OTHERS => posL <= 0; END CASE; END IF; END PROCESS; --Keyboard Buffer PROCESS (clk) BEGIN IF (clk'EVENT AND clk='1') THEN IF ( state = FIRST ) THEN K_value_reg <= "11111"; ELSIF ( K_value(4) = '1') THEN K_value_reg <= K_value; END IF; END IF; END PROCESS; --state and display PROCESS(clk, posL, posN) BEGIN IF(clk'EVENT AND clk='1')THEN seg_count <= seg_count +1; CASE state IS WHEN FIRST => --initialize everything state <= INKEY; kcount <= 0; ecount <= 79; WHEN INKEY => led_out <= "10000000"; IF (posN > 19 ) THEN state <= INIV; K_value_reg <= "00000"; ELSIF ( K_value_reg(4) = '1' ) THEN hex_val <= K_value_reg (3 downto 0); digit_out <= "1110"; END IF; WHEN INIV => led_out <= "01000000"; IF (posL > 15 ) THEN state <= INIT; ELSIF ( K_value_reg(4) = '1' ) THEN hex_val <= K_value_reg (3 downto 0); digit_out <= "1110"; END IF; WHEN INIT => IF(kcount=159)THEN state <= ENC; kcount <= kcount+1; ELSE kcount <= kcount+1; state <= INIT; END IF; WHEN ENC => IF ( ecount < 0 ) THEN state <= PRINT; ELSE stream_reg ( ecount ) <= z_reg; ecount <= ecount -1; END IF; WHEN PRINT => CASE pb_in IS WHEN "0000" => led_out <= "11000001"; CASE seg_count ( 9 downto 8) IS WHEN "00" => hex_val <= stream_reg (15 downto 12); digit_out <= "0111"; WHEN "01" => hex_val <= stream_reg (11 downto 8); digit_out <= "1011"; WHEN "10" => hex_val <= stream_reg (7 downto 4); digit_out <= "1101"; WHEN "11" => hex_val <= stream_reg (3 downto 0); digit_out <= "1110"; WHEN OTHERS => NULL; END CASE; WHEN "0001" => led_out <= "11000010"; CASE seg_count ( 9 downto 8) IS WHEN "00" => hex_val <= stream_reg (31 downto 28); digit_out <= "0111"; WHEN "01" => hex_val <= stream_reg (27 downto 24); digit_out <= "1011"; WHEN "10" => hex_val <= stream_reg (23 downto 20); digit_out <= "1101"; WHEN "11" => hex_val <= stream_reg (19 downto 16); digit_out <= "1110"; WHEN OTHERS => NULL; END CASE; WHEN "0010" => led_out <= "11000100"; CASE seg_count ( 9 downto 8) IS WHEN "00" => hex_val <= stream_reg (47 downto 44); digit_out <= "0111"; WHEN "01" => hex_val <= stream_reg (43 downto 40); digit_out <= "1011"; WHEN "10" => hex_val <= stream_reg (39 downto 36); digit_out <= "1101"; WHEN "11" => hex_val <= stream_reg (35 downto 32); digit_out <= "1110"; WHEN OTHERS => NULL; END CASE; WHEN "0100" => led_out <= "11001000"; CASE seg_count ( 9 downto 8) IS WHEN "00" => hex_val <= stream_reg (63 downto 60); digit_out <= "0111"; WHEN "01" => hex_val <= stream_reg (59 downto 56); digit_out <= "1011"; WHEN "10" => hex_val <= stream_reg (55 downto 52); digit_out <= "1101"; WHEN "11" => hex_val <= stream_reg (51 downto 48); digit_out <= "1110"; WHEN OTHERS => NULL; END CASE; WHEN "1000" => led_out <= "11010000"; CASE seg_count ( 9 downto 8) IS WHEN "00" => hex_val <= stream_reg (79 downto 76); digit_out <= "0111"; WHEN "01" => hex_val <= stream_reg (75 downto 72); digit_out <= "1011"; WHEN "10" => hex_val <= stream_reg (71 downto 68); digit_out <= "1101"; WHEN "11" => hex_val <= stream_reg (67 downto 64); digit_out <= "1110"; WHEN OTHERS => NULL; END CASE; state <= INKEY; WHEN OTHERS => NULL; END CASE; END CASE; END IF; END PROCESS; END do_it;

 

Here are those errors:

The third info is kind of scary, I competely don't get it.

 

 

Synthesis Messages Sun Dec 20 18:45:16 2009 -------------------------------------------------------------------------------- T Synthesis Messages - Errors, Warnings, and Infos New INFO Xst:1432 - Contents of array <stream_reg> may be accessed with a negative index, causing simulation mismatch. INFO Xst:1433 - Contents of array <stream_reg> may be accessed with an index that exceeds the array size. This could cause simulation mismatch. INFO Xst:2679 - Register <K_value_reg> in unit <grain> has a constant value of 00000 during circuit operation. The register is replaced by logic. INFO Xst:1561 - "C:/ee4313/grin/hex_7seg.vhd" line 50: Mux is complete : default of case is discarded WARNING Xst:646 - Signal <segment_data<7>> is assigned but never used. This unconnected signal will be trimmed during the optimization process. WARNING Xst:1780 - Signal <lower_code_buf> is never used or assigned. This unconnected signal will be trimmed during the optimization process. WARNING Xst:1780 - Signal <high_code_buf> is never used or assigned. This unconnected signal will be trimmed during the optimization process. WARNING Xst:1780 - Signal <INFLAG> is never used or assigned. This unconnected signal will be trimmed during the optimization process. WARNING Xst:646 - Signal <K_ready> is assigned but never used. This unconnected signal will be trimmed during the optimization process. WARNING Xst:1426 - The value init of the FF/Latch FFd6 hinder the constant cleaning in the block FSM. You should achieve better results by setting this init to 0. WARNING Xst:1710 - FF/Latch <posN_18> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_17> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_16> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_15> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_14> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_13> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_12> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_11> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_10> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_9> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_8> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_7> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_6> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_5> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_4> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_3> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_2> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_60> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_62> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_63> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_61> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_31> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_30> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_29> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_28> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_27> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_26> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_25> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_24> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_23> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_22> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_21> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_20> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_19> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_15> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_14> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_13> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_12> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_11> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_10> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_9> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_8> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_7> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_6> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_5> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_4> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_3> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_2> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_1> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_0> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <led_out_5> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_1> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_0> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_31> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_30> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_29> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_28> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_27> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_26> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_25> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_24> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_23> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_22> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_21> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_20> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_19> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_18> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_17> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_16> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1710 - FF/Latch <nreg_62_ren> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_61_ren> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_60_ren> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:2677 - Node <SHIFTIN_8> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_7> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_6> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_5> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_4> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_3> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_2> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_1> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <SHIFTIN_0> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_0> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_1> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_2> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_3> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_4> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_5> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_6> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <scan_code_7> of sequential type is unconnected in block <A2>. WARNING Xst:2677 - Node <K_value_reg_0> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_1> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_2> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_3> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_4> of sequential type is unconnected in block <grain>. WARNING Xst:1426 - The value init of the FF/Latch FSM_FFd6 hinder the constant cleaning in the block FSM_0-parent. You should achieve better results by setting this init to 0. WARNING Xst:1710 - FF/Latch <posN_18> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_17> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_16> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_15> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_14> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_13> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_12> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_11> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_10> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_9> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_8> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_7> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_6> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_5> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_4> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_3> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_2> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_61> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_62> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_60> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_63> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_31> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_30> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_29> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_28> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_27> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_26> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_25> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_24> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_23> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_22> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_21> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_20> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_19> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_15> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_14> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_13> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_12> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_11> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_10> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_9> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_8> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_7> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_6> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_5> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_4> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_3> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_2> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_1> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_0> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <led_out_5> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_1> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posN_0> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_31> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_30> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_29> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_28> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_27> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_26> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_25> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_24> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_23> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_22> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_21> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_20> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_19> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_18> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_17> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <posL_16> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1710 - FF/Latch <nreg_62_ren> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_61_ren> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:1895 - Due to other FF/Latch trimming, FF/Latch <nreg_60_ren> (without init value) has a constant value of 0 in block <grain>. This FF/Latch will be trimmed during the optimization process. WARNING Xst:2677 - Node <K_value_reg_0> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_1> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_2> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_3> of sequential type is unconnected in block <grain>. WARNING Xst:2677 - Node <K_value_reg_4> of sequential type is unconnected in block <grain>. ERROR Xst:528 - Multi-source in Unit <grain> on signal <N0>; this signal is connected to multiple drivers.

 

 

Any help or direction how to trouble shoot it, will be greatly apreciated

 

 

 

0 Kudos
1 Reply
Highlighted
Explorer
Explorer
3,901 Views
Registered: ‎07-27-2009

1) Note that your code assigns K_value_reg in 2 processes. Have you simulated the design and noticed some contention ('X' or 'U') on this signal? Assign signals in 1 process, unless you are working with tri-states etc.

 

2) You might want to add an explicit reset. Your state variable is not explicitly initialized. AFAIK VHDL specifies that an enum type has the first value by default, but I wouldn't count on this for synthesis. Add a reset (either with a sync/async reset signal or by explicitly placing an initializer construct with the signal declaration).

 

3) You can use rising_edge(clk) instead of (clk'event and clk='1'). This is personal preference.

 

Cheers,

Johan

0 Kudos