- A hozzászóláshoz be kell jelentkezni
- 546 megtekintés
Hozzászólások
Egy FPGA önmagában képes szinte bármilyen ISA kártyát szimulálni (nem emulálni)... sőt akár egy egész gépet is. Nem kell ahhoz még egy Pi is.
- A hozzászóláshoz be kell jelentkezni
Ez valo igaz, de kell valami amivel a/ az FPGA-t programozod b/ ellatja az FPGA periferiainak a funkcionalitasat. Nem mondom hogy RPi-vel csinanam ha most ilyet kene csinalnom de vegsosoron teljesen jol ellathatja ezeket a feladatokat. Foleg ha demo/jatek/szabadido/proofofconcept dologrol van szo.
- A hozzászóláshoz be kell jelentkezni
ISA busz... 74LS374 és 74LS245 és néhány logikai kapu csodákra képes. Innentől jöhet a mögöttes funkcionális rész, mikrovezérlővel bármivel. Csináltunk annó rá kártyákat.
Abonyi prof az ISA buszt 3 évtizede itt szépen ledokumentálta: https://moly.hu/konyvek/abonyi-zsolt-pc-hardver-kezikonyv
Aztán jött a PCI, amit nehezebb volt megugrani és utána a PCIe. Utóbbit leginkább egy cél IC-s PCIe-PCI átalakító mentén lehet házilag megugrani. Szerencsére készen is kaphatóak ilyen átalakítók.
- A hozzászóláshoz be kell jelentkezni
Volt olyan, aki sikeresen épített PCI interfészt? Wow! Én mindig úgy tudtam, hogy valami dedikált "AMCC PCI Matchmaker" vagy hasonló PCI-GPIO adapterrel volt érdemes kezdeni (rengeteg gyári kártyán is ez volt a 90-es években). Vagy olyan FPGA-val, aminek alapból volt PCI-fele. Nem gondoltam volna, hogy valaki nekiáll from scratch összerakni...
A másik: ezek a PCIe-PCI bridge kártyák működnek olyan gépben is, amiben már egyáltalán nincs parallel PCI? Nincs olyan gond velük, hogy az alaplapi BIOS vagy UEFI firmware-ből hiányzik valami legacy támogatás?
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni
Az MT-32-t, SB AWE-t, GUS-t egyszerűbb volt a Pi-re bízni. Sima SB, Adlibra azért már van FPGA kód.
- A hozzászóláshoz be kell jelentkezni
Egyébként fordítottját csináltátok, mármint ISA buszos chipet mikrovezérlőre kötni?
Annó amikor még gyerekcipőben járt a mikrovezérlő és ethernet kapcsolata, akkor fogtunk egy ISA buszos ethernet kontroller IC-t és rákötöttük a mikrovezérlőre.
Ma már sokkal jobb lehetőségek vannak, ezért ma már nem szokás ISA-t emulálni.
- A hozzászóláshoz be kell jelentkezni
Még nem csináltam meg, de tervben van egy STM32 procis, de ISA buszos gép :) Sajnos az elcseszett x86 szeparált IO address space-t nem tudom mennyire kezelik jól a mai kontrollerek, annyira még nem ástam le. Tán azt elég lehet egy külön bankba tenni? Meg ugye még ott vannak a DMA-k is, azt is emulálni kell neki, már ha használja.
- A hozzászóláshoz be kell jelentkezni
Tényleg faék egyszerű az ISA busz. Csak addig félsz tőle amíg nem láttad közelről. Nézz rá: https://upload.wikimedia.org/wikipedia/commons/9/9f/ISA_Bus_pins.svg
Adatbuszból elég 8 bit, nem kell a kiegészítő csatin levő másik 8. A kártya egyetlen lába dönt, melyik módban megy a chip. Ha a láb lóg a levegőben, akkor az ellenállás 8 bit konfigra húzza.
Címbuszt szintén csak 12 bit mélységben implementáltuk PC-n. Saját egyetlen eszköznél pedig csak a regiszterszámig, a többi cím láb fixen lett le vagy felhúzva.
CLK - busz adja. Ha te vagy a busz, tetszőlegesen lelassíthatod.
IOR és IOW --> IO kártya adataival -- CPU in és out műveletei rángatják x86-nál.
MEMR és MEMW --> RAM címzésre -- CPU mov és a társai utasításai rángatják x86-nál.
A DMA kontroller implementálása nem szükséges, az csak a CPU-t tehermentesíti a RAM --> I/O és fordítva másoláskor. Sőt RAM-RAM másolást is támogat.
Volt hogy DMA kontrollert kellett egy projektben CPLD-ben implementálni. Lassú volt a 8 bites mikrovezérlő, ezért kellett hardvertámogatás mellé. De ez sem vészes, csak amíg nem gondolod át a szerepét.
- A hozzászóláshoz be kell jelentkezni