Forum: FPGA, VHDL & Co. Vivado "ignoriert" Teile der Constraint Datei


von Andre G. (andgst01)


Lesenswert?

Schönen Samstag Abend!

Ich bin Anfänger was VHDL und FPGAs angeht.

Ich verwende VIvado 2020.1 und das Basys3-Board.


Ich habe schon ein paar kleinere Sachen zum Laufen gebracht, aber eine
Sache stört mich bzw. macht das Ganze sehr lästig:

Vivado scheint den Inhalt der Constraint Datei zu ignorieren.
Dort steht nämlich welche physischen Pins welchen FPGA-internen Signalen
zugeordnet sind und mit welchen Pegeln diese arbeiten (LVCMOS33 und so).

Aber jedes Mal wenn ich ein Design synthetisieren und implementieren
lasse dann bekomme ich Fehlermeldungen die besagen dass Pins nicht
"fixiert" sind und dass die Pegel der Pins nicht festgelegt sind, obwohl
das alles in der Constraint Datei steht.

Also muss ich jedes mal wenn ich etwas in meinem Design ändere und neu
synthetisiere / implementiere die Pins wieder festlegen.

Das ist sehr lästig und irritierend.


Wie kann man dieses Problem lösen?
Was für eine Einstellung muss ich ändern oder was muss ich in der
Constraint Datei tun damit all diese Zuweisungen wirklich verwendet
werden?

von Gustl B. (-gb-)


Lesenswert?

Tja wie so oft fehlen Details, hier:

- Die genaue und vollständige Fehlermeldung
- Die .xdc Datei.
- Eventuell auch die Toplevel HDL Datei mit der Portbeschreibung.

von Andre G. (andgst01)


Angehängte Dateien:

Lesenswert?

Gut, hier ist die Constraint Datei und die TopLevel Datei.

Die Fehlermeldung ist folgende:

[DRC NSTD-1] Unspecified I/O Standard: 12 out of 15 logical ports use 
I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned 
specific value. This may cause I/O contention or incompatibility with 
the board power or connectivity affecting performance, signal integrity 
or in extreme cases cause damage to the device or the components to 
which it is connected. To correct this violation, specify all I/O 
standards. This design will fail to generate a bitstream unless all 
logical ports have a user specified I/O standard value defined. To allow 
bitstream creation with unspecified I/O standard values (not 
recommended), use this command: set_property SEVERITY {Warning} 
[get_drc_checks NSTD-1].  NOTE: When using the Vivado Runs 
infrastructure (e.g. launch_runs Tcl command), add this command to a 
.tcl file and add that file as a pre-hook for write_bitstream step for 
the implementation run. Problem ports: VgaB[3:0], VgaG[3:0], and 
VgaR[3:0].
[DRC UCIO-1] Unconstrained Logical Port: 12 out of 15 logical ports have 
no user assigned specific location constraint (LOC). This may cause I/O 
contention or incompatibility with the board power or connectivity 
affecting performance, signal integrity or in extreme cases cause damage 
to the device or the components to which it is connected. To correct 
this violation, specify all pin locations. This design will fail to 
generate a bitstream unless all logical ports have a user specified site 
LOC constraint defined.  To allow bitstream creation with unspecified 
pin locations (not recommended), use this command: set_property SEVERITY 
{Warning} [get_drc_checks UCIO-1].  NOTE: When using the Vivado Runs 
infrastructure (e.g. launch_runs Tcl command), add this command to a 
.tcl file and add that file as a pre-hook for write_bitstream step for 
the implementation run.  Problem ports: VgaB[3:0], VgaG[3:0], and 
VgaR[3:0].

von Gustl B. (-gb-)


Lesenswert?

Nun, die Namen passen ja auch nicht zusammen. Schreib in deiner Toplevel 
genau die Namen hin wie sie auch in der .xdc stehen, also:

vgaR,vgaG,vgaB: OUT STD_LOGIC_VECTOR(3 downto 0)

von Andre G. (andgst01)


Lesenswert?

Ja, das erklärt einiges ....

Danke, es funktioniert jetzt ohne Probleme!

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.