Angenommen, ich habe ein Alias für aa einzelnes Bit oder die Anzahl der Bits in einem std_logic_vector erklärt wie folgt aus:Get Position oder einen Bereich von Alias
signal CR : std_logic_vector(7 downto 0);
alias CR_ARM : std_logic is CR(0);
alias CR_PS : std_logic_vector(3 downto 0) is CR(7 downto 4);
Wie kann ich die Reichweite oder die Position der Alias-Zugriff wie :
singal tmp : std_logic_vector(7 downto 0); -- output bus vector
tmp(CR_ARM'range) <= CR_ARM; -- does not compile
'CR_ARM' ist ein Skalar (' std_logic') => kein Bereich. –
Ich wette, er will, dass das Attribut zurückkommt, an den der Index von CR 'CR_ARM' gekoppelt ist. Ich denke nicht, dass das möglich ist. Ich würde einen anderen Ansatz versuchen, zum Beispiel über einen Satz von Konstanten, die Bit-Mappings anzeigen. – JHBonarius
* CR_ARM' ist ein Skalar ('std_logic') => kein Bereich *. std_logic ist ein Skalartyp, ein Zeichenaufzählungstyp. Die Unterscheidung besteht zwischen einem eingeschränkten Bereich von geordneten Werten und Indexeinschränkungen, die Elemente eines Array-Objekts spezifizieren. Ein Objekt eines Skalartyps hat einen möglichen Bereich von Werten, aber keinen Elementindexbereich. "Bereich" ist ein Array-Attribut und kein Attribut eines Typs oder eines Objekts. IEEE Std 1076-2008 5. Typen, 5.1 Allgemein, 16.2.3 Vordefinierte Attribute von Arrays. – user1155120