Ich habe eine std_logic_vector Eingabe in meinem Programm deklariert, sagen Nummer: std_logic_vector (7 downto 0). Ich möchte ein Signal vom Typ std_logic_vector type deklarieren, dessen Länge sich bis zur Länge meiner Eingabe 'number' erhöht. Um genau zu sein, möchte ich ein Signal, dies zu tun -Wie deklariere ich eine Variable Länge std_logic_vector Signal
for j in num_length downto 0 loop --num_length=number'length-1
a <= number(num_length downto j); -- variable length signal 'a'
end loop;
Wie kann ich das tun ??
Verwenden Sie 'number'length'. Aber Ihr Codebeispiel macht keinen Sinn. – JHBonarius
Ok. Ich werde meine Frage erläutern. Für die Ex: Ich habe Nummer = "10101010" (A std_logic_vector der Größe 8) Ich möchte ein Signal 'a' erklären, die a = "1" a = "10" a = "101" nehmen sollte a = "1010" und so weiter wie es in der for-Schleife untergeht. Ich sehe eine einfache Möglichkeit, dies zu tun. Vielen Dank! – Veena
Sie wollen also einen 'std_logic_vector' mit variabler Länge? Wie glaubst du, dass das funktioniert? Sie würden dynamische Speicherzuweisung benötigen. VHDL ist eine Hardwarebeschreibungssprache. 'std_logic_vector' steht für eine Anzahl von Drähten. Wie würden Sie Drähte dynamisch in einem System hinzufügen oder entfernen? Sie fixieren die Länge jedes Arrays während der Instanziierung. – JHBonarius