FPGA experimenty - výměna zkušeností

fpga

FPGA experimenty - výměna zkušeností
« kdy: 26. 01. 2016, 16:14:46 »
Objevil jsem skvělou demo desku : ARTY s Xilinx Artix-7 35T XC7A35T-L1CSG324I.
http://www.xilinx.com/products/boards-and-kits/arty.html

Za 99 USD se mi zdá super, ale možná se pletu, má někdo tip na něco lepšího ?

Případně nějaké tipy a la FPGA návrhářem snadno a rychle ?

Dík :)


Kiwi

Re:FPGA experimenty - výměna zkušeností
« Odpověď #1 kdy: 26. 01. 2016, 16:25:10 »
Mám obavu, že v demo desce ty návrhářské schopnosti netkvějí.  :)

v

Re:FPGA experimenty - výměna zkušeností
« Odpověď #2 kdy: 26. 01. 2016, 16:38:01 »
nějaké tipy a la FPGA návrhářem snadno a rychle ?

ne že bych měl moc zkušeností, ale troufnu si říct, že v první řadě si musíte uvědomit, že to není programování, ale návrh elektronického obvodu a musíte myslet i na fyzikální aspekty jeho fungování (např. rychlost přeběhu)

fpga

Re:FPGA experimenty - výměna zkušeností
« Odpověď #3 kdy: 28. 01. 2016, 09:19:26 »
dík za podnětné komentáře,to jsem nevěděl. Něco dalšího k tématu ?

Mirek

Re:FPGA experimenty - výměna zkušeností
« Odpověď #4 kdy: 28. 01. 2016, 09:39:16 »
dík za podnětné komentáře,to jsem nevěděl. Něco dalšího k tématu ?
Jaký je tvůj background v oblasti číslicové elektroniky a programovatelné logiky obecně?


hu

Re:FPGA experimenty - výměna zkušeností
« Odpověď #5 kdy: 28. 01. 2016, 10:24:26 »
V češtině k tématu mnoho dostupné literatury není. Za zmínku patrně stojí kniha FPGA prakticky od Jakuba Šťastného, se kterou sice nemám přímé zkušenosti, ale s jejím autorem nějakou osobní ano a měl by být zárukou slušné úrovně.

Nějakej devkit si určitě zakup, zablikat si ledkama je vždycky dobrá motivace. Připrav se nicméně na to, že s klasickým programováním má návrh systému v HDL jazyce pramálo společného. Je třeba si umět představit, jaké zapojení danou jazykovou konstrukcí vznikne, respektive jaké chceš, aby vzniklo. Jak už zmínil předřečník, je k tomu třeba něco vědět o číslicové technice a znát vnitřní strukturu hradlového pole - musíš tušit, jak jsou vysyntetizovaná zapojení fyzicky realizována. Viz http://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf .

Ivan Nový

Re:FPGA experimenty - výměna zkušeností
« Odpověď #6 kdy: 28. 01. 2016, 12:02:13 »
Trochu motivace zde https://www.youtube.com/watch?v=koHyh7S1JjE, můžete použít i simulátor FPGA a kód psát v Pythonu, viz zde http://www.slideshare.net/GuyEschemann/2014-all-programmabe-days-fpga-design-with-python.

hu

Re:FPGA experimenty - výměna zkušeností
« Odpověď #7 kdy: 28. 01. 2016, 12:16:30 »
kód psát v Pythonu

To je mimoradne debilni napad. Vzhledem k tomu, ze myHDL pro syntezu zadny vendor FPGA nepodporuje, doporucujete tomu nebohemu cloveku, aby si to cele zkomplikoval pridanim dalsi zbytecny vrstvy.
Navic pro popis HW jsou jazyky Verilog a VHDL navrzene, v Pythonu bude reaktivni paradigma a silny paralelismus vzdycky maximalne nejak hnusne nahackovany.

Mirek

Re:FPGA experimenty - výměna zkušeností
« Odpověď #8 kdy: 28. 01. 2016, 12:21:52 »
kód psát v Pythonu

To je mimoradne debilni napad. Vzhledem k tomu, ze myHDL pro syntezu zadny vendor FPGA nepodporuje, doporucujete tomu nebohemu cloveku, aby si to cele zkomplikoval pridanim dalsi zbytecny vrstvy.
Navic pro popis HW jsou jazyky Verilog a VHDL navrzene, v Pythonu bude reaktivni paradigma a silny paralelismus vzdycky maximalne nejak hnusne nahackovany.
Souhlas. Pokud FPGA, tak VHDL nebo Verilog...

Karel

Re:FPGA experimenty - výměna zkušeností
« Odpověď #9 kdy: 28. 01. 2016, 12:43:47 »
Nějakej devkit si určitě zakup, zablikat si ledkama je vždycky dobrá motivace. Připrav se nicméně na to, že s klasickým programováním má návrh systému v HDL jazyce pramálo společného. Je třeba si umět představit, jaké zapojení danou jazykovou konstrukcí vznikne, respektive jaké chceš, aby vzniklo. Jak už zmínil předřečník, je k tomu třeba něco vědět o číslicové technice a znát vnitřní strukturu hradlového pole - musíš tušit, jak jsou vysyntetizovaná zapojení fyzicky realizována. Viz http://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf .

Tušit nemusí. FPGA a VHDL jsou dvě různé věci. Na VŠ se s FPGA začíná tak, že se prostě kreslí schemata. Naházíte tam pár hradel, označíte vstupy a výstupy atd. Pak to nahrajete do FPGA. Teprve později se začíná s VHDL, které je představeno jako silnější alternativa ke kreslení schemat. Poprali se s tím prakticky všichni spolužáci. Výjimkou byli jen lidé, kteří přišli z katedry počítačů, protože ti rovnou začali "programovat", schematům nerozuměli a ani nechtěli rozumět. Měli obrovské problémy právě proto, že na VHDL koukali jako na programovací jazyk, když ve skutečnosti je to definiční jazyk. Dodnes mě některé jejich otázky děsí, například "a jak definuji, v jakém pořadí se ty programy spouští?" (odpověď: běží všechny najednou a nepřetržitě, není tam nic jako pořadí a nic jako spouštění nebo ukončení).

https://www.fel.cvut.cz/cz/education/bk/predmety/12/07/p1207106.html
http://fpga.cz/

Mirek

Re:FPGA experimenty - výměna zkušeností
« Odpověď #10 kdy: 28. 01. 2016, 12:52:13 »
Tušit nemusí.
Jestli to mělo znamenat "tušit nemusí, musí to vědět", tak v podstatě souhlasím.

Ivan Nový

Re:FPGA experimenty - výměna zkušeností
« Odpověď #11 kdy: 28. 01. 2016, 12:52:26 »
kód psát v Pythonu

To je mimoradne debilni napad. Vzhledem k tomu, ze myHDL pro syntezu zadny vendor FPGA nepodporuje, doporucujete tomu nebohemu cloveku, aby si to cele zkomplikoval pridanim dalsi zbytecny vrstvy.
Navic pro popis HW jsou jazyky Verilog a VHDL navrzene, v Pythonu bude reaktivni paradigma a silny paralelismus vzdycky maximalne nejak hnusne nahackovany.

Ruční navrhovaní obvodů již dnes nemá budoucnost. V PyHDL můžete tvořit evoluční algoritmy, které budou obvody podle zadaných kritérii generovat samy. Testování můžete taky automatizovat. Takže to není zbytečná vrstva. Ona vaše znalost fungování hw je taky jen mentální model.

Ono z hlediska motivace je dobré, rychle něco konkrétního vytvořit. I pomocí mezivrstvy, než dlouhou dobu studovat základy, bez viditelného výsledku. Paradoxně by solidní základy měly být až druhý krok.

Ale souhlasím s vámi, že základ VHDL, nebo Verilog je potřeba znát a není tředba hned kupovat vývojové desky, stačí simulátor (třeba online http://www.edaplayground.com/) a nebo GTKWave na prohlížení průběhů.

hu

Re:FPGA experimenty - výměna zkušeností
« Odpověď #12 kdy: 28. 01. 2016, 13:04:42 »
kód psát v Pythonu

To je mimoradne debilni napad. Vzhledem k tomu, ze myHDL pro syntezu zadny vendor FPGA nepodporuje, doporucujete tomu nebohemu cloveku, aby si to cele zkomplikoval pridanim dalsi zbytecny vrstvy.
Navic pro popis HW jsou jazyky Verilog a VHDL navrzene, v Pythonu bude reaktivni paradigma a silny paralelismus vzdycky maximalne nejak hnusne nahackovany.

Ruční navrhovaní obvodů již dnes nemá budoucnost. V PyHDL můžete tvořit evoluční algoritmy, které budou obvody podle zadaných kritérii generovat samy. Testování můžete taky automatizovat. Takže to není zbytečná vrstva. Ona vaše znalost fungování hw je taky jen mentální model.

Jasne, evolucni algoritmus mi navrhne implementaci treba 10gigovyho ethernetu... nevim co beres, ale chci to taky.

hu

Re:FPGA experimenty - výměna zkušeností
« Odpověď #13 kdy: 28. 01. 2016, 13:07:33 »
Tušit nemusí.
Jestli to mělo znamenat "tušit nemusí, musí to vědět", tak v podstatě souhlasím.

On pak clovek v opacnem pripade ponekud obtizne navrhuje tak, aby se napr. vesel do timing constraints...

hu

Re:FPGA experimenty - výměna zkušeností
« Odpověď #14 kdy: 28. 01. 2016, 13:17:16 »
Jinak jeste trochu k tomu navrhovani genetickym algoritmem. Je dobre si uvedomit, ze optimalizace evoluci v prirode nema daleko k brute force, z cehoz lze odvodit, ze je treba spousta iteraci, coz obvykle znamena i spoustu casu. V knize Evolucni hardware se ostatne rika, ze uzitecnost evolucniho designovani je limitovana pomerne nizkou pouzitelnou delkou chromozomu, a to jak pri navrhu nad raw hradly, tak nad nejakymi vetsimi makry (scitacka, citac apod.).

Dalsi legrace je navrh fitness funkce, chtel bych treba videt takovou, ktera povede k uspesne synteze zmineneho 10gigoveho ethernetu nebo treba x86 cpu. V podstate to znamena bokem napsat naprosto detailni model v kvalite jeste vyssi, nez se bezne pouziva pro verifikaci.