Forum: FPGA, VHDL & Co. CPLD ATF1502AS: Signal um 40 ns verzögern


von Siggi (Gast)


Lesenswert?

Ein Signal das an einem Eingang (I1) eines ATF1502AS (Pin to Pin 10 ns) 
anliegt, wird zu einem Ausgang (Q1) geleitet. Das Signal soll zusätzlich 
- um 40 ns verzögert - an einem zweiten Ausgang (Q2) erscheinen. Wie 
mache ich das unter WinCupl? Meine erster Gedanke ist, Q1 wird über 
mehrere Ausgänge umgeleitet, bevor es auf Q2 ausgegeben wird. Soweit so 
gut. Das Problem ist, was mache ich wenn ich 5 oder 10 Signale verzögern 
muß? Da gehen einfach zu viele Ausgänge für die Umleitung verloren.

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


Lesenswert?

> Meine erster Gedanke ist, Q1 wird über mehrere Ausgänge umgeleitet, bevor
> es auf Q2 ausgegeben wird.
Das ist Murks.
> Pin to Pin 10 ns
Der Hersteller garantiert dir eine maximale Verzögerung über alle 
Betriebsbedingungen (Spannung/Temperatur/Last).
Das muß also richtig heißen Pin to Pin max 10 ns. Eine minimale Zeit 
ist im DB gar nicht angegeben. In den "üblichen" Betriebsbereichen ist 
das Ding viel schneller...   :-o

Du wirst einen anderen Weg suchen müssen...
Üblicherweise werden solche Signale mit einem Takt über ein 
Schieberegister geschoben, und dort entsprechend abgegriffen.

von Siggi (Gast)


Lesenswert?

@Lothar

Vielen Dank für deine Erläuterungen. Die Idee ein Schieberegister zu 
verwenden, werde ich mir näher anschauen.

von Christian R. (supachris)


Lesenswert?

Du brauchst einen Takt von 25MHz, dann kannst du das Signal einfach mit 
einem FlipFlop verzögern und hast deine 40ns Verzögerung, wenn du einmal 
das Signal vor und einmal nach dem FlipFlop ausgibst.

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


Lesenswert?

> Du brauchst einen Takt von 25MHz ...
Mir wäre das etwas zu knapp, wenn ich ein Signal von Eingang 
kombinatorisch zum Ausgang schleusen will und parallel um 40ns 
verzögert ausgeben soll...
Srichwort: Metastabilität

@  Siggi:
Müssen das genau 40ns sein?

von Siggi (Gast)


Lesenswert?

Verzögerung: min. 40 ns, max. 60 ns

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


Lesenswert?

> ATF1502AS
Das Ding hat nur 32 FFs, für ein Schieberegister mit 3 Stufen (50Mhz = 
20ns, 60MHz = 16,6ns) gehen dir schon mal 10% der Ressourcen flöten...

Hast du überhaupt einen Takt, und dazu noch soviele FFs + Produktterme 
frei?

von Siggi (Gast)


Lesenswert?

Die Makrozellen sind komplett frei. Es sind nur 20 I/O-Pins belegt. 
Einen Takt habe ich nicht, aber es gehen zusätzlich 8 Anschlüsse vom 
CPLD zu einem nicht bestückten AVR-Controller.

von Christian R. (supachris)


Lesenswert?

Ohne Takt wird das aber nix mit einer sinnvollen Verzögerung.

von Falk B. (falk)


Lesenswert?

@  Siggi (Gast)

>Ein Signal das an einem Eingang (I1) eines ATF1502AS (Pin to Pin 10 ns)
>anliegt, wird zu einem Ausgang (Q1) geleitet. Das Signal soll zusätzlich
>- um 40 ns verzögert - an einem zweiten Ausgang (Q2) erscheinen.

Sag mal lieber was das insgesamt werden soll. Alles andere führt nur zu 
unsinnigen Diskussionen.

>gut. Das Problem ist, was mache ich wenn ich 5 oder 10 Signale verzögern
>muß?

Wozu soll das gut sein? In einem soliden Design ist sowas VOLLKOMMEN 
unnötig.

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.