www.mikrocontroller.net

Forum: FPGA, VHDL & Co. xilinx code benutzen


Autor: Jojo_rise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo!
möchte gern wissen,wie man einen von xilinx software erstellten code in 
quartus projekt benutzen kann.muss man die xilinx vhdl files mit quartus 
neu compilieren?
danke

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

Bewertung
0 lesenswert
nicht lesenswert
Jojo_rise schrieb:
> muss man die xilinx vhdl files mit quartus neu compilieren?
Mindestens.

Wenn darin aber spezielle Komponenten verwendet werden, die nur von 
Xilinx-Bausteinen unterstützt werden, dann wird der Synthesizer 
losmaulen...  :-/

> muss man die xilinx vhdl files mit quartus neu compilieren?
Nur zur Begriffsdefinition: Man spricht hier nicht von "Compilieren", 
sondern von der "Synthese"...

Autor: Jojo_rise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb

> Nur zur Begriffsdefinition: Man spricht hier nicht von "Compilieren",
> sondern von der "Synthese"...

Danke für die Antwort und Anmerkung.Bin noch am Anfang mit fpga und 
so...
Sage immer Compilieren anstatt Synthese...und habe manchmal Ärger mit 
dem Prof...

Also einzelne Files Synthetisieren -->Ok

und wenn Componenten für Xilinx baustein bestimmt sind, wie kann man 
vorgehen mit diesen files?
Danke

Autor: Fritz Jaeger (fritzjaeger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jojo_rise schrieb:
> hallo!
> möchte gern wissen,wie man einen von xilinx software erstellten code in
> quartus projekt benutzen kann.muss man die xilinx vhdl files mit quartus
> neu compilieren?


Hinweis, Xilinx schliesst in den Lizenzvereinbarungen für ihre Cores oft 
(z.B. Picoblaze)  aus, das der Code für andere als Xilinx-Bausteine 
benutzt wird.

Autor: Frank Buss (foobar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jojo_rise schrieb:
> und wenn Componenten für Xilinx baustein bestimmt sind, wie kann man
> vorgehen mit diesen files?

Dann kannst du nur hoffen, daß Altera die auch hat, sonst geht es u.U. 
gar nicht (z.B. spezielle DCM-Eigenschaften) oder nur mit aufwändigem 
Redesign oder Emulation. Daher ist es auch sinnvoll, nicht die 
speziellen Komponenten zu verwenden, wie Block-RAM, sondern möglichst 
per Inference vom Tool automatisch aus portablen VHDL-Code schließen zu 
lassen (bei Xilinx ist das der Standard, bei Quartus mit dem MegaWizard 
nicht). Eine andere Möglichkeit ist es, Wrapper-Komponenten mit 
Standardinterface zu implementieren, innerhalb dessen dann die 
herstellerspezifischen Aspekte implementiert sind und dann für Altera 
und Xilinx jeweils andere Implementierungen zu schreiben.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Eine andere Möglichkeit ist es, Wrapper-Komponenten mit
> Standardinterface zu implementieren, innerhalb dessen dann die
> herstellerspezifischen Aspekte implementiert sind und dann für Altera
> und Xilinx jeweils andere Implementierungen zu schreiben.

Genau das macht z.B. Gaisler in seiner grlib (bzw. techlib).

Duke

Autor: Jojo_rise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke an alle für die viele Antworten.
Ich möchte gern mehr über diese Wrapper Sachen wissen.Was ist das(ich 
weiss es ist eine Art Schnittstellen für Programme; mehr auch nicht)?Und 
wie wird es implementiert?könnte mir eventuell jemand anhang eines 
beispiel erklären bzw. zeigen?
Danke.

Autor: Frank Buss (foobar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grlib kannte ich noch nicht, sieht aber gut aus und gibt es auch unter 
GPL:

http://www.gaisler.com/cms/index.php?option=com_co...

In der Dokumentation auf der Seite ist alles erklärt, im 800 Seiten IP 
Core Users Manual die Details.

Zum Wrapper gibt es eigentlich nicht viel zu sagen. Als Beispiel 
Speicher: Du definierst eine VHDL-Komponente mit read, address, data-in 
und data-out, und implementierst die Komponente dann zweimal: Einmal für 
Xilinx Block-RAMs und einmal mit dem Quartus MegaWizard.

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

Bewertung
0 lesenswert
nicht lesenswert
Jojo_rise schrieb:
> ich weiss es ist eine Art Schnittstellen für Programme;
Nein, es ist eine Definition für Ports von Hardwarebeschreibungen. Ein 
Wrapper ist das, was ein Core-Generator ausspuckt. Mit diesem Wrapper 
kannst du dann den Core, der selbst nur als Netzliste und Timing-Modell 
vorliegt, in deinem Design verwenden und als Komponente einbinden.

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.