Gast
#3212883
Hallo zusammen, vielleicht kann mir ja hier jemand erklären, warum mein code nicht das tut, was er soll.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
Was das Ding tun soll: Ein Keyboard nachbilden (bei dem nur eine Taste auf einmal gedrückt werden kann). Am kbd-Controller sind die rows Eingänge mit pullups, die columns sind open-drain. Über col_s und row_s können dann col+row ausgewählt werden, die verbunden werden sollen und wenn press_s aktiv ist, dann wird ein low von der selektierten Spalte auf die selektierte Reihe weitergegeben. So weit die Theorie. In der Simulation funktioniert das auch einwandfrei, nur mit dem FPGA nicht. Er nimmt scheinbar immer Reihe 0 (und Spalte 0?), habe das mitm Oszi angeguckt. col_s und row_s haben die richtigen Werte, die Signale hab ich mir über LEDs schon angeguckt. Wenn ich aber oben die hier auskommentierte Test-if-Zeile mit hardgecodeten Werten nehmen funktioniert alles wie gewünscht. Wo liegt der Fehler? Danke & viele Grüße!