mikrocontroller.net

Forum: FPGA, VHDL & Co. Verschlüsselung von VHDL-Dateien


Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eine Möglichkeit VHDL Code (oder die Netzliste) für den Nutzer 
"unsichtbar" zu machen? Es soll simulierbar und synthetisierbar sein, 
aber eben, dass der Nutzer die Sourcen nicht ändern kann? (Also 
Blackbox)

Hat das jemand schon mal gemacht? Am besten mit Altera Tools.

Dass man die Netzliste im Nachhinein ändern kann ist mir schon klar :-)


Grüße,
Kest

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ähnlich wie ein käuflicher IP-Core?

Prinzipiell geht das, aber da muss der Hersteller mitspielen.
Kurzum brauchst du, wenn du das richtig machen willst, vom Hersteller 
(Altera) eine Art Schlüssel, mit dem du das Design verschlüsseln und der 
Anwender nach Eingabe des Schlüssels in Quartus dann bestimmte Dinge mit 
deinem Design machen oder auch nicht machen kann.
Das ist jetzt seehr bildlich formuliert.
Aber was ich damit sagen will:
Technisch möglich, aber organisatorisch quasi unmöglich, da Altera 
sicher nicht mit jedem irgendsone Übereinkunft trifft.

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist dann für mich zu viel. Eigentlich möchte ich eine Netzliste 
(Entity) haben, die ich überall einbinden kann (so wie CoreGen oder 
MegaWizard).

Das blöde ist, dass ich VHDL mit Generics erstellen möchte, damit der 
Nutzer frei alles einstellen kann aber eben nicht VHDL Code ändern darf.

Kest

Autor: Hardwareonkel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich suche ebenso nach einer Möglichkeit, Code zu vertrieben, ohne ihn zu 
publizieren. Ginge das gfs auf einer neidirgeren Ebene eines geparsten 
files, so wie beim C++ eine DLL?

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

Bewertung
0 lesenswert
nicht lesenswert
Also nen EDIF-Netzlsite kannst als "Black Box" hinzufügen.
Dazu einfach ne bestehende EDIF Netzliste als File hinzufügen, ein 
Symbol draus generieren und das dann in Schematic hinzufügen.

Wie man über Quartus ne EDIF erzeugt, weiss ich allerdings nicht. Ich 
hab zum Testen mal ein Undgatter mit Leonardo Spectrum synthetisiert und 
das dann als EDIF "Black-Box" in ein Quartus design eingebunden. Ging 
problemlos

Das EDIF (Undgatter)im Anhnang ist für einen EP1C3T100-7 synthetisiert. 
Kannst ja mal probieren, ob das so wäre, wie du dir das vorstellst.

Autor: Hardwareonkel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Inwiefern muss man das EDIF für eine konkrte Hardware definieren? Ich 
möchte das gerne auf einem allgemeinen RTL-Level halten. (Dass ich dabei 
nicht alles machen kann, wie z.B. Altera RAMS definieren, ist klar).

Was ich gerne hätte: Eine Instanz in VHDL mit allgemeinem HDL-Code, den 
der User verändern muss, um anzupassen, ein ebenfalls offenes SUbmodul, 
als INterface, dann die Altera-Komponenten ausdrücklich instanziiert und 
dann eben jene blackbox, die die eigentliche Logig und Mathematik 
enthält. Die muss im Dunkeln liegen, da genau das nicht veröffentlicht 
werden soll.

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die EDIF-Netzlisten, die über ein Syntheseprogramm erzeugt werden, 
beschreiben eigentlich schon die in der Zieltechnologie vorhandenen 
Elemente und deren Verknüpfungen. Somit ist sie meines wissens, 
zumindest abhängig von der gewählten BausteinFAMILIE.
Sicher gibt es auch EDIF-Netzlisten, die unabhängig von der Technologie 
eine Funktion beschreiben können, aber wie man die aus VHDL erzeugt, das 
weiss ich nicht.
Aber diese Netzlisten sind dann sicher ähnlich zu bewerten, wie VHDL 
Netzlisten.
Ob Generics in so eine Liste einfach übergeben werden können, das weiss 
ich leider nicht. Wäre aber ein interessantes Thema.

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Möglichkeit ist es den VHDL-Code zu verschleiern (obfuscate).
Dabei werden alle Kommentare und Formattierungen entfernt, sowie alle 
Bezeichner durch sinnlose Namen ersetzt.
Wirkt sicher nur bei größeren Programmen, wo der Aufwand alles wieder zu 
formatieren und in eine lesbare Form zu bringen beträchtlich ist.
Ob es freie Verschleierungsprogramme für VHDL gibt, weis ich nicht.

Autor: mss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nur zur info: aus edif-netzlisten kann man auch wieder äquivalenten 
vhdl-code generieren, das wird schon standardmäßig im ise von xilinx 
(edif2ngd dann ngd2vhdl) und in den fpga-advantage tools (precision) von 
mentor graphics für boards von xilinx, altera, lattice usw. unterstützt. 
für altera geht das sicherlich auch noch irgendwie direkt im quartus.

bye
mss

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.