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


von Bustle (Gast)


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

von Christian R. (supachris)


Lesenswert?

Was soll denn da eigentlich raus kommen?

von Bustle (Gast)


Lesenswert?

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

von Grrrr (Gast)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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?

von Falk B. (falk)


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

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.