www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Programm läuft nur im Simulator


Autor: Toni Müller (Firma: Private) (toggle2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe das Programm im Anhang für das Spantan 3an Board geschrieben. 
In der Simulation funktioniert alles, aber sobald ich das Programm auf 
das Board übertrage, zeigt as Display zwar 00:00:00 an, geht aber mit 
der Uhrzeit nicht hoch. Drückt man STD_S (hochzählen der Stunden 
Button), dann fängt die Uhr an in einer rasenden Geschwindigkeit (statt 
im Sekundentakt) hochzuzählen bis z. B. 12:25:45. Dabei wird aber auch 
immer berücksichtigt, dass die Stunden nur bis 23 und die 
Minuten/Sekunden bis 59 gehen.

Ich hoffe echt ihr könnt mir helfen, da mir nichts mehr einfällt... Wenn 
noch Fragen zu dem Programm sein sollten, dann einfach nachfragen.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Armin,

1) Wie schnell ist Dein Takt?

2) Wenn STD_S und MIN_S Taster sind, mußt Du die noch entprellen.

3) In die sensitivity-List müssen nur die asynchronen Signale.
Statemachine_01: process (takt, reset, AB_02, AB_03, 
                          ZUSTAND, SEC_E, SEC_Z, MIN_E, MIN_Z, STD_E, STD_Z)
Bei Dir ist das takt und reset.

4) Falls reset auch von außen kommt (Taster?) mußt Du es 
einsynchronisieren.

5) Wo ist Deine Testbench?

P.S.: Es reicht hier die .vhd-Files zu veröffentlichen.

Duke

Autor: Toni Müller (Firma: Private) (toggle2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1.) Der Takt ist 50MHZ

2.) Die Taster sind bereits auf dem Board entprellt (laut Hersteller) 
Hat mit anderen Projekten auch schon funktioniert.

3.) Hab ich gemacht, hat aber auf das Programm wenig Auswirkungen, außer 
das eine Warnung kommt: One more signals are missing... Gehe mal davon 
aus, dass das die sind die ich gelöscht habe, da Zeilenangabe auch 
stimmt.

4.) Die Reset Taste ich die einzige, die richtig funktioniert. Nach dem 
Drücken ist alles wieder auf 00:00:00

5.) Im Anhang

6.) Ich heiße Toni

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Duke Scarring schrieb:
> 3) In die sensitivity-List müssen nur die asynchronen Signale....
Der Prozess ist erst mal Getaktet und dann noch Kombinatorisch, da muß 
die Sensitivliste schon so sein...  :-o
   if    reset='1' then ZUSTAND <= A;
   elsif  takt='1' and takt'event then  -- getaktet
      ZUSTAND <= FOLGEZUSTAND;  
   end if;
  
   case ZUSTAND is                      -- kombinatorisch
      :
Allerdings ist diese Schreibweise durchaus unüblich. Das ist quasi eine 
2-Prozess-SM in einen Prozess gepackt...

> Drückt man STD_S (hochzählen der Stunden Button), dann fängt die Uhr an
> in einer rasenden Geschwindigkeit (statt im Sekundentakt) hochzuzählen
Tritt der Effekt auch mit der MIN_S Taste auf?
Ich steige da jetzt nicht mit den vielen Zählern so ganz durch, aber das 
hier könntest du anders schreiben:
MUX_1: process(MIN_S, c_szeh_int, sec)
begin
   case MIN_S is
  when '1'    => c_szer_int <= sec;
  when others => c_szer_int <= c_szeh_int; 
   end case;
end process MUX_1;
Nämlich so:
c_szer_int <= sec when MIN_S='1' else c_szeh_int;

Autor: Toni Müller (Firma: Private) (toggle2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp mit der MIN_S Taste. Hab mich da noch mal dran 
gegeben und die Uhr komplett neu gemacht und jetzt läuft es...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.