Ich habe ein Design, das mit asynchronen Resets designed word ist. Das
ist aktuell in Stein gemeisselt und kann ich nicht ändern.
Das Design aber möchte ich aber auf einem FPGA laden. Da habe ich mir
gedacht, ich mache einen synchronen Reset-Generator auf Top-Level Ebene.
Etwa in der folgenden Art:
1 | sync: process(clk)
|
2 | begin
|
3 | if rising_edge(clk) then
|
4 | case reset_state is
|
5 | when RESET_0 =>
|
6 | reset <= '1';
|
7 | reset_state <= RESET_1;
|
8 | when RESET_1 =>
|
9 | reset <= '1';
|
10 | reset_state <= IDLE;
|
11 | when IDLE =>
|
12 | reset <= '0';
|
13 | when others =>
|
14 | end case;
|
15 | end if;
|
16 | end process;
|
Initialisiert ist das State register per Init-Kommando. Diesen
registrierten Reset-Ausgang verbinde ich mit allen anderen asynchronen
Resets.
Ist das eine gute Idee?
Danke im Voraus
Robert