I'm writting some code in Altera Quartus 13.1 and I can't check my Fmax for my entity in TimeQuest. I get 'No paths to report'. The code is given below:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
library NTRU;
use NTRU.NTRU.all;
entity ModuloAdder is
port(
FirstHalf : in Int32 := 0;
SecondHalf : in Int32 := 0;
Start : in std_logic := '0';
clk : in std_logic;
Result : out Int32 := 0;
ReadyOut : out std_logic
);
end ModuloAdder;
architecture a1 of ModuloAdder is
begin
process(clk, Start, FirstHalf, SecondHalf)
variable sum: integer range 63 downto -63:=0;
begin
if clk'event and clk ='1' then
if Start = '1' then
sum := (FirstHalf + SecondHalf) mod 32;
if sum > 32 then
Result <= sum mod 32;
elsif sum < -3 then
Result <= sum+32;
else
Result <= sum;
end if;
ReadyOut <= '1';
else
ReadyOut <= '0';
Result <= 0;
end if;
end if;
end process;
end a1;
My question is why this problem occur. When I change variable sum to signal, there is everything ok, but I want this in one clock cycle. This code works fine in ModelSim and is giving fine results.