Цитата
это возможно обеспечит необходимый setup/hold на FFs сброса относительно клока, но тогда вся идея асинхонного сброса пропадает...
или я ошибаюсь
Он по прежнему будет асинхронным и поступать будет на асинхронные входы триггеров. Он всего-лишь будет привязан к тактовому сигналу.
примерно так будет выглядеть схема:
Код
process(ext_rst_n,clk)
variable ff: std_logic_vector(1 downto 0); -- этим триггерам нужно прописать правило запрета оптимизации.
begin
if(ext_rst_n='0') then
ff:=(others=>'0');
rst_n<='0';
elsif(falling_edge(clk)) then
rst_n<=ff(1);
ff(1):=ff(0);
ff(0):='1';
end process;