Új hozzászólás Aktív témák
-
Dr. Akula
félisten
-
Reggie0
félisten
válasz
Dr. Akula #97 üzenetére
Latom meg mindig nem sikerult elolvasnod a threadet, de segitek neked egy kicsit: En eddig is azt mondtam, hogy az FPGA programozhato eszkoz, de arra nem programot kell tolteni, hanem konfiguraciot, a vhdl/verilog pedig nem programnyelv, az FPGAn nem program fut.
Ha mar vitazol elonyos lenne, elolvasnod, hogy tudd mirol is van szo. Javaslom tekints vissza a #25-re. Ellenben te eddig azt magyaraztad, hogy program kerul ra(pl #59), most meg azt probalod bemagyarazni, hogy a programozasrol mint adatletoltesrol beszelsz. Kezd izzadsagszagu lenni...Az altalad linkelt oldalon pedig mar rogton azzal kezdik, hogy a PLC egy kesz eszkoz, az FPGA pedig egy chip. Orulok, hogy segithettem:
The PLC is a ruggedized control device consisting of a microprocessor and memory, along with select peripherals.
Remelem azt mar nem kell elmagyaraznom, hogy egy kesz eszkoz(vegtermek) es egy chip kozott mi a kulonbseg(segitseg: a mikroprocesszor egy chip). -
Dr. Akula
félisten
Annyira nem, hogy mondjuk egy programozható termosztát láttán még szerintem Reggie0 is eldobná az ékszíjat hogy ilyen állat nem létezhet.
-
Dr. Akula
félisten
"Ugy, hogy van egy egy belso programozo interfesze is, xilinx eseten ICAP-nak hivjak."
Érdekes, eddig még nem kellett programozni szerinted...
"A PLC es az FPGA eg es fold, tudod egyaltalan mi az az FPGA? Pont annyi a kapcsolat koztuk mint a szamitogep es a processzor kozott."
Na mesélj... Kezdetnek itt egy kis olvasmány hozzá. Ha sikerült megtalálnod a lényegi különbséget (ami nem az hogy egyiket a kisebb eszközökre, a másikat inkább a nagyobbakra szokták hasznáálni), akkor szólj!
"Mondjuk pont annyi, hogy az egyik utasitas egy processzornak(erted, vannak regiszterek, adtbuszok, utasitasdekoder, programszamlalo stb, ami ertelmezi es vegrehajta), a masik pedig aramkor, nehany tranzisztor holt egyszeru elektromos kapcsolata."
Akkor olyanokkal már úgy érzem ne is fárasszalak mint Bool algebra, Veitch-Karnaugh tábla, falra hányt borsó...
"A programban vannak utasitasok, az fpga bitstreamben nincsenek, latod te is megtalaltad vegre."
Tehát az nem utasítás neked hogy adott helyen legyen-e kapcsolat, vagy törölni kell? Az úgy magától, szó nélkül megtörténik? Messziről indulunk...
Szerintem ne áss mélyebbre ha már a gödörben állsz.
-
AAAgold
senior tag
programozás által csak és kizárólag hw-en lefutó program jöhet létre? nézem az eszmecserét és nekem úgy tűnik, hogy ez a két fogalom keveredik egymással, azaz programozás VS program
-
Reggie0
félisten
válasz
Dr. Akula #86 üzenetére
Ugy, hogy van egy egy belso programozo interfesze is, xilinx eseten ICAP-nak hivjak.
A PLC es az FPGA eg es fold, tudod egyaltalan mi az az FPGA? Pont annyi a kapcsolat koztuk mint a szamitogep es a processzor kozott.
"Amúgy miben más egy MOV AX, BX mint ha ugyanezt kikapuzod NAND-ból (vagy NOR-ból)?"
Mondjuk pont annyi, hogy az egyik utasitas egy processzornak(erted, vannak regiszterek, adtbuszok, utasitasdekoder, programszamlalo stb, ami ertelmezi es vegrehajta), a masik pedig aramkor, nehany tranzisztor holt egyszeru elektromos kapcsolata.A programban vannak utasitasok, az fpga bitstreamben nincsenek, latod te is megtalaltad vegre. A hardver programozasnal legyen mar gyanus ez: is a piece of electronic equipment that arrange written software to configure programmable non-volatile integrated circuits
Tehat pont az amit mondtam, a programozas az amikor beletoltod a nem felejto memoriaba az adatot. Ezert van az FPGA-ban is a P betu ott. Az adatbetoltes pedig nem azt jelenti, hogy program toltodik bele.
Igen neki akarom megmagyarazni. Kettessel is lehet barki mernok, az, hogy van egy papir rola, az semmit sem jelent. Szoftverfejlesztokent illene tudnod, hogy mi is az a program... Villamosmernokkent tanulnod kellett volna digitalis technikat is.
-
Világos, eddig is értettem. Talán magyarul nem programozást kéne használnom FGPA-ra, hanem beprogramozást. Angolul viszont ugyanaz a szó, én erre gondoltam. Tehát az angol programmable helyes, de magyarul fel- vagy beprogramozható lenne jó fordítás.
Szerintem nem csak Turing-teljes nyelvekkel lehet programozni, maximum korlátozottabb lesz a megoldható feladatok köre. -
Ugye az egész onnan indult, hogy maga az FPGA (nem pedig az FPGA-ban kialakított kapcsolás) programozható-e. Ahhoz, hogy az legyen, nyilvánvalóan szükséges lenne az, hogy tudjon programot futtatni. Ami az FPGA esetén a "programfuttatás" címén figyelembe jöhet, az az, amikor az ember feltölti az FPGA-ba a konfigurációt, más nem - az meg nyilvánvalóan nem felel meg a "computer program" elvárásainak, mert azzal csak annyit csinál, hogy szépen sorba bekonfigurálja tőle a kapuit, de pl. ciklust vagy elágazást nem lehet benne csinálni.
(És a teljesség kedvéért az is előkerült, hogy az FPGA konfigurációját előállító nyelvek (VHDL, Verilogic) viszont már megfelelnek a Turing kritériumoknak, akkor is, ha a kimenetük már nem) -
Dr. Akula
félisten
Az egész téma az, mert abból indultunk ki hogy egy hardverállapot kialakítása programozásnak számít-e. Közben meg egy nem annyira Turing teljes CNC esztergában a kés jobbra-balra tologatását is programozásnak hívják.
Ha egy faék lehet gép... Definíció szerint a 3D nyomtatás is programozás. Tudod: minden bogár rovar, de nem minden rovar bogár. Rovar = programozás, bogár = számítógépes program írása.
-
Dr. Akula
félisten
HardverÁLLAPOT jön létre (ami persze akár CPU-ként is funkcionálhat), a hardver már megvan. A CNC esztergából viszont tényleg hardver jön ki, miután beprogramozta a CNC programozó.
-
CPT.Pirk
Jómunkásember
válasz
Dr. Akula #86 üzenetére
Nekem beágyazott mikroszámítógépek szakirányon konkrétan azt tanították Digtek3-ból 2011-ben, hogy a letöltött bitstream következtében kialakulnak a megfelelő összeköttetések a logikai egységek között.
FPGA programozásnak hívtuk, de ki volt emelve, hogy hardver jön létre belőle.
-
Dr. Akula
félisten
És az hogy, lerakok mellé egy bitmintát, ami öntudatra ébred és elkezdi átkódolni a mellette heverő FPGA-t?
Szerintem inkább egy számítógépről rátöltöd, amit előtte megírsz. Igaz hogy régen csináltam, és akkor még PLC-nek hívták, nem FPGA-nak, de az alapelve ugyanaz. Amúgy miben más egy MOV AX, BX mint ha ugyanezt kikapuzod NAND-ból (vagy NOR-ból)? Mindkettő egy vezérlőkód, ami a hardver működését módosítja a kívánt cél érdekében. Amúgy elég csak felnézni a wikire, ott se csak a kódert ismerik, hanem a hardver programozást is. A program definíciója meg csak ennyi: "A program is a set of instructions used to control the behavior of a machine “software”." Aminek csak egy speciális szelete a számítógépes program.
"Ismerned kene a hardver mukodeset, hogy megertsd a kulonbsegeket. Egy digitalis technika alapok vagy ilyesmit meg kene tanulnod."
Ezen már pár évtizede túl vagyok, biztos hogy egy szoftverfejlesztésre specializált villamosmérnöknek akarod ezt megmagyarázni?
Ellenben neked még tudom ajánlani.
-
Figyelj, kicsit pongyolán fogalmaztam, de ne nézz már hülyének! Csináltam én is FPGA design-t. Amikor kész vagy, akkor bizony hívják azt compilationnek, amit csinál, hogy a bitstream a végén meglegyen. Nem mondtam egy szóval sem, hogy ezentúl hívjad, ahogy akarod, de ha tudjuk, miről beszélünk, akkor tök mindegy, éppen minek nevezzük.
Biztos vagyok benne, hogy te többet foglalkoztál FPGA-kkal, mint én, mert nekem nem ez a szakmám, de nem kell ez a lekezelő, kioktató stílus, mert én ezt nem bírom, és túl sokat nem tesz hozzá a diskurzushoz. -
Reggie0
félisten
Nem csak programszamlaloval, ha ez alatt a hagyomanyos PC-t erted, de egy belso allapottarolo mindenkeppen kell amibol tudja, hogy hol tart. Aztan, hogy az milyen extra funkciokat kepes meg megvalositani, milyen extra manipulacios lehetosegei vannak es ezaltal a hagyomanyos PC fogalmat lefedi egy mas kerdes.
C-ben irt programot nem, OpenCL-el most szenvednek es nem tul hatekony.
Vegulis az excel grafikon is szovegbol allit elo egy bitmintat, hivjuk az adatrogzitest is programozasnak es az adattablazatot programnak. Igazabol kar szakszavakkal vacakolni, minden targyat fogalmat hivjunk izenek es minen muveletet izelesnek. Es akkor tok konnyen leirhatnank minden proglemankat es nem kene itt izelnunk az izelesrol, hogy az izelheto izere izelt ize az izeles-e vagy esetleg masfajta ize. Jo lesz?
-
Ez így nagyon messzire fog vinni, mert nem csak programszámlálóval lehet programot futtatni...
Az FPGA-n lehet program is.
Egyébként teljesen mindegy, minek nevezzük, hiszen egy szövegből állít elő egy bitmintát mindkettő. Nem mernék megesküdni rá, de, szerintem, egy C-ben írt programot bármikor szintetizálhatsz FPGA-ba is, feltéve, hogy belefér. -
Reggie0
félisten
Miert, azokon nem volt utasitasok sorozata amit megfelelo sorrendben kell vegrehajtani? Nem jegyezte valahol, hogy mi a kovetkezo muvelet es hol tart? Akkor mit csinalt, mindent egyszerre vagy ahogy veletlen sikerul vegrehajtott?
Programozas:
1. programkod irasa
2. adattarolo hardver tartalommal feltolteseEzek kozul mind a kettot csinaltak a Neumann elotti gepekre is, amugy pl. a Harward gepekre is igaz, hogy van programszamlalo stb, pedig nem Neumann elveken nyugszik.
A vita akorul van, hogy egyesek azt hiszik az FPGA konfiguracioja az egy program, mert megteveszi oket, hogy benne van a neveben a "Programmable" szocska. A programmable szocska pedig a 2. jelentesre vonatkozik, a memoriajat lehet feltolteni helyben(aramkorben) nem arra, hogy programkod futna benne.
-
-
Köszönöm a belém vetett bizalmat, de le kellett szigorlatoznom a témából, és még ha
nehezen is ment, de ennyit sikerült megértenem belőlePersze nem ELTE-i magasságokban ment a diskurzus, de, gondolom, a kombinációs hálózatok említésénél ez rögtön kiderült.
Egyrészt, amit írtál, az egy program, nem maga a programozás, másrészt erről baromi egyszerű eldönteni, hogy semmit se csinál, ez az általam említett nem igazi végtelen ciklus. Megint csak a program állapotterére tudok utalni.
A megállási probléma nem tudom hogy jön amúgy ide, mert egy program maga véges hosszúságú. Ha feltételezed, hogy a program nem fix (ezért írtam korábban, hogy akkor még az önmódosító programok képben sincsenek), akkor ennyi erővel az FPGA is újraprogramozhatja magát. Mint ahogy a szövőszék is lyukaszthat magának másik kártyát... -
Reggie0
félisten
válasz
Dr. Akula #67 üzenetére
A hardver beallitasat sima memoriaba irt bitminta vegzi nem program. Ezen nem hajt vegre semmit, azt bele kell irni es egyszeruen azzal egy allapotban van a hardver. Mig egy programnal van utasitas sorozat, amit lepesrol lepesre hajt vegre, emiatt van programszamlo, valami mutatja hol tart es mit kell vegrehajtani, itt nincsen. Csak egy bit van ra, hogy adott kapcsolo be legyen kapcsolva vagy ki. Ez nem programfutas, sot semmi semfut ott, ez egy statikus dolog.
Ahogy a villanykapcsolo ki vagy bekapcsolasa sem programozas es a villanykapcsolo sem programot hajt vegre, es az sem az, ha kapsz egy tablazatot, hogy este melyik kapcsolokat kapcsold be es ki, attol az meg egy tablazat marad nem program.Ismerned kene a hardver mukodeset, hogy megertsd a kulonbsegeket. Egy digitalis technika alapok vagy ilyesmit meg kene tanulnod.
-
Igen, de ezzel a logikával a hagyományos programozás se tarthat örökké, hiszen a számítógép memóriája véges, még akkor is, ha a varázsmanó mindig hoz több RAM-ot, mert a CPU címtartománya a korlátozott lábai miatt korlátos. Tehát csak véges számú programot tudsz írni a gépre, és max. a fordító kerülhet végtelen ciklusba (ami, ugye nem igazi végtelen ciklus a memória korlátossága miatt).
-
F4ther
tag
Nagyon kitartóan megy itt a vita
Csak hogy beleköpjek egy kicsit: Mi a programozás és a kódolás közötti különbség?
(számítógép kontextusban)
Egyébként itt egy wiki cikk:
https://en.wikipedia.org/wiki/Computer_programming
Ér szerkeszteni. -
Dr. Akula
félisten
válasz
#90088192 #66 üzenetére
Ez sem igaz, EPROM felprogramozásánál pl. fizikailag is megváltozik. De kezdem érteni hogy egyeseket az zavar össze hogy végleges vagy ideiglenes változást idéz-e elő, pedig ez lényegtelen ebből a szempontból. Az ideiglenes változtatást csak azért találták ki hogy spóroljunk a hardverrel, ne kelljen minden feladatra külön hardvert gyártani.
Ez pl. mennyire Turing teljes számítógép?
Aki anno megalkotta, az "felprogramozta" fogaskerekek beillesztésével, összekapcsolásával Hogy amikor megtekerik (vagy mit kellett vele csinálni), akkor a kívánt műveletet (a bolygók mozgásának mutatása) végrehajtsa.
-
Dr. Akula
félisten
"Nem valtoztatja meg, az ugyan ugy mukodik. Az allapotat valtoztatja meg."
Tehát azért nem változtatja meg, mert megváltoztatja? Csubakka védelem?
"az aramkor ugyan az marad, a mukodese ugyan az marad, csak az allapota valtozik meg, azaz hogy folyik-e rajta aram vagy nem."
Pont mint egy MOV AX,BX-nél.
"Csakhogy FPGA-ra nem ir semmilyen utasitassorozatot. Hardverleirast ir, utasitas nincs benne."
És a hardver beállítását mi végzi el, a jóisten? Hümmögésből kitalálja minek kéne történnie?
-
válasz
Dr. Akula #62 üzenetére
Ismét visszakanyarodnék oda, hogy hagyományos a Turing teljesség a programozás határa (ez egyrészt egy nem túl bonyolult feltételrendszer, másrészt meg ha ez áll, akkor az adott eszközön bármilyen algoritmust le lehet futtatni). Ha egy eszköznél ez megvan, akkor ott lehet szó programozásról, ha nincs, akkor nem.
Az FPGA konfigurációnál ez nincs meg, például a klasszikus megállási probléma (miszerint általánosságban eldönthetetlen, hogy egy adott program megáll vagy végtelen ideig fut) nyilvánvalóan nem létezik, hiszen a konfigurációs file véges nagyságú, ha azt bevési az ember az FPGA-ra, akkor vége is van, nem tud végtelen hosszú ideig tartani.
-
Reggie0
félisten
válasz
Dr. Akula #59 üzenetére
Nem valtoztatja meg, az ugyan ugy mukodik. Az allapotat valtoztatja meg.
Peldaul az sem programozas, ha a fenyerzekelo diodat letakarod vagy belevilagitasz, az aramkor ugyan az marad, a mukodese ugyan az marad, csak az allapota valtozik meg, azaz hogy folyik-e rajta aram vagy nem.
(#60) Dr. Akula: Csakhogy FPGA-ra nem ir semmilyen utasitassorozatot. Hardverleirast ir, utasitas nincs benne.
(#61) dabadab: Igen, az SSD irasa programozas, mert programozza a FLASH chipeket. De ez a chip tartalmanak beirasat jelenti, nem programkod irasat. Ketjelentesu szo, de egyik jelentesebol nem kovetkezik a masik.
-
Dr. Akula
félisten
Valójában az. Először azt akartam írni hogy csak akkor ha az a file vezérel valamit, de végül is egy sima .jpg is vezérlőkód egy Irfanview számára, a .doc meg a Wordnek, szóval nem kell külön részletezni. És mint tudjuk, a legegyszerűbb gép a faék, nem a Terminator, tehát a programozás sem a Java fordítónál kezdődik.
-
Dr. Akula
félisten
"FPGA esetében írsz egy utasítás sorozatot ami megmondja hogy "az adott vezetékek hova csatlakozzanak" ergo kialakítod az "új hardvered"."
Ezt hívják programozásnak.
"Ellenben ha írok egy programot - lényegtelen milyen programozási nyelvben- a végeredmény mindig gépi kód lesz amit az áramkör hajt végre."
Mikor az egész számítástechnika elindult, a lyukkártyát az automatizált szövőszékből vették át. CPU meg Java nélkül is tökéletesen tudott programot futtatni, fosta ki magából a szőnyeget, farmert, ahogy kell. Vagy a verkli, amit csak tekerni kellett kurblival és a belehelyezett lyukkártya alapján lejátszott egy zeneszámot.
-
Dr. Akula
félisten
Az áramkört nem hívtam programnak. Az áramkör működésének megszabását, módosítását viszont igen. Ezt csinálja egy C++ vagy Java kód is. MEgváltoztatja a CPU, RAM, HDD, stb. működését. Meg lehetne csinálni a Red Dead Redemption 2-t is pusztán hardverből is (mint egy flippert), de nem lenne olcsó, meg környezetbarát se (mivel másra nem jó, megunás után repülhet a kukába). De az elvi lehetősége fennáll. A gyakorlati meg egy általánosabb hardver programozása. A programozás nem azért született mert anélkül nem lehet élni.
-
F4ther
tag
#kisfurko - köszi a linket
#Reggie0
Mi anno xilinx spartan developement board-al szórakoztunk, és ezek ugye 10e ft felett indultak, ez diákként drága volt- és azóta / jelenleg nem foglalkozok FPGA-val.
Diákkedvezményem sincs már egy ideje sajnosDe tény, azóta, pedig csak pár évről van szó, sokat változott az FPGA piac, és a közösségi projektek. Talán majd egyszer vissza térek rá, de jelenleg is van 2 futó hobby projektem amit jó lenne folytatni, de az a fránya munka ... ha egész nap melóhelyen van az ember, nem sok másra jut idő
-
Reggie0
félisten
Hat, mar annyira nem is draga moka. Pl. Acorn CLE 215-ot most szortak ki riser kartyastul $65-ert. Mar csak egy jtag programozo kell hozza es az ingyenes xilinx vivado webpack elegendo hozza. Kezdonek egyeduli szivas, hogy csak pcie interfesszel tud kommunikalni a kulvilag fele, azt meg nem lehet csettintesre feleleszteni, bar a xillybusz bugjait megszokva azert gyorsan meg lehet ugrani es sajnos support sincs hozza. ztex 1.15y panelt meg 100 dollar alatt kapsz hasznaltan kez alatt, usbn radugod, szinten ingyenes webpack a gyarto oldalan meg ott van egy rakat example project es van egyszerubb usb interfesz. Raadasul ahhoz meg programozo sem kell. No meg azon 4db fpga van. Mondjuk ebbol meg en is tudok adni ha erdekel. Ha valtozatos interfeszek vagy i/o pin breakout kell, akkor mar kicsit dragabb lesz, de compute celokra az elozoek tokeletesek.
Diakkent kedvezmennyel digilend boardokat tudsz venni, azok is megerik.
Ha ARM magot is szeretnel, akkor egy Zturn Light 70 dollar. -
F4ther
tag
-
Tetsuo
őstag
válasz
J.J. András #38 üzenetére
Ez a példa is mutatja a demokrácia elvi működésképtelenségét.
-
icp1970
senior tag
Érdekes volt.Köszi.
-
Reggie0
félisten
Azert ez eros tulzas, bar a katonai/urtechnologiai szektor valoban jelentos, de egyaltalan nem tulsulyos, foleg manapsag. Telekommunikacioban hasznaltak eddig is a legtobbet, mert tomeges vonalvegzodtetesre, kapcsolasra, stb. kivaloan alkalmas, ezen felul sokkal jobb, mint az ASIC, mert ha barmilyen bug van a dizajnban, akkor lehet frissiteni. A halozati eszkozok teli vannak fpgaval, lasd Ericsson, Huawei backbone, backhaul, longhaul eszkozok (ezekben minden 3U/6U kartya vagy radios egyseg panelja egyenkent nagyjabol 1-10 fpgat tartalmaz).
Informatikaba pedig az elmult par evben kezd rohamosan betorni, amiota ertelmes meretekben lehet kapni, mert az 5-10 evvel ezelotti szeriak elegge szukosek voltak compute celokra, addig leginkabb egyedi PCI es PCIe eszkozok interfeszelesere volt igazan alkalmas.
-
Reggie0
félisten
válasz
J.J. András #40 üzenetére
Ok, az egyik felhasznaloi igenyek, a masik pedig az alapfogalmak es mukodes elmelete.Az, hogy sokszor a fejlesztok a felhasznaloi igenyeket nem tudjak jol felmerni es kiertekelni, teljesen egyetertek, de mas dolog.
-
Én nem ragaszkodnék a Turing-teljességhez. Ami fontos, hogy kell egy állapottér, ami pl. egy kombinációs hálózatnál nincs. Egyik állapotból a másikba "viszi" a program.
Egy FPGA pedig tud sima kombinációs hálózatként is müködni. Olyankor semmiképpen sem futtat programot.
Szerintem a programozás kifejezés mindkét helyen helytálló, hiszen a sok-sok konfiguráció közül beprogramozod a szükségeset. Tehát, amikor szoftvert írsz, akkor is egy megfelelö kombinációt választasz ki az összes közül.
Még jó, hogy manapság már nem gyakori az önmódosító kód, mert akkor azon is lehetne vitatkozni...Szerk:
Azt még hozzátenném, hogy sokan rosszul gondolják, és utasítássorozatnak tekintik a HDL-ben egymás után leírt dolgokat, holott pont az a lényege, hogy semmilyen sorrendiség nem áll fenn, azt más módon kell kifejezni. Pont ezért harap bárki a program kifejezésre ebben a kontextusban, aki foglalkozott már FPGA-kkal. -
F4ther
tag
Érdekes diszkurzus jött itt létre
Feltételezem hogy az itt vitatkozó szakemberek, szoftverfejlesztők, programozókÉn nem vagyok programozó, de mi hardver közeli programozásnak hívtuk.
De hogy említsem az FPGA-t azoknak akiket érdekel, konyhanyelven:
A felhasználási területe ipari célú, többek között: Katonai, gyártástechnológiai, állami. Legfőbb területeket kiemelném: Rakéta vezérlő rendszerek, műholdak, lidar kép feldolgozó rendszer (Pl önjáró katonai drónok, vagy az önjáró gépjárművek adatfeldolgozó központjai FPGA csipekre épülnek), radarok.. stb. A lényeg, hogy olyan területeken alkalmazzák, ahol szükséges nagyon gyorsan, nagymennyiségű adat feldolgozása - mint pl a képfelismerő rendszerek is ilyenek.
Ezt az FPGA úgy teszi lehetővé, hogy a processzor architektúra nem fix, hanem a logikai áramkörök kapcsolatait alakítják ki a processzoron belül. Így valós párhuzamos adatfeldolgozásra lesz képes, amire például a hagyományos processzorok nem. Ezáltal nagyságrendekkel lehet gyorsabb bizonyos célfeladatok elvégzése. Persze ez nem a teljes és pontos kép, ennél az FPGA sokkal érdekesebb
Akit érdekel a téma, nyugodtan elindulhat ebbe az irányba, nagy jövő áll még az FPGA előtt az automatizáció és az önjáró gépezetek egyre jobban előtérbe kerülése által.
-
dokanin
aktív tag
Ebből a kis csevejből egész jó kép alakult ki bennem, mi is lehet az az FPGA. Eltekintve attól, hogyan nevezitek az életre keltését.
Köszi. -
Hiftu
senior tag
Úgy vélem világnézeti különbségeken vitáztok. Mivel más hitrendszerben gondolkodtok, ezért nem fogjátok egymást meggyőzni. Vallásháborúk elég sok dolog miatt indultak már el. Hagyjuk ki belőle a nagy FPGA értelmezési világháborút. (Terminátor 13 témája egyébként.)
-
haxiboy
veterán
válasz
J.J. András #38 üzenetére
Én mint szoftverfejlesztő Reggie0-vel értek egyet.
Azért mert programozásnak hívják attól még nem lesz az...inkább rendszer tervezés.
FPGA esetében írsz egy utasítás sorozatot ami megmondja hogy "az adott vezetékek hova csatlakozzanak" ergo kialakítod az "új hardvered". Ami ott létrejön akár nand kapukkal (vagy akár tranzisztorokkal) is összerakható, nyilván kevésbé költséghatékonyan.
Nagy vonalakban ha építek egy astabil multivibrátor-t ami bár nem tartalmaz kapukat nagy vonalakban megmutatja hogy ez mégsem programozás.
Ellenben ha írok egy programot - lényegtelen milyen programozási nyelvben- a végeredmény mindig gépi kód lesz amit az áramkör hajt végre.
A digtech könyveimben is mindenhol konfigurálásnak hívják.
Valamikor a 60-as években már volt szó újrakonfigurálható számítás elvről, aminek mai megvalósítása az FPGA.(#44) Colomb: Inkább úgy nézném a dolgot hogy a bevásárlás maga a program (a bevásárló lista csak paraméterek), a bolt pedig a hardver ami nélkül nem tudnád a bevásárlást sem megcsinálni.
A bolt megtervezése...na az konfigurálás (tervezés). -
Colomb
tag
Nyelveszeti szempontól szerintem az egy program, hogy elmegyünk a boltba.
A bevásárló lista összeállítása talán programozásnak nevezhető. Amit utanna "lefuttatunk". De a fogós ravasz kérdés, hogy a bevásárlás és annak megtervezése az egy program vagy inkabb konfigurálás...
-
iqkacsa
csendes tag
Szerintem nem arról vitatkozznk, hogy mit csinál egy FPGA, hanem hogy fogalmilag mit értünk "programozás" és "program futtatása" alatt.
Részemről nem tudom ezek pontos definícióját, de ha a program futtatása alatt utasítások szekvenciális végrehajtását értjük, akkor olyat az FPGA tényleg nem csinál (ha csak nincs benne egy soft- vagy hardcore processzor, mint már azt említettétek). Viszont nekem sokkal kézenfekvőbb azt mondani, hogy "programot futtat", mint hogy "konfiguráció alapján algoritmust implementál", mert abban egyetértünk, hogy az FPGA lényeges része a konfigurálhatóság, és szerintem, ha csak összehuzalozol két lábat, az is nevezhető algoritmusnak (mégha elég primitív is).
-
#90088192
törölt tag
Hello
Talán úgy érdemes elképzelni mint egy huzalozott analog Számítógépet(WPLC).
Vagyis Te megmondod hova menjenek a vezetékek.
Vagyis felkonfigurálod egy adott feladatra.
De a nap végen egy analog/digitalis Logikai hálózat, ami módosítható, de NEM üzem közben.
Mig a processzor amikor programot futtat maga a program szabadon változtatható(Akar a BIOS is) de a Processzor Architektúrája mar nem változtatható.
Az FPGA eseten magát a hardvert változtatod meg a konfigurálás során.
(onnan tudom, mert az inverterünket egy FPGA hajtja, külön van egy PIC ami kommunikál az FPGA-val, es a megfelelő bementeken folyamatosan változtatja a bemenő szinteken, hogy az FPGA azt csinálja amit szeretnénk, vagyis a PIC-et programozzuk, ami majd előállítja a megfelelő bemenetet az FPGA szamara ami abból kisakkozza, mit is kell csinálni a kimeneten, vagyis a referenciák programozása amit a PIC csinál, es a villámgyors FPGA a referenciák fényében tudja változtatni a kimenetet hiszen 20kHz a kapcsolási frekvencia az IGBT-hez(Legalabb 2-2 van párba), nincs idő rá míg a PIC kiszámolja ami szükséges egy egy kapcsoláshoz.) -
#95904256
törölt tag
válasz
J.J. András #38 üzenetére
Én megváltoztattam a véleményem.
Bár mindenki programozásnak hívja az FPGA programozását, ez téves.
Lehet és érdemes különbséget tenni konfigurálás és programozás közt.
A konfigurálás vagy paraméterezés a működéshez szükséges adatok beállítását jelenti, míg a program lépésről lépésre hajtódik végre. Az előbbi a működés során egy egyszeri dolgot takar, míg az utóbbi egy folyamatos valami.
De ettől még a főlégy természetesen tudhatja rosszul tudja a szakmáját.
-
J.J. András
őstag
cuki vagy ciki ...
de ez van...
( nem akarlak bántani , meg okoskodni, de egyet tudok, ... Aki teljesen bent van a szakmában néha nem látja a fától az erdőt. Példa: kb. 14 éve leírtam hogy szerintem miért fos és bántja a szemem az akkori LCD (hódító) technológia.... Minden "odaértő" okos szakmabeli lehülyézett, még a kedves PH rendszergazdák bannoltak is pár hétre.... Mire eljött 2019, és lehet kapni nagy dinamikatartományú 240Hz-es lcd kijelzőket végre.... Akkor is elmondtam, hogyan látom, de senki nem bírta megérteni, hogy azok nagyon helytálló és okos gondolatok.... De érdekes módon a gyártók az általam felvázolt útra léptek. Lcd vs. Crt !! Na most ugyanazt látom: Nekem ez célhardwer, amibe betölthetek általam írt bármilyen utasítás sort, és azt végrehajtja, ergo felprogramoztam azt a fránya FPGA-t )
szóval ez anno 1990-es évek dereka után nemcsak "szakmai" vitafórumnak indult, így még mindig le merem írni a véleményem a szakma krémje számára .... Ha megegeded : -
Reggie0
félisten
válasz
J.J. András #38 üzenetére
Ja, 100 millio legy nem teved
De cuki amikor a laikusok megmagyarazzak, hogy rosszul tudod a szakmad
-
Reggie0
félisten
Egy negyed ekkora FPGA-ra olyan 6-10 ora a forditasi ido also hangon, de akar napokig tarthat es baromi sok munka megirni is. FPGA hiresen rossz a fejlesztesi ido szempontjabol, pont ezert erolkodnek az OpenCL->FPGA forditassal(lasd SDAccel xilinxnel). Ha meg egy processzort implementalsz benne(vagy igazabol barmit) az egy ASIC(aka CPU)-nal sokkal lassabb lesz es tobbet is fogyaszt. Tehat altalanos celu aramkort nem igazan eri meg beletolteni, specializalni kell a feladatra. Ugy viszont joval hatekonyabb egy GPU vagy CPU megoldasnal, olykor joval gyorsabb is.
Amugy hozzaferheto regota, AWS-ben lehet berelni FPGA kartyas gepet, de azokban limitalva van az elektromos teljesitmeny, amit neked kell tudni betartani, kulonben kivagnak, szoval maxra nem tudod kijaratni a kartyat, csak olyan 20-25%-ra, de meg igy is elonyosebb egy procinal, ha jol optimalizaljak a dizajnt.
A masik problema az arazas, kis tetelben nagyon pofatlan szorzokkal dolgoznak, saccra 28x-40x-es ar az 1000db-os tetelhez kepest.
-
Reggie0
félisten
válasz
#95904256 #27 üzenetére
A programozhato a memoriara vonatkozik meg mindig. Ahogy a FLASH is programozhato a PROM is programozhato az EPROM is programozhato. De ez nem azt jelenti, hogy program van benne.
A program definicio szerint utasitasok sorozatabol all. Az FPGA-ba nincsenek utasitasok, csak logikai aramkor(ok).
A programozas ket dolgot jelent:
1. Programkodot irni.
2. Valaminek a tartalmat beallitani.De semmiesetre sem azt, hogy valamibe programot tolteni, az csak a 2. specialis esete.
(#32) Dr. Akula: Az, hogy leirom mit mivel kell osszekotni meg nem program. Ezzel az erovel barmilyen aramkort programnak hivhatnal.
-
Dr. Akula
félisten
"Semmilyen végrehajtásról nem beszélhetünk azon kívül, hogy a bitstreamben tárolt konfigurációt magára húzta az fpga."
Pedig már az maga egy program végrehajtás. A felprogramozott hardvernek meg miért kéne tudnia magának is szoftvert futtatnia? Még a végén kiderül hogy oprendszere sincs, tehát előbb azt is írni kell rá hogy majd aztán azon belül is lehessen futtatni egy programot, és csak akkor válik programmá, addig nem.
-
#95904256
törölt tag
Oké, hívjuk konfigurálásnak és nem programozásnak.
De csak azért, hogy konzekvens maradjak az alábbi mondáshoz:
Minden program tartalmaz legalább egy változót, egy ciklust és egy hibát.
Ebben az esetben a program csak dinamikus végrehajtású lehet, így az FPGA nem programozható, csak konfigurálható.Jó éjt!
-
CPT.Pirk
Jómunkásember
válasz
#95904256 #29 üzenetére
Nem tudom végrehajtásnak hívni azt, ami programozás után történik.
Az órajelhez kötés egy hardveres adottság itt, mert az fpga belsejének nagy többsége órajel szinkronban működik. Bitstream feltöltés után a konfigurált kapu mátrix egyszerűen elkezd működni az órajelnek megfelelően.
Ha a bitstream leír egy egyszerű in -> out összekötést két pin között, akkor csak létrejön az ennek megfelelő digitális áramkör a mátrix konfigurációjával, majd szépen elkezd dolgozni az az áramkör az órajelnek megfelelően. Semmilyen végrehajtásról nem beszélhetünk azon kívül, hogy a bitstreamben tárolt konfigurációt magára húzta az fpga. De az konfiguráció, nem program.
-
#95904256
törölt tag
Értem én, hogy mit mondasz, de nem értek vele egyet.
Te mindenáron csak egy bizonyos fajta programozást nevezel programozásnak. Amit megszoktál a normál processzorokban.
Én meg minden olyan szoftvert programnak hívok amit a hardver végrehajt.
Nem látom szükségszerűségét, hogy órajelhez legyen kötve a végrehajtás. -
CPT.Pirk
Jómunkásember
válasz
#95904256 #27 üzenetére
De nézd hozzá a GA betűk jelentését is. Gate Array, azaz kapu tömb, programozható kapu mátrix.
Egy programkód futtatásához parancsértelmező kell amit egy normál processzorban megtalálsz, miközben itt egy nagy halom alap logikai elem dolgozik órajel alapján, egymással a bitstream által konfigurált kapcsolatban. -
#95904256
törölt tag
Közelítsük meg másképp. Mi az a program?
Szerintem a program egy olyan szellemi termék ami módosítható és egy hardver működését be tudod folyásolni vele. Ezzel pont az csinálod.Közelítsük meg másképp. Mit jelent a P az FPGA nevében?
Azt, hogy programozható. Ha már így alakult, akkor hívjuk is programnak.Persze ha átneveztetitek FCGA-ra...
A program meg nem más, mint amivel leírod a hardvernek, hogy mit csináljon.
Tehát az általad említett konfiguráció meg a program ebben az esetben megfelelnek egymásnak. Hiába erőlteted, hogy két külön dolog... -
Reggie0
félisten
válasz
#95904256 #24 üzenetére
Az konfiguracio, nem program. A nyelvek sem programnyelvek, hanem leiro nyelvek lasd: VHDL (VHSIC-HDL) (Very High Speed Integrated Circuit Hardware Description Language)
Az FPGA-ban a programozas annyit jelent, hogy a konfiguraciot tartalmazo memoria helyben atirhato mikor az aramkorben a helyen van az IC. Last EPROM, EEPROM, stb.. Abban is bitfolyam van, megsem program, de programozhatoak. Szemben pl. a maszk programozhato Gate Arrayel, amit a gyarban programoznak a megfelelo femezesi retegek letrehozasaval (lasd pl. hardcopy).
-
#95904256
törölt tag
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
Amugy jo ez a nagy fpga, csak egy kinszenvedes lehuteni azt a 750...1000W-ot amit ki lehetne sajtolni belole.
-
Dr. Akula
félisten
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.
-
JColee
őstag
válasz
#95904256 #12 üzenetére
"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
).
-
CPT.Pirk
Jómunkásember
válasz
#95904256 #12 üzenetére
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.
-
#95904256
törölt tag
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?
-
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.)
-
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. -
#95904256
törölt tag
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.
-
CPT.Pirk
Jómunkásember
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.
-
#95904256
törölt tag
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 -
AAAgold
senior tag
noobláma kérdés, de ez mire jó, mit számoltatnak vele?
Új hozzászólás Aktív témák
Hirdetés
- Telekom mobilszolgáltatások
- Jól néz ki a világoskék iPhone 17 Air
- Mini PC
- Magyarországra jött az ultravékony S25 Edge
- Nők, nőügyek (18+)
- Kormányok / autós szimulátorok topikja
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Battlefield 6
- Magga: PLEX: multimédia az egész lakásban
- Milyen okostelefont vegyek?
- További aktív témák...
- Eladó Konfig Ryzen 5 3600 16GB DDR4 256GB SSD+500GB SSD RX5700XT 8GB V2.0!
- Asus H310M-K,i7-8700K,16GB,RTX 2060(6GB),256SSD,500HDD
- Asus H97 Plus PC
- Eladó Konfig I5 9400F 16GB DDR4 512GB SSD RX5700XT 8GB Ver 2.0!
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7500 / GTX 1050Ti / 16GB DDR4 / 128SSD+1TB HDD
- Szép állapotban levő Apple iPhone 12 Pro Max 128GB / 12 hó jótállás
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- GYÖNYÖRŰ iPhone 11 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2190, 100% Akkumulátor
- Bomba ár! HP Zbook 15 G5 - i7-8750H I 32GB I 512SSD I Nvidia P2000 4GB I FHD I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: FOTC
Város: Budapest