Forum: FPGA, VHDL & Co. was tun mit unconnected Input Ports?


von Reto B. (schnuber)


Lesenswert?

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

von VHDL hotline (Gast)


Lesenswert?

Ver-Odern und auf einen unconnected output legen.

Es gibt, zumindest bei Xilinx, Attribute wie Keep und Save, bei Lattice 
weiß ich es nicht.

von Sigi (Gast)


Lesenswert?

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

von Reto B. (schnuber)


Lesenswert?

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

von Sigi (Gast)


Lesenswert?

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)

von Jan M. (mueschel)


Lesenswert?

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.

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.