Binär zu BCD wandlung

Gast #3180512
Lesenswert?
• ▲
▼
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..
Angehängte Dateien:
Gast #3180792
Lesenswert?
• ▲
▼
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
   ...
Gast #3180828
Lesenswert?
• ▲
▼
>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).
Moderator (Firma: Titel) Persönliche Seite #3180973
Lesenswert?
• ▲
▼
> 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....
Gast #3182154
Lesenswert?
• ▲
▼
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?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.