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


von Günter (. (dl4mea)


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

von Murkser (Gast)


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

von Günter (. (dl4mea)


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

von user (Gast)


Lesenswert?


von mac4ever (Gast)


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.

von Uwe Bonnes (Gast)


Lesenswert?

Wie waere es mit NAVRE, einen AVR Clone von Milkymist www.milkmist.org

von mac4ever (Gast)


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 ;)

von Kest (Gast)


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

von Günter (. (dl4mea)


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

von Günter (. (dl4mea)


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

von Kest (Gast)


Lesenswert?

Nios ist in der kleinsten Version kostenfrei (ab Quartus 10.0)

Kest

von Uwe Bonnes (Gast)


Lesenswert?

ClaiRISC ist wohl PIC aehnlich. Geht das mit C gut zusammen?

von mac4ever (Gast)


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.

von Bingo (Gast)


Lesenswert?


von Günter (. (dl4mea)


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

von Harald F. (hfl)


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

von Günter (. (dl4mea)


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_hardware_tutorial.pdf

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)

von Günter (. (dl4mea)


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)

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.