Hallo!
Ich habe mir jetzt einiges zu VHDL angesehen und durchgelesen, komme
aber immer noch nicht ganz damit zurecht.
Es heißt ja, dass bei einem
alle Ausgänge erst geupdatet werden, wenn der ganze process durchlaufen
ist. Aber wie kann das sein, wenn alles im FPGA als Logik realisiert
wird?
Kleines Beispiel:
1 | ...
|
2 | port
|
3 | (
|
4 | a: in std_logic_vector(2 downto 0);
|
5 | b: in std_logic_vector(2 downto 0);
|
6 | q: out std_logic_vector(2 downto 0)
|
7 | );
|
8 | ...
|
9 | process
|
10 | begin
|
11 | for i in 2 downto 0 loop
|
12 | q(i) = a(i) XOR b(i);
|
13 | end loop;
|
14 | end process;
|
15 | ...
|
Jetzt müsste doch vom Synthesewerkzeug eine Schaltung entworfen werden,
die einfach alle Bits von a und b einzeln ver-xort-t, oder? Dann würde
sich aber jedes einzelne Ausgangsbit ändert, sobald sich an einem von
den beiden Eingangsbits was ändert oder?