2 lex_84 - а чем она вам может не понтавится ?
2 rv3dll(lex) - интересно получилось..
Если правильно вас понял:
Код
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
--
entity sinc_detector is
port(
strob_sovp : out std_logic;
strob_sovp_dlit : out std_logic;
sig100meg : in std_logic;
syg_1 : in std_logic;
syg_2 : in std_logic
);
end entity sinc_detector;
ARCHITECTURE system_architecture OF sinc_detector IS
--signal syg_1 : std_logic;
--signal syg_2 : std_logic;
signal syg_1_del_line : std_logic_vector(0 to 6);
signal syg_2_del_line : std_logic_vector(0 to 6);
signal syg_1_front : std_logic;
signal syg_2_front_t1 : std_logic;
signal syg_2_front_t2 : std_logic;
signal syg_2_front_t3 : std_logic;
--signal 100meg : std_logic;
--signal strob_sovp_dlit : std_logic;
--signal strob_sovp : std_logic;
BEGIN
--+++++++++++++++++++++++++++++++
process (sig100meg)
begin
if (sig100meg'event and sig100meg = '1') --polog front
then
syg_1_del_line(0 to 6) <= syg_1 & syg_1_del_line(0 to 5);
syg_2_del_line(0 to 6) <= syg_2 & syg_2_del_line(0 to 5);
end if;
end process;
---
syg_1_front <= syg_1_del_line(4) and not(syg_1_del_line(5));
syg_2_front_t1 <= syg_2_del_line(3) and not(syg_2_del_line(4));
syg_2_front_t2 <= syg_2_del_line(4) and not(syg_2_del_line(5));
syg_2_front_t3 <= syg_2_del_line(5) and not(syg_2_del_line(6));
---
process (sig100meg)
begin
if (sig100meg'event and sig100meg = '1') --polog front
then
if (syg_1_front = '1') then
if (syg_2_front_t1 = '1' or syg_2_front_t2 = '1' or syg_2_front_t3 = '1') then
strob_sovp_dlit <= '1';
strob_sovp <= '1';
else
strob_sovp_dlit <= '0';
strob_sovp <= '0';
end if;
else
strob_sovp <= '0';
end if;
end if;
end process;
--++++++++++++++++++++++++++++++++
END system_architecture;
В результате RTL выдал такую реализацию:
Мапа выдала такую гирляндочку:
А симуляция:
Странно как то....