VHDL - Integer zu Packed BCD
-
Moin!
Ich möchte mit einem CPLD 4 Anzeigen ansteuern (0 bis 9999). Das ist auch kein Problem, jedoch arbeite ich intern mit Integern. Um die Anzeigen ansteuern zu können, brauche ich eine Funktion, die Integer in BCD umwandelt. Mit DIV und MOD geht das recht einfach, allerdings kostet das auch sehr viele Logikbausteine. Die logischen Funktionen zu erstellen mit 16 Eingabevariablen und 16 Ausgabevariablen sind sehr viel Arbeit.
Hat jemand eine Idee, wie ich mir das vereinfachen kann, oder muß ich die Arbeit auf mich nehmen bzw DIV und MOD verwenden?
Bei Google finde ich viele Infos, allerdings alle nur mit DIV und MOD und kein Hinweis auf irgendeine alternative Funktion.
Ein Schubs in die richtige Richtung wäre mir lieber als eine fertig synthetisierbare Lösung.
-
http://www.xilinx.com/support/documentation/application_notes/xapp029.pdf
Das ist wohl die Standard Lösung. Habs aber selbst noch nie gebraucht oder verwendet.
-
'shift and add 3' algorithmus:
http://edda.csie.dyu.edu.tw/course/fpga/Binary2BCD.pdf
-
Noch ein kleiner Nachtrag meinerseits.
Für mehr hardwarelastigere Probleme, also angefangen bei der Programmierung von Mikrocontrollern, weiter zur Programmierung von Logikbausteinen bis schließlich hin zur reinen Hardwareentwicklung (analog + digital) gibt es ein anderes sehr aktives deutschsprachiges Forum.
Hier der Link:
http://www.mikrocontroller.net/
-
Vielen Dank, darauf wäre ich alleine wohl nie gekommen.