www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Kleiner soft core auf Altera?


Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche einen kleinen Softcore, ähnlich PIC16, Atmel oder so, den ich 
gern auf einem Altera Cyclone einsetzen würde. Voraussetzung wäre auch, 
daß der Code in C geschrieben werden kann, weil ich mich dafür nicht 
extra in Assembler einarbeiten möchte.

Auf Opencores und auch hier im Forum/Artikelbereich finde ich nichts 
über den Ressourcenbedarf auf dem FPGA, sprich wieviel Logical Entities 
so einer verbraucht. Einige Daten für den Xilix habe ich gefunden, aber 
als FPGA-Newbie weiß ich das nicht umzustetzen.

Daher die Frage hier ans Forum:
- Welchen Core würdet ihr empfehlen
- Wieviel Ressourcen auf dem FPGA muß man dafür vorsehen?

Ciao, Günter

Autor: Murkser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Core selbst wird wohl in Verilog oder VHDL "programmiert" sein. Was 
Du wohl suchst, ist ein Core zu dem es auch einen C Compiler, Assembler, 
Linker usw. gibt. Entweder war jemand so freundlich und hat diese 
Software Development Tools schon bereitgestellt oder Du suchst einen 
Core, der zu irgendwas kompatibel ist, so daß Du vorhandene Tools wie 
GCC weiterverwenden kannst. Wenn Du allerdings noch irgend welche I/O 
Devices hinzunehmen willst, wirst Du unter Umständen schnell Assembler 
nutzen müssen.

Murkser

Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ja, in VHDL und dann mit C-Toolchain. AVR und PIC16 hatte ich gedacht 
würden sowas ja schon haben. Der 8051 täte es ja auch.
Aber ich habe eben keinen Eindruck wieviel Ressourcen der Softcore auf 
dem FPGA brauchen würde, ob 500, 1500 oder 3000 LE. Die damit geplanten 
Byteschubsereien wären halt in VHDL etwas arger Overkill.

Ciao, Günter

Autor: user (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das man auf OpenCores.org keine Größenangaben findet, würde ich spontan 
der Faulheit zum Suchen zuweisen. Die Angaben gibt es sehr wohl. 
Vielleicht nicht bei allen Projekten, aber bei den wichtigsten.

Hier ein paar Beispiele:

OpenMSP: ca. 1600 LEs
ClaiRISC: ca. 260 LEs
RISCMCU: using 92% of EPF10K20RC240-4
AVRtiny: Synted (and par) with Quartus, about 80% of a for Altera EP1C3.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie waere es mit NAVRE, einen AVR Clone von Milkymist www.milkmist.org

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du eigentlich schon mal hier nachgeschaut?
http://www.mikrocontroller.net/articles/FPGA_Soft_Core

Und sag bloß nicht, es würden die Größenangaben fehlen ;)

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso versuchst Du einfach nicht mit NIOS? Ist bei Altera schon dabei, 
in kleiner VErsion kostenlos. Die ganzen Tools sind schon vorhanden. Ich 
schätze mit 600-800 LE bist Du dabei.

Grüße,
Kest

Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mac4ever schrieb:
> Hast du eigentlich schon mal hier nachgeschaut?
> http://www.mikrocontroller.net/articles/FPGA_Soft_Core
>
> Und sag bloß nicht, es würden die Größenangaben fehlen ;)

Ja, klar habe ich... Steht auch in meiner Eingangsmail. Aber das einzige 
was ich da fand waren die Xilix-Slices für den Picoblaze. Ich suchte LE 
für Altera. Oder hatte ich wirlich die falsche Brille auf?

ciao, Günter

Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mac4ever schrieb:
> ClaiRISC: ca. 260 LEs

Der gefällt mir bislang am besten, sowohl die Größe als auch die 
Atmel-Kompatibilität.

Kest (Gast) schrieb:
> Wieso versuchst Du einfach nicht mit NIOS?

Ich dachte der läuft nicht standalone und ist nicht lizenzfrei? Aber 
vielleicht irre ich ja?

Ciao, Günter

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nios ist in der kleinsten Version kostenfrei (ab Quartus 10.0)

Kest

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ClaiRISC ist wohl PIC aehnlich. Geht das mit C gut zusammen?

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uwe Bonnes schrieb:
> ClaiRISC ist wohl PIC aehnlich. Geht das mit C gut zusammen?

Laut OpenCores.org ist der ClaiRISC Code-kompatibel zu einem PIC16F57 
... für den gibt auch einen C-Compiler. Sollte also funktionieren. Wie 
gut? Weiß ich leider nicht.

Autor: Bingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gibt es eigentlich für den Altera NIOS II/e irgendwo ein Minimalsystem? 
CPU, RAM, "Flash" und ein bischen IO? Ist wieder so ein typische Problem 
wo einem der Onkel Gockel mit Information totschlägt.

Ciao, Günter

Autor: Harald Flügel (hfl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Günther,

ein NIOS Minimalsystem ist wirklich sehr einfach:
- CPU
- JTAG UART
- PLL, falls externer Takt unter 20 MHz
- on-chip RAM
und fertig ist die Laube. Gut, vielleicht noch einen 8-Bit-Output-Port 
dazu, damit der Applikationscode zeigen kann, dass er läuft. Das Ganze 
ist letzlich soo einfach, dass es sich nichtmal lohnt, das irgenwo 
herunterzuladen. Einfach im SOPC-Builder die Module aus den Libraries 
ziehen und gut. Und wenn du doch etwas Starthilfe brauchst, geh mal zu
www.arroweurope.com/bemicro und lade dir die Beispieldesigns herunter.

Grüße,
Harald

Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe jetzt doch zwei halbwegs kurze Dokumente zur Implementierung 
eines NIOS II Systems auf Altera gefunden, mit denen ich ein simples 
System aufgebaut habe:
ftp://ftp.altera.com/up/pub/Tutorials/DE2/Computer_Organization/tut_sopc 
_introduction_vhdl.pdf
und
http://www.altera.com/literature/tt/tt_nios2_hardw...

Lange Zeit habe ich gekämpft weil bei der Synthese meines top-VHDL-Files 
die Signale/Pins des PIO- und Serial-Bausteins nicht als "missing pins" 
auftaucht sind, bis ich entdeckt habe daß diese mit Defaults belegt 
sind, dabei sind diese doch in einer datei <name>_inst.vhd ganz klar 
genannt wie die Instanz aussehen muß...

Das kleine System mit NIOS II/e, 4k internal RAM, PIO und UART braucht 
auf meinem Cyclone EP1C3 knapp 1200 LE, davon sind 930 die CPU und 133 
der UART.

Weiß vielleicht jemand wie man den UART (RS232) auf 1MBit betreiben 
kann?

Danke für die Diskussion und die Beiträge.

Ciao, Günter (dl4mea)

Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und hier noch ein schönes Dokument zum Thema:

NIOS "Performance Benchmarks Overview"
http://www.altera.com/literature/ds/ds_nios2_perf.pdf

enthält "Table 5. LE Usage for Nios II Processor Cores and 
Peripherals—Cyclone"

Man sollte allerdings beachten daß zu den LEs der reinen CPU, die hier 
gelistet sind, noch einiges an zusätzlichem Aufwand für Speicher und 
Peripherie kommt, bei mir ergeben sich so um die 1000LE für ein sehr 
kleines NIOS IIe System.

Ciao, Günter (dl4mea)

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.