kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Implementierung eines diskreten Neuronalen Netzes mittels eines VHDL-Code-Generators in Java

(EN google-translate)

(PL google-translate)

Ergänzend folgen hier alle Vorstufen der Entwicklung:

nnfpga001_FPGAlookupSigmoid.zip
nnfpga002_JAVAlookupSigmoid.zip
nnfpga003_JAVAnetz.zip
nnfpga004_GenOpt.zip

Für Umsetzung benötigte Projekte:

nnfpga001_FPGAlookupSigmoid_neu.zip -- liefert den Java-Quelltext, der den sigmoiden Lookup-Table in VHDL erzeugt.
nnfpga006_VHDLcode.zip -- Optimiert Netz und liefert den kompletten VHDL-Code als Textdatei.
nexys_Neuronetz_Bitvergleicher.zip -- Projekt für diskretes Neuronales Netz nexys video mit ISE14.7
Informationen zur Synthese.

Bild 0-1: Informationen zur Synthese.

Testfall:

Bild 0-2: Testfall: "0101", CC='1'.

Constraints aus nexys_Neuronetz_Bitvergleicher

NET "A1"  LOC = "E22" | PULLUP  | IOSTANDARD = LVCMOS33 ;
NET "A0"  LOC = "F21" | PULLUP  | IOSTANDARD = LVCMOS33 ;
NET "B1"  LOC = "G21" | PULLUP  | IOSTANDARD = LVCMOS33 ;
NET "B0"  LOC = "G22" | PULLUP  | IOSTANDARD = LVCMOS33 ;
NET "CC"   LOC = "T14" | IOSTANDARD = LVCMOS33 | SLEW = SLOW ;

Code 0-1: nndiskret.ucf

VHDL-Quelltext aus nexys_Neuronetz_Bitvergleicher

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity nndiskret is
    Port ( A1 : in  STD_LOGIC;
           A0 : in  STD_LOGIC;
           B1 : in  STD_LOGIC;
           B0 : in  STD_LOGIC;
           CC : out  STD_LOGIC);
end nndiskret;

architecture Behavioral of nndiskret is
-- Vorbelegung der Gewichte der Leitungen, die von A1 her kommen:
constant wA1_0: integer := 24;
constant wA1_1: integer := 18;
constant wA1_2: integer := -21;
constant wA1_3: integer := -23;
constant wA1_4: integer := -18;
constant wA1_5: integer := 31;
constant wA1_6: integer := -9;
constant wA1_7: integer := 7;
constant wA1_8: integer := -8;
constant wA1_9: integer := -17;
constant wA1_10: integer := -12;
constant wA1_11: integer := -16;
constant wA1_12: integer := 28;
constant wA1_13: integer := -27;
constant wA1_14: integer := -21;
constant wA1_15: integer := -30;
-- Vorbelegung der Gewichte der Leitungen, die von A0 her kommen:
constant wA0_0: integer := -29;
constant wA0_1: integer := -13;
constant wA0_2: integer := 26;
constant wA0_3: integer := -4;
constant wA0_4: integer := -22;
constant wA0_5: integer := -4;
constant wA0_6: integer := -19;
constant wA0_7: integer := 11;
constant wA0_8: integer := -24;
constant wA0_9: integer := 12;
constant wA0_10: integer := 9;
constant wA0_11: integer := -7;
constant wA0_12: integer := 26;
constant wA0_13: integer := -31;
constant wA0_14: integer := -20;
constant wA0_15: integer := -14;
-- Vorbelegung der Gewichte der Leitungen, die von B1 her kommen:
constant wB1_0: integer := 27;
constant wB1_1: integer := 10;
constant wB1_2: integer := -18;
constant wB1_3: integer := -7;
constant wB1_4: integer := -24;
constant wB1_5: integer := 27;
constant wB1_6: integer := 4;
constant wB1_7: integer := -28;
constant wB1_8: integer := -19;
constant wB1_9: integer := 31;
constant wB1_10: integer := -14;
constant wB1_11: integer := -21;
constant wB1_12: integer := -6;
constant wB1_13: integer := 29;
constant wB1_14: integer := -7;
constant wB1_15: integer := -5;
-- Vorbelegung der Gewichte der Leitungen, die von B0 her kommen:
constant wB0_0: integer := 8;
constant wB0_1: integer := 22;
constant wB0_2: integer := -14;
constant wB0_3: integer := 4;
constant wB0_4: integer := -6;
constant wB0_5: integer := -2;
constant wB0_6: integer := -5;
constant wB0_7: integer := 2;
constant wB0_8: integer := -19;
constant wB0_9: integer := 16;
constant wB0_10: integer := -29;
constant wB0_11: integer := 8;
constant wB0_12: integer := 25;
constant wB0_13: integer := -26;
constant wB0_14: integer := 23;
constant wB0_15: integer := 21;
-- Vorbelegung der Gewichte der Leitungen, die zum Ausgang C gehen:
constant wCC_0: integer := 21;
constant wCC_1: integer := 30;
constant wCC_2: integer := -21;
constant wCC_3: integer := -29;
constant wCC_4: integer := -28;
constant wCC_5: integer := 14;
constant wCC_6: integer := -21;
constant wCC_7: integer := -16;
constant wCC_8: integer := -18;
constant wCC_9: integer := -31;
constant wCC_10: integer := -24;
constant wCC_11: integer := -29;
constant wCC_12: integer := -22;
constant wCC_13: integer := -24;
constant wCC_14: integer := -29;
constant wCC_15: integer := -30;
-- summe u für jedes Neuron der einen Zwischenschicht:
signal summe0    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe1    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe2    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe3    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe4    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe5    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe6    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe7    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe8    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe9    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe10    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe11    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe12    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe13    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe14    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal summe15    : integer range -32768 to 32767 := 0; -- 16Bit Variable
-- sigmoider Ausgang für jedes Neuron der einen Zwischenschicht:
signal sigmo0    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo1    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo2    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo3    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo4    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo5    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo6    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo7    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo8    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo9    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo10    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo11    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo12    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo13    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo14    : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal sigmo15    : integer range -32768 to 32767 := 0; -- 16Bit Variable
-- summe u für das eine Ausgangsneuron:
signal summe_out : integer range -32768 to 32767 := 0; -- 16Bit Variable
-- sigmoider Ausgang für das eine Ausgangsneuron:
signal sigmo_out : integer range -32768 to 32767 := 0; -- 16Bit Variable
-- Hilfsvariablen zur Umsetzung der Eingangslogik auf +31 für 1 und -31 für 0:
signal AAA1 : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal AAA0 : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal BBB1 : integer range -32768 to 32767 := 0; -- 16Bit Variable
signal BBB0 : integer range -32768 to 32767 := 0; -- 16Bit Variable
-- Ausgangssignal vor Rückübersetzung in Logikpegel:
signal CCC  : integer range -32768 to 32767 := 0; -- 16Bit Variable

begin

-- Übersetzung der Eingangslogikpegel in Eingangssignale für das Netz:
AAA1 <= 31 when (A1 = '1') else -31;
AAA0 <= 31 when (A0 = '1') else -31;
BBB1 <= 31 when (B1 = '1') else -31;
BBB0 <= 31 when (B0 = '1') else -31;

-- Gewichtete Summen für jedes Neuron der Zwischenschicht:
-- Neuron Nr.0 der Zwischenschicht:
summe0 <= AAA1*wA1_0 + AAA0*wA0_0 + BBB1*wB1_0 + BBB0*wB0_0;
-- Neuron Nr.1 der Zwischenschicht:
summe1 <= AAA1*wA1_1 + AAA0*wA0_1 + BBB1*wB1_1 + BBB0*wB0_1;
-- Neuron Nr.2 der Zwischenschicht:
summe2 <= AAA1*wA1_2 + AAA0*wA0_2 + BBB1*wB1_2 + BBB0*wB0_2;
-- Neuron Nr.3 der Zwischenschicht:
summe3 <= AAA1*wA1_3 + AAA0*wA0_3 + BBB1*wB1_3 + BBB0*wB0_3;
-- Neuron Nr.4 der Zwischenschicht:
summe4 <= AAA1*wA1_4 + AAA0*wA0_4 + BBB1*wB1_4 + BBB0*wB0_4;
-- Neuron Nr.5 der Zwischenschicht:
summe5 <= AAA1*wA1_5 + AAA0*wA0_5 + BBB1*wB1_5 + BBB0*wB0_5;
-- Neuron Nr.6 der Zwischenschicht:
summe6 <= AAA1*wA1_6 + AAA0*wA0_6 + BBB1*wB1_6 + BBB0*wB0_6;
-- Neuron Nr.7 der Zwischenschicht:
summe7 <= AAA1*wA1_7 + AAA0*wA0_7 + BBB1*wB1_7 + BBB0*wB0_7;
-- Neuron Nr.8 der Zwischenschicht:
summe8 <= AAA1*wA1_8 + AAA0*wA0_8 + BBB1*wB1_8 + BBB0*wB0_8;
-- Neuron Nr.9 der Zwischenschicht:
summe9 <= AAA1*wA1_9 + AAA0*wA0_9 + BBB1*wB1_9 + BBB0*wB0_9;
-- Neuron Nr.10 der Zwischenschicht:
summe10 <= AAA1*wA1_10 + AAA0*wA0_10 + BBB1*wB1_10 + BBB0*wB0_10;
-- Neuron Nr.11 der Zwischenschicht:
summe11 <= AAA1*wA1_11 + AAA0*wA0_11 + BBB1*wB1_11 + BBB0*wB0_11;
-- Neuron Nr.12 der Zwischenschicht:
summe12 <= AAA1*wA1_12 + AAA0*wA0_12 + BBB1*wB1_12 + BBB0*wB0_12;
-- Neuron Nr.13 der Zwischenschicht:
summe13 <= AAA1*wA1_13 + AAA0*wA0_13 + BBB1*wB1_13 + BBB0*wB0_13;
-- Neuron Nr.14 der Zwischenschicht:
summe14 <= AAA1*wA1_14 + AAA0*wA0_14 + BBB1*wB1_14 + BBB0*wB0_14;
-- Neuron Nr.15 der Zwischenschicht:
summe15 <= AAA1*wA1_15 + AAA0*wA0_15 + BBB1*wB1_15 + BBB0*wB0_15;

-- Bilden des sigmoiden Ausgangs aus jeder Summe u der Zwischenschicht:
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.0:
with summe0 select sigmo0 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.1:
with summe1 select sigmo1 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.2:
with summe2 select sigmo2 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.3:
with summe3 select sigmo3 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.4:
with summe4 select sigmo4 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.5:
with summe5 select sigmo5 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.6:
with summe6 select sigmo6 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.7:
with summe7 select sigmo7 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.8:
with summe8 select sigmo8 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.9:
with summe9 select sigmo9 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.10:
with summe10 select sigmo10 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.11:
with summe11 select sigmo11 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.12:
with summe12 select sigmo12 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.13:
with summe13 select sigmo13 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.14:
with summe14 select sigmo14 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;
-- Bestimmung des sigmoiden Ausgangs für Neuron Nr.15:
with summe15 select sigmo15 <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;

-- Gewichtete Summe für Ausgangsneuron:
summe_out <=  sigmo0*wCC_0 +  sigmo1*wCC_1 +  sigmo2*wCC_2 +  sigmo3*wCC_3 +  sigmo4*wCC_4 +  sigmo5*wCC_5 +  sigmo6*wCC_6 +  sigmo7*wCC_7 +  sigmo8*wCC_8 +  sigmo9*wCC_9 +  sigmo10*wCC_10 +  sigmo11*wCC_11 +  sigmo12*wCC_12 +  sigmo13*wCC_13 +  sigmo14*wCC_14 +  sigmo15*wCC_15;

-- Sigmoider Wert für Ausgangsneuron:
with summe_out select sigmo_out <=
    0 when -32768 to -143,
    1 when -142 to -122,
    2 when -121 to -110,
    3 when -109 to -102,
    4 when -101 to -95,
    5 when -94 to -89,
    6 when -88 to -84,
    7 when -83 to -80,
    8 when -79 to -76,
    9 when -75 to -73,
    10 when -72 to -70,
    11 when -69 to -67,
    12 when -66 to -65,
    13 when -64 to -62,
    14 when -61 to -60,
    15 when -59 to -58,
    16 when -57 to -56,
    17 when -55 to -54,
    18 when -53 to -52,
    19 when -51 to -50,
    20 when -49 to -48,
    21 when -47,
    22 when -46 to -45,
    23 when -44,
    24 when -43 to -42,
    25 when -41,
    26 when -40 to -39,
    27 when -38,
    28 when -37,
    29 when -36 to -35,
    30 when -34,
    31 when -33,
    32 when -32,
    33 when -31 to -30,
    34 when -29,
    35 when -28,
    36 when -27,
    37 when -26,
    38 when -25,
    39 when -24,
    40 when -23,
    41 when -22,
    42 when -21,
    43 when -20,
    44 when -19,
    45 when -18,
    46 when -17,
    47 when -16,
    48 when -15,
    49 when -14,
    50 when -13,
    51 when -12,
    52 when -11,
    53 when -10,
    54 when -9,
    55 when -8,
    56 when -7,
    57 when -6,
    58 when -5,
    59 when -4,
    60 when -3,
    61 when -2,
    62 when -1,
    64 when 0,
    65 when 1,
    66 when 2,
    67 when 3,
    68 when 4,
    69 when 5,
    70 when 6,
    71 when 7,
    72 when 8,
    73 when 9,
    74 when 10,
    75 when 11,
    76 when 12,
    77 when 13,
    78 when 14,
    79 when 15,
    80 when 16,
    81 when 17,
    82 when 18,
    83 when 19,
    84 when 20,
    85 when 21,
    86 when 22,
    87 when 23,
    88 when 24,
    89 when 25,
    90 when 26,
    91 when 27,
    92 when 28,
    93 when 29,
    94 when 30 to 31,
    95 when 32,
    96 when 33,
    97 when 34,
    98 when 35 to 36,
    99 when 37,
    100 when 38,
    101 when 39 to 40,
    102 when 41,
    103 when 42 to 43,
    104 when 44,
    105 when 45 to 46,
    106 when 47,
    107 when 48 to 49,
    108 when 50 to 51,
    109 when 52 to 53,
    110 when 54 to 55,
    111 when 56 to 57,
    112 when 58 to 59,
    113 when 60 to 61,
    114 when 62 to 64,
    115 when 65 to 66,
    116 when 67 to 69,
    117 when 70 to 72,
    118 when 73 to 75,
    119 when 76 to 79,
    120 when 80 to 83,
    121 when 84 to 88,
    122 when 89 to 94,
    123 when 95 to 101,
    124 when 102 to 109,
    125 when 110 to 121,
    126 when 122 to 142,
    127 when others;

-- Neuronausgang als Logikpegel ausgeben:
with sigmo_out select CC <=
     '0' when -32768 to 64,
     '1' when others;

end Behavioral;

Code 0-2: nndiskret.vhd


Code 0-3: