Если кто может-помогите

Проблема вот в чем:
Есть код на VHDL. Вот он:
Цитата
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.std_logic_arith.all;
entity imit is
port(
clk : in STD_LOGIC;
enable : in STD_LOGIC;
synh_out : out STD_LOGIC;
data_strob : out STD_LOGIC;
data_out : out STD_LOGIC_VECTOR(31 downto 0)
);
end imit;
--}} End of automatically maintained section
architecture rl of imit is
constant t_min:integer:=100; --100 ns
begin
p1: process (clk, enable)
constant temp1:STD_LOGIC_VECTOR(31 downto 0):=B"00000001100000000110010000110011";
constant temp2:STD_LOGIC_VECTOR(31 downto 24):=X"02";
constant temp3:STD_LOGIC_VECTOR(31 downto 0):=B"00000011000000010000001010111100";
constant temp4:STD_LOGIC_VECTOR(31 downto 0):=B"11100100000000000000000000001000";
variable count_temp:integer range 0 to 256 :=0;
variable t1:integer:=750;
variable temp:integer range 0 to 16777215 :=0;
variable num:integer range 0 to 32;
begin
if enable='0' then
count_temp:=0;
t1:=750;
data_out<=(others=>'0');
data_strob<='1';
synh_out<='1';
temp:=0;
num:=0;
else
if clk'event and clk='1' then --CLK rising edge
count_temp:=count_temp+1;
end if;
if clk'event and clk='0' then
case count_temp is
when 1 =>data_strob<='0';
when 2 =>synh_out<='0';
data_out<=temp1;
when 3 => synh_out<='1';
when 4 =>synh_out<='0';
------------------------
temp:=temp+t1;
data_out<=temp2 & CONV_STD_LOGIC_VECTOR(temp,24);
num:=num+1;
if t1 = 750 and num = 20 then
t1:=1000;
num:=0;
elsif t1=1000 and num=20 then
t1:=750;
num:=0;
end if;
------------------------
when 5 => synh_out<='1';
when 6 =>synh_out<='0';
data_out<=temp3;
when 7 => synh_out<='1';
when 8 =>synh_out<='0';
data_out<=temp4;
when 9 => synh_out<='1';
when 11 =>data_strob<='1';
when 150 => if t1=750 then
count_temp:=0;
end if;
when 200 => if t1=1000 then
count_temp:=0;
end if;
when others => null;
end case;
end if;
end if;
end process p1;
end rl;
use IEEE.STD_LOGIC_1164.all;
use IEEE.std_logic_arith.all;
entity imit is
port(
clk : in STD_LOGIC;
enable : in STD_LOGIC;
synh_out : out STD_LOGIC;
data_strob : out STD_LOGIC;
data_out : out STD_LOGIC_VECTOR(31 downto 0)
);
end imit;
--}} End of automatically maintained section
architecture rl of imit is
constant t_min:integer:=100; --100 ns
begin
p1: process (clk, enable)
constant temp1:STD_LOGIC_VECTOR(31 downto 0):=B"00000001100000000110010000110011";
constant temp2:STD_LOGIC_VECTOR(31 downto 24):=X"02";
constant temp3:STD_LOGIC_VECTOR(31 downto 0):=B"00000011000000010000001010111100";
constant temp4:STD_LOGIC_VECTOR(31 downto 0):=B"11100100000000000000000000001000";
variable count_temp:integer range 0 to 256 :=0;
variable t1:integer:=750;
variable temp:integer range 0 to 16777215 :=0;
variable num:integer range 0 to 32;
begin
if enable='0' then
count_temp:=0;
t1:=750;
data_out<=(others=>'0');
data_strob<='1';
synh_out<='1';
temp:=0;
num:=0;
else
if clk'event and clk='1' then --CLK rising edge
count_temp:=count_temp+1;
end if;
if clk'event and clk='0' then
case count_temp is
when 1 =>data_strob<='0';
when 2 =>synh_out<='0';
data_out<=temp1;
when 3 => synh_out<='1';
when 4 =>synh_out<='0';
------------------------
temp:=temp+t1;
data_out<=temp2 & CONV_STD_LOGIC_VECTOR(temp,24);
num:=num+1;
if t1 = 750 and num = 20 then
t1:=1000;
num:=0;
elsif t1=1000 and num=20 then
t1:=750;
num:=0;
end if;
------------------------
when 5 => synh_out<='1';
when 6 =>synh_out<='0';
data_out<=temp3;
when 7 => synh_out<='1';
when 8 =>synh_out<='0';
data_out<=temp4;
when 9 => synh_out<='1';
when 11 =>data_strob<='1';
when 150 => if t1=750 then
count_temp:=0;
end if;
when 200 => if t1=1000 then
count_temp:=0;
end if;
when others => null;
end case;
end if;
end if;
end process p1;
end rl;
он замечательно моделируется в A-HDL но при попытке моделировать синтезированое устройство в Quartus не чего не происходит т е результате состояния выходов не меняются. ПЛИС-MAX 7000S
Вообщем вопрос что я делаю не так, и если объяснять долго то где посмотреть.
PS До этого с ПЛИС не работал. Так что сильно не бейте