Das TinyFPGA BX ermöglicht den günstigen Einstieg in die FPGA-Welt. Dabei ist sowohl das Modul selbst wie auch die unterstützte FPGA-Toolchain quelloffen.
FPGA-Entwicklungsboards sind meist groß und teuer, das TinyFPGA BX richtet sich jedoch im Besonderen an die Makerszene und Hobbyisten. So enthält das handliche Modul alle wesentlichen Bestandteile wie etwa Stromversorgung und Taktgenerierung, verzichtet dabei aber auf unnötige Peripherie. In eigene Projekte kann das Board über Stiftleisten und Lötpunkte integriert werden, wodurch auch der Einsatz auf einem Breadboard möglich ist.
Neben der Hardware selbst ist auch der Bootloader quelloffen, zur Entwicklung kann die Open Source FPGA-ToolchainIceStorm verwendet werden. Abgesehen von Hardwarebeschreibungssprachen wie VHDL, Verilog, Migen oder Chisel wird auch die grafische Schaltungseingabe unterstützt. Somit eignet sich das Projekt gut für erste Schritte mit programmierbaren Logikbausteinen. Die Programmierung erfolgt ohne zusätzlich benötigte Hardware über USB.
Die Crowdfunding-Kampagne läuft noch knapp zwei Wochen. Ein Modul kostet 38 $, wobei für den Versand nach Deutschland weitere 6 $ hinzukommen. Ausgeliefert werden sollen die Platinen im Juli dieses Jahres.
Christoph B. schrieb:> So enthält das handliche Modul alle wesentlichen Bestandteile wie etwa> Stromversorgung und Taktgenerierung, verzichtet dabei aber auf unnötige> Peripherie.
Es gibt keine Peripherie die unnötig ist. Es gibt nur Peripherie die man
hat oder die man vermissen wird und später nachrüsten muss. Hinzu kommt,
das dem Board aus Sicht eines AVR-Nutzers wohl Levelshifter fehlen um
5V Shields zu nutzen, da der FPGA nur 3V3, 2V5 und 1V8 kann. Dafür kann
er zwar LVDS, aber ich bezweifle das man mit einen breadboard
differentielle Signalübertragung im interessanten Bereich von 100 Mbit/s
störungsfrei hinbekommt.
> PGA-Entwicklungsboards sind meist groß und teuer, das TinyFPGA BX richtet > sich
jedoch im Besonderen an die Makerszene und Hobbyisten.
Nach meinen Erfahrungen übersteigt Nachrüsten von Peripherie im
FPGA-Bereich die Fähigkeiten der meisten (selbsternannten Maker) und
Hobbyisten.
Was es nicht als (Arduino-)Shield gibt können die meisten nicht
selbstständig mit einem Board verbinden.
> In eigene Projekte kann das Board über Stiftleisten und> Lötpunkte integriert werden, wodurch auch der Einsatz auf einem> Breadboard möglich ist.
Wer Lötpunkte hat, braucht kein Breadboard!
> Neben der Hardware selbst ist auch der Bootloader quelloffen, zur> Entwicklung kann die Open Source FPGA-Toolchain IceStorm verwendet> werden.
Was macht ein Bootloader auf dem FPGA?!? In den letzten 20 Jahren sind
alle meine FPGA-Designs ohne Bootloader ausgekommen.
> Die Programmierung erfolgt ohne> zusätzlich benötigte Hardware über USB.
Das können inzwischen alle FPGA-boards
> Die Crowdfunding-Kampagne läuft noch knapp zwei Wochen. Ein Modul kostet> 38 $, wobei für den Versand nach Deutschland weitere 6 $ hinzukommen.
Dass ist nicht besser als das hier bereits beworbene Trenz/Avnet-Board.
Beitrag "FPGA IoT Maker Board" das
inzwischen im Gegensatz zur CrowdFoundingGedöhns gut lieferbar ist.
Man hätte vielleicht auch ein paar technische Daten in die Nachricht
packen können, u.a. daß das Ding max. 3,3V IO-Spannung hat, welcher FPGA
mit welchen Logikresourcen verbaut ist etc.
Specifications
Height: 1.4 inches, width: 0.7 inches
Programming interface: USB 2.0 full-speed (12 mbit/sec)
ICE40LP8K FPGA
7,680 four-input look-up-tables
128 KBit block RAM
Phase Locked Loop
41 user IO pins
8 MBit of SPI Flash
Onboard 3.3 V (300 mA) and 1.2 V (150 mA) LDO regulators
Low-Power 16 MHz MEMs Oscillator
1.3 mA power when active
50 ppm stability.
Der Bootloader hat schon seine Berechtigung, denn es hat bekanntlich
jeder FPGA-Hersteller seine eigene ISP-Verbindung incl. Hard-und
Software.
Falk B. schrieb:> Der Bootloader hat schon seine Berechtigung, denn es hat bekanntlich> jeder FPGA-Hersteller seine eigene ISP-Verbindung incl. Hard-
Ja ich hätt gern Gewusst, welches das hier ist! Ich wird aus dem
Schaltplan nicht schlau, das verschwindet irgendwo im gelben Block
USB_OTG - keine Typbezeichnung, kein Hersteller :-(
https://github.com/tinyfpga/TinyFPGA-BX/blob/master/board/TinyFPGA-BX-Schematic.pdf
Oder macht dann der CPLD auch USB?
SagtwasManWohlNochSagenDarf schrieb:> Oder macht dann der CPLD auch USB?
Offenbar ist im externen Flash ein SIO-Device, das dann den Bitstrom
entgegennimmt und im FPGA-Flash speichert. Danach noch einen Warmboot
mit passenden Einstellungen und dann läuft das eben runtergeladene Image
an. Mit dem nächsten Druck auf den Reset-Taster geht das Spiel von vorne
los.
Siehe die umfangreichen Bootmodi dort:
http://www.latticesemi.com/dynamic/view_document.cfm?document_id=46502
Ich weiß nicht so recht, mir gefällt ein externer JTAG-Programmer da
besser. Denn später habe ich diesen USB-Lader ja auch nicht in der
Zielplattform und muss mir sowieso Gedanken zur richtigen Bootstratigie
machen...
Lothar M. schrieb:> Offenbar ist im externen Flash ein SIO-Device,
Und wie kommt das SIO-Device in den Flash? Also irgendwann brauchts dann
doch ein externen Programmer, spätestens wenn der "Bootloader"
zerschossen ist.
> Ich weiß nicht so recht, mir gefällt ein externer JTAG-Programmer da>besser.
Ebenso, muss ja nicht der einzige Zugang zum FPGA sein, on-Board
USB-Programmer ist schon ne feine Sache, aber ganz auf eine
Pfostenleiste etc zu verzichten ist schon gewagt. Zumal manche
Debugtools wie Chipscope wohl eher nicht mit den USB-Programmern
zusammenarbeiten.
Carlo (Gast) bemerkte schlau:
> Das 101te Board mit Mini FPGA wo man nix, aber auch gar nix reinbekommt.
Ganz so hart würd ich das nichst sagen, aber das ist schon nah an
"Kaputt gespart". Im Netzt geistert ja noch ein Aufbau mit einem
"Project Board" als Träger für das Mini-FPGA-Duingens als
Retro-Maschine, das geht aber nur wenn man sich eben dieses
"Project-Board" bastelt auf dem sich die angeblich unnötige Peripherie
wieder findet: https://cdn.hackaday.io/images/6162851515347204608.JPG
SagtWasManWohlNochSagenDarfAberNichtSoRechtWeissWovonErSpricht schrieb
im Beitrag #5383354:
> Ebenso, muss ja nicht der einzige Zugang zum FPGA sein, on-Board> USB-Programmer ist schon ne feine Sache, aber ganz auf eine> Pfostenleiste etc zu verzichten ist schon gewagt. Zumal manche> Debugtools wie Chipscope wohl eher nicht mit den USB-Programmern> zusammenarbeiten.
Es handelt sich um ein Lattice ICE40 FPGA, da gibt es weder JTAG noch
Chipscope.
Der USB Bootloader wird von TinyFPGA ins Flash geschrieben und ist
Write-protected. Zerschiessen kann man ihn höchstens wenn man per SPI
WriteProtect aufhebt und einen ChipErase ausführt. In diesem Fall gibt
es auf der Unterseite Pads für die Neuprogrammierung des Bootloaders,
das geht über SPI, sollte also mit einem RasPi oder 3V-Arduino möglich
sein.
Solange man das eigens entwickelte Programmiertool nutzt, ist da aber
keine grosse Gefahr.
Das spezielle an diesem Board ist eben genau, dass kein FTDI Chip nötig
ist, sondern der FPGA ein USB-to-Serial Gerät emuliert und sich selber
(via Flash) programmieren kann. Da der üblicherweise für FPGAs
verwendete FT2232H ziemlich teuer ist, ist das schon eine erhebliche
Kostenersparnis, die sich im Preis meiner Meinung nach allerdings
überhaupt nicht widerspiegelt.
38 $ ist zu teuer für dieses Board, wenn man es mit Konkurrenten wie
MAX1000 oder UPDuino 2 vergleicht. Allerdings ist das auch kein vom FPGA
Hersteller gesponsertes Produkt.
Für manche mag es ein grosser Vorteil sein, dass man das FPGA über die
OpenSource Toolchain Yosys/Arachne/Icestorm beschreiben und
programmieren kann. Auch Icestudio unterstützt dieses TinyFPGA, damit
soll man auf einer GUI Oberfläche FPGA Blöcke zusammensetzen können,
anstatt Verilog zu schreiben.
https://github.com/FPGAwars/icestudio
Andy
Andy schrieb:> Es handelt sich um ein Lattice ICE40 FPGA, da gibt es weder JTAG noch> Chipscope.
Ja, das gibt es aber bei Altera (als Signaltap) und Xilinx worauf die
Frage folgt, ob Xilinx oder Altera nicht die bessere Wahl für Einstieger
wäre als Lattice.
JTAG ist Industriestandard mit dem man spätestens wenn man eine
Ingenieurskarriere anstrebt gearbeitet haben sollte und
Chipscope/Signaltap erleichtern als "eingebaute Logiganalyzer" das
Debugging ungemein. Und gerade Hobbyisten verbringen viel Zeit beim
Debugging (oder geben gleich auf wenn es nicht "out of the git-box"
funktioniert.
> Der USB Bootloader wird von TinyFPGA ins Flash geschrieben und ist> Write-protected. Zerschiessen kann man ihn höchstens wenn man per SPI> WriteProtect aufhebt und einen ChipErase ausführt. In diesem Fall gibt> es auf der Unterseite Pads für die Neuprogrammierung des Bootloaders,> das geht über SPI, sollte also mit einem RasPi oder 3V-Arduino möglich> sein.
Pads sind für die meisten 'Maker' eine weniger Praktikable Option als
Durchkontaktierungen in die man ggf. eine Pfostenleiste oder Patchwires
steckt. Nicht jeder Maker kann haltbare Lackdraht an Pads löten
> Das spezielle an diesem Board ist eben genau, dass kein FTDI Chip nötig> ist, sondern der FPGA ein USB-to-Serial Gerät emuliert und sich selber> (via Flash) programmieren kann.
Eben das ist der spezielle Nachteil dieses Boards, das man einige
"Anstrengungen" verrichten muss wenn man es "Neben" der Programmierung
an USB verwenden will. Genau deshalb
bringen viele FPGA-Boards einen externe USB2FPGA-bridge mit. Es ist m.W.
weder trivial noch ressourcenschonend USB im FPGA selbst zu realisieren.
> Da der üblicherweise für FPGAs> verwendete FT2232H ziemlich teuer ist, ist das schon eine erhebliche> Kostenersparnis, die sich im Preis meiner Meinung nach allerdings> überhaupt nicht widerspiegelt.
Offensichtlich fehlerhafte Argumentation. Wenn man im Satz 2 einräumt,
das keine Kostenersparnis erkennbar ist, das stimmt wahrscheinlich die
im
vorhergehenden Satz 1 gemachte Aussage über die teure USB-UART-Bridge
und damit verbunden Kosten-Vorteil durch Weglassen desselben nicht.
Und selbst wenn die Bridge 5-10€uro kostet, dieser Mehrpreis sollte
jedem die Möglichkeit der FPGA-PC Verbindung wert sein.
> 38 $ ist zu teuer für dieses Board, wenn man es mit Konkurrenten wie> MAX1000 oder UPDuino 2 vergleicht. Allerdings ist das auch kein vom FPGA> Hersteller gesponsertes Produkt.
Wieder die Frage, warum man dann nicht zu einen Board greift das vom
FPGA-Hersteller selbst für Einsteiger/Education konzipiert und
vermarktet wird statt auf eins das auf "billig auf Kosten der Usability"
getrimmt ist (und dabei nicht wirklich billig ist, preiswert aus meiner
Sicht auch nicht).
> Für manche mag es ein grosser Vorteil sein, dass man das FPGA über die> OpenSource Toolchain Yosys/Arachne/Icestorm beschreiben und> programmieren kann.
Die allermeisten FPGA-Nutzer sind über kostenlose propietäre Tools
eingestiegen, das Argument, das man bei open-source
des synthesetools bei Bedarf selbst verändern könnte hört man zwar
permanen aber praktisch dürfte es keinen Einsteiger/Maker geben der
selbst Hand an die Sourcen des Synthesetools legt.
Den Vorteil, den ich bei ICEstorm als Open Source Lattice tool sehe, ist
das man es auf dem RasPi verwenden kann und dadurch eine billige
Entwicklungshardware erwerben kann. Dann sollte man aber gleich noch
einen Schritt weitergehen und zu einen Speziell für den Raspi
entworfenen FPGA-board greifen wie dieses:
https://shop.trenz-electronic.de/de/TE0876-02-IceZero-mit-Lattice-ICE40HX
Da hat man gleich einen SPI/I2C/UART/GPIO FPGA-Extender kann noch weiter
FPGA-Peripherie aus dem Pmod-Baukasten dazustecken. (was dass Tiny auch
nicht kann).
Es gibt 2 nette alternativen:
Die Gnarlygrey platine ist z.B. billiger. (10..16 €), Kostenloser
Versand.
Für 26 + Shipping gibt es die MAX1000 bei trenz electronic. Hat ADC und
SDRAM.... un man kann es direkt programmieren. 8 kLE.
Warum soll ich diese Platine nehmen ? Frage ich mich wirklich.
C. A. Rotwang schrieb:> Versteh ich richtig 110 US$ für ein FPGA-Board ohne SDRAM? Nur> GPIO-Stecker sonst nix an ernsthafter Peripherie?
Nö.
$111.
Und zwei kriegst Du schon für $222.
Zuzüglich Zoll & Umsatzsteuer, versteht sich.
Es gibt als Alternative das Arty 7 board mit einem Xilinx Artix-7 und
Peripherie drauf von Digilent.
Es kann mit dem Vivado Webpack bearbeitet werden, wo man nicht mal VHDL
an sich braucht, sondern eher FPGA-Grundkenntnisse. Aber man lernt auch
so einen leistungsstarken, professionellen FPGA kennen.
Das Board kostet ca. 130€, Vivado Webpack ist kostenlos.
Lattice Semiconductor ist eher bei den CPLDs führend, FPGAs ist wohl
nicht ihr Hauptgeschäft.
Felix schrieb:> Lattice Semiconductor ist eher bei den CPLDs führend, FPGAs ist wohl> nicht ihr Hauptgeschäft.
Das würde ich nicht so sehen. Zumindest bei low-cost- und low-power-FPGA
dürfte Lattice auch nennenswerte Stückzahlen absetzen...
Duke
Duke Scarring schrieb:> Das würde ich nicht so sehen.
Full Ack.
Denn Lattice verkauft einfach die kleinen FPGAs (MachXO, ICE40) auch als
CPLD, um die Einstiegshürde nicht so hoch zu legen...
Felix schrieb:> Lattice Semiconductor ist eher bei den CPLDs führend, FPGAs ist wohl> nicht ihr Hauptgeschäft.
Da würden doch einige widersprechen, mich eingeschlossen. Die
ECP5-Familie ist mal ein richtig schickes Flaggschiff für Leute, die
nicht auf alles mit nem (stromhungrigeren) Virtex draufkloppen.
Ich würde jedem einzelnen Satz von Felix widersprechen, aber es lohnt
sich einfach nicht.
Für meine Anwendungen hat Lattice eigentlich immer die besten FPGAs,
sowohl bei Preis-Leistung als auch bezüglich der auf dem Chip
integrierten Funktionen. Nur ADCs vermisse ich.
Wenn man ganz viele und schnelle LUTs braucht, oder besondere
Konditionen von Xilinx oder Intel bekommt mögen diese attraktiver sein.
Nun ja, ich bin schon an einige Stellen FPGA-Boards und kleinen Modulen
begegnet.
Leute, die das professionell nutzen wie zum Beispiel Entwicklung von
ASICs, Chipdesign, Signalverarbeitung oder sehr schnelle Datenakquise,
benutzen fast ausnahmslos Xilinx Kintex oder Virtex FPGAs oder eben
Intel/Altera.
Bei diesen war aber häufig noch ein sogenannter System Controller oder
System Management CPLD von Lattice, hauptsächlich MachXO2 400 ... 7000
HC
Das sind keine CPLDs sondern FPGAs.
Generell alles was Lattice in den letzten Jahr(zehnt)en an neuen
Produkten gebracht hat sind FPGAs.
Die haben ähnliche LUTs wie Xilinx Spartan-3.
Felix schrieb:> Leute, die das professionell nutzen wie zum Beispiel Entwicklung von> ASICs, Chipdesign, Signalverarbeitung oder sehr schnelle Datenakquise,> benutzen fast ausnahmslos Xilinx Kintex oder Virtex FPGAs oder eben> Intel/Altera.
Vorrangig aus 2 Gründen
1, weil das schon immer so war und die gesamte Toolchain darauf
abgestimmt ist, und
2, weil die die Dinger zu einem Preis bekommen, der nur ein kleiner
Bruchteil des Katalogpreises ist.
Kurios und interessant ist aber, dass Lattice da überhaupt auf den
Boards zu finden ist. Fazit: der Fuß ist schon in der Tür.