Hallo, beim Programmieren einer 32-bit Alu aus 1-bit Alus erhalte ich folgenden Fehler beim Ausführen der Testbench: # ** Warning: (vsim-3473) Component instance "U3 : oneb_alu_msb" is not bound. # Time: 0 ns Iteration: 0 Region: /cs_alu_tb/dut/Alu(31)/Alu_width_1 File: C:/Users/Tim/SkyDrive/Uni/TechGI2Praktikum/blatt4/cs_alu.vhd # ** Warning: (vsim-3473) Component instance "U3 : oneb_alu_msb" is not bound. # Time: 0 ns Iteration: 0 Region: /cs_alu_tb/dut/Alu(31)/Alu_width_0 File: C:/Users/Tim/SkyDrive/Uni/TechGI2Praktikum/blatt4/cs_alu.vhd # Loading work.oneb_alu(behaviour) # Loading work.fulladd(netlist) # Loading work.halfadd(logic) # Loading work.or2(logic) # ** Fatal: (vsim-3734) Index value 30 is out of range 31 to 0 (null array). # Time: 0 ns Iteration: 0 Instance: /cs_alu_tb/dut/Alu(30)/Alu_n_1/U0 File: C:/Users/Tim/SkyDrive/Uni/TechGI2Praktikum/blatt4/cs_alu.vhd Line: 50 Ich verstehe aber nicht, warum der Wert 30 nicht in dem Array von 31 bis 0 ist. Hat jemand ne Ahnung was ich da verändern muss? Vielen Dank schonmal!
vhdl_beginner schrieb: > # ** Warning: (vsim-3473) Component instance "U3 : oneb_alu_msb" is not > bound. > # Time: 0 ns Iteration: 0 Region: > /cs_alu_tb/dut/Alu(31)/Alu_width_1 File: > C:/Users/Tim/SkyDrive/Uni/TechGI2Praktikum/blatt4/cs_alu.vhd > # ** Warning: (vsim-3473) Component instance "U3 : oneb_alu_msb" is not > bound. du musst zuerst oneb_alu_msb in die Richtige Bibliothek compilieren. Seckt womöglich in einer datei namens oneeb_alu_msb.vhd. Vielleich pass auch das library mapping nicht. Oder du hasst dich vertippt und die componente heisst oneb_alu. > # Time: 0 ns Iteration: 0 Region: > /cs_alu_tb/dut/Alu(31)/Alu_width_0 File: > C:/Users/Tim/SkyDrive/Uni/TechGI2Praktikum/blatt4/cs_alu.vhd > # Loading work.oneb_alu(behaviour) > # Loading work.fulladd(netlist) > # Loading work.halfadd(logic) > # Loading work.or2(logic) > # ** Fatal: (vsim-3734) Index value 30 is out of range 31 to 0 (null > array). > # Time: 0 ns Iteration: 0 Instance: > /cs_alu_tb/dut/Alu(30)/Alu_n_1/U0 File: > C:/Users/Tim/SkyDrive/Uni/TechGI2Praktikum/blatt4/cs_alu.vhd Line: 50 > > Ich verstehe aber nicht, warum der Wert 30 nicht in dem Array von 31 bis > 0 ist. Hat jemand ne Ahnung was ich da verändern muss? Falls dein array wirklich als from 31 to 0 indiziert ist, dann ist der Index lehr da die Richtuung nicht stimmt. bei to muss links kleiner als rechts sein, bei downto links größer als rechts. dein array mus allso entweder als:
1 | 31 downto 0 |
oder
1 | als 0 to 31 |
definiert sein. MfG
Verwendet hier eigentlich noch jemand den ungewöhnlichen "a to b" Konstrukt?
> "a to b"
Wenn Du unbedingt das LSB ganz links und das MSB ganz rechts haben
willst.
VHDL-Neymar schrieb im Beitrag #3688361: > Verwendet hier eigentlich noch jemand den ungewöhnlichen "a to b" > Konstrukt? Xilinx verwendet den bei Codes für den Microblaze. Das gibt dann lustige Effekte mit der Bitreihenfolge. Man kan mit solchen Tricks die Bitreihenfolge auch umdrehen, so wie ich das da mache: http://www.lothar-miller.de/s9y/archives/63-RC-5-Empfaenger.html
:
Bearbeitet durch Moderator
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.