www.mikrocontroller.net

Forum: FPGA, VHDL & Co. DCF Uhr Fehlersuche


Autor: ChristofRebmann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade etwas am verzweifeln, ich habe eine DCF Uhr in VHDL
beschrieben und die funktioniert auch ganz gut nach der Synthese.

Jedoch habe ich probleme mit dem Schieberegister, das die Daten
zwischenspeichert und an einen Ausgabeblock weiterleitet.

In der Simulation ergibt sich ein anderes Ergebnis zum Zeitpunkt der
Datenausgabe aus dem Schieberegister, als in der realen hardware.
(verschobenes Bitmuster) Findet von euch jemand den Fehler und kann
mein erstes VHDL Projekt für die FH-Heilbronn korigieren, damit
Simulation und realität zusammenpassen ?

Ich habe das gesamte Projekt für webpack 6.1 mit angehängt. in der
testbench datei : tb_dcf_uhr.vhd  habe ich unter Hinweise etwas mehr
zum problem beschrieben.

Habe auch einen Screenshot vom Simulator: Impulsbild.jpg mit eingezippt
;-)

Grüsse

Christof

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du schon eine P&R Simulation gemacht?

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bist Du identisch mit MarkusG oder verwendest Du nur
dieselben Sourcen ?

Autor: ChristofRebmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@FPGA User
Das ist ein Kumpel von mir, mit dem ich das Projekt zusammen mache.

@Jörn
Ja hab ich schon mal aber da kommt irgendwie nur blödsinn heraus.


An was könnts bloß liegen ;-( ???

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn bei der P&R schon Blödsinn rauskommt, kann läuft auf der HW auch
nur Blödsinn.

An deiner Stelle würde ich schauen, dass die P&R Simulation so
aussieht, wie du es dir vorstellst und dann auf der HW testen.

Gruß Jörn

Autor: ChristofRebmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also jetzt weiß ich soviel wie vorher ;-(

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich glaube zumindest ein Problem gefunden zu haben:
in dcf_decoder.vhd gibt es die Signale
minClkOut und bitClkOut, welche anschließend
das Schieberegister steuern.
Beide Signale sind synchron zum 100Hz-Clock.

In der Funktion shift (shiftreg.vhd) wird nun bitClkOut
als Taktsignal verwendet und minClkOut als Ladesignal
für die Ausgaberegister.

Beide Signale ändern sich in der Simulation aber exakt
zur gleichen Zeit, d.h. bei einer steigenden Flanke
von bitClkOut kann sich auch minClkOut ändern.
Die Sache ist asynchron !!!! Was da nach der Synthese
passiert, ist Zufall.
Versuch doch mal, das 100Hz-Signal als Takt für das SRG
zu verwenden und bitClkOut als Enable-Signal.
Dann ist wieder alles synchron. bitClkOut darf jetzt
natürlich nur noch 1 Takt lang sein, was aber kein
Problem ist, Du schaltest einfach noch ein FF nach und
machst eine Flankenerkennung.

In der Simulation tb_dcf_uhr.vhd fehlt zu Beginn nach der
Minutenaustastlücke m.E. das Bit 0, so dass von vornherein
mit einem falschen Simulations-Input gearbeitet wird.

Nach Einfügen dieses Bits hat sich in meiner Simulation
allerdings auch nichts geändert :-(

Autor: ChristofRebmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@FPGA-User

Hört sich gut an, hat es denn damit bei dir im Simulator hingehauen ?

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte gehofft, dass Du meine Idee mal ausprobierst ;-)
es wäre sicher auch keine schlechte Idee, die Bits
mal von oben ins Schieberegister einzuschieben, damit
könntest Du mit denselben Bit-Nummern wie in der DCF-Doku
arbeiten und müsstest nicht alles rumdrehen.
Der VHDL-Code der DCF-Uhr ist schon recht gut, aber
nochn Tip von mir:
versuch doch mal, einen Counter als "integer range 0 to 2**8"
oder so zu deklarieren und nicht als std_logic_vector.
Damit kannst Du bei den Vergleichen dann schön mit integer
arbeiten und musst nicht in Hex umrechnen. Außerdem musst
Du den Code nur an einer Stelle ändern, wenn der Counter mal
bis 2**16 zählen soll. Oder bis MAX_COUNTER_VALUE ...
Sorry, sind nur gut gemeinte Ratschläge aus der Erfahrung.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo.
bin auch grad dabei eine dcf uhr zu programmieren.
bei mir das das bloß nicht so aufgeräumt wie bei euch.
hab alles in eine datei geschrieben.
bin noch anfänger in der sache.
ca 1 jahr dabei.
>>>mal ne frage mit welchen progi simuliert ihr?<<<
den code hab ich schon fertig, der chip fehlt bloß noch, dass ich den
code testen kann. xilinx läst auf sich warten.

noch was anderes.
kann ich einfach sonen schaltplan wie es im code ist einfügen und für
die einzelnen blöcke die dateien verlinken?
oder wie macht ihr das.
mir würde auch ne i-net seite reichen.
schon mal danke.
mfg

Autor: Andreas Ehret (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christof,

schöner Zufall ... ich muss auch eine Funkuhr in VHDL realisieren, auch
an der FH in HN. Ich vermute mal stark, dass Du EL studierst, ich mache
MM und will das im Rahmen eines Projekts machen.

Ich bin auch schon relativ weit, in Gedanken fast fertig, aber ebenso
wie Du habe ich Probleme. Im Simulator läuft einiges, in Wirklichkeit
jedoch eher weniger.

Du kannst mich ja mal direkt anschreiben, wir könnten uns ja ein wenig
austauschen bzw. unsere Projektstände mal gegenseitig real betrachten.

Ich habe ein Spartan-3E Board zur Verfügung und arbeite ebenso mit
Webpack 6.1

Grüße
   Andy

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.