FPGA/CPLD, bolo: Pulzny generator

balu balu na k-net.fr
Středa Srpen 14 19:34:53 CEST 2019


tato debata je skor take plkanie a opluvanie Patronskeho typu :-) To 
mame radi :-)

Co rozumies pod vnutorna struktura? Schemu na urovni jednotlivych 
tranzistorov, alebo rozsiahlo popisane vlastnosti a strukturu bloku?

Uvedme ako priklad cip, s ktorym uz niekolko rokov pracujem, Artix7 od 
xilinx, a jeden z blokov, napriklad DSP48, co je dedikovany blok pre 
matematicke operacie. Vnutorna struktura je podrobne popisana v 
dokumentacii, vid. napriklad 
https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf

Do tych FPGA stale piseme praobycajny VHDL kod. Nic klikacie. Normalne 
ultra-old schoolovy textovy editor. Kedze podrobne poznam vnutornu 
strukturu toho bloku z dostupnej dokumentacie, viem ako mam ten kod 
napisat tak, aby sa presne namapoval do DSP bloku. Viem, ze mam k 
dispozicii flipflop na vstupe, potom nasleduje nasobicka, potom mam k 
dispozicii dalsi flipflop, potom scitanie, potom dalsi flipflop. Kod 
napisem tak, aby som vyuzil to co z toho bloku potrebujem. Z 
dokumentacie viem, ako je tento blok pripojitelny ku susednym blokom, 
napr. ako siroke zbernice viem spracovat s maximalnym vykonom. Mas tam 
popis kazdeho jednotliveho konfiguracneho bitu.

Moderne, ultra vykonne cipy maju priamo na kremiku implementovane este 
specializovanejsie bloky, napriklad pre komunikacie, alebo pre 
spracovanie signalov. Tam si ten FIR filter bud napises a namapuje sa do 
vseobecnej logiky, alebo pouzijes system generator a naklikas si (sic!) 
a vytvori ti to konfiguracny kod pre ultraoptimalizovanu implementaciu 
FIR filtra. Naco potrebujem vediet aky tranzistor je vo vnutri, ked 
poznam interface a strukturu toho bloku? Na nic.

Ak pises genericky kod, skompilujes to na hocico. Ak potrebujes 
ultra-optimalizovany, toto dosiahnes len na konkretnom kremiku, takze aj 
tak nemozes ist ku konkurencii bez toho aby si musel upravit kod pre ich 
cipy.

Mozes pouzit lubovolny textovy editor. Ak nemas rad ten s 11 fixnymi 
medzerami, pouzi hociaky iny. VHDL je len cisty text.

Actel/Microsemi robi dobre veci, ale pre velmi specificke aplikacie. Su 
drahi, ale do radiacneho prostredia a na heavy duty aplikacie je to 
viacmenej jediny pouzitelny hardware. A tam sa nepredavaju miliony 
kusov, takze to aj stoji.



On 14/08/2019 11:54, Jaromir Sukuba wrote:
> No hej, skutocna interna struktura celeho PLD sveta je nieco co je
> scasti nejasne a scasti vyslovene obchodne tajomstvo. Nevies presne co
> mas a ako to funguje, ale tu dostanes giganticke IDE a nepytaj sa,
> lebo IDE poskytuje vsetky odpovede. A to nie je len zalezitost
> ostatnych rokov s modnymi farebnymi instantnymi klikacimi rieseniami*,
> ale ide to hlboko do historie. Na druhu stranu, zakaznici sa s tym
> naucili zit, takze vyrobcov nic netlaci k zmene.
> 
> Ten Actel som pozeral, ale pripadalo mi, ze je to pomerne drahe na to co to vie.
> Okrem toho, z cisto praktickych dovodov je nevyhodne pustat sa do
> amaterskeho projektu s takymto vyrobcom, ale je lepsie drzat sa
> niektoreho velkeho hraca (xilinx/altera a mozno este ten lattice).
> Market share v tejto oblasti je ukrutne nevyvazeny.
> 
> * V tychto ohladoch su IDE pre programovatelnu logiku pomerne strohe.
> Ide to az tak daleko, ze trebars minuly rok vydane vyvojove prostredie
> od Lattice ma textovy editor na urovni notepadu, tab urobi odskok so
> sirkou 11 (!?) medzier a este som nezistil ako sa to da zmenit.
> 


Další informace o konferenci Hw-list