www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Eigenen IP Core für Microblaze mit Xilinx XPS erstellen


Autor: ChrisB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hat schon einmal jemand einen eigenen IP Core am PLB des Microblazes 
entworfen?
Ich habe mit dem Xilinx XPS ein Template für einen eigenen IP Core 
erstellt und kann diesen auch einfach in mein Design ziehen. Um in den 
IP Core jedoch Funktionalität zu bekommen muss so wie es aussieht direkt 
an der Schnittstelle die das Template zur Verfügung steht eigenen VHDL 
Code einfügen. Mir ist aber völlig unklar, wie ich da am besten vorgehe.
Ich wäre für jede Hilfe dankbar!

Gruß,

Christoph

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also am besten erstmal die Datenblätter zum PLB wälzen, da steht wie das 
Timing funktioniert.
Ansosnten erstellt der Import Wizzard doch ein Beispiel VHDL template wo 
schon was drinne steht.
Je nach deinem Vorhaben würde ich dir auch EMpfehlen  lieber den FSL 
Kanal zu nutzen der ist sehr viel Einfacher von der Ansteuerungslogik 
her.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
im EDK gibt es doch den IP Wizard. Da legst du einfach nur den Bus, und 
die Register die du brauchst fest. Danach kannst du in der 
user_logic.vhd deine sachen einbinden.Kannst das ganze auch über ise 
bearbeiten wenn du willst(projnav ordner). Musst hinterher nur noch die 
Pao,Prj und MPD datei bearbeiten und fertig ist die Laube.
Jedenfalls wenn nicht mal wieder das EDK oder ISE mist baut....

mfg

Autor: ChrisB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also den FSL wollt ich in dem Fall nicht verwenden, da ich schon was 
größeres vorhabe und nicht nur eine Berechnung.
Ich habe ein Farbdisplay mit integriertem Controller. Leider ist der 
Controller darauf nicht sehr schön zu programmieren, man muss immer ein 
komplettes Bild übergeben. Um einzelne Pixel zu ändern muss man eine 
neue Startadresse festlegen, das Schreiben aufs Display Ram aktivieren, 
den Pixel reinschreiben udn das Schreiben wieder deaktivieren. Um dies 
effizienter zu machen wollte ich ganz weg davon das über einen GPIO IP 
zu lösen und mir einen eigenen IP Core bauen. Dazu habe ich mir 
folgendes überlegt:
Ich baue einen IP Core, der das Display ansteuert, also alle 
Steuersignale etc selber setzt. Dazu hat der IP Core einen Write Fifo, 
in den ein DMA Controller(nicht Teil meines IP Cores) auf einem Befehl 
hin ein komplettes Bild in das Display Ram schreibt. So kann ich sehr 
effizient die Bilder darstellen und der Microblaze kann dann einfache 
SetPixel Funktionen auf einen bestimmten Speicherbereich im SDRam 
ausführen.
Soweit so gut. Einen eigenen IP Core habe ich inzwischen erstellt, der 
mit einem Write FIFO und einem Register arbeitet. Das klappt auch 
soweit. Jetzt geht es aber um die Ansteuerung des Display. Dazu müsste 
ich erstmal festlegen, dass mein IP Core Datenleitungen nach außen hat, 
aber wie mach ich das? Normal müsste man das ja so einstellen können, 
dass man die relativ einfach (wie andere IPCores ja auch) per Klicken in 
der "Port" Ansicht des EDK's die Leitungen nach außen führen kann. 
(External Ports)
Das hab ich aber leider bisher noch nicht geschafft.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du erstellst einfach in der VHDL Datei weitere Ports die du benötigst.
Danach mußt du das IP neu importieren (Import existing Periperial) oder 
das MPD per Hand editieren. Diese Ports kannst du dann als in der Port 
Ansicht als extern deklarieren und im UCF File einem Pin zuordnen.

Autor: ChrisB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das werde ich gleich mal probieren.
Hast du zufällig ICQ oder bist du sonst irgendwo im Chat? Würde mich 
gerne mal mit dir austauschen.
Kannst mir ja (falls vorhanden) einfach mal deine ICQ nummer per Mail 
schicken an: m a i l 'at' c h r i s t o p h b e c h t e l 'punkt' d e

Danke

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab dir ne Mail geschickt...

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.