Portál AbcLinuxu, 30. dubna 2025 19:53
Nejdříve bych rád dokončil obecný úvod a seznámení. Nějaké příklady pak můžu vymyslet. Určitě by ale nebyly pro Parallelu. Platforma by mohla být buď nějaká standardní vývojová deska Xilinx nebo Altera, případně PicoZed od Avnetu. Mimochodem, tohle je náš produkt, který bude u Avnetu ke koupi od začátku příštího roku.
Díky za link na gplgpu. Nějak jsem to přestal sledovat a tohle mi uniklo. Musím, ale říct, že mě docela zarazila tahle část v README:
The IP is licensed under the GPL v3 license. As this applies to hardware, if you develop any hardware system utilizing this code the entire ASIC or FPGA containing the Ip must be licensed under the GPL v3 and source made available.
Nejsem si úplně jistý, jestli to skutečně z GPL v3 vyplývá. Pokud ve svém projektu použiji instanci gplgpu jako black-box bez sebemenšího zásahu do zdrojáku, skutečně musím zveřejnit zdrojáky celého systému? Tuhle situaci bych přirovnal k přilinkování statické knihovny pod GPL v3 k mému vlastnímu programu. Znamenalo by to v tom případě, že skutečně musím zveřejnit zdrojový kód celého programu?
... přilinkování statické knihovny pod GPL v3 k mému vlastnímu programu. Znamenalo by to v tom případě, že skutečně musím zveřejnit zdrojový kód celého programu?Podle výkladu autorů licence (RMS) ano. A i jen design tak, aby bylo možno přilinkovat GPL dynamickou knihovnu (ani ne přímo její přilinkování), aspoň podle GPL2 (a nemyslím si že by se to s GPL3 uvolnilo). Viz např. readline (GPL) a clisp.
Mimochodem, tohle je náš produkt, který bude u Avnetu ke koupi od začátku příštího roku.Zynq 7015? WOW a má to vyvedenej PCIe na ten header?
V podstatě ano. Verze se 7015 a 7030 mají na konektoru JX3 vyvedené čtyři transceivery a referenční hodiny. Účel našeho setu SVDK je trochu jiný, takže transceivery používáme pro CoaXPress rozhraní.
Záleží na typu a technologii. Interní synchronní prvky jsou obvykle schopné pracovat na stovkách MHz, což u low-endu znamená frekvence řekněme do 200-300MHz, u high-endu třeba 800-900MHz. Na druhou stranu sériové transceivery můžou pracovat na jednotkách až desítkách GHz. To ovšem vůbec nic nevypovídá o tom jak rychle a dokonce ani na jaké frekvenci bude fungovat nějaký konkrétní návrh. U FPGA stejně jako u libovolných obecných logických obvodů jsou pracovní frekvence a "rychlost" dvě různé věci, které spolu nemusí až tak moc souviset. Vezměte si například jeden obvod, který zpracovává 64b slova a pracuje na hodinové frekvenci 100MHz. Druhý obvod zpracovává 8b slova na hodinové frekvenci 500MHz. Oba obvody implementují stejnou funkci a oba zpracují jedno slovo v každém hodinovém cyklu. Který obvod je rychlejší?
Mě to přišlo pro ábíčko off-topic docela dost. V ČR je v podstatě jediný server kam by to tématicky patřilo, ale z něj je už řadu let reklamní kanál, kde publikovat nechci. Seriál sice vychází v jednom tištěném časopise, ale tam zase chybí zpětná vazba. Publikovat to tady na blogu mi přišlo jako docela dobrý kompromis.
Jelikož jsem totál lama, tak odpusťte možná blbé dotazy, ale teoreticky jak maximálně výkonný počítač by se dal implementovat? Řekněme něco na úrovni P2?Jo, tak něco.
Lze využít i nějaký klasický programovací jazyk?Pro všechno možné, od Microblaze přes AVR po ARM, jsou normální kompilátory Cčka. Koukni na OpenCores.
Lze využít i nějaký klasický programovací jazyk?Pro všechno možné, od Microblaze přes AVR po ARM, jsou normální kompilátory Cčka. Koukni na OpenCores.
Aha, já tu otázku pochopil jinak (viz má odpověď níže). Samozřejmě pro CPU implementované v FPGA je možné použít libovolný jazyk, pro který existuje kompilátor.
Tak on Cray-1A je velmi dávná historie a ta implementace je fakt maličká a i v hodně starém FPGA běží rychleji než originál.
Implementace obecného procesoru nebo počítače není úplně nejlepší nápad, protože mezi návrhem a křemíkem máte jednu mezivrstvu navíc (FPGA), která poněkud snižuje výkon oproti přímé implementaci jako ASIC. Soft-procesory se v FPGA používají spíše v kombinaci s jinou logikou, jako takzvané programovatelné systémy na čipu.
Samozřejmě dnešní FPGA jsou použitelné pro implementaci i velmi výkonných procesorů, ideálně ale spíše s architekturou RISC. P2 by implementovatelná určitě byla, ale architekturou není pro implementaci v FPGA úplně ideální. Jako příklad velmi výkonných CPU použitelných i v FPGA bych uvedl třeba Leon4, což implementace architektury SPARC V8e, nebo třeba Sun (dnes tedy Oracle) OpenSPARC T1 a T2, což jsou 64b architektury UltraSPARC T1 a T2. Můžete najít i nějaké informace o implementaci Intel Atom nebo architektury Nehalem (první Core i5/i7). Tyhle implementace jsou ale trochu starší, takže třeba to jádro Nehalem nacpali do pěti FPGA Xilinx Virtex-4. Věřím, že dnešní Xilinx Virtex UltraScale by stačil jeden.
Některé klasické programovací jazyky použít jde. Používají se ale neklasickým způsobem, což může být pro běžného programátora v těchto jazycích dost matoucí. I s využitím těchto jazyků se totiž stále popisuje zapojení logického obvodu, nikoliv sekvenční posloupnost instrukcí. O jazycích pro vývoj a verifikaci bude přespříští pokračování seriálu.
Jak se píše tady, oficiálně se ISE nevyvíjí už přes rok. Fakticky se ale nevyvíjí více než dva roky. Ty poznámky o kritických opravách je třeba brát s velkou rezervou, protože u firmy Xilinx už dost dlouho nepracuje žádný z původních vývojářů ISE.
Co se týče podpory FPGA, je to skutečně tak, že ISE podporuje vše do řady 6. Podpora některých obvodů řady 7 je v ISE spíše jenom dobastlená a je v podstatě nepoužitelná. Rozhodně doporučuji se kombinaci 7-series a ISE vyhnout. Řadu 7 a výše (momentálně 7 a UltraScale) podporuje naplno až Vivado.
Ještě poznámka k potenciální možnosti podpory řady 6 ve Vivadu. Sice platí "nikdy neříkej nikdy", ale dovolím si téměř s jistotou prohlásit, že toho se nedočkáme. Jakožto oficiální Xilinx Alliance Partner máme dost informací navíc a o ničem podobném se bohužel ani neuvažuje. Přitom ze strany zákazníků by byl obrovský zájem. Velké firmy především z Asie v tomto ohledu na Xilinx tlačí, ale zatím bezvýsledně.
Jelikož jsem totál lama, tak odpusťte možná blbé dotazy, ale teoreticky jak maximálně výkonný počítač by se dal implementovat?Hehe no třeba moje patička (Opensource 32bit osmijádro). Ale to je spíš na úrovni MCU. Jinak, co se týče výpočetně výkonných CPU, tak tam máš nějvětší omezení maximální frekvenci toho FPGA (pro CPU to budou tak maximálně pár (slovy dvě
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.