xilinx-flipflop

Gast #1822676
Lesenswert?
• ▲
▼
hallo zusammen,

ich hätte gern eine frage:

wenn ich so schreibe:
1
signal x1,x2,x3 : std_logic;
2
process 
3
  begin
4
    wait until rising_edge(clk);
5
    x3 <= x2;
6
    x1 <= x3;
7
end process;


d.h. ich versuche gleichzeitig auf x3 zu schreiben und aus x3 zu lesen.

gibts kein konflict bei dieser situation? oder es geht um hold-time und 
setup-time von flipflop?

vielen dank für euche antwort!

lg alex
Gast #1822683
Lesenswert?
• ▲
▼
"Gleichzeitig" lesen und schreiben geht deshalb, weil während einer 
Taktperiode gelesen, aber zur Taktflanke geschrieben wird. Der Code 
erweckt zwar den Anschein, dass das Lesen auch zur Flanke passiert, dem 
ist aber nicht so.

Allerdings beschreibt dein Code zwei Flip-flops, x1 und x3.
Gast #1825071
Lesenswert?
• ▲
▼
danke erstmal für euche Antwort^^

Morin schrieb:
> "Gleichzeitig" lesen und schreiben geht deshalb, weil während einer
> Taktperiode gelesen, aber zur Taktflanke geschrieben wird. Der Code
> erweckt zwar den Anschein, dass das Lesen auch zur Flanke passiert, dem
> ist aber nicht so.

Michael Sauron schrieb:
> Was du da beschreibst ist ein Schieberegister: X2 => X3 => X1
> Das bit wird mit jedem Takt einen weiter geschoben.


Bei clk-flanke :

1. x2-wert auf x3 schreiben, nach einem delay T1 hat 
x3-flip-flop-Ausgang den neu wert :x2

2. x3-wert auf x1 schreiben, nach einem delay T2 hat 
x1-flip-flop-Ausgang den neu wert :x3

Wenn T2 > T1, dann ist das ergebnis bei punkt 2 nicht mehr richtig,oder?
#1825327
Lesenswert?
• ▲
▼
Nicht ganz. Es wird der Wert auf das Signal geschrieben, den es vor 
der Flanke hatte. Innerhalb des FPGA ist garantiert, dass sich das nicht 
überholen kann. Es sei denn, dein Takt ist sehr schnell und du hättest 
noch kombinatorische Verknüpfungen zwischen den FF. Ansonsten übernimmt 
in deinem Fall das 2. FF für X3 den Wert, den X2 vorher hatte.
Solange T1 und T2 kleiner sind als eine Periodenlänge des Taktes ist das 
"Ergebnis" immer das selbe. Du hast nur 2 FlipFlips hintereinander.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren