Wie ist eure Einschätzung bezüglich der Zukunft von Softcores in FPGAs? Heute gibt es schnelle und preiswerte HardCores, die richtig effektiv arbeiten. Brauchen wir noch SoftCores?
Hallo Markus, was verstehst Du unter "preiswerte" HardCores? Meinst Du damit z.B. den CycloneIV oder Zynq mit den ARM Core's? Nehmen wir mal an das ich nur eine Rechenleistung von einem ARM7 mit 48MHz benötige. Dann braucht man keinen CycloneIV oder Zynq mit 800MHz oder mehr nehmen. Hier würde dann eine SoftCore CPU, z.B. NiosII reichen? Wie sieht es dann noch bei kleinen Stückzahlen aus, z.B. bei 100 Stück für das Projekt? Viele Grüße, Michael
:
Bearbeitet durch User
Markus W. schrieb: > Wie ist eure Einschätzung bezüglich der Zukunft von Softcores in > FPGAs? > > Heute gibt es schnelle und preiswerte HardCores, die richtig effektiv > arbeiten. Brauchen wir noch SoftCores? Naja Preiswert? Die Preise für den kleinsten Zynq fangen so bei 50 Euro an (Einzelstück Digikey)... man bekommt brauchbare Softcores aber auch schon in ein 10 Euro FPGA rein. Wenn man die ganze Peripherie in einem Zynq nicht brauchen kann, aber stattdessen mehr normale FPGA I/Os: Auf jeden Fall.
Jain. So einfach und flexibel wie bei einem fpga mit softcore kommt nirgends an RICHTIG viele gpios. Man kann einfach mal 20 Pins an einen expansion header hängen und später nach Bedarf eine UART, eine Spi oder sogar USB oder Ethernet oder lvds per SW update nachträglich rein patchen. Das geht bei keinem Controller mal so eben. Oder man will mal schnell in den i2s signalpfad noch ein Filter einbauen. Dsps sind eine Möglichkeit dafür aber genauso gut kann man ein Filter auch in Logik bauen. Oft kann man auch einen kleinen clock per pll auf 100MHz hochziehen, vereinfacht die emv möglicherweise etwas. Anwendungen für fpgas wird es sicher immer geben
Softcores haben z.B. auch da ihre Berechtigung, wo man aufgrund von Lieferanforderungen alte Systeme pflegen muss und die alten Controller irgendwann nicht mehr bekommt oder die Abkündigung absehbar ist. Nicht wenige Firmen lösen so ihr Lieferverpflichtungsproblem mit universellen Plattformen. Ein SoftCore ist beliebig duplizierbar. Ob das immer kostengünstig ist, sei dahingestellt. Aber es funktioniert sicher. Eine andere Anwendung ist Softwareschutz. Man kann die Funktion eines Controllers "branden" und den einen oder anderen X-factor einbauen, der es unmöglich macht, die Firmware aus dem ROM zu lesen und sie in der üblichen Weise zu interpretieren.
Moin, Neben mifi's Argument zur passenden Skalierung eines Rechenknechts und die preislichen Aspekte gibt's auch immer noch Bedarf an sehr speziellen Lösungen, die trotzdem noch flexibel bleiben. Fängt z.B. bei dedizierten DSP-Pipes an, die man komplett hart codieren, aber auch in einen uC-Softcore als programmierbare Einheiten einbetten kann. Da könnte man sogar die Frage stellen: Haben DSPs überhaupt noch eine Berechtigung? Gewisse Nischen werden da von den üblichen Verdächtigen gar nicht abgedeckt bzw. sind für günstige Lösungen wieder zu komplex, wie ein Zynq. Dafür würde ich auf einem Softcore nicht unbedingt Linux laufen lassen... Letzter Punkt für heute: Es gibt sogar Leute, die ARM-CPUs nicht trauen, und nur Cores einsetzen, die sie selber regress-testen können.
Strubi schrieb: > Haben DSPs überhaupt noch eine Berechtigung? Interessanter Ansatz. Ich würde sagen, "Ja" vor allem wegen der geringfügig niedrigeren Kosten von rund Faktor 5 bei gegebener Rechenleistung.
Freelancer schrieb: > Strubi schrieb: >> Haben DSPs überhaupt noch eine Berechtigung? > > Interessanter Ansatz. Ich würde sagen, "Ja" vor allem wegen der > geringfügig niedrigeren Kosten von rund Faktor 5 bei gegebener > Rechenleistung. Die Zahl kann ich so gar nicht nachvollziehen. Ist wohl Ansichtssache.. in min. einem konkreten Fall ist z.B.das FPGA billiger, stromsparender, und schneller als der entsprechende Float-fähige-DSP. Entwicklungskosten eingeschlossen.
Michael F. schrieb: > Hier würde dann eine SoftCore CPU, z.B. NiosII > reichen? Und den NiosII gibt es als Hardcore im Max10. Da hat Altera schon dran gedacht. Außerdem gibt es noch den SmartFusion2 von Microsemi, der hat einen Arm Cortex M3. Beide bekommt man schon für unter 10 €. Wenn jemand nicht unbedingt einen Xilinx-Baustein braucht, gibt es kaum noch Grund für einen Softcore. Ich gehe mal davon aus, dass Xilinx da nachziehen wird. Ich sehe so richtig keine Zukunft für die Softcores und bei den Preisen noch weniger für DSPs. Tom
Markus W. schrieb: > Heute gibt es schnelle und preiswerte HardCores, die richtig effektiv > arbeiten. Brauchen wir noch SoftCores? Nicht erst seit Heute. Schnelle und preiswerte uC, die ja auch nix anderes als Hardcores sind gibt es seit Jahrzehnten. Für mich ist die Frage ob Hard- oder Soft-Core nur eine andere Ausprägung der Frage ob FPGA oder uC/DSP ideal für eine Applikation ist. Und diese Frage wird immer noch mit sowohl als auch beantwortet. Und gerade bei Signal-prozessing ist durch die parallele Hardware Strukturen mit vielen Filterstufen und bitoperationen schneller and latenzsicher gebaut als mit einem sequentiellen DSP der alles über seine wenigen Speicherbusse quälen muss statt Koeffiszenten lokal an der ALU/MUL zu halten. MfG,
Hallo Thomas,
>Und den NiosII gibt es als Hardcore im Max10.
Bei welchen Baustein? Ich habe hier auf die Schnelle nichts finden
können.
Viele Grüße,
Michael
Michael F. schrieb: > Hallo Thomas, > >>Und den NiosII gibt es als Hardcore im Max10. > Bei welchen Baustein? Ich habe hier auf die Schnelle nichts finden > können. Und ich habe zu schnell geschrieben:-( Mittlerweile bin ich mir nicht mehr so sicher Das Bild auf https://www.altera.com/products/fpga/max-series/max-10/features.html zeigt u.a. auch einen 32-Bit Prozessor auf dem Chip. Alles andere ist wirklich auf dem Chip. Darum bin ich davon ausgegangen ein NiosII auch dabei ist. Ich werde mal nachfragen. Tom
Thomas R. schrieb: > Darum bin ich davon ausgegangen ein NiosII auch > dabei ist. Ist er nicht soweit ich weiss. Das übliche Marketing halt...
D.h. man muss ihn lizensieren? Ist das neu oder was das schon immer so?
FPGA-Ingenieur schrieb im Beitrag #4333594: > D.h. man muss ihn lizensieren? Ist das neu oder was das schon immer so? Stand in Quartus 14 Den NiosII gibt es in drei Versionen NiosII/e NiosII/s + instruction cache + branch prediction + hardware multiply and divide NiosII/f + data cache + barrel shifter + dynamic branch prediction nur der NiosII/e ist kostenlos in Quartus 14. Die anderen beiden Versionen muss man lizensieren. Das ist schon seit ein paar Jahren so. Tom
Es gibt auch Open Source Lösungen wie den LEON 3 (SPARC, GNU GPL). Ist halt ein bisschen mehr gefrickel als sich durch einen Wizard zu klicken aber genau so mächtig.
:
Bearbeitet durch User
Markus W. schrieb: > Heute gibt es schnelle und preiswerte HardCores, die richtig effektiv > arbeiten. Brauchen wir noch SoftCores? Mal anders gefragt - was juckt es mich als FPGA-entwickler ob ich im Design einen Hard oder Soft-Core Controller instanziere? SDK, PCB, debugging, Synthese etc. ist nur in Details anders. MfG,
Fpga K. schrieb: > Mal anders gefragt - was juckt es mich als FPGA-entwickler ob ich im > Design einen Hard oder Soft-Core Controller instanziere? Derselbe Grund warum man Arithmetik mit DSP-Slices realisiert, BRAMs benutzt statt LUTs, jede Funktion die direkt im FPGA verfügbar ist, braucht ca. 1/10 der Fläche, die man benötigt um die gleiche Funktion mittels Logik zu implementieren. Bei einem Hardcore erreicht man einen deutlich höheren Takt bei weniger Strom als bei einem Softcore. Außerdem wird es innerhalb eines Hardcore keine Timingprobleme geben. Tom
Thomas R. schrieb: > Fpga K. schrieb: > braucht ca. 1/10 der Fläche, die man benötigt um die gleiche Funktion > mittels Logik zu implementieren. Bei einem Hardcore erreicht man einen > deutlich höheren Takt bei weniger Strom als bei einem Softcore. Außerdem > wird es innerhalb eines Hardcore keine Timingprobleme geben. Das war bei meinen Anwendungen nie ein problem, der Softcore taugt eh nur fürs Housekeeping: Konfiguration der Peripherie per I2C, auslesen PCB-sensoren, UART -debugschnittstelle - nichts was ein 32 bit 150 MHz Softcore nicht auch nebenher gebacken kriegt. Für anspruchsvolleren Aufgaben (Echtzeit FFT im nahen GSps Bereich) ist eine sequentielle CPU eh zu langsam Dann bindet man doch lieber einen "richtigen" PC über PCIe an. und selbst bei ca. 1500 LUT's und slices für einen microblaze hat auch der kleinsten Artix XC17AT mit ca 10K LUT's und 20k FF Platz für einen Quad-Core mit Peripherie. Nach meiner Meinung ist wenn man einen Core integriert in den meisten Fällen wurscht ob Hard oder Soft-core. Ausser das der Soft-Core auf alle FPGA-Familien (eines Herstellers) und -projekte portierbar ist (bspw. FMC) und Hard-core dagen nur (geschätzt) 1% Anteil am Portfolio hat. MfG,
In solchen Fällen haben Softcores aber auch keine nennenswerte Performance und man kann das, was man mit dem SC kann, auch direkt in FSM hinschreiben, meine ich.
Markus W. schrieb: > In solchen Fällen haben Softcores aber auch keine nennenswerte > Performance und man kann das, was man mit dem SC kann, auch direkt in > FSM hinschreiben, meine ich. Aber für eine FSM muss damit ene Änderung wirksam wird der gesamte FPGA die gesamte Toolchain durchlaufen, was bei Vivado und Go mehrere Minuten bis zur halben Stunde dauert. Beim Softcore dagegen dauert es unter einer Minute den C-Code zu kompilieren, das fertig geroutetet Bitfile zu modifizieren und das ganze auf den FPGA zu laden. MfG,
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.