Puls-Erzeugung

Gast #297471
Lesenswert?

hallo,

ich habe ein Signal mit einer steigenden und fallenden Flanke, das
zyklisch wiederholt wird

_______|---------------|_________________|-----------|______________

Wie ist es möglich nur an der fallenden Flanke einen Puls zu erzeugen ?
Das ganze soll so aussehen

_______|--------------|___________________|-----------|_____________

______________________|-|______________________________|-|__________

Ist so etwas möglich ? Wenn ja wie ?????
Gast #297472
Lesenswert?

in etwa so:

signal old_state: std_logic;
process(clk)
if reset = '1' then
 out <= '0';
 old_state <= '0';
elsif rising_edge(clk) then
 if (old_state = '1' and in='0') then
  out <= '1;
 else
  out <= '0';
 end if;
 old_state <= in;
end if;
Gast #297474
Lesenswert?

process(clk, nReset)
begin
 if nReset='0' then
 ...
 elsif clk'event and clk='1' then
   s1 <= DeinSignal;
   s2 <= s1;
 end if;
end process;

Signal_FALL <= not s1 and s2; --das ist jetzt die fallende Flanke
Signal_RISE <= s1 and not s2; -- und das ist die steigende Flanke

Bitteschön,

Kest
#297476
Lesenswert?

Hallo

geht auch mit einem NOR-Gatter und einer ungeraden Anzahl von
Invertern. Signal einmal direkt ans NOR und einmal auf den ersten
Inverter. Die Inverter alle in Reihe schalten und den letzten Ausgang
auf das NOR-Gatter. Am Ausgang des NOR-Gatters ist dann das gewünschte
Signal.
Gast #297480
Lesenswert?

das geht schon mit dem NOR, es gibt nur bei der
fallenden Flanke einen Impuls.

In "programmierbarer Logik" würde ich das aber nicht
empfehlen, solche Designs können ein lustiges
Eigenleben entwickeln. (Aber es steht natürlich jedem
frei, seinem Chef zu erklären, warum man 2 Wochen
mehr Fehlersuche gebraucht hat)
#297482
Lesenswert?

@ TOM

mit NOR bei der fallenden Flanke
mit NAND an der steigenden Flanke
mit XOR an beiden Flanken
Dieses klappt mit Gattern hervorragend.
Ich hatte diesen Thread über die Übersicht gesehen und nicht gesehen
das er in der Gruppe "Programmierbare Logik" steht.
Hier wird wahrscheinlich jede Optimierung die Anzahl der Inverter auf 1
setzen und die Laufzeiten die der Schaltung zu Grunde liegen werden in
FPGAs wahrscheinlich zu kurz sein.

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