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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren