> dadurch dass der range die richtung aendert, ist a(0) = b(3) usw.
Richtig, aber leider bringt das nichts, wenn Ausgangs- und Zielvektor
downto sind. Da bringt ein "Pseudovektor" mit to nichts.
Die Bitreihenfolge von links nach rechts bleibt gleich.
> damit ist der vector logisch reversed, oder?
Ja, nur kommen wir mit dieser Logik nicht weiter, denn das war nur die
halbe Strecke...
Am Ende wartet der Port col auf eine Zuweisung:
1 | ledstate : in STD_LOGIC_VECTOR (15 downto 0);
|
2 | col : out STD_LOGIC_VECTOR (3 downto 0));
|
3 | :
|
4 | alias b: std_logic_vector(0 to 3) is ledstate(3 downto 0);
|
5 | :
|
6 | col <= b;
|
Was kommt denn jetzt an col an?
Laut meiner Simulation nach wie vor ledstate(3 downto 0).
Oder wie sollte das deiner Meinung nach gehen?
Es würde nur etwas bringen, wenn dann tatsächlich auf die einzelnen Bits
zugegriffen werden würde. So etwa:
1 | ledstate : in STD_LOGIC_VECTOR (15 downto 0);
|
2 | col : out STD_LOGIC_VECTOR (3 downto 0));
|
3 | :
|
4 | alias b: std_logic_vector(0 to 3) is ledstate(3 downto 0);
|
5 | :
|
6 | col(0) <= b(0);
|
7 | col(1) <= b(1);
|
8 | col(2) <= b(2);
|
9 | col(3) <= b(3);
|
Sieh dir mal den angehängten Code und den Screenshot der Simulation
an...
> ich glaub du verwechselt hier darstellung und wert.
Ich wäre mir da wie gesagt nicht allzu sicher...