www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL Probleme


Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin dabei mit Xilinx eine Schaltung für Spartan-3 zu entwerfen, die
einen 8_Bit Datenstrom erzeugt(mit Zähler), dieser Datenstrom soll auf
einem SRAM abgelegt werden und anschließend von dort über eine
RS232-Schnittstelle auf dem PC sichtbar machen, zB. Mit HyperTerminal.

Ich Habe eine Post P&R Simulation durchgeführt und habe das Ergebnis
bekommen, welches ich haben wollte. Mein Problem ist nun, wenn ich den
FPGA programmiert habe und mir mein Ergebnis auf dem PC darstellen
will, sehe ich nichts, d.h. die Simulation ist korrekt, aber zu sehen
ist nichts.
Ich hoffe mir kann jemand helfen.
 Gruß

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich versteh Deine Schaltung nicht ganz. Du schreibst mit dem FPGA Daten
in das SRAM. Wie holst Du die Daten aus dem SRAM? Wie schickst Du sie an
den PC?

Beim FPGA würd ich mal prüfen, ob die Ausgangssignale Deiner Schlaltung
auf die richten Pins gelegt sind.

Sonst könnte des noch sein, dass der PC und das Gegenstück nicht auf
mit der selben Baudrate laufen.

Gruß Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörn,

später soll anstelle des Datenstromes ein Gerät außen an das Board
gehängt werden, das diesen Datenstrom erzeugt. Diesen Datenstrom will
ich erst in den SRAM schreiben und danach wieder auslesen. Meine
Pinbelegung stimmt und auch die Baudrate ist Ok. Ich erzeuge die
Baudrate, indem ich den entsprechenden Takt vor dem Register abgreife.

Gruß Tobias

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tobias,

verstehe ich das richtig, dass um im Moment auch ein UART im FPGA hast?
Hast Du in diesem Fall einen Pegelwandler angeschlossen?

GRuß Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörn,
wenn du mit UART meinst, dass ich den Datenstrom seriell mache, dann
ja, ansonsten weiß ich jetzt grade nicht was du meinst?? Der
Pgelwandler ist auf dem Board schon mit drauf. Ich habe ein Spartan-3
Starter Kit Evaluation Board. Pegelwandlung macht das Board schon
selber.

Gruß Tobias

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
UART (=Universal Asynchronous Receiver & Transmitter) oder auf gut
deutsch, die serielle Schnittstelle. Wie hast Du diese eingebunden?
Hast Du eine Application Note von Xilinx benutzt oder schiebst Du die
Daten direkt auf den die serielle Schnittstelle.

Gruß Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf dem Board ist eine serielle Schnittstelle integriert, an der auch
ein Treiber dranhängt, d.h. ich muß mich eigentlich bloß darum kümmern,
daß ich die richtige Baudrate verwende.

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tobias,

ich glaube wir haben das Problem lokalisiert. Ich vermute Du hast das
Spartan 3 Board von Xilinx aus ihrem Onlineshop. Was hast Du für Dein
Baord bezahlt?

Der Treiber der aussen am FPGA hängt, macht die Logikpegelumsetztung
von 3.3 auf +/- 12V. Die gesamte Steuerung für den Treiber musst Du im
FPGA machen (Start/Stop Bits, Timing für die Bits).

Gruß Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörn,

die Steuerung funktioniert. Ich habe jetzt festgestellt bei der
Simulation, daß mein PC beim simulieren beim Schreibprozess mittendrin
einfach aufhört. Der setzt einfach ein Timing limitation. Wie kann ich
das ändern?
Ein weiteres Problem ist, daß ich meinen Rechner schon mal mehr als
drei Tage einer Post P&R-Simulation unterzogen habe und der Rechner
immer noch beim Schreibprozess war, d.h. der rechner kommt einfach
nicht vorwärts, obwohl meine Schaltung nicht so groß ist. Kann das Am
Computer selber liegen??

Gruß Tobias

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit welchem Programm simulierst Du Deine Schaltung? Modelsim? Wenn, ja
mit welcher Version. Wenn es die freie Version von Xilinx ist, ist die
Performancebeschränkt.

Beim Webpack kannst Du mit die Simulationzeit einstellen:

Wähle Deine Testbench im Projektnavigator aus. Es müßte im "processes
for Source" Fenster vier verschiedene Simulationsmodi auftrauchen:
behavioral,Post-Translate,Post-Map, Post P&R.

Nun wählst Du eins aus und rufst mit der rechten Maustaste ein Popup
menu auf. Wählst dort Properties aus und kannst dann die Simulation Run
Time setzen.

Gruß Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey danke, hat mir sehr geholfen, aber kann es sein das das DCM die
Simulation ungemein verzögert? Also ohne DCM brauch er nicht so lange
für die Simulation.

Tobias

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin ich überfragt. Mit DCM hab ich noch keine Schaltung simluliert.

Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann sind wir ja schon zwei die überfragt sind. Trotzdem danke.

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch ne Frage zu Deinem Board. Wo hast Du es bestellt?
Direkt bei Xilinx oder über einen Distri. Bin grad am Überlegen, ob ich
mir auch ein zulege

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mach grad mein Praxissemester vom Studium aus und drei Tage nach dem
angefangen habe hier in der Firma kam das Board. Soviel ich weiß ist es
nicht direkt bei XILINX bestellt worden. Aber über den preis habe ich
keine Ahnung.

Autor: christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abend miteinander!

Kleine Frage: Was ist denn los, wenn im "Pinassignment" (Webpack) die
Eingänge nicht angezeigt werden. Speziell bit_vector- Eingänge, hab sie
schon einem Signal zugewiesen (war ein Tipp) aber die werden noch immer
nicht angezeigt!

Bitte um Hilfe!

mfg. christian, VHDL- Anfänger

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau mal im transcription fenster, ob signale/ports gelöscht wurden.
(Schau mal in den Schaltplan, ob dort die Ports da sind).Kannst du
deinen Code mal posten?

Gruß Jörn

Autor: MrleMaire (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
i just create create an tchat room and a forum in vhdL... and i am
looking for some partners and administrators and moderators... Are you
interested?

Autor: Stefan Rack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal eine Frage zur Übertragung selbst.

Hat irgendwer eine Idee wie das Programm ungefähr aussehen könnte um
die ganze Übertragung auszuführen? Also mit Start- und Stopbit,
Datenbits, richtiger Baudrate usw.

Autor: Bernhard Spitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

für eine serielle Schnittstelle braucht man, wie Stefan schon richtig
bemerkt hat, erstmal einen Baudraten-Generator, Sende- und
Empfangs-Schieberegister und am Besten noch eine Fehlerprüfung... Alles
in allem recht viel kram. Man kann natürlich das Rad neu erfinden oder
man hängt sich zumindest für die Registerdefinition an einen Standard
UART wie den 8250. Dann kann man noch über FIFOs grüblen,
Interruptverarbeitung etc. etc.
Auf www.opencores.org gibt es beide Versionen. Ein einfacher UART mit
eigener Registerbeschreibung und ein 16550-Kompatibler (der braucht
dann aber auch ca. 50k Gatter).

tschuessle
Bernhard

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.