Hallo liebe Community, ich versuche das oben bereits beschriebene problem zu lösen. Könnt ihr mir dabei helfen? Eine einstellige Ganzzahl auszugeben ist kein problem, aber eine dreistellige auf drei verschiedenen 7 segment displays des Spartan-3 auszuzugeben schaff ich nicht. Ich bitte um Hilfe. lg marie
> Eine einstellige Ganzzahl auszugeben ist kein problem, aber eine > dreistellige auf drei verschiedenen 7 segment displays des Spartan-3 Was ist nach deiner Definition eine einstellige Zahl? 0..9? Und eine dreistellige Zahl? 0...299? Willst du wahrscheinlich eine binäre Zahl als BCD-Zahl ausgeben? Dann mußt du erst mal die einzelnen Dezimalstellen extrahieren (z.B. siehe Anhang für einen 8-Bit-Wert). Dann diese 0..9 in die 7 Segmente umbiegen, und diese dann auf die 3 Anzeigen multiplexen. Wie sind die Anzeigen am Spartan 3 angeschlossen (Schaltplan)?
naja, wenn ich das richtig verstanden habe, dann ist das umrechnen einer einstelligen zahl für eine 7 segmenten anzeige nich das problem, sondern eher das trennen der 100er, 10er und 1er stelle voneinander. ich würde das am ehesten durch subtraktion von 100 machen und mit jedem mal einen counter hochzählen. solange bis die zahl kleiner 100 ist. dann hat man die 100er stelle einzeln. den übrig gebliebene zahl dann immer wieder -10 rechnen bis diese kleiner 10 ist und wieder einen counter mitzählen lassen, wie oft das ging, dann hat man auch die 10er stelle separiert. naja und die 1er stelle kann man direkt verarbeiten.
Hab grade gesehen "Xilinx", also CPLD oder FPGA ? VHDL oder Verilog ? Die Divisionen kann man zur Platzersparnis nacheinander ausführen. Nur drei Stellen könnten auch als Tabelle noch passen.
@all: Sucht mal hier im Forum nach "vhdl" und "bcd". Das Thema war schon mal aktuell und es sollten sich ergiebige Foreneinträge finden lassen. Duke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.