Forum: FPGA, VHDL & Co. Eigenes FPGA-Programm als IP-Core weitergeben


von Michi (Gast)


Lesenswert?

Hallo,

ich würde gerne Module von mir, die in VHDL geschrieben sind, als 
IP-Core weitergeben. Jedoch nicht im Quellcode VHDL, sondern in einer 
Netzliste oder was hierfür geeignet ist, damit ein anderer den IP-Core 
bei sich (z.B. Lattice Diamond für Lattice Bausteine) einbinden jedoch 
nicht "lesen" oder "verändern" kann.

Hatte diesbezüglich schon etwas von EDIF  NCD  NGO / NCD Files und wie 
sie alle heißen gehört, weiß jedoch nicht ob es noch weitere oder 
geeignetere gibt.

Welche Dateiformate eignen sich hierfür und wo liegen die jeweiligen 
Vor-Nachteile dieser?

Würde mich über eine Rückmeldung aus eurem reichhaltigen Wissen und zu 
euren Erfahrungen freuen :-)

Gruß Michi

von Kest (Gast)


Lesenswert?

Ich glaube, VHDL 2008 unterstützt soetwas, zumindest habe ich mal was 
dazu gelesen, habe aber keine Ahnung, inwieweit VHDL 2008 von den Tools 
unterstützt wird.

Ich habe mich mit dem Thema mal kurz beschäftigt und habe dann komplett 
alles verworfen.
Zunächst mal ist Support-Aufwand nicht zu vernachlässigen und lässt sich 
schwer abschätzen. Und zum zweiten, die Zielgruppe, die ich ansprechen 
wollen würde, ist klein und "ehrlich". Wenn man ein Lizensmodel richtig 
aufbaut, dann würde diese Zielgruppe dafür auch bezahlen, statt zu 
"klauen". Die, die illegal soetwas einsetzen würden, gehören halt nicht 
zu meiner Zielgruppe und die würden auch den "Markt" nicht kaputt 
machen.

Ich denke wirklich, dass es besser ist, den IP-Core mit Sourcen 
weiterzugeben, und dafür einen fairen Preis zu verlangen. Wenn alles 
stimmt (Vertrag, NDA und Co), dann sollte es kein Problem darstellen.

Mag sein, dass ich zu idealistisch bin ;-) Aber das ist wirklich ein 
Fazit nach mehreren Jahren FPGA-Entwicklung und Zusammenarbeit mit 
mehreren Firmen. Musst halt sehen, um wieviel es geht (Anzahl und 
Stück/Kosten).

Ich weiß, dass ist jetzt nicht ganz Deine Frage gewesen :-)

Grüße
Kest

von Christian R. (supachris)


Lesenswert?

Eine Netzliste ist auch durchaus üblich, kann man mit Xilinx ISE recht 
leicht erzeugen. Dazu muss man aber ggf. bei der Synthese einstellen, 
dass er keine I/O Buffer an Ein- und Ausgängen hinzufügt. Das was die 
Synthese raus wirft, ist ja auch eine Netzliste. Mit dem Tool NGC2EDIF 
erhältst du dann eine ordentliche herstellerunabhängige edif Netzliste.

von Edi M. (Gast)


Lesenswert?

Wie bindet man die dann ein? Wie übergibt man ie entity? Der User muss 
ja irgendwie seine Signale andocken.

von Marius W. (mw1987)


Lesenswert?

Im Prinzip brauchst du nur eine Component-Declaration und dann musst du 
ISE und NGDBUILD noch den Suchpfad zu deinem IP-Core mitgeben.

Gruß
Marius

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

E. M. schrieb:
> Wie bindet man die dann ein? Wie übergibt man ie entity?

Es wird als component in VHDL engebunden. Man muss schon die entity in 
VHDL weitergeben. Oder als Schaltplansymbol geht glaube ich auch.


Christian R. (supachris)
>Mit dem Tool NGC2EDIF erhältst du dann eine ordentliche >herstellerunabhängige 
edif Netzliste.

Herstellerunabhängig wäre mir neu. Da hier schon eine Abbildung auf die 
Struktur der verfügbaren Gatter im FPGA erfolgt, auch wenn es noch eine 
global formale Hardwarenetzliste ist.

von Edi M. (Gast)


Lesenswert?

Gibt es irgendwo eine Anleitung dafür oder kann jemand den Aufwand 
abschätzen? Mir ist der Pfad immer noch nicht klar. Ich nehme eine 
Komponente, gebe deren entity und eine Netzliste dieser Komponente 
weiter. Wie gewinne ich die Netzliste?

Reicht es, dieses VHDL Modul (und Untermodule) als FPGA zu deklarieren 
und bauen zu lassen? Welchen Aufwand hätte ein Designer damit?

von Christian R. (supachris)


Lesenswert?

Die Netzliste kriegst du mit NGC2EDIF, also bei Xilinx. Die gibst du mit 
der Entity weiter.
Ganz bauen musst du das Design nicht, nur die Synthese durchführen. Ich 
hab nochma geschaut, die Netzliste ist natürlich nicht 
herstellerunabhängig, sorry für die falsche Info.

: Bearbeitet durch User
von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

> Reicht es, dieses VHDL Modul (und Untermodule) als FPGA zu deklarieren
> und bauen zu lassen? Welchen Aufwand hätte ein Designer damit?

Da die Netzlisten  unterscheidlich sind. Müssen die Exportfiles gepflegt 
werden und das kann auch anstrengend werden.
Man kann auch diese Listen wieder in VHDL rückwandeln. So hatte ich mal 
ein Verilogcode durch einen VHDL Simulator simuliert. War letztendlich 
sehr auf wendig. Die Register haben eben exotische Namen.

Nur als Beispiel
1
reset_a_1 : FD
2
    port map (
3
      C => board_clk_BUFGP_0,
4
      D => n0003_inv,
5
      Q => reset_a_1_5541
6
    );

von Boschi (Gast)


Lesenswert?

Eine Netzliste weiterzugeben, ist nicht wesentlich sicherer, als den 
HDL-Code, weil er genau so illegal geklaut und verwendet werden kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.