16-Segment-Dekoder (mit CPLD)


zurück zu Elektronik, Homepage


3. Umsetzung der Wahrheitstabelle in AHDL

Die Umsetzung der Wahrheitstabelle wurde in AHDL erstellt und erfolgt in zwei Dateien. Die Datei "16_SEGM_DEKODER.TDF" beinhaltet die komplette Tabelle, während die Datei "16_SEGM_DEKODER.INC" zur Einbindung in eine praktische Anwendung dient. Beide Dateien sollten daher auch immer in den Projektordner hinzugefügt werden, wo dieser 16-Segment-Dekoder verwendet wird.

Diese beiden Dateien können im 5. Download-Bereich gedownloadet werden.

nach oben

3.1. Quelldatei "16_SEGM_DEKODER.TDF"

%****************************************************************************%
%* 16-Segment-Dekoder (in AHDL)                                             *%
%*                                                                          *%
%* Entwickler: Buchgeher Stefan                                             *%
%* Entwicklungsbeginn: 11. Juni 2005                                        *%
%* Funktionsfaehig seit: 11. Juni 2005                                      *%
%* Letzte Bearbeitung: 8. Juli 2005                                         *%
%****************************************************************************%


%***************** Definition der Ein- und Ausgaenge ************************%
SUBDESIGN 16_SEGM_DEKODER
(
        in[6..0]        : INPUT;
        out[15..0]        : OUTPUT;
)


%***************** Beginn der Schaltungsbeschreibung ************************%
BEGIN
        CASE in[] IS
                WHEN   0 => out[] = B"1111111100000000"; % 0 %
                WHEN   1 => out[] = B"0011000000000000"; % 1 %
                WHEN   2 => out[] = B"1110111000010001"; % 2 %
                WHEN   3 => out[] = B"1111110000010001"; % 3 %
                WHEN   4 => out[] = B"0011000100010001"; % 4 %
                WHEN   5 => out[] = B"1101110100010001"; % 5 %

                ...

                WHEN 119 => out[] = B"0011001100001010"; % w = W %
                WHEN 120 => out[] = B"0000000010101010"; % x = X %
                WHEN 121 => out[] = B"0000000010100100"; % y = Y %
                WHEN 122 => out[] = B"1100110000100010"; % z = Z %
                WHEN 123 => out[] = B"0100100001000101"; % { %
                WHEN 124 => out[] = B"0000000001000100"; % | %
                WHEN 125 => out[] = B"1000010001010100"; % } %
                WHEN 126 => out[] = B"0010001000010001"; % Sonderzeichen %
                WHEN 127 => out[] = B"0000000000000000"; %   %
        END CASE;
END;
nach oben

3.2. Include-Datei "16_SEGM_DEKODER.INC"

%****************************************************************************%
%* Include-Datei zum 16-Segment-Dekoder (in AHDL)                           *%
%*                                                                          *%
%* Entwickler: Buchgeher Stefan                                             *%
%* Entwicklungsbeginn: 11. Juni 2005                                        *%
%* Funktionsfaehig seit: 11. Juni 2005                                      *%
%* Letzte Bearbeitung: 8. Juli 2005                                         *%
%****************************************************************************%


FUNCTION 16_SEGM_DEKODER
(
        in[6..0]
)
RETURNS
(
        out[15..0]
);
nach oben


zurück zu Elektronik, Homepage

Autor: Buchgeher Stefan
Erstellt: 20. Juli 2005
Letzte Änderung: