Hallo zusammen, bin neu im VHDL programmieren. Kann mir jemand bei diesem Problem helfen, ich wollte auf einer dreistelligen 7-Segment Anzeige eine Zahl ausgeben, welche in "STD_LOGIC_VECTOR (6 downto 0)" (binär) in diesen Schaltungsteil kommt. Mein Ziel ist es, sie über BCD an der Anzeige auszugeben. Danke euch..
Hast du schon mal Google probiert? http://www.google.com/search?q=Bin%C3%A4r+zu+BCD+wandlung+VHDL Da ist sicher was dabei...
Stutz schrieb: > sieht sehr kompliziert aus ... Was denn? > gibt es keine einfachere Lösung? Einfacher als die Lösung mit der Tabelle im RAM geht es nicht. http://www.lothar-miller.de/s9y/archives/33-Byte-nach-BCD.html
Da fällt mir was auf, Das wird doch ein Latch oder? >process(clock) >begin > if clock = '1' then > counter <= counter + 1; Besser so:
1 | process(clock) |
2 | begin
|
3 | if rising_edge(clock) then |
4 | counter <= counter + 1; |
5 | ...
|
>sieht sehr kompliziert aus ... gibt es keine einfachere Lösung?
Ich sag nur eins: der Double-Dabble Algorithmus, ist in C extrem einfach
umsetzbar und wahrscheinlich genauso einfach in VDHL (nur shift
Operationen).
> Da fällt mir was auf, Das wird doch ein Latch oder? > >>process(clock) >>begin >> if clock = '1' then >> counter <= counter + 1; Schlimmer noch: das ist eine versteckte kombinatorische Schleife: http://www.lothar-miller.de/s9y/categories/36-Kombinatorische-Schleife Und zudem ist die Simulation falsch, weil die Sensitivliste nicht vollständig ist: http://www.lothar-miller.de/s9y/archives/16-Takt-im-Prozess.html > Ich sag nur eins: der Double-Dabble Algorithmus Das ist genau der shift-add-3 Algorithmus (aus meinem ersten Link), der als "zu kompliziert" bewertet wurde... > nur shift Operationen Von der Addition und dem Vergleich mal abgesehen....
Vielen Dank euch allen! Muss dieses Projekt leider schon morgen in der Schule abgeben. Hat einer von euch Profis die Zeit mir das kurz in mein .vhd File zu implementieren?
Stutz schrieb: > Vielen Dank euch allen! > Muss dieses Projekt leider schon morgen in der Schule abgeben. > Hat einer von euch Profis die Zeit mir das kurz in mein .vhd File zu > implementieren? Leider hast du erst gestern von dem Projekt erfahren oder wie? Hausaufgabe?
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.