Hallo zusammen, ich überarbeite gerade ein altes Design und wollte gleich wegen den hilfreichen Hinweisen von Lothar (http://www.lothar-miller.de/s9y/categories/16-Numeric_Std) die numeric_std einpflegen. alt:
| 1 | LIBRARY ieee; | 
| 2 | USE ieee.std_logic_1164.ALL; | 
| 3 | USE ieee.std_logic_arith.ALL; | 
| 4 | USE ieee.std_logic_unsigned.ALL; | 
| 5 | ...
 | 
| 6 | type array_data is array (0 to 7) of std_logic_vector( 7 DOWNTO 0); | 
| 7 | signal s_data : array_data; | 
| 8 | type array_ergebnis is array (0 to 7) of std_logic_vector(11 DOWNTO 0); | 
| 9 | signal s_ergebnis : array_ergebnis; | 
| 10 | ...
 | 
| 11 | |
| 12 | FOR I IN 0 TO 7 LOOP | 
| 13 | s_ergebnis(i) <= ("000000" & s_data(i)(s_data(i)'HIGH DOWNTO 2)) + conv_std_logic_vector(2, s_ergebnis(i)'LENGTH); | 
| 14 | END LOOP; | 
neu:
| 1 | LIBRARY ieee; | 
| 2 | USE ieee.std_logic_1164.ALL; | 
| 3 | USE ieee.numeric_std.ALL; | 
| 4 | ...
 | 
| 5 | type array_data is array (0 to 7) of std_logic_vector( 7 DOWNTO 0); | 
| 6 | signal s_data : array_data; | 
| 7 | type array_ergebnis is array (0 to 7) of std_logic_vector(11 DOWNTO 0); | 
| 8 | signal s_ergebnis : array_ergebnis; | 
| 9 | ...
 | 
| 10 | |
| 11 | FOR I IN 0 TO 7 LOOP | 
| 12 | s_ergebnis(i) <= std_logic_vector(to_unsigned((to_integer(unsigned("000000" & s_data(i)(s_data(i)'HIGH DOWNTO 2))) + 2), s_ergebnis(i)'LENGTH)); | 
| 13 | END LOOP; | 
Abgesehen, dass es mega unübersichtlich wird, will es auch nicht so recht klappen. Ich würde ungern irgendwelche Zwischensignale/-variablen verwenden. Dann hat man später noch mehr Probleme das Design zu verstehen. Kann mir jemand helfen den Knoten lösen? Vielen Dank! Andi :)
 Thread beobachten
 Thread beobachten Seitenaufteilung abschalten
 Seitenaufteilung abschalten