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?
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.
Vielen Dank für Deine Antwort, Lothar (und natürlich auch Deine super Webseiten rund um VHDL). Das hat mich überzeugt, das doch anzugehen.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.