Moin!
Ich frage mich gerade, ob es heutzutage überhaupt noch nötig ist, einen
Reset an ein FF anzuschließen.
1 | process (CLK, RST)
|
2 | begin
|
3 | if RST='1' then
|
4 | d_out <= "00000000";
|
5 | elsif rising_edge(clk)
|
6 | d_out <= d_in;
|
7 | end if;
|
8 | end process;
|
So würde es prinzipiell gehen. Asynchroner Reset ist allerdings nicht
förderlich. Daher würde ich diese Schreibweise bevorzugen.
1 | process(clk)
|
2 | begin
|
3 | if rising_edge(clk) then
|
4 | if rst = '1' then
|
5 | d_out <= "00000000";
|
6 | else
|
7 | d_out <= d_in;
|
8 | end if;
|
9 | end if;
|
10 | end process;
|
Vivado baut witzigerweise bei beiden das gleiche mit der Bemerkung, dass
eines ASNYC ist. Allerdings Versteht die Synthese beides.
Wäre es nicht denkbar das Signal am Anfang mit := "0" zu initialisieren
und somit komplett den Reset zu vergessen?
Gruß,
Ole