Forum: FPGA, VHDL & Co. FPGA/CPLD - Taktung


von Neuling (Gast)


Lesenswert?

Guten Abend!

Habe gerade "Taktung FPGA/CPLD" gelesen,

unten befindet sich ein Beispiel.
Mir ist nicht ganz klar:

Wenn hier zur "CE" eine '1' zugewiesen wird
1
  if rising_edge(clk) then
2
    if cnt=cnt_div-1 then
3
      ce  <= '1';
Und hier wird die "CE" auf eine '1' überprüft:
1
  if rising_edge(clk) then
2
    if ce='1' then
passiert das mit gleichem Takt oder mit nächstem???

von Heinrich H. (Firma: Ich.AG) (hhanff)


Lesenswert?

process 1:
1
 if rising_edge(clk) then
2
    if cnt=cnt_div-1 then
3
      ce  <= '1';
process 2:
1
if rising_edge(clk) then
2
    if ce='1' then

Es wird im gleichen Takt abgefragt, denn Prozesse laufen parallel. Aber: 
CE wird erst auf '1' gesetzt, nachdem process 1 beendet wurden. Das 
heisst konkret: erst beim zweiten Takt kann im process 2 festgestellt 
werden dass CE = '1' ist.

von Neuling (Gast)


Lesenswert?

Vielen vielen DANK!

Und wie ist es wenn CE innerhalb process 1 abgefragt wird???

von Johannes T. (johnsn)


Lesenswert?

Neuling wrote:
> Und wie ist es wenn CE innerhalb process 1 abgefragt wird???

Dann ist es genau gleich. In einem sequentiellen Process (so wie dieser) 
werden sämtliche Statements darin sequentiell durchlaufen, ausgewertet 
und das Ergebnis erst zum unmittelbar folgenden Taktzyklus übernommen.

von Frank (Gast)


Lesenswert?

Signale erhalten ihren im process zugewiesenen Wert nach dessen 
Beendigung.
Variables erhalten ihren Wert sofort.

von Johannes T. (johnsn)


Lesenswert?

Frank wrote:
> Variables erhalten ihren Wert sofort.

Da hast du recht, hab ganz auf die Variablen vergessen, das hat den 
Grund, weil Variablen auch nicht die schönsten Methoden sind.

von Freak (Gast)


Lesenswert?

Wieos sind VAriablen "keine" schöne Methode? Weil wilsst Du es denn 
sonst formulieren, wenn eine Signalkette in eimem clk abgearbeitet wird? 
Über Signalverdrahtung hast du ja immer einen clock dazwischen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.