üzenetek

hozzászólások


AAAgold
(senior tag)

noobláma kérdés, de ez mire jó, mit számoltatnak vele?


#95904256
(veterán)
Blog

Alapvetően ez egy univerzális cucc, tehát sok mindenre jó (lehet).
Általában mégis speciális okokból használnak ilyet. :)
Előnye, hogy a benne futtatott "program" sokszor gyorsabb, mint egy CPU-n futó szoftver, illetve kisebb az energiaigénye.
Hasznos lehet pl. az alábbi esetekben:
- valamiféle új technológiai elgondolás ( pl. xyz video encoder ) kipróbálására
- olyan helyre ahol számítani lehet arra, hogy idővel megváltozik, bővül a feladata
- biztonság technikai okból ( mivel egyedi belső felépítést tesz lehetővé )
- ahol "gyorsan" kell összedobni a célhardvert egy adott feladatra

[ Szerkesztve ]


CPT.Pirk
(Jómunkásember)
Blog

Benne akkor fut program, ha belefordítasz valamilyen szoft cpu / mcu magot, amin tud futni programkód. Vagy esetleg ha fizikailag bele van építve egy vagy több társprocesszor / mikrovezérlő, de akkor az nem tisztán fpga.

Amit simán vhdl / verilog nyelven leírsz egy fpga-ba, abból fizikailag hardver jön létre, ráadásul rettentően gyorsan fog működni és könnyen átalakítható.

Úgy egyébként egy fpga nagy mértékű párhuzamos feldolgozásnál mutatja meg igazán, hogy mit tud. Nem is véletlen, hogy az aktuális csúcsszériát a hadsereg fejlesztéseiben használják fel.

[ Szerkesztve ]


#95904256
(veterán)
Blog

Tévedés. Ez egy programozható hardver, amit az általad is említett vhdl / verilog nyelven programozol. Egyébként nem véletlenül tettem idézőjelek közé a "programot", mert eltér a szokásos CPU-s programozástól. De ez akkor is egy program, ami memóriából töltődik be az eszköz indulásakor, minden egyes indításnál.

[ Szerkesztve ]


dabadab
(titán)
Blog

Ez tulajdonképpen egy chipgyártási módszer, nagyjából úgy viszonyul a "rendes" chipekhez, mint az újraírható CD a gyárilag nyomotthoz :)
Egyrészt remek tervezéshez: ha nem tetszik, ami rajta van (mert hibát találtál a tervben vagy új feature jött), akkor simán felülírod az új verzióval.
Másrészt meg ha csak pár darab kell egy chipből, mert valami spéci cucc, akkor azt így lehet gazdaságosan előállítani, mert bár egy FPGA sokkal drágább, mint legyártani az egymilliomodik ugyanolyan chipet, de sokkal olcsóbb, mint amibe a legelső chip legyártásanak az előkészítése kerül.


CPT.Pirk
(Jómunkásember)
Blog

Nem tévedés. A bitstream amit magára húz, az konfigurálja a kapu mátrixot, így jön létre a hardver, logikai kapuk szintjén.


#95904256
(veterán)
Blog

Az eszköz neve: FPGA, nézd meg mit jelent és rájössz...


CPT.Pirk
(Jómunkásember)
Blog

Programozom is őket... Esetleg írd le, mivel nem értesz egyet abból amit írtam.


dabadab
(titán)
Blog

Azért az FPGA-ban a P az úgy jelenti azt, hogy "programmable", mint az NDK automata mosógépek esetében :) Az, amit beletöltesz, csak egy leíróállomány, nem egy konkrét program. (A Verilog meg a VHDL valószínűleg Turing-teljes, de azokat egy PC-s fordító dolgozza fel és annak a kimenete már nem az.)


#95904256
(veterán)
Blog

Azt hiszed egyedül programozol FPGA-t? :)

dabadab: És a program betöltése utáni fázist minek hívod? Semminek? Tehát az FPGA a programmot "semmizi".

[ Szerkesztve ]


JColee
(őstag)

Pontosan ezért szerencsétlen megnevezés a "programozás". Jobb lenne konfigurálásnak hívni.

Ha a konfigurációs fájlt feltöltötted, akkor az fpga konfigurálva van. Minek kéne hívni? Processzort minek hívod, mielőtt elkezdi futtatni a programot?

[ Szerkesztve ]


#95904256
(veterán)
Blog

Teljesen mindegy, hogy leírófájlnak, programnak vagy konfigurációs adatoknak hívod azt a kreálmányt amit létrehozol, az eszköz ezt fogja végrehajtani, futtatni, ennek megfelelően fog működni és ez nem fixen, hardverből bevasalt dolog.

A processzort kikapcsolva is bekapcsolva is processzornak hívnom. :)

Egyébként lehet nézni arról az oldalról is a dolgot, hogy az FPGA-ban van olyan hardver rész is amit nem tudsz konfigurálni, ez felelős a program betöltéséért.

Szerintem azzal van gondotok, hogy az eszköz a program betöltése után egyfajta "statikus" állapotba kerül, de ezt is hívni kell valaminek. Én erre azt mondom, hogy futtatja a programot. Ti minek hívjátok?

[ Szerkesztve ]


CPT.Pirk
(Jómunkásember)
Blog

Nem jó amit írsz. Itt a pipás választ olvasd el, nagyon jól összefoglalja: [link]

Konyhanyelven összefoglalva, amit leírsz HDL nyelven, azt a PC egy elég bonyolult folyamat végén bitstreamre fordítja, az meg leírja a kapcsolatot az fpga belső logikai alapegységei között (többek közt).

Azok a logikai elemek meg a programozást (helyesebben bitstream letöltést) követően órajel szinkronban kezdenek működni a megadott konfigurációban, feltételezem ezért mondod annyira a program futtatást, de az akkor se túl szerencsés kifejezés ide.

[ Szerkesztve ]


JColee
(őstag)

"ennek megfelelően fog működni és ez nem fixen, hardverből bevasalt dolog"

Igen, ezért mondhatjuk, hogy konfiguráltuk az fpga-t. Miután rátöltötted a fájlt, nem "futtat" semmit. Az én szótáramban a program=utasítás sorozat, amit egymás után végrehajtunk. Ez nem teljesül FPGA esetén (kívéve az említett soft-core procikat, ami eléggé meta :D ).


Reggie0
(félisten)

Tehat akkor egy 8 bites osszeado vagy egy nand kapu mar program?


Dr. Akula
(nagyúr)

Némi zavart érzek az Erőben. A programozás egy előre letárolt eljárás rögzítését jelenti. Ennek nem feltétele még a számítógép se. Tulajdonképp a kádban a dugó behelyezése a lefolyóba, majd vízzel feltöltése is programozás. Mert ha kihúzod a dugót, az eljárás (víz elfolyik a csatornába) megtörténik. Mielőtt valaki felháborodik hogy dehát nem ezt tanulta a suliban, először gondoljon a gép fogalmára. Mi a legegyszerűbb gép? A sima faék. Hát az se rokona a Terminatornak. Szóval kár fightolni, az FPGA konfigurálása bőven belefér a programozás fogalmába. :)


Reggie0
(félisten)

Amugy jo ez a nagy fpga, csak egy kinszenvedes lehuteni azt a 750...1000W-ot amit ki lehetne sajtolni belole.


JColee
(őstag)

Elte? :DDD


#95904256
(veterán)
Blog

Elolvastam, a fizikai működést taglalja, de arra nem ad választ, hogy a program futtatás megfelelő kifejezés vagy sem.

A "program futtatásnak" semmi köze az órajel szinkronhoz.

A program futtatás onnan jön, hogy a hardver egy bizonyos eljárást végez a programmal. Ezt az eljárást futtatásnak vagy végrehajtásnak szokták nevezni. Vagy minek kellene hívni?


Reggie0
(félisten)

Nem program, hiaba erolteted.

üzenetek