mikrocontroller.net

Forum: FPGA, VHDL & Co. Cortex M1 aus ARMs DesignStartFPGA


Autor: Mampf F. (mampf) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

ich bastel an einem Projekt, welches per git anderen zur Verfügung 
gestellt werden wird.

Enthalten wir dann die Cortex M1 IP aus ARMs DesignStartFPGA, weshalb 
ich nach einer Lizenz gesucht habe, in der steht, ob "redistributing" 
erlaubt ist oder nicht.

Ich hab keine gefunden ... Weder in dem Paket, das man herunterladen 
kann, noch auf der Webseite, bevor man es herunterlädt usw.

Auf einer Seite von ARM findet man ein Announcement, dass die IP "no 
license fee, no royalities" - das sagt aber nicht wirklich was darüber 
aus, was man mit der IP machen darf.

Hat zufällig jemand eine Ahnung?

*edit*:

gefunden! Wenn man einmal auf Accept geklickt hat, sieht man die Lizenz 
nie wieder.

Da steht ausdrücklich drin, dass redistributing nicht gestattet ist.

Problem gelöst.
1.   LICENCE GRANTS

1.1 Arm hereby grants to you, subject to the terms and conditions of this Licence, a non-exclusive, non-transferable licence to:

(i)              use and copy the Documentation for the purpose of designing and having designed Integrated Product;

(ii)             use, copy and modify (solely for the purposes of configuring the ARM Compliant Core) the ARM Compliant Core only for the purposes of designing and having designed Integrated Product;

(iii)            use, copy, and modify the Example System Design only for the purposes of designing and having designed Integrated Product;

(iv)            distribute switch level descriptions ("Bitstream") solely for the purpose of programming an Integrated Product; and

(v)             distribute Integrated Product.

 

1.2            Other than as specified in Clause 1.1 you shall not: (i) modify the Deliverables; (ii) redistribute any of the Deliverables or any derivatives thereof; or (iii) sublicence any of the Deliverables.


Viele Grüße,
Mampf

: Bearbeitet durch User
Autor: Mampf F. (mampf) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hier ist allerdings irritierend:

> redistribute any of the Deliverables or any derivatives thereof

In dem Paket ist ein Beispiel-Projekt enthalten, das ich im Grunde 
ausgeweidet und an mein Projekt angepasst habe.

Das würde ja heißen, wenn ich es als Basis für ein Projekt verwende, 
darf ich nichts davon veröffentlichen.

Wie stellen die sich das vor? Soll ich eine Anleitung schreiben, wo man 
das Ding runterladen muss und per diff und patch patche ich dann alles 
durch, bis es zu meinem Projekt wird?

Was denkt ihr darüber?

: Bearbeitet durch User
Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mampf F. schrieb:
> Wie stellen die sich das vor? Soll ich eine Anleitung schreiben, wo man
> das Ding runterladen muss und per diff und patch patche ich dann alles
> durch, bis es zu meinem Projekt wird?

Nein, du darfst den Bistream oder das ganze Projekt verteilen, aber 
nicht den quelltext dazu.

 "distribute Bitstream solely for the purpose of programming an 
Integrated Product; and
distribute Integrated Product."

So wie eben es mit embedded Linux u.ö. praktischerweise auch 
funktioniert. Da intressiert der Grossteil der "community" nur das 
lauffähige Produkt aber nicht der Quelltext dazu. Auch wenn der 
Hersteller diesen zum download anbieten muß.

"Diff und Patch" wäre bei cores auch eher ungewöhnlich, da verteilt man 
eher den passenden wrapper und config Dateien und fasst den eigentlichen 
Source-code nicht an. Da mal ein beispiel vom Forumsserver: 
Retrocomputing auf FPGA: Quelltexte und Compilation

Autor: Mampf F. (mampf) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C. A. Rotwang schrieb:
> Mampf F. schrieb:
>> Wie stellen die sich das vor? Soll ich eine Anleitung schreiben, wo man
>> das Ding runterladen muss und per diff und patch patche ich dann alles
>> durch, bis es zu meinem Projekt wird?
>
> Nein, du darfst den Bistream oder das ganze Projekt verteilen, aber
> nicht den quelltext dazu.

Hmm, das wäre ein Problem, da meine Arbeit quasi opensource sein muss.

> "Diff und Patch" wäre bei cores auch eher ungewöhnlich, da verteilt man
> eher den passenden wrapper und config Dateien und fasst den eigentlichen
> Source-code nicht an. Da mal ein beispiel vom Forumsserver:
> Retrocomputing auf FPGA: Quelltexte und Compilation

Interessant, danke für den Link!

Also ich könnte in die Dokumentation des Projekts schreiben, dass man 
sich den Core bei ARM runterladen und dann in das Projekt kopieren muss.

Allerdings darf ich das Beispielprojekt nicht benutzen, d.h. ich baue 
ein komplett neues Projekt ohne Teile des Beispielprojekts zu verwenden?

Die paar Blöcke in Xilinx Vivado sind schnell zusammengeklickt.

Das sollte dann unproblematisch sein, oder?

Echt nervig, aber von ARM war ja nichts anderes zu erwarten. Glaub ich 
muss mir zukünftig doch mal RISC-V anschauen.

Viele Grüße,
Mampf

Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mampf F. schrieb:
> Also ich könnte in die Dokumentation des Projekts schreiben, dass man
> sich den Core bei ARM runterladen und dann in das Projekt kopieren muss.

Denk schon, wobei es zu überlegen wäre, ob man dieses herunterladen und 
kopieren nicht in eine Art makefile/package_manager verpackt.

Im einfachsten Fall in ein standard makefile/build-script das bei 
Nichtvorhandensein der 3rd party sourcen eine fehlermeldung mit Hinweis 
auf download ausspuckt. Doku's liest ja keiner, Fehlermeldungen in build 
scripts schon eher ;-)

>Allerdings darf ich das Beispielprojekt nicht benutzen, d.h. ich baue
>ein komplett neues Projekt ohne Teile des Beispielprojekts zu verwenden?

Weiss ich nicht, aber das wäre ne Frage die man ARM/Xilinx bei ner Messe 
stellen könnte. In 10d ist ja embedded World in Nürnberg.

Autor: Strubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mampf F. schrieb:
> Allerdings darf ich das Beispielprojekt nicht benutzen, d.h. ich baue
> ein komplett neues Projekt ohne Teile des Beispielprojekts zu verwenden?

Die Fleissarbeit muss man sich wohl geben.


Mampf F. schrieb:
> 1.2            Other than as specified in Clause 1.1 you shall not: (i)
> modify the Deliverables; (ii) redistribute any of the Deliverables or
> any derivatives thereof; or (iii) sublicence any of the Deliverables.

Das mit den Derivatives dürfte etwas zu weit gefasst sein. Auch (i) 
finde ich etwas fragwürdig. Auf jeden Fall darfst du legal einen Patch 
verteilen, sofern du damit keine DRM-Massnahme umgehst und keinen Verrat 
von IP begehst, welches nicht bereits öffentlich ist.


C. A. Rotwang schrieb:
> "Diff und Patch" wäre bei cores auch eher ungewöhnlich, da verteilt man
> eher den passenden wrapper und config Dateien und fasst den eigentlichen
> Source-code nicht an. Da mal ein beispiel vom Forumsserver:

Warum ungewöhnlich?
Was mit Software per CI gängig ist, geht auch mit Hardware-Designs 
wunderbar.

GPL zusammen mit Hardware und div. miteinander inkompatiblen Lizenzen 
ist in der Tat ein gordischer Knoten. Einige grosse Hersteller 
ignorieren das einfach und machen dann auf Anfrage Versteckspielchen. Du 
kannst den Spiess ja umdrehen, indem du nur das nötigste (ein Makefile, 
was alles auscheckt, patcht und baut) veröffentlichst.

Wenn du nicht auf ARM angewiesen bist, gibt es ja genügend quelloffene 
Alternativen.

Autor: Marc (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Kann man nicht gleich auf RISC-V gehen?
Das scheint eh die Zukunft und es gibt keine Probleme mit den Lizenzen.

Autor: Vancouver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mampf F. schrieb:
> Das würde ja heißen, wenn ich es als Basis für ein Projekt verwende,
> darf ich nichts davon veröffentlichen.

Korrekt. ARM möchte seinen FPGA-Core nicht in einem OpenSource-Projekt 
sehen.

> Wie stellen die sich das vor?

Die stellen sich da so vor: Du hast ein Unternehmen und planst eine 
ARM-Plattform, die Du auf einem FPGA vorentwickeln willst um das Risiko 
zu minimieren. Wenn Du das getan hast, steckst du dein FPGA-Board in die 
Schublade, kaufst für ein paar 100k-Öre einen Cortex-ASIC-IP und machst 
einen Chip. Dann - und nur dann - hat der FPGA-Core seinen Zweck 
erfüllt.

> Echt nervig, aber von ARM war ja nichts anderes zu erwarten. Glaub ich
> muss mir zukünftig doch mal RISC-V anschauen.

So ist es.

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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.