www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL : Bad index (8) in aggregate of size 8


Autor: krista (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
hab ein mir völlig unbekanntes Problem und weiss leider nicht genau 
woran das liegen kann :(

Fehlermeldung:
Error: CSSIM0013: fifo_tb.vhdl: (line 30): Bad index (8) in aggregate of 
size 8
    At fifo_tb.vhdl: (line 30)
        Instance = :fifo_tb(bench):

Code Ausschnitt (Code im Anhang):
entity fifo_tb is
generic (
NBITS : positive := 8;
NWORDS : positive := 10
 );
end entity fifo_tb;

architecture bench of fifo_tb is
constant CLK_PER : time := 20 ns; --période de l'horloge
signal t_clk: std_logic:= '0';
signal trst_b, t_read, t_write : std_logic;
signal t_din : std_logic_vector(NBITS-1 downto 0);
signal t_empty, t_full, t_error : std_logic;
signal t_dout : std_logic_vector(NBITS-1 downto 0);

begin

-- unité à tester
UUT : entity work.fifo_bhv(bhv)
port map (clk => t_clk, rst_b => trst_b, rread => t_read, wwrite => 
t_write,
din => t_din, empty => t_empty, full => t_full, eerror => t_error, dout 
=> t_dout );

-- générateur d'horloge
t_clk <= not t_clk after CLK_PER/2;

trst_b <= '1'; --, '0' after CLK_PER/2, '1' after CLK_PER*2;

-- générateur de stimuli
process
begin
....

Wäre froh, wenn mir schnellstmöglichst jemand helfen könnte.

mfg
Krista

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Zeile 139 steht die Zuweisung:
t_din <= "111011001";
Der Wert auf der rechten Seite ist 9 Bits lang, also zu lang für t_din.

Autor: krista (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke vielmals, das wars....

aber weshalb zeigt er mir zeile 30 an, wenn das prob auf zeile 139 is? 
-.-

Autor: Ratzeputz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
signal t_din : std_logic_vector(NBITS-1 downto 0);

Ist das Zeile 30?

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> aber weshalb zeigt er mir zeile 30 an, wenn das prob auf zeile 139 is?

Das solltest du besser den Hersteller des Programms fragen ;)

Kleiner Tipp wie ich den Fehler gefunden habe: Die Fehlermeldung deutet 
auf eine Zuweisung an einen ungültigen Index (8) eines Vektors (7..0) 
hin. Die einzigen Vektoren sind t_din und t_dout. Also bin ich einfach 
die Zuweisungen der Reihe nach durchgegangen.

> signal t_din : std_logic_vector(NBITS-1 downto 0);
>
> Ist das Zeile 30?

Nein.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.