Servus zusammen,
ich versuche derzeit in VHDL folgendes umzusetzen:
Ich benutze zwei zueinander verschobene Takte mit gleicher Frequenz.
Nun möchte ich bei der steigenden Flanke des einen Takts, den Ausgang
auf High setzen und mit der steigenden Flanke des zweisen Taks
rücksetzen auf Low. Ziel dieser Anwendung ist eine PWM mit einstellbarem
Ein- und Ausschaltzeitpunkt.
Leider bekomme ich das ganze in VHDL nicht realisiert. Der Versuch:
1 | process (EinschaltFlanke)
|
2 | begin
|
3 | if (EinschaltTakt'event and EinschaltTakt='0') then
|
4 | Ausgang <= '1';
|
5 | end if;
|
6 | end process;
|
7 |
|
8 | process (AusschaltTakt)
|
9 | begin
|
10 | if (AusschaltTakt'event and AusschaltTakt='0') then
|
11 | Ausgang <= '0';
|
12 | end if;
|
13 | end process;
|
Ist nicht synthetisierbar, was ich auch verstehe.
Ersetze ich jedoch die zweite Flankenerkennung durch eine Abfrage des
Zustands (if AusschaltFlanke='1' then...) funktioniert das Ganze auch
nicht.
Habt ihr Tipps, wie ich aus zwei Takten in oben beschriebener Weise ein
Signal generieren kann?
Eine einfache AND Verknüpfung hatte ich schon angedacht, aber auf die
beiden Flanken wäre bei meinen Eingangssignalen deutlich besser.
Danke und Grüße