Hallo an alle,
Dennoch habe ich noch nicht begriffen, wie die 7 LUT4s zu pflegen sind.
Ich glaube, dass ich es nun kapiert habe, dank dieser Link:
http://www.markharvey.info/fpga/init/index.htmlBeispiel: LUT4_1 soll das a-Segment ansteuern. Das a-Segment soll leuchten bei Ziffern 0, 2, 3, 5, 6, 7, 8, und 9. Also bei folgende Eingangswerte:
0 = 0000
2 = 0010
3 = 0011
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001
Das ergibt folgende truth table:
I3 I2 I1 I0 O
0 0 0 0 0
0 0 0 1 1
2 0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
10 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
C1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
F1 1 1 0 1
1 1 1 1 1
Ergibt also INIT Wert für LUT4_1 =
FC12Das werde ich mal ausprobieren

Nachtrag:
Es hat wunderbar funktioniert, nur ist die Schaltungslogik invertiert gegenüber die ursprüngliche Dekoder mit Logik Gattern. Die Logik passt also für common anode 7-segment Anzeigen. Für common cathod Anzeigen müssen entweder Inverter dazwischen geschaltet werden, oder aber beim Berechnen der INIT Werte 0 und 1 beim Output tauschen. Im Beispiel oben für a-Segment wäre das dann so:
I3 I2 I1 I0.........CA CC.....CA.........CC
0 0 0 0...............0 1
0 0 0 1...............1 0........
2 ........
D0 0 1 0...............0 1
0 0 1 1...............0 1
0 1 0 0...............1 0
0 1 0 1...............0 1........
1........
E0 1 1 0...............0 1
0 1 1 1...............0 1
1 0 0 0...............0 1
1 0 0 1...............0 1........
C........
31 0 1 0...............1 0
1 0 1 1...............1 0
1 1 0 0...............1 0
1 1 0 1...............1 0........
F........
01 1 1 0...............1 0
1 1 1 1...............1 0
Ergibt also INIT Wert für LUT4_1 =
FC12 für common anode
............................................. =
03ED für common cathode
Wer es mag, hier ist die vollständige common anode Version.
Viele Grüße,
Ag