View Single Post
Old 7th Dec 2010, 4:18 pm   #13
ppppenguin
Retired Dormant Member
 
ppppenguin's Avatar
 
Join Date: Dec 2003
Location: North London, UK.
Posts: 6,168
Default Re: 819 line standards convertor.

There is an important app note from Xilinx that says very strongly: "Don't use global async reset". It may be useful for simulation but it's a very bad idea for synthesis. I try not to use async logic at all. The only time I deliberately use async reset is in the classic pulse synchroniser that uses 2 flipflops.

-- 1st half of synchroniser
process (INPUT_REQUEST , GRANT) begin
if GRANT = '1' then PRE_REQUEST <= '0';
elsif rising_edge(INPUT_REQUEST ) then
PRE_REQUEST <= '1';
end if;
end if; -- INPUT_REQUEST/GRANT
end process;

process (CKMAIN) begin
if rising_edge(CKMAIN) then
REQUEST <= PRE_REQUEST; -- 2nd half of synchroniser.
end if; -- CKMAIN
end process;
ppppenguin is offline