Milyen FPGA dev boardod erdemes venni 64bit opensource RISC-V fejleszteshez/tesztleshez
Olyan FPGA erdekel amin nincs cpu hard-core,
es "modern" dolgok mint out-of-order execution vagy cache coherencia jatszhato.
Az ar nagyon szamit, idoszakos hobby fellangolas ;-)
https://www.xilinx.com/products/boards-and-kits/arty.html 99$ csak 32 bittes core-ra eleg.
kiesett.
https://reference.digilentinc.com/reference/programmable-logic/nexys-vi…
$479 2 core, nem tul gyors.
Ingyenes xilinx license.
Velhetoleg vannok opensource toolok:
https://symbiflow.readthedocs.io/en/latest/symbiflow-arch-defs/docs/sou…
https://store.digilentinc.com/genesys-2-kintex-7-fpga-development-board/
$999 4 core, eleg furge.
1 eves license a csomagban, utana nincs uj software.
Az eves license ugy nez ki 3500$ korul van, ami eleg csunyan hangzik.
https://www.xilinx.com/products/boards-and-kits/ek-v7-vc707-g.html
$3,495
Szinten a licenselos kategoria.
Akkar 8 egyszerubb core, vagy 1 nagyobb.
Tul draga jatek.
Van olcsobb/ingyenes synthesizer?
Mas gyartok 1000 USD alatti , de XC7A200T-1SBG484C -tol erosebb FPGA -val ,
lehetoleg open, de legalabb ingyenes toolchainnel ?
- 639 megtekintés
Hozzászólások
Hat, full free & open source synth + p&r toolchain az csak a yosys. De ottan a legnagyobb joszag amit ez a toolchain tud kezelni az csak 8k-nyi LC-vel es 128kbit BRAM-mal van megaldva. Egy ARMv6-M eppenhogy belefer :) Bar RISCV ismerkedesnek ezzel kezdenem: https://github.com/cliffordwolf/picorv32, ez beleteheto, es akkor tenyleg egy kisebb/olcsobb board is jo lehet.
- A hozzászóláshoz be kell jelentkezni
yosys "Mapping to Xilinx 7-Series" hol akkad meg a tortenet ?
32bit-re lehet mar is van meglevo eszkozom:
https://github.com/eliaskousk/parallella-riscv
2x 64 bit erdekelene.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Hogy mapping to (synth) van, oke, de place & route is van?
- A hozzászóláshoz be kell jelentkezni
Ha place&rute lenne a bitstream meg mindig hianyozna ?
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Hm... lehet hogy mar fejlodott annyit a dolog, meg kell nezzem. Van egy 424-NEXYS4-DDR-es boardom, benne egy XC7A100T-1CSG324C joszaggal plusz egy tonna periferiaval, es ez mar linuxot is tud vinni. Ha le tudnam szintetizalni a yosys + nextpnr-xilinx komboval az elegge jo lenne. Most egy vivado 2019.1-est hasznalok erre, az is jo, csak mar nagyon elszoktam a gui-kenyelmetlensegtol a sok `make && make upload` utan :)
- A hozzászóláshoz be kell jelentkezni
Fentebb linkeltem https://symbiflow.readthedocs.io/en/latest/toolchain-desc.html , 2 toolt tud hasznalni a masik
https://en.wikipedia.org/wiki/Verilog-to-Routing .
Nem tudom tenylegesen melyik mukodik, de Artix-7 el volt jelentve hogy megy.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Intel Altera/Arria V ar/teljesitmenyben elso kozelitesben hasonlo, de ugyan ugy az 1 eves 'igyen' license-t,
sok ezer dollaros license koveti. Ill. nem latom hogy sokan probalkoznanak vele hasonlo dologra.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
milyen / kb mennyi eroforras kell? azok kedveert, akik lustak kikeresni milyen 64 btites RISC-V implementaciok vannak, es mi kell azoknak..
az 1 eves license tovabb is eleg lehet - mi most csak azert keszulunk 2019.2-rol migralni, mert egy uj eszkozt is tamogani kell, ami abban meg nincs, egyebkent maradnank.
esetleg ne dobd ki rogton a hard CPU-s FPGA-kat: nem kell feltetlenul minden szart hasznalni amit beletettek. van, hogy max egy soros port megy at az FPGA reszbe;
az viszont kenyelmes, ha a hard CPU-n futo linuxon keresztul dd-vel + nc-vel halozaton keresztul lehet letolteni egy uj bitfile-t (de lehet tenyleg nem akarod hogy ott legyen, megertem).
- A hozzászóláshoz be kell jelentkezni
https://github.com/eugene-tarassov/vivado-risc-v
XC7A200T-1SBG484C also hangon.
Ez az artix-7 teteje, amihez baratibb a licence, ill. elveben opensource toolok is vannak.
Masutt is hasonlo eredmenyt latsz.
Sok sok LUT sok inputtal.
Annyi kell, ami 1000 USD bol kifer , es nem ker draga licenset.
Valoszinuleg, most kell a dolog egy par honapra, de nem szeretnem ha valami megtetszik 3 ev mulva, nem tudom
kiprobalni rajta..
Nyilvan komprumisszumokat kellesz kotni, hogy mit lehet egyszerre.
Menyivel gyorsabb ~ 32M bit streamet a belso core-on feltolteni ?
Manapsag menyire jarhato mas modon a partial reprogramming, artix-7 egyaltalan tamogatja -e ?
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
ezek alapjan szerintem valamelyik digilent kartya + olcso license.
latod, ez a project is tamogatja meg a 2019.2-t is, szoval egy ma megvett license-szel talan elleszel par evig.
bitstream letoltes: nem a sebesseg a lenyeg (egyebkent lehet gyorsabb is), nekem kenyelmesebb, + automatizalhato.
a partial reconfig miatt lehet nem aggodnek, en meg nem dolgoztam eles projectettel ami hasznalta (benne voltunk az early accessben).
virtex4 ota azt hiszem minden csalad tudja, tippre az osszes series 7 is, menne az letoltokabelen (JTAG) keresztul is meg beulrol is (ICAP), szerintem a software resze (tools) volt mindig gyenge.
most a vivado talan jobb ebben, es talan mar linux driver is van hozza (FPGA bridge, stb), es a cloudban hasznalt FPGA acceleratorok miatt toljak is (bar ne tennek), szoval lehet jol mukodik - ha van valakinek friss tapasztalata, az erdekelne.
- A hozzászóláshoz be kell jelentkezni
Miért fontos, hogy 64 bites legyen? Az out-of-order és a cache coherency is értelmezhető 32 biten és kevesebb helyet foglal. Ha úgyis hobbi a cél, kis pénzből...
- A hozzászóláshoz be kell jelentkezni
Éppen ezt akartam kérdezni.
- A hozzászóláshoz be kell jelentkezni
Valoszinuleg igazatok van ;-)
Kintex-7/virtex-7 estleg valami QSFP+/SFP+ connectorral ertelemes aron ?
Ha nincs akkor maradok artix-7 nel.
szerk:
make CONFIG=rocket64x1 BOARD=nexys-video bitstream
rocket64x1
- 2-wide superscalar Medium BOOM, 1 core
ERROR: [DRC UTLZ-1] Resource utilization: LUT as Logic over-utilized in Top Level Design (This design requires more LUT as Logic cells than are available in the target device. This design requires 157776 of such cell types but only 134600 compatible sites are available in the target device. Please analyze your synthesis results and constraints to ensure the design is mapped to Xilinx primitives as expected. If so, please consider targeting a larger device. Please set tcl parameter "drc.disableLUTOverUtilError" to 1 to change this error to warning.)
ERROR: [DRC UTLZ-1] Resource utilization: Slice LUTs over-utilized in Top Level Design (This design requires more Slice LUTs cells than are available in the target device. This design requires 165574 of such cell types but only 134600 compatible sites are available in the target device. Please analyze your synthesis results and constraints to ensure the design is mapped to Xilinx primitives as expected. If so, please consider targeting a larger device. Please set tcl parameter "drc.disableLUTOverUtilError" to 1 to change this error to warning.)
Ez az csak legkisebb superscalar mode 'preset' ;-(
Mibe kerulne pcei slotot varazsalni 4x(8x) a digilent boardokra ?
Ez 32 bites hatekonyabnak mondott, es mintha kevesebbet is enne.
https://github.com/rsd-devel/rsd
FMC-s dolgokat meg mindig arany aron merik:
http://www.hitechglobal.com/FMCModules/FMC_PCIExpress.htm
Nehany kicsit olcsobb:
https://shop.trenz-electronic.de/en/Products/FMC-Cards/
szerk2:
make CONFIG=rocket64y1 BOARD=nexys-video bitstream
ERROR: [DRC UTLZ-1] Resource utilization: LUT as Logic over-utilized in Top Level Design (This design requires more LUT as Logic cells than are available in the target device. This design requires 258511 of such cell types but only 134600 compatible sites are available in the target device.
LUT6 over-utilized in Top Level Design (This design requires more LUT6 cells than are available in the target device. This design requires 142418 of such cell types but only 134600 compatible sites are available in the target device.
Az beferne -e digilent genesys2 lapba ?
50950 Slice * 4 lut6
Ha 142418 lut6 felett szertne meg 258511 kisebb LUT -ot amit LUT6 akkobol nyerne (megha 2 ki is jon egybol..) akkor az tul soknak tunik.
Attol tartok Lincense nelkul nem modja meg hogy bele ferne -e, (vagy mas hiba miatt nem vitte eddig a BOARD=genesys2-t) .
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Hát úgy érzem, kicsit csapongsz :)
- Az x1 PCIe slotnak is kell 3db diffpár, amit még PCIe 1.0 esetén is 2.5GHz-en(!) kell hajtani. (250MiB/s, soros busz, 8b/10b kódolás). Artix-tól felfelé van az FPGA-ban PCIe transciever, de egy meglévő boardra, pl. ArtyA7 rátaknyolni egy PCIe foglalatot jelintegritás szempontjából nem feltétlen jó ötlet. Pláne x4/x8-at... Illetve nem értem, mit is szeretnél vele? Ez már erősen túlmutat a 100$-os hobbi projekten.
- Az sem világos számomra, hogy te magad szeretnél egy RISC-V CPU-t fejleszteni, vagy csak meglévőt próbálnál ki. Az out-of-order és a cache-coherence alapján azt gondoltam, mélyen belemásznál a fejlesztésbe.
- A Digilent Genesys2 board Kintex-7-es, 6 bemenetes LUT-ból van benne 326080, elvileg abba belefér. Egy ezres a board, jár mellé Vivado liszensz is :) De most akkor olcsó hobbi projekt vagy sem? :)
- A hozzászóláshoz be kell jelentkezni
Ezeken boardokon van egy FMC mezzanine amibe ki szokas vezetni nehany nagysebessgu SerDes -t,
Oda lehetne vagy PCI slotot (m.2 modul volt) csatlakoztatni vagy SFP+ -t.
10Gbe Ethernet vagy IB jo volna, masik oldal van.
Ezzel regebben szerettem volna jatszani, de akkor meg ennel dragabb volt a jatek,
ugyhogy letettem rola.
Nem tunnek teljesen egysegeseknek ezek FMC modulok, ugyhogy pinout nezes lesz.
Egy gen1 1x -es is valami is jo volna jatszani, majd szerzek hozza valami 1x es valamit ;-)
Artix-7 serdes max 6.6Gbit/sec az nyilvan nem jo mindenre.
Kintex-7 12.5 Gb/s az mar tobb mindenre jo. (FF tokozas, speed grade -2, max: 10.3125G)
"RISC-V CPU-t fejleszteni, vagy csak meglévőt próbálnál ki."
Eloszor proba, aztan meglatjuk..
326080 az a logic-cells (=50950*4*1.6)
https://forums.xilinx.com/t5/Virtex-Family-FPGAs-Archived/logic-cell-vs…
Igazi LUT6 csak 203800.
Ket Error line volt, LUT es LUT6, ha mindkettot egyszerre gondolta hogy kell, akkor y verzio nem fer be, csak az x.
"De most akkor olcsó hobbi projekt vagy sem? :)"
Draga hobby project ;-)
Reges regen spartan 3e-vel jatszottam tobbet.
"Egy ezres a board, jár mellé Vivado liszensz is ."
Jol ertem, hogy ezzel licensel 5 evel kesobb is letolthetem es hasznlahatom 4 eves verziot, de ujabbat mar nem ?
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Reges regen spartan 3e-vel jatszottam tobbet.
Nekem is van olyan board-om. Talán 50 MHz körüli cserélhető clock van rajta (maga az FPGA talán 200-ig tud menni).
VGA meg PS/2 foglalatokhoz írtunk egy egyszerű vezérlőt és billentyűzettel, monitorral ment onnantól az UI.
Szerettem vele játszani. Sajnálom, hogy nem ebbe az irányba orientálódtam végül.
Egyetemen volt egy srác aki Fehér Béla kurzusán arcade játékokat készített ilyen boardokra, hobbiból. Nem Te voltál? :-)
- A hozzászóláshoz be kell jelentkezni
Masik egytem. Amikor kezdtem, meg nem igazan ment FPGA oktatas, utana/kozbe jott be.
VGA PS/2 megvolt, de arcade jatek nem volt.
(En az voltami aki mest. int. beadandot asm -ben irt.)
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
326080 az a logic-cells
A disznók! Már megint a marketingesek...
Jol ertem, hogy ezzel licensel 5 evel kesobb is letolthetem es hasznlahatom 4 eves verziot, de ujabbat mar nem ?
Kollégám szerint a board mellé tipikusan 1 éves eval liszensz jár, és csak ahhoz az FPGA-hoz lesz jó, ami a boardon van. Ha az ezer dodós board mellé lenne egy teljes örök Vivado is, az túl szép lenne.
- A hozzászóláshoz be kell jelentkezni
Ha valaki kedvet kapna FPGA tool chain fejlesztesre, akkar ingyen is lehet eszkozhoz jutni:
https://hackaday.com/tag/artix-7/
http://tomu.im/fomu.html kicsi embded risc-v bele fer.
A xlinix advanced tile-okat bitstream viszafejtesbol reverse enginerik,
tobb publikacio jelent meg, valoszinuleg legalis vagy megturt activitas.
Erdekes, hogy emberek FPGA reverse engineringrol publikalnak
komoly szak lapokban.
Ha valaki szerereti az erdekes programzasi feladatokat, erdemes lehet
FPGA sythezsis problema korbe bele neznie.
Az egy eves "ingyen" licensel egyesek erdekes problemeba futottak.
Tobb vivado verziot kell fen tartaniuk (100GB).
Ha minden evben veszel egy license kotles (Kintex vagy a felett) boardot
kulonbozo FPGA-val, device lockolt licensel, akkor ide juthatsz,
hacsak nem perkalsz evente 3.5k USD minden device ra jo verzioert.
En arra tipelnek, hogy license nem ido hataraos, csak a frissitesi lehetoseg az.
https://www.xilinx.com/support/answers/33074.html
Masik dolog, hogy genesys2 peldak a digilenttol, nem lettek
ujabb verziora megcsinalva, tehat lehet hogy meg a miatt is kellhet egy regebbi.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Lattice megprobalta megtiltani a vissza fejtest az EULA -ban.
Az embereknek ez nagyon nem tetszett, ugyhogy kivettek:
https://hackaday.com/2020/06/05/lattice-semiconductor-targets-bitstream…
Lattice azert nepszeru, mert az open toolok eleg jol mennek vele.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Csak érdeklődésből: miért nem x86? Én próbáltam utánajárni, arra jutottam, hogy x86-ot rendszert nehéz emulálni FPGA-n. Amiket találtam, nagyrészt proprietary részeket tartalmaznak (egy soft core itt, egy ram vezérlő ott).
Pedig szerintem ez sokakat érdekelhetne.
- A hozzászóláshoz be kell jelentkezni
Az biztos, de egy korszeru x86 eleg nagy cora-al rendelkezik, megha kidobok felesleges utasitas keszleteket is.
Meg egy "tiszteseges" risc-v sem feltetlen budget friendly .
Ugy tuninik mintha risc-v tobb soft-core van a githubon, mint az osszes tobbibol egyutt,
itt jobban lehet hasonlitgati annelkul, hogy magad csinalnal es elemeznel n+1 megoldast a kov lepes elott.
A kerses az hogy az utlra-konyu katagorinal valamivel nagyobban indulni ami meg FPGA -ra is megy ,
mibe kerul.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Amiért én hobbiból RISCV-ot csinálnék x86 helyett:
- Nyílt, szabadon felhasználható. Ha x86-ot (vagy ARM-ot, m68k-t, MIPS-et, AVR-t stb...) csinálsz, nem publikálhatod, módosíthatod szabadon.
- Az alap RV32E utasításkészlet egyszerűbb, mint a 8086-é, és modern. Ha mondjuk egy AMD64 kompatibilis x86-ot szeretnénk, kb. tovább tart elolvasni a SW developer manualt, mint csinálni egy alap RV32E-t.
- Nincs memória szegmentálás, és egyszerűbb a memória elérés is, hiszen van egy load/store utasításpárunk, az x86-nál meg mittudomén mennyi :)
- Lehet pazarlásnak mondani, hogy a RISCV minden utasítást 32 biten kódol, az x86 pedig 8...32 biten, de ennek manapság kisebb a jelentősége, mint 74'-ben, viszont egyszerűbb implementálni.
- Egy 8086 klónnal sem egyszerűbb az élet, az RV32E-re ugyanúgy van GCC. Sőt, nem is tudom, milyen ingyenes C fordító van 8086-ra. Mondjuk nekem a múltkor az RV32E-re nem fordult le a GNU toolchain, de biztos van akinek sikerült :)
- Gyakorlati haszna mindkettőnek kevés, de akkor is inkább a RISCV, mert utána azt nyugodtan felhasználhatod, az x86-ot meg... bátran :D
- Ha oktatási céllal tenném, akkor is kérdés, hogy mit akarunk oktatni. Ha általában egy CPU működését, akkor is RISCV, mert ez is elég nehéz ügy annak, aki még csak Java-t látott. Az IT szakemberek erős többsége valószínűleg soha nem nyúl assemblyhez, teljesen mindegy, melyik ISA-t mutatjuk be, a CPU és a program végrehajtásának koncepciója a lényeg. Ha meg tényleg x86 assembly oktatásra van szüksége valakinek, tehát software oldalról közelítünk, akkor a CPU felépítése kapuról kapura lényegtelen. Ha mégis kell, majd az Intelnél/AMD-nél megoldják.
- A hozzászóláshoz be kell jelentkezni
"- Lehet pazarlásnak mondani, hogy a RISCV minden utasítást 32 biten kódol, az x86 pedig 8...32 biten, de ennek manapság kisebb a jelentősége, mint 74'-ben, viszont egyszerűbb implementálni."
risc-v utasitas hosz 16 bittekben nohet, 16,32,48,64 (nyilvan implementalt utasitas keszlettol fuggoen, mind 32 csak az egyik egyszeru eset).
x86 15 byte felett hibat dob.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Igen, a helyzet bonyolultabb is lehet, talán nem fogalmaztam elég pontosan, mi szerint nem bármilyen x86-ra gondoltam, hanem a 8086-ra (8087 nélkül), és a RISCV esetén is csak az alap RV32I-re.
- A hozzászóláshoz be kell jelentkezni
Nyílt, szabadon felhasználható. Ha x86-ot (vagy ARM-ot, m68k-t, MIPS-et, AVR-t stb...) csinálsz, nem publikálhatod, módosíthatod szabadon.
No, ez erdekes kerdes, erdekelne hogy mit ertesz itten "csinálsz" alatt es mit ertunk azalatt hogy "publikaljuk". Az opencores pl az AVR-eket befogadja, de van ottan MIPS is. Illetve ugye van az osszes qemu-system-${arch}, szinten ezekre, amik szinten emulalgatnak barmit. Vagy kezdve akar az ilyen simulavr-es cuccoktol kezdve egeszen az Apple M1 + Rosetta 2-je, ami izombol interpretal x86-ot es tolja at ARM-re. De ilyen simulavr-hez hasonlo ARM-szimulatort is relative konnyu irni hogy egy MCU-szintu kornyezetet emulaljon barmi alatt, pl x86 alatt (a publikus architecture reference manual alapjan par ora munka). Avagy hol huzzuk meg a hatart?
Mondjuk nekem a múltkor az RV32E-re nem fordult le a GNU toolchain
Na, kivancsi vagyok hogy van-e olyan ember a foldon aki tudott rv32e toolchaint uzembehelyezni ;) En is mar regota foglalkozom ilyesmi temakka, de ez valahogy nem sikerut... es jo kerdes hogy bennem vane a hiba.
- A hozzászóláshoz be kell jelentkezni
Na hát arról fogalmam sincs, hivatalosan mit engednek és melyik cég mennyire ugrik az ISA kreatív használatára. Nem találtam rá pontos választ mondjuk AVR esetén, igaz annyira nem is erőltettem. Az ARM már balhézott diákokkal valami egyetemi projekt miatt. Szerintem az Intel sem lenne szívbajos. Mindenesetre szürke zóna, és a RiSCV fejlesztésének egyik motivációja is ez volt. Jobban jár, aki tiszta lappal indít.
Valamikor neki akarok futni még egyszer a toolchain forgatásnak RV32I-re. Nem is értem, hogy miért nem figyeltek erre jobban a készítők, azt hiszem elég fontos a 32bit, ha máshova nem, hát beágyazott rendszerekbe meg oktatási célra, mégiscsak max. fele helyet foglal FPGA-n, mint a 64 bites. Aztán lehet, hogy én voltam hülye a lusta mellé. Utóbbi biztos. Egyébként tegnap RV32I helyett következetesen RV32E-t írtam.
- A hozzászóláshoz be kell jelentkezni
x86 ISA hasznalahto valamelyest.
https://www.reddit.com/r/hardware/comments/3b0ytk/discussion_what_is_an…
AMD -nek van cross patent megalapodas/birosagi dontese.
A tradmark sertesbe (pl. ARM) futhatsz elso korben.
RISC-V https://riscv.org/about/risc-v-branding-guidelines/ nem kereskedlemi felhasznalasra engedelyezett,
egybkent perkalni kell member dijat, es valoszinuleg certifikacio is kellhet.
Egyebkent, ugyan ugy mint barmilyen softvernel, patent-be bele lehet futni,
Tehat lehet, hogy az x86 utasitas OK, de modjuk a vector megoldasod patentes,
Lehet hogy aki feltolja github-ra, azt elo sem veszik, mert nincs mint kipereleni belole.
Aki 1000000 termeke bele teszi, abbol lehet kiszednek par cent royalitit darabonkent.
Ha valakinek ARM -ra faj foga, lehet jobban jar ha uj nevet ad neki.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Huh szép tervek.
Én leragadtam annál a gondolatnál, hogy ha valamikor FPGA + CPU témával fogok foglalkozni, akkor
- vagy minimál CPU, sacc / kb. innen továbbindulva: https://github.com/cpldcpu/MCPU
- vagy a a nosztalgikus FORTH témát fogom leporolni a swap, dup, rot, over mentén:
https://www.excamera.com/sphinx/fpga-j1.html
http://users.ece.cmu.edu/~koopman/stack_computers/stack_computers_book…
A többi témát meghagyom a profiknak.
- A hozzászóláshoz be kell jelentkezni
Hat, jo kerdesek ezek. A "minimal" nalam abszolute azt jelentene hogy letezik konnyen felroffentheto GCC hozza, amivel egyatalan el tudunk indulni valos alkalmazasok iranyaba, de a CPU maga + interfacing valoban annyira egyszeru hogy konnyen es erthetoen lehet implementalni. Kb 4 iranyt talaltam eddig amin erdemes lehet elindulnunk szerintem (szigoruan szubjektiven);
- LM8, ez a Lattice Mico8 projektje, ami kimondottan Lattice FPGA-khoz van, van hozza GCC, a Lattice Diamond alatt elerheto a CPU forrasa, es elegge kicsi (allitolag parszaz LC-bol osszedrotozhato). Vannak benne furcsasagok, pl 18 bit szeles utasitaskeszlet, gondolom Harvard architektura. Feltettem, tok jol megy, de eleszteni (valos /Lattice/ FPGA-n) meg nem jutottam el
- AVR(2,4,3,5). Ez mar tobbet eszik (2000 LC korul), de meg boven a "minimal" kategora. Elonye hogy romma van dokumentalva, tele van vele az internet (lasd: Arduino es tarsai), nagyon sok library van hozza meg komplex projektek. Az opencores-on is sokfele implementacio van (lasd meg: ez itt a reklam helye).
- ARMv6-M. Ez elegge hasonlit az AVR-hez sok szempontbol, de a Harvard <-> Neumann kulonbsegek miatt azert nehezkesebb az implementacio, plusz itt mar jobban bele kell melyedni az instruction pipelining-be hogy hatekony is legyen a processzor. Meg persze ez megtobbet eszik a relative sok regiszter es a 32-bites muveletek miatt.
- RISC-V: tkp ez is jo lehet, de ez olyan szempontbol kakukktojas hogy itt meg egy normalis gcc-t sem birtam ugy osszeloni hogy pl egy rv32e architekturara optimalizaljon.
Ezeken kivul nem igazan latok mas olyan projektet amin erdemes lehet elindulni ha az ember tenyleg azt tuzi ki hogy magasszintu toolchain-ekkel es letezo libc/libgcc-vel dolgozzunk egyutt. A masik oldalrol megkozelitve viszont a customasm projekt az az ami nagyon jonak tunik ha egy egyszeru minimal CPU-t szeretnenk irni es nem akarunk azzal foglalatoskodni hogy fejlesszunk ra sajat toolchain-t. Ugyan ez csak asm, de abbol viszonylag maximalis. Ami az elonye az a hatranya is egyben: rogton binarissa fordit. Igy ha egy egyszeru kodot akar az ember csinalni, akarcsak assembly-ben is, akkor nem kell vacakolnunk a startup (crt0) rutinokkal, linker szkriptekkel, memoriaterkepezessel, architekturalis baszmanyokkal (azaz egy *.elf formaval hogyan is hozzuk ossze a Harvard-felepitest), stb.
- A hozzászóláshoz be kell jelentkezni
Attól függ, mi a cél?
a.) produktivitásra kell? Profi termékeket kapsz ma az FPGA implementációknál kedvezőbb tempó és fogyasztás paraméterekkel. Ezzel maga az FPGA szerkezeténél fogva nem képes versenyezni.
b.) processzor fejlesztés, tanulás? Egymagad jó eséllyel nem fogsz tudni eljutni a felső kategóriás koncepció processzor Verilog-ban való kifejlesztéséig. Marad a reálisabb cél.
c.) Internetről letöltött Verilog kód futását akarod ellenőrizni, tanulmányozni, belső jeleket kihozva általa tanulni? Erre szintén alkalmas.
Az sem véletlen, hogy ha termékben CPU+FPGA támogatás kell, akkor általában vesznek olyan FPGA-t, amely tokban az FPGA mellett dedikált processzor található. Utóbbi célgyártmányként belehelyezve, ami valami ismertebb típus, hogy amint írtad legyen gcc támogatása.
Sőt lejjebb ásva ha gyors szorzás kell, már ott is hátrányba kerül az olyan FPGA, amelynek nincs meg a szükséges számú dedikált szorzóblokkja. Összerakható a szorzás, de az FPGA szerkezeténél fogva lassabb szorzót tudsz felépíteni a dedikált szorzóblokknál. Vagy kerülik a szorzást, például jelfeldolgozás esetén a CORDIC és CIC megoldások alkalmazásával.
- A hozzászóláshoz be kell jelentkezni
25 x 18 multiplier van kintex csaladban, amit nem LUT-okbol pakolsz ossze es nem olyan lassu, kis szamoknal.
Ha nagyobb szorzasrol van szo akkor tobb kell.
FPGA -ban egy raklap van (840 @650Mhz a genesys2/ XC7K325T, es ez nem a csucs kategoria), amig nem voltak AI seged magok, addig FPGA -volt ..
Egy "dsp" tipikusan gyorsabban vegez el egyetlen szorzast mint egy FPGA,
de ha figyelembe veszed szorzo egysegek szamat az FPGA -ban akkor az osszes szorzas/sec gyakran nagyobb.
Nyilvan egy hard-core al egy soft core nem fog versenyezni.
FPGA -ba soft-core -t akkor tesz az ember ha fejleszi, vagy ha reszfeldatokhoz eleg egy kicsi, is ki lehet osztani masnak,
ill ha nincs bene hard-core, de kene valami halozati vagy VGA felulet az eszkozhoz .
Jel feldolgozasban, adat tili-toliban, FPGA eleg sok mindent megver amihez nincs specialis cel hardware.
Modern dsp vagy gpu is aldozatul eshet, ha a feladat specialis.
Ill, tipikusan gyorsabban tudd reagalni modjuk szabalyzashoz, mint barmilyen real time OS barmilyen CPU -n .
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Esetleg ez? https://radiona.org/ulx3s/
- A hozzászóláshoz be kell jelentkezni
LUT4 -van benne fizikalisan. Egyszerubb core -t ossze tudsz benne hozni, koltseg hatekony, meg minden.
De most szerintem LUT6 vagy nagyobb celszerubb valasztas.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Otthoni hobbira, árérzékenyen Virtex meg Arria? Ilyenre Spartan meg Cyclone, amik nem terhelik a kasszát annyira. Igaz, sok MHz-et ezekből nem fogsz kihozni, de vannak egész nagyok nem túl drágán, szóval 2 core talán beléjük fér.
- A hozzászóláshoz be kell jelentkezni
A linkelt Virtex-7 boardot leginkabb egyetemek hasznaljak, akik accademi license kereteben olcsobban kaptak,
mint mondjuk en kapnam.
Az idok soran spartan csalad felugrott az artix teljesitmenyere, mikozben
az artix ara kozel spartan.
kintex egy olcsobb virtex, ami nagysagrandileg gyorsabb az elzoeknel.
intel/alterat keves project tamogat out-of-box, valoszinuleg xilinx egyetemi ettetes-el lehet kacsolatban.
Ha jol tudom intel/altera is probalkozik egyetemi ettetessel manapsag.
Az oszeg amirol beszelek, egy high end GPU ara,
amit emberek jatekert venenek ha lehetne kapni.
Artix-7 teteje tud 2x 64bit out-of-order coret.
Az artix-7 kozel aljaval demoza xlinix manapsag a microblazet. [1]
a RISC-V alja hasonlo meretu es teljesitmenyu.
Vivado artix-al siman megy egy regisztracio utan, ingyen.
[1] https://www.xilinx.com/products/design-tools/microblaze.html#processorD…
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Én mondjuk jobban ismerem az Alterákat, az biztos, hogy a DE10-nanoval próbálkoznak az oktatásban, nagyon olcsón adják ahhoz képest, hogy mi van rajta. Arriát viszont olcsón még nem láttam.
Ahogy nézem a Xilinx vonalat, Artix-7 dev boardok 60000-től vannak, végül is megérheti annak, akit nagyon érdekel.
- A hozzászóláshoz be kell jelentkezni
99$ hogy lett 60000 ?
https://www.avnet.com/shop/us/products/avnet-engineering-services/aes-a…
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Úgy, hogy nem jó helyen néztem.
De lehet, hogy postaköltséggel kijönne a 60000 :) Mondjuk, nem, Kínából jön ez is.
- A hozzászóláshoz be kell jelentkezni
store.digilentinc.com 10% kedvezmenyes kupont add hirlevelre feliratkozasert.
Hajok genesys2 -re, az FMC modul lehetosegek es sebbesseg miatt.
Erdekelne -e valakit valami kozos tervezesu,
koltseg megosztott project (SFP+/QSFP+/) PCIe FMC modul/modulok ra ?
Elso becslesre mar par emberre is megerheti, ha az elso terv mukodik ;-)
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Nexys video (artix-7) boven nagyobb FPGA -val rendelkezik mint ami regen csak alom volt es fele anyibol meg van, mint a genesys2.
Azon filozok, hogy HDMI in/out ill. displayport -ra mindket estben kivezettek egy serdes -t, nem lenne olcsobb egyszerubb
es megoldhatobb oda tenni valami boardot kottni ami gen1 (x4 slot, talan x2 tenylegesen bekotve?) .
Azt talan reflow nelkul is ossze rakhato terv lenne 20/30 $ csatlakozok nelkul.
Nem lattam hogy valaki csinalt volna ilyet, van valami akadaja vagy csak nekem vannak furcsa pervezioim ?
Talan nem olyan szorakoztato, de megoldhato hogy PCIe eszkozok,
mind ket veget serdes nelkul igazi kulso eszkoz nelkul FPGA -ba tenni. host/device all in one ..
De legalabb egy gen1,x1 -et szeretnek kulso eszkozzel ossze hozni.
Lehet hamarabb jon ki valami, jobb FPGA mint hogy kinonem az artix-7 -et,
vagy ha megis kinovom a cloud is opcio lehet nehany estben.
szerk:
HDMI es az FPGA kozott van egy TMDS -re (-rol) konvertalas.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni