J
jonas
Guest
Hi.
I've got a vhdl-code which simulates fine, but doesn't work correctly
on the fpga.
The synthesis tells me about the following problem:
WARNING:Xst:1895 - Due to other FF/Latch trimming, FF/Latch
<out64_k_60> (without init value) has a constant value of 0 in block
<split128bit>.
The same for several other signals of this bus.
OK, it might be, that some signals are constant 0, but where is the
problem?
-----------------
process (CLK100M, reset)
begin -- process
if reset = '1' then
out64_k <= (others => '0');
out64_d <= (others => '0');
startout <= '0';
loadout <= '0';
state <= "00";
elsif CLK100M'event and CLK100M = '1' then -- rising clock edge
if state = "00" then
startout <= '0';
if startin = '1' then
loadout <= '1';
state <= "01";
out64_k <= in128_k(127 downto 64);
out64_d <= in128_d(127 downto 64);
end if;
elsif state = "01" then
startout <= '0';
loadout <= '0';
state <= "10";
out64_k <= in128_k(63 downto 0);
out64_d <= in128_d(63 downto 0);
elsif state = "10" then
startout <= '1';
loadout <= '0';
state <= "00";
end if;
end if;
end process;
-------------------
in128_k is set to a constant value at a higher level in this way:
key <= "01000110111010...";
Could somebody please help me?
Jonas
I've got a vhdl-code which simulates fine, but doesn't work correctly
on the fpga.
The synthesis tells me about the following problem:
WARNING:Xst:1895 - Due to other FF/Latch trimming, FF/Latch
<out64_k_60> (without init value) has a constant value of 0 in block
<split128bit>.
The same for several other signals of this bus.
OK, it might be, that some signals are constant 0, but where is the
problem?
-----------------
process (CLK100M, reset)
begin -- process
if reset = '1' then
out64_k <= (others => '0');
out64_d <= (others => '0');
startout <= '0';
loadout <= '0';
state <= "00";
elsif CLK100M'event and CLK100M = '1' then -- rising clock edge
if state = "00" then
startout <= '0';
if startin = '1' then
loadout <= '1';
state <= "01";
out64_k <= in128_k(127 downto 64);
out64_d <= in128_d(127 downto 64);
end if;
elsif state = "01" then
startout <= '0';
loadout <= '0';
state <= "10";
out64_k <= in128_k(63 downto 0);
out64_d <= in128_d(63 downto 0);
elsif state = "10" then
startout <= '1';
loadout <= '0';
state <= "00";
end if;
end if;
end process;
-------------------
in128_k is set to a constant value at a higher level in this way:
key <= "01000110111010...";
Could somebody please help me?
Jonas