32-bit ALU Compilierfehler

Gast #3682206
Lesenswert?
• ▲
▼
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!
Angehängte Dateien:
Gast #3682306
Lesenswert?
• ▲
▼
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
Moderator (Firma: Titel) Persönliche Seite #3688647
Lesenswert?
• ▲
▼
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.