mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx CPLD rising_edge und falling_edge


Autor: Bustle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ihr,

ich habe in einem CPLD zwei unterschiedliche Takte.
Einmal 30MHz und einmal 40MHz.

Bausteintyp: CoolRunner von Xilinx

Nun würde ich gern folgendes lösen:

> if (rising_edge(40MHz)) then -- steigende Flanke
>   code;
>   if (30MHz = '1') and (30MHz_x = '0') then -- steigende Flanke
>        code;
>   end if;
>   30MHz_x <= 30MHz;
> end if;

Da dies jedoch unsauber ist, wäre besser etwas wie...

> if (rising_edge(40MHz) and falling_edge(40MHz)) then -- steigende und fallende 
Flanke
>   code;
>   if (30MHz = '1') and (30MHz_x = '0') then -- steigende Flanke
>        code;
>   end if;
>   30MHz_x <= 30MHz;
> end if;

Ist dies irgendwie möglich? Meines Wissens nein, aber ich wollte den 
Versuch der Frage nicht auslassen...

Danke,
Gruß, Bustle

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll denn da eigentlich raus kommen?

Autor: Bustle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... der Hintergrund ist etwas aufwändiger ... Das Hauptproblem ist u.a. 
auch dass die 30MHz noch nicht von Beginn an anliegen.

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bustle schrieb:
>> if (rising_edge(40MHz) and falling_edge(40MHz)) then -- steigende und fallende
> Flanke

Eine Flanke kann nie gleichzeitig fallend und steigend sein.

Die Bedingung ist also immer falsch.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da dies jedoch unsauber ist...
Richtig, du kannst nicht mal theoretisch ein 30MHz Signal mit 40MHz 
sicher abtasten...

> if (rising_edge(40MHz) and falling_edge(40MHz)) then ...
> Ist dies irgendwie möglich?
Nein, weiter bei der Frage: was willst du damit machen?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bustle (Gast)

>... der Hintergrund ist etwas aufwändiger ... Das Hauptproblem ist u.a.
>auch dass die 30MHz noch nicht von Beginn an anliegen.

Umso notwendiger ist eine GRUNDLEGENDE Erklärung des Problems, und NICHT 
deines vermeintlichen Lösungsweges. Siehe Netiquette.

MFG
Falk

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.