Signale am gegenseitigen Überschreiben hindern

Gast #1946435
Hi,
ich habe hier einige seriell angeordnete FPGAs, auf denen jeweils die 
gleichen Bitfiles geladen sind. Wenn die DLL auf einem dieser FPGAs 
locked, soll dies an einen weiteren FPGA weitergegeben werden. Das 
Problem ist, dass dieser weitere FPGA nur einen IN-Port für alle 
locked-Signale hat. Wie ist es möglich, dass sich die Locked-Status 
nicht gegenseitig überschreiben?
Einzige Möglichkeit, die FPGAs zu unterscheiden ist eine in der 
Umgebungshardware festgelegte ID.

So habe ich es ohne Erfolg versucht:
1
LOCKED <= s_locked when board_id = "11" else 'Z';
Moderator (Firma: Titel) Persönliche Seite
>  dass dieser weitere FPGA nur einen IN-Port für alle locked-Signale hat.
Wenn alle FPGAs hintereinander kommen, dann braucht doch ein jedes nur 1 
Eingang vom vorigen und 1 Ausgang zum nächsten.

> ich habe hier einige seriell angeordnete FPGAs, auf denen jeweils die
> gleichen Bitfiles geladen sind. Wenn die DLL auf einem dieser FPGAs
> locked, soll dies an einen weiteren FPGA weitergegeben werden. Das
> Problem ist, dass dieser weitere FPGA nur einen IN-Port für alle
> locked-Signale hat.
Könntest du das bitte in einer Skizze darstellen?
Gast
> LOCKED <= s_locked when board_id = "11" else 'Z';

Hm, die Beschreibung des Problems ist arg schwammig. Aber erstens willst 
du doch sicher wissen, ob alle FPGAs an der Leitung einen Lock haben.

Dann sollte es eher so laufen (wired and).

locked_out <= 'Z' when s_locked='1' else '0';

Und zweitens brauchst du an dem Eingangspin noch einen Pullup, sonst 
wabbert das zu sehr rum, wenn alle gelocked sind.
Moderator (Firma: Titel) Persönliche Seite
J.D. schrieb:
> Gibt es denn die Möglichkeit, einen PULLUP-Input zu instantiieren?
Ein Work-Around:
mach einen PullUp-Inout-Port und schreibe auf den ein 'Z':
1
  port ( pullupeingang : inout std_logic; ...
2
  :
3
  pullupeingang <= 'Z';  -- Inout wird nur als Eingang verwendet
4
  :
5
  eingang <= pullupeingang;
Und dann im UCF auf diesen Port einen Pullup konfigurieren...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.