fred schrieb:
> Gibt es dafür eine Funktion? Man muss doch nicht alle möglichen
> Varianten einzeln definieren, oder?
> segment: process(DOUT)
> begin
> case DOUT is
> when "00000000" => DIG_0 <= x"00";
> when "00000001" => DIG_0 <= x"01";
> when "00000010" => DIG_0 <= x"02";
> .
> .
> when "11111111" => DIG_0 <= x"FF";
> end case;
> end process;
Diesen Code könntest du ohne jede Funktionseinschränkung so abkürzen:
Oder packen wirs mal anders an:
1 | case DOUT is
|
2 | when "00000000" => DIG_0 <= x"00";
|
3 | when "00000001" => DIG_0 <= x"01";
|
4 | when "00000010" => DIG_0 <= x"02";
|
5 | when "00000011" => DIG_0 <= x"03";
|
6 | when "00000100" => DIG_0 <= x"04";
|
7 | when "00000101" => DIG_0 <= x"05";
|
8 | when "00000110" => DIG_0 <= x"06";
|
9 | when "00000111" => DIG_0 <= x"07";
|
10 | when "00001000" => DIG_0 <= x"08";
|
11 | when "00001001" => DIG_0 <= x"09";
|
12 | when "00001010" => DIG_0 <=
|
13 | when "00001011" => DIG_0 <=
|
Aufgabe: schreib die letzten 2 Zeilen fertig...
fred schrieb:
> wie realisiert man eine Typenumwandlung für die Anzeige eines 8 Bit
> Werts in Hex?
Du willst vermutlich eine BCD-Darstellung (Stichwort für Google) des
Binärwerts.
Nimm eine Tabelle:
http://www.lothar-miller.de/s9y/categories/44-BCD-Umwandlung