Hallo Ich mache ein Design auf dem MachXO2 von Lattice. Mein Design weist ein paar Eingänge auf, welche im Design nicht verwendet werden. Das heisst, elektrisch (bzw. über das Constraints-File) werden diese Signale auf einen Pin des FPGA angeschlossen, obwohl sie dann in der VHDL Logik nicht verwendet werden. Ich kann das Projekt zwar kompilieren, es gibt aber Fehlermeldungen welche sagen: ERROR - Port 'ALERT' is unconnected. ERROR - Port 'i_cs2_n' is unconnected. ERROR - Port 'i_mode[1]' is unconnected. ERROR - Port 'i_mode[2]' is unconnected. Gibt es ein übliches Vorgehen, was man mit solchen unconnected Input Ports machen soll um das Problem zu verhindern? Gruss
Gast
#4440490
Ver-Odern und auf einen unconnected output legen. Es gibt, zumindest bei Xilinx, Attribute wie Keep und Save, bei Lattice weiß ich es nicht.
Gast
#4440496
Du darfst halt nur die Pins mit Constraints beglücken, die im HDL-Design auch auftauchen. Constraint heisst ja "Zwang", d.h. es bezieht sich auf etwas (Pins etc. im logischen Design). Abhilfe: Ausdokumentieren
Sigi schrieb: > Du darfst halt nur die Pins mit Constraints > beglücken, die im HDL-Design auch auftauchen. > Constraint heisst ja "Zwang", d.h. es bezieht > sich auf etwas (Pins etc. im logischen Design). > > Abhilfe: Ausdokumentieren Das ist ein simpler jedoch interessanter Ansatz, an den ich gar nicht gedacht habe. Da elektrisch auf dem Print ein Signal an diesem Pin physikalisch angeschlossen ist, bin ich davon ausgegangen, dass dieser Pin im Constraints File deklarieren werden muss. Dem ist aber wohl nicht so, stimmts? Gemäss Datenblatt ist jeder Pin per default auf einem weak Pull-down. Grüsse
Gast
#4440636
Genaugenommen hast Du ja drei Ebenen: -Physikalisch (PCB): Die IC-Pins, sind iA mit Leiterbahnen verbunden (haben keine Namen!) -Logisch (HDL): die Ports Deiner Toplevel Komponente (haben Namen) -Deklarativ (UCF): welche Eigenschalften haben die Pins (Pins aus HDL-Design) Du musst nicht alle Pins per Namen im UCF spezifizieren, ausserdem sind ja die Namen der PCB-Pins niergends gegeben, nur die Namen der logischen/HDL-Pins. Wenn Du also ein Pins im UCFspezifiziertst/bezwangst, dann kann der Synthesizer ja nicht wissen, welcher Pins oder was auch sonst gemeint ist. Nichtgenutze Pins haben sog. Default-Zuweisung (z.B. PullDown oder WeakPulldown etc, es gibt sehr viele). Diese kannst du auf Deine Wünsche hin ändern. (Ich bevorzuge Input/WeakPullUp um floatende Eingänge zu vermeiden)
Du kannst in den Einstellungen* einfach angeben, dass in einem solchen Fall nicht abgebrochen werden soll - Wäre auch ein immenser Aufwand wenn in den constraints nur exakt die Pins auftauchen dürften die gerade im Design verwendet werden. Gerade während der Entwurfsphase ändert sich das ja ständig. * Project -> Active Strategy -> Map Design -> Ignore Constraints Errors Dann wird der Fehler als Warning behandelt und angezeigt, aber der mapper bricht nicht ab.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.