Forum: FPGA, VHDL & Co. VHDL array sizes do not match right side has 0 elements


von bla (Gast)


Lesenswert?

Ich stehe wieder einmal vor dem Problem, dass ich mit den 
Fehlermeldungen des Vivado Simulators wenig anfangen kann.

Ich habe ein FIFO (von Vivado generiert) und möchte von diesem in der 
Port map einen std_logic_vector auf einen unsigned verbinden:
1
port map (
2
    unsigned(rd_count) => ReadCount,
3
)

Im Simulator erhalte ich nun die Fehlermeldung: "Array sizes do not 
match, left array has 18 elements, right array has 0 elements"

rd_count ist ein std_logic_vector(17 downto 0), ReadCount ist ein 
unsigned(17 downto 0).

Was mache ich hier falsch? Gemäss diesem Link:

https://electronics.stackexchange.com/questions/356976/vhdl-i-can-port-map-std-logic-vector-to-a-signed-or-unsigned-port-why

sollte die Konstruktion doch möglich sein? Er zeigt mir auch keine 
Syntaxfehler an, sonder meckert erst wenn ich den Code simulieren will.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Kannst du mal ein Minimalbeispiel das die Fehlermeldung reproduziert als 
kompletten Code posten? Idealerweise direkt als .vhd Datei anhaengen.

Edit: Natuerlich mein ich beide Dateien. ;-)

: Bearbeitet durch User
von VHDL hotline (Gast)


Lesenswert?

Ändert sich das Verhalten denn, wenn du den unsigned cast außerhalb der 
port map machst?

von VHDL hotline (Gast)


Lesenswert?

Bzw. ist ReadCount dein Port und rd_count das Signal? Dann müsste das 
andersrum dastehen.

von Gustl B. (-gb-)


Lesenswert?

Ich würde da

rd_count => std_logic_vector(ReadCount),

schreiben.

von Christoph Z. (christophz)


Lesenswert?

bla schrieb:
> 
https://electronics.stackexchange.com/questions/356976/vhdl-i-can-port-map-std-logic-vector-to-a-signed-or-unsigned-port-why
>
> sollte die Konstruktion doch möglich sein? Er zeigt mir auch keine
> Syntaxfehler an, sonder meckert erst wenn ich den Code simulieren will.

So mutig bin ich bisher nicht gewesen. Aber interessant, dass es gemäss 
Syntax gültig ist.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christoph Z. schrieb:
> Aber interessant, dass es gemäss Syntax gültig ist.
Es ist im Grunde noch trickreicher:
https://forums.xilinx.com/t5/Design-Methodologies-and/VHDL-expressions-in-the-port-assignment/td-p/806892
Dort steht dann z.B. auch ein Hinweis auf VHDL-2008 zur Konvertierung 
von Ausgängen.

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.