FPGA/CPLD - Taktung

Gast #638772
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???
(Firma: Ich.AG) #638787
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.
#638816
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.
Gast #639446
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.

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