hallo,
danke erstmal.
Bei mir siehts ja so aus das ich die Takte aufeinander synchronisieren
will.
( und nicht die Daten aus einer Taktwelt in eine andere Taktwelt
übertragen )
bei mir ist der Fall so das ich ein langsamen Takt auf einen schnellen
synchronieren will.
( langsam , schnell heißt der der schnelle Takt >> 2* langsamer Takt
ist )
im ersten schritt habe ich mir das ganz einfach so vorgestellt:
1 | process(CLK_Fast)
|
2 | begin
|
3 | if rising_edge(CLK_Fast)then
|
4 | CLK_Slow_sync <= CLK_Slow;
|
5 | end if ;
|
6 | end process;
|
reicht das ?
oder soll ich 2 FF hintereinander machen ?
etwa so
1 | .
|
2 | .
|
3 | CLK_Fast : in std_logic;
|
4 | CLK_Slow : in std_logic;
|
5 | OUTPUT : out std_logic;
|
6 | .
|
7 | .
|
8 | .
|
9 | signal : CLK_Slow_sync std_logic;
|
10 | signal : CLK_Slow_sync std_logic;
|
11 |
|
12 |
|
13 | process(CLK_Fast)
|
14 | begin
|
15 | if rising_edge(CLK_Fast) then
|
16 | CLK_Slow_sync <= CLK_Slow;
|
17 | OUTPUT <= CLK_Slow_sync;
|
18 | end if ;
|
19 | end process;
|