Can not determine the "others" values in aggregate.

Gast #2690712
Lesenswert?
• ▲
▼
Hallo,

ich habe, mal wieder, ein Problem mit der Befindlichkeit der ISE:

Wenn ich z.B. nachfolgendes Beispiel durch die Synthese schicke bekomme 
ich mehrfach die Fehlermeldung "Can not determine the "others" values in 
aggregate."
Wobei mir absolut nicht klar ist warum die ISE dafür zu blöd ist. Ich 
meine die Größe von jedem Signal ist bekannt und others sollte demnach 
doch wirklich damit klarkommen die Differenz zwischen z.B. STAGE1 und 
A(14  downto 0) mit Nullen aufzufüllen. Oder was sehe ich da was falsch?

1
entity LSL_BARRELSHIFTER is
2
  port (
3
    A :  in  STD_LOGIC_VECTOR (15 downto 0);
4
    pos :  in  STD_LOGIC_VECTOR (3 downto 0);
5
    Y :  out STD_LOGIC_VECTOR (15 downto 0)
6
  );
7
end LSL_BARRELSHIFTER;
8

9
architecture Behavioral of LSL_BARRELSHIFTER is
10

11
  signal STAGE1 : STD_LOGIC_VECTOR (15 downto 0);
12
  signal STAGE2 : STD_LOGIC_VECTOR (15 downto 0);
13
  signal STAGE3 : STD_LOGIC_VECTOR (15 downto 0);
14

15
begin
16

17
  STAGE1 <= A(14 downto 0) & (others => '0') when pos(0) = '1' else A;
18
  STAGE2 <= STAGE1(13 downto 0) & (others => '0') when pos(1) = '1' else STAGE1;
19
  STAGE3 <= STAGE2(11 downto 0) & (others => '0') when pos(2) = '1' else STAGE2;
20
  Y <= STAGE3(7 downto 0) & (others => '0') when pos(3) = '1' else STAGE3;
21
  
22
end Behavioral;

Achja, wenn ich händisch die Größen angebe die er auffüllen soll 
funktionierts natürlich.
Gast #2691062
Lesenswert?
• ▲
▼
Leider nein.

1
  STAGE3 <= (15 downto 4 => STAGE2(11 downto 0), others => '0') when pos(2) = '1' else STAGE2;

führt zu: "The type of the element in aggregate does not correspond to 
any array type."

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.