Xilinxer schrieb:
> Ich glaube*, ich habe verstanden. Stimmt es, dass die Synthese
> eines
> Prozesses dafür sorgt, dass am Ende dieses alle zugewiesenen Signale ihr
> Ergebnis bekommen und dass alle Angaben, die ich im Prozess mache
> parallel ausgeführt/syntetisiert werden?
>
> Wenn ich folgendes schreibe, dann wird dieses in vier parallele Zweige
> synthesisiert (als Beispiel) und mit der steigenden Flanke das Ergebnis
> übernommen? Das sollten hier dann doch nur vier einfache D-Flipflops
> sein oder?
> process: (clk)
> begin
> for i in 3 downto 0 loop
> if rising_edge(clk) then
> D(i) <= I(i);
> end if;
> end loop;
> end process;
Jein ...
Das würde man so schreiben:
1 | process (clk)
|
2 | begin
|
3 | if rising_edge(clk) then
|
4 | for i in 3 downto 0 loop
|
5 | D(i) <= I(i);
|
6 | end loop;
|
7 | end if;
|
8 | end process;
|
Mal davon abgesehen, dass man für so ein Beispiel keine loop benötigt^^
Aber ansonsten ja ... Das ist äquivalent mit
1 | process (clk)
|
2 | begin
|
3 | if rising_edge(clk) then
|
4 | D(3) <= I(3);
|
5 | D(2) <= I(2);
|
6 | D(1) <= I(1);
|
7 | D(0) <= I(0);
|
8 | end if;
|
9 | end process;
|