mikrocontroller.net

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


Autor: Neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
  if rising_edge(clk) then
    if cnt=cnt_div-1 then
      ce  <= '1';
Und hier wird die "CE" auf eine '1' überprüft:
  if rising_edge(clk) then
    if ce='1' then
passiert das mit gleichem Takt oder mit nächstem???

Autor: Heinrich H. (Firma: Ich.AG) (hhanff)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
process 1:
 if rising_edge(clk) then
    if cnt=cnt_div-1 then
      ce  <= '1';
process 2:
if rising_edge(clk) then
    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.

Autor: Neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen vielen DANK!

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

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Signale erhalten ihren im process zugewiesenen Wert nach dessen 
Beendigung.
Variables erhalten ihren Wert sofort.

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Freak (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.