Xilinx CPLD rising_edge und falling_edge

Gast #1645169
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
Gast #1645186
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.

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