"Z" für internen Bus (bei LinuxCNC/Mesa HostMot2)

Gast #3808059
Ich wollte gerne ein paar Sachen aus der HostMot2 "Firmware" von 
LinuxCNC bzw. Mesa 
(http://git.linuxcnc.org/gitweb?p=hostmot2-firmware.git;a=tree) 
verwenden.

Dabei ist mir aufgestossen, dass die am internen Bus angeschlossenen 
Module so beschrieben sind, dass sie hochohmig sein sollen (obus <= 
(others => 'Z');), wenn das Modul nicht mit dem Bus kommuniziert.

Nach dem, was ich bisher so gelesen habe, scheint der Konsens zu sein, 
dass Hi-Z nur was für externe Signale sein soll, weil das u.a. 
FPGA-unabhängiger und leichter zu routen ist.

Wass meint ihr: So lassen (ist ja praxiserprobt auf den Mesa-Karten und 
funktioniert mit deren Xilinx Spartanern super) oder umschreiben?
Moderator (Firma: Titel) Persönliche Seite #3808178
Jo Daho schrieb:
> Nach dem, was ich bisher so gelesen habe, scheint der Konsens zu sein,
> dass Hi-Z nur was für externe Signale sein soll, weil das u.a.
> FPGA-unabhängiger und leichter zu routen ist.
Heutige FPGAs haben keine internen bidirektionalen Busse und die 
zugehäörigen Tristate-Treiber mehr. Sie müssen solche 
Tristate-Konstrukte also mit Multiplexern auflösen. Oft geht das gut, 
wenn der Adressdecoder einen exklusiven Zugriff garantiert. Wenn der 
Buszugriff aber z.B. über Tokens realisiert wird, dann wirds schnell 
eng.

> Wass meint ihr: So lassen (ist ja praxiserprobt auf den Mesa-Karten und
> funktioniert mit deren Xilinx Spartanern super) oder umschreiben?
Tja, der erste Spartaner war ja auch das letzte FPGA mit so einem Bus. 
Wenn das Design weiterhin nur auf so einem FPGA laufen soll, dann kannst 
du es lassen. Wenn es auf einem neuen FPGA eingesetzt werden sollte, 
würde ich die Ports umschreiben.
#3809272
Ich bin das Problem auch schonmal angegangen, als ich ein paar Sachen 
für einen Motioncontroller übernehmen wollte.

Bei den Sachen, die ich verwendet hab, hatte es gereicht, obus bei 
Inaktivität auf 0, statt Z zu setzen und dann natürlich die Busanbindung 
anders zu gestalten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 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.