Pitanje:
Obrtanje FPGA kruga
Igor Skochinsky
2013-03-20 22:27:35 UTC
view on stackexchange narkive permalink

Pretpostavimo da imam uređaj s FPGA-om i uspio sam izvući bitni tok iz njegove bljeskalice. Kako bih mogao oporaviti njegovo ponašanje?

Jedan je jednostavan slučaj ako implementira meki procesor - u tom bi slučaju negdje trebao postojati firmware za taj procesor, a ja to jednostavno mogu rastaviti. Ali što ako je to samo hrpa IP blokova i neka dodatna logika?

`" ako implementira meki procesor - u tom bi slučaju za to trebao postojati firmware "` .... ali meki procesor nije firmware (koji bi procesor pokrenuo taj firmware?) To je konfiguracija hardverskih elemenata na FPGA.
Mislio sam da bi meki procesor morao pokretati * neki * kôd i taj bi kôd morao biti negdje pohranjen (moguće u istom flash romu kao fpga bitstream)
Tri odgovori:
#1
+21
cb88
2013-03-20 22:56:53 UTC
view on stackexchange narkive permalink

Iako tvorci FPGA ne izbacuju samo svoje formate, postoji opsežna dokumentacija na niskoj razini. Xilinx uređaji su dobar primjer.

Da biste obrnuto inženjerirali bitni tok, mogli biste generirati test slučajeve koji implementiraju jednostavnu logiku i vidjeti kako se oni prevode u bitni tok, a zatim prijeći na dizajne koji izvršavaju različite dijelove čipa.

Na osnovnoj biste razini željeli znati kako se CLB-om upravlja preko IOB-a i međusobnih veza. CLB-ovi su logika da su IOB-ovi povezani na pinove i međusobno povezuju CLB-ove i IOB-ove. Ovaj dokument trebao bi vam dati puno uvida u to kako se implementiraju FPGA-ovi i kako se možete baviti obrnutim inženjeringom bitnih tokova. Imajte na umu da se noviji FPGA prelaze na 6 ulaza, a ne na 4 ulaza, kao što je bilo uobičajeno.

Samo imajte na umu da tok bitova nije softver - to je slika hardverske konfiguracije. Dakle, zapravo je vrlo slično onome kako je ENIAC morao biti programiran - preusmjeravanje krugova i okretanje prekidača za njegovo programiranje - osim što u ovom slučaju postavljate rute s međusobnim vezama i logikom u CLB-ovima.

Također tip iza Ben NanoNotea pišem fpga-lanac alata kojeg strastveno slijedim. Budući da je sekundarni moj hobi za prikupljanje SparcStation ponovno postavljanje sun4m, arhitekture SparcStation, u FPGA. Uostalom koji ne bi željeli moći konfigurirati FPGA iz FPGA-e s vlastitim dizajnom procesora.

Ažuriranje: Vrijedno je napomenuti da su IceStorm (uglavnom čipovi ice40) i NextPNR (višestruko usmjeren na ice40 / ECP5 / Xilinx Series 7) trenutačno su najmoderniji FPGA lanci alata.

čini se da fpga.pdf 404 može netko ponovno povezati
Nisam siguran kamo je krenuo ... Prilično sam siguran je li to bilo iz ESA 2009 FPGA radionice.
FYI: FPGA PDF veza je 404.
@JonathonReinhart Wayback stroj možda ima kopiju ... kaže da je stroj s kopijom trenutno trenutno u kvaru. https://web.archive.org/web/20120813074341/http://www2-c703.uibk.ac.at/teaching/ws2009/esa/fpga.pdf
#2
+1
bitsdanceforme
2014-01-31 01:36:15 UTC
view on stackexchange narkive permalink

Xilinx Virtex II imao je "otvoreni" bitstream, što znači da je format bitstreama dokumentiran i javan. Ljudi bi tada mogli manipulirati bitstreamom kako su smatrali potrebnim. Od tada je format zatvoren (IMO) kako bi se spriječilo da ljudi (1) PONOVO postanu uređaj, što je velika briga zbog nekih interesa, i (2) kako bi njihova tehnologija ostala tajna od konkurenata.

Novije tehnologije omogućuju šifriranje prijenosa bitova unutar lanca alata FPGA i interno dešifriranje prije programiranja FPGA. Dakle, morat ćete biti sigurni da je bitni tok koji ste uhvatili dešifriran prije nego što ga pokušate analizirati.

Također, realizacijom djelomične rekonfiguracije (putem Xilinxa), pokušaji RE-a postat će složeniji jer više ne možete sjediti i gledati ponašanje uređaja.

#3
+1
Ehsan
2019-03-23 12:37:10 UTC
view on stackexchange narkive permalink

RapidSmith to čini umjesto vas. http://rapidsmith.sourceforge.net/

Postoji i članak koji kao početnu točku možete pročitati: "Nedavni napredak u FPGA reverznom inženjerstvu" Hoyoung Yu, Hansol Lee, Sangil Lee, Youngmin Kim i Hyung-Min Lee



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...