Šta je novo?

Moji akceleratori za Amiga 600 racunar

majsta

Slavan
Učlanjen(a)
10.11.2006
Poruke
600
Poena
320
Posto nisam primjetio da je iko ikada na ovim nasim Ex-Yu prostorima radio na projektovanju akceleratora za Amiga racunare(ispravite me ako grijesim) odlucio sam se za tako nesto. Bilo je doduse par nasih ljudi koji su radili na nekim projektima memorijskog prostirenja ali uglavnom su to bili projekti nasih ljudi u drugim drzavama. Iza mene je vec 6 mjeseci istrazivackog rada po ovom pitanju. Prvi akceleratori ce biti za Amigu 600, a kasnije cemo da vidimo. Osnovi cilj je kreiranje akceleratora koji bi mogao da odgovori nekim od savremenih standarda. Ali za pocetak cu se bazirati na tome da Amiga 600 postane potpuno upotrebljiva za koristenje internata, pustanje Mp3 muzike, a kasnije i video formata. Poslao sam gotovo 100 tinu mailova svim onima koji nesto znaju o MC68000 procesorima, Amiga i Atari svijetu i dobio podrsku od nekoliko njih koji su mi pomogli svaki put kad negdje zapnem. U principu cilj je da se dokaze da je moguce napraviti upotrebljiv akcelerator koji necemo placati 200 i vise eura. Licno mislim da su mnogi iskoristili Amiga ime da dodju do licne zarade iako je danas vecina komponenti lako dostupna i dosta jeftinija.
Za sada radim paralelno na tri akceleratora, hardvera jos nema ali radim simulacije, testiranje, kompajliranje i taj dio je gotov. Za neke akceleratore su djelimicno izradjene i seme.

1. Prvi akcelerator je baziran na MC68SEC000AA20 procesoru na 20Mhz, to je u sustini MC68000 koji radi na 20Mhz sa mogucnoscu overclocka do nevjerovatnih 56 Mhz. Ovde je freescale napravio propust i tako omogucio overclock. Logicke operacije ce obavljati GAL16V8, memorija je SRAM. Ovde usko grlo predstavlja memorije zbog svoje cijene i mogucnosti da uz iskoristivost PCMCIA slota dodam samo 5.5MB memorije. Ovaj akcelerator ce u kasnijoj fazi imati ugradjen citac CF kartica, ali i mogucnost pustanja MP3 muzike pomocu posebnog hardverskog sklopa. Do sada sam uradio sematski dio, logicki dio je prilicno uradjen.

2. Drugi Akcelerator ce biti baziran na Coldfire V3 ili V4 procesoru koji ce emulirati MC68000 instrukcije koje nedostaju pomocu CF68KLib. Ono sto je ovde problem, kako mi rekose, da cak ni CF68KLib ne moze u potpunosti da emulira sve instrukcije koje nedostaju, ali i neke instrukcije coldfire serije koje se ponasaju potpuno drugacije nego na MC68000 iako iste postoje na MC68000. Poslije jako puno testiranja konacno sam ubacio Assembler u Coldfire Codewarrior softver, medjutim imao sam jako puno problema sa kompajliranjem ali sam nekako uspio poslije sigurno 5 dana da kompajliram kod kojeg je Coldfire prihvatio. Ovde postoje i veliki problemi sa kodom tako da ne mogu nikako da ga ubacim u Crossware Coldfire emulator tako da ne mogu da testiram sta se u stvari desava sa Coldfire procesorom. Medjutim sema za izradu ovog akceleratora je veoma komplikovana upravo zbog rjesavanja tih problema sa instrukcijama pa cu ovaj akcelerator raditi posljednji.

3. Treci akcelerator je u stvari FPGA akcelerator baziran na Altera Cyclone II ili III verziji. TG68 kod ce biti koristen u emulaciji MC68000 procesora, i po mnogima je ovo bolje rjesenje nego coldfire arhitektura, mogu se postici vece brzine, kompatibilnost nije problem, a i limit memorije je 4GB ! Testiranje sam poceo prije nekih mjesec dana i sva testiranja su uspjesno zavrsena. TG68 i SDRAM kontroler su uspjesno integrisani u Altera Cyclone II i procesor ce biti formiran sa 77 pinova koji ce se koristiti. Testiranje i kompajliranje je izvrseno u Altera Quartus II softveru. FPGA procesori danas idu i preko 400Mhz, tako da mislim da bi realna snaga ovog emuliranog MC68000 procesora maksimalno dostigla 100Mhz, i uz recimo 512Mb rama A600 bi postala dovoljna za Surfanje, pa mozda cak i MP3. Kasnija faza bi bila vezana za integraciju DDR memorije cime bi se citav sistem jos dodato ubrzao.

Eto toliko za sad, jako puno posla je uradjeno, ali dosta jos predstoji, ali sam spreman da dokazem da je ovo moguce uraditi, jer svi moji testovi kazu da je ovo izvodljivo.
 
Poslednja izmena:
Svaka cast majsta nalazio sam na par amiga foruma tvoje postove.Koliko ja vidim najisplativije je verovatno raditi fpga acelerator zbog ocekivanog napretka fpga cipova tako da ce se recimo "prostom" zamenom fpga cipa kompatibilnim novijim modelom. Stavio sam navodnike buduci da kompatibilnost moze biti upitna po mnogo pitanja poput radnih napona,rasporeda pinova tipa kucista itd..
Samo napred majsta
 
Hvala, uporan sam, svaki dan ganjam ljude, preko web.archive prelistavam sajtove iz devedesetih pa ulazim u trag svim koji su nekad nesto radili na Amiga racunarima :) Uglavnom ubi ih nostalgija, iako sada rade za velike firme i imaju milione.

Pazi, kod FPGA mogu da postignem mnogo bolje rezultate nego sa Coldfire, zvuci nevjerovatno ali to mi je potvrdio i jedan inzinjer iz Rusije sa kojim sam u kontaktu. Sto se tice napona, rasporeda pinova i sl. Voltaze je najlakse srediti, a pinove u FPGA dizajnu je moguce konfigurisati, tako da se skoro u potpunosti poklapaju sa MC68000 procesorom, ostaju samo pinovi vezani za SDRAM ili DDRAM kontoler. U principu ovo bi bio dosta jednostavan dizajn PCB-a. Sto se tice kompatibilnosti cipa, nema potrebe da se cip mjenja bitna je samo optimizacija koda, kojom bi se dobilo jos bolje ubrzanje. Jer ako imamo FPGA na recimo 403 Mhz tu uvijek ostaje prostor da se dobiju bolje performanse na osnovu optimizacije koda. Poenta price je da je moguce napraviti da ljudi sa interneta povremeno skidaju nove optimizacije MC68K koda koje ce ubaciti u akcelerator cime ce dobiti bolje performanse. Ovo je moguce uraditi ali ne bi moglo da se uradi direktno sa Amige, bilo bi potrebno da se kartica spoji na PC i da se ubaci novi sistem (MC68k kod i memorijski kontroler).
 
Poslednja izmena:
Ma ok znam da je fpga rekofigurabilan sto se tice pinova ,dobro de nebas svih ali ok.Krajnje je nebitna njegova pin kompatibilnost s mc68k posto ces to ionako rutirati na pcb-u vise sam misio na pin kompatibilnost tog fpga na 400mhz i nekog buduceg na npr 600 ili 800 mhz i na ovaj napredak sam i mislio kada sam pomenuo nove nadolazece fpga cipove.
Koliko sam se ja nesto malo interesovao i pratio fpga emulacija ne ide kako kod klasicnih emulatora.Npr na pentium cpu od 200mhz uspes da emuliras 30-40mhz neku motrolu nego se emulacija obavlja hardverskim sklopovima cime se emulira sam cpu a ne emuliranje njegovih rezultata odnosno tg68 je vise fizicki emulator mc68k procesora naspram softverskih u winuae pa je i emulator radi prividno ,odnosno stvarno brze.Fakat toga je naprimer ono sto radi natami tim s svojim prototipom 68050 procesora.
 
Upravo tako. Natami tim zeli da izbjegne ono sto je na posljetku i zadesilo Amigu, a to je da postane ovisna o procesoru koji ce neko drugi proizvoditi, pa kad taj odustane od proizvodnje ili unapredjenja procesora propada i onaj ko ih je i koristio. Znamo i da kad se na Amiga racunarima emulirao x86 da je to u stvari islo sa prosirenjima koja su u stvari imali x86 procesor. Ja licno mislim da je FPGA buducnost, dakle jako puno je napredovala. Upravo zbog toga sto na pocetku nemas nista ali dodavanjem "modula" mozes da dobijes sta zelis.
 
Svaka cast za ovo. Pozdravljam ovaj projekat. Ovo je dokaz da ima jos entuzijasta koji su tehnicki potkovani da odrzavaju Amigu u zivotu na bilo koji nacin.
 
Šta reći, nego svaka čast. :Klanjanje
Možda za početak ne bi bilo loše krenuti od projekta 1, a projekat 3 ostaviti za kasnije, dok dovoljno ne pojeftine fpga. projekat 2 mi se čini da nikad ne bi mogao dostići 100% kompatibilnost, ili možda bi i mogao ali uz puno izgubljenog vremena i truda... što bi bilo potpuno suludo ako već postoji projekat 3 koji ima mnogo bolju budućnost.
 
Da, ovaj projekat 1 je veoma izvjesan, medjutim necete vjerovati ali izrada, bar sto se tice ovog finansijskog dijela me vuce ka projektu 3. FPGA akcelerator bi bio jeftiniji za izradu i to zbog mogucnosti da nadjem SDRAM ili DDRAM na svakom cosku, dok bi za projekat 1 morao da rupujem SRAM koji je tesko naci,a i veoma je skup. Recimo poredjenja radi, 1MB SRAM memorije i to 512KX16 kosta oko 11 Eura, a za te pare modu da kupim 1GB DDR memorije :) Sto se tice MC68SEC000AA20 iz prvog projekta njegova cijena je oko 17 eura, dok je cijena Altera Cyclone II procesora oko 15 eura :) A sa ovim drugim imam mogucnost memorije do cak 4GB i performanse su nesto bolje nego na MC68SEC000AA20.
 
Nisam bas u toku na kojim naponima radi altera cyclone II,odnosno dali je tolerantna na napone od 5v na kojima inace rade vecina 68k cpu-a u amigama.
Na amigi su emulatori pc-a uspevali da izvuku do 4-5 mhz,zavisno koji je cpu u amigi, i rad je bio pretezno moguc samo u dos os-u to su softverski emulatori s druge strane ono sto majsta pominje su hardverski dodaci koji imaju na sebi neki od intel procesora.
U danasnje vreme bi recimo dodatak takvog hardvera koji na sebi ima fpga resio vise stvari odjednom Turbo karticu s dovoljno rama i brzim ide(sata) kontrolerom inace nas san snova.Ujedno bi izmenom "sftvera" u fpga mogao da radi kao pc emulator mada kome normalnom danas to treba :D

Btw majsta koji si tacno model cyclonea gledao posto mora da ima dovoljno mesta da stane tg68 core u njega visak se moze iskoristiti za razne pogodnosti ide,sata,usb mozda pci. Za ovo poslednje nisam bas siguran dali je izvesno ali bi omogucilo da se iskoristi neka voodo kartica na amigi :wow
 
Poslednja izmena:
Ovako, za sada sam uspio da "uguram" TG68 i SDRAM kontroler u EP2C5T144 seriju i tu vise nista ne moze da stane, sad trenutno radim na uvezivanju kontrolera i TG68 koda. Medjutim, upotrebom drugih modela moglo bi da stane i to sto predlazes. U principu ako bi ovo proradilo dalje granica nema, da li Sata kontroler ili PCI. Sad bas gledam na stolu gomilu S3 trio kartica i gledam ove cipove, pa sasvim bi dovoljno bilo uvezati S3trio 64v cip za brze koristenje interneta? Sto se ti ce PC emulacije, vjeruj mi da sam ovo sve i poceo da radim kako bi totalno zaboravio x86 seriju jel mi je stvarno dosta trzisnog monopola u svijetu.

@highlanderfx82 Sto se tice cijena, sve zavisi sta cu uspjeti da napravim i konacnih rezultata testova, kompatibilnosti

U cekanju potrebne opreme radim jos nesto.
Vec par dana pokusavam Agnus-a da natjeram da radi sa mnogo brzim memorijama i to 512k X 16 edo page mode memorijama. Da bi vidjeli koji je pakao u pitanju evo slike.



Problem se javlja u RAS (row address strobe) posto se za postojeca 2 cipa koristi po jedan po principu 256kX16 page mode dram na RAS0, a drugi cip na RAS1. Kod memorijskog prosirenja se takodje koristi po istom principu, pa logika stvari kaze ako je to paralelna veza onda na RAS0 moze ici bez problema 512KX16 cip, a na RAS1 isti takav. Kod LCAS i UCAS pina standardna memorija na ploci koristi LCAS0 i UCAS0, dakle i ovde bi teoretski umjesto 2 256kx16 mogao jedan 512kx16, dok mem prosirenje koristi LCAS1 i UCAS1, pa bi i ovde umjesto 2 cipa mogao jedan. Takodje i WE (Write enable) normalno je zajednicki. OE ili output enable normalno ide na masu. Ovim bi se sa 2 cipa dobilo 2MB, umjesto dosadasnjih 4 cipa.
 
Poslednja izmena:
Wau iznutrice,obozavam iznutrice iz racunara :p
Ma ono sam lupio za x86 koj ce to nekome samo sam naveo primer mogucnosti koriscenja.
Nebih da me shvatis da ti pridikujem ali savetujem da vidis kako ti se finansijski uklapa prvi veci fpga. Ovo ne samo da bi ti ostalo mesta za stvari koje sam naveo u obliku usb,pci,ddr i sdram i sata kontrolera nego i zbog moguce zamene tg68 corea nekim novim u buducnosti koji ce doneti neki novitet kompatibilnost 020 emulacije ili slicno_Ostaviti mesta da ima za rezervu bi bilo vise nego lepo a uvek se moze naci nacin za potrositi isto.
Natami tim je caki i grafiku utrpao u fpga ogranicenja jednostavno kao da nema sem velicine fpga koji se koristi.
Videcu kad budem imao malo vremena da provucim tu alteru EP2C5T144
 
Poslednja izmena:
Da, ovaj projekat 1 je veoma izvjesan, medjutim necete vjerovati ali izrada, bar sto se tice ovog finansijskog dijela me vuce ka projektu 3. FPGA akcelerator bi bio jeftiniji za izradu i to zbog mogucnosti da nadjem SDRAM ili DDRAM na svakom cosku, dok bi za projekat 1 morao da rupujem SRAM koji je tesko naci,a i veoma je skup. Recimo poredjenja radi, 1MB SRAM memorije i to 512KX16 kosta oko 11 Eura

Ima i jeftinije. :)
npr. za 2.80 ovde
 
Ne moze taj to je 512Kx8 sto pomnozeno daje 4096 Kb sto podjeljeno sa 8 daje 512KB, dakle trebala bi masa cipova da se dobije nesto vise, a samim tim i kompikovaniji PCB.
 
8 čipova za 4mb fast ram. I tako ne može više na a600, ako se želi koristiti pcmcia port.
Mislim da je sasvim ok varijanta.
 
Moze se izvuci i 5,5 MB uz upotrebu PCMCIA. Pazi, u pravu si ti da 8 cipova nije puno, medjutim prilikom izrade prototipa, jako je tesko napraviti PCB za 8 SRAM cipova. Ovo naravno nije problem kada PCB izradjuje neka specijalizovana firma. Ja cu za izradu prototipa morati ici cak sa jednim cipom.
 
zašto da se mučiš... iskoristi neku kinesku firmu koja pravi pcb prema šemi koju im pošalješ... i nije skupo.
nešto tipa www.pcbcart.com
 
Sto se tice FPGA akceleratora ispostavilo se da ce problem biti razlike u I/O pinovima na Altera Cyclone II sa onima na Amiga ploci koje koristi Mc68000. Naime problem je u razlici voltaza. Amiga koristi 5V, a Cyclone koristi 3.3V na I/O pinovima, tako da ce biti potrebno uraditi dvosmjerno prilagodjavanje. Ovo bi se moglo uraditi sa Level Shifterom nekim iz 74 serije recimo 74LVC8T245. Takodje bi mogao pokusati sa QuickSwich konverterom. Ovo bi moglo predstavljati problem tako da cu se ovih dana posvetiti samo tome. Takodje problem predstavlja i voltaza za DDR memoriju koja bi se morala spustiti na 1.8 volti koliko se sjecam.
 
Evo da ti makar malo oko pretrage pomognem.Secam se da je bilo o ovome reci na EAB forumu pa sam nasao post korisnika FrenchShark:
@rkauer, zetr0,

why not using an FPGA for the 68k and the SDRAM controller ?
You can use a EP3C5 (Cyclone 3 with 5000 LEs), the TG68 from tobias takes only 4000 LEs. You have 1000 LEs left for the SDRAM controller. The PLL in the FPGA is used to generate a multiple of 7 MHz -> your chip RAM accesses will be optimized since the FPGA CPU is synchronous.
You also need a serial flash for the configuration and a 16-bit SDRAM chip that you put under the FPGA (I have done design like this with a 2MB 16-bit ZBT SSRAM running at 66MHz like a charm).
For the 3.3V -> 5V, you can use a fast bus switch from NXP (CBTD3384), TI (SN74CBTD3384) or Pericom (PI5C3384).

A quick BOM from Digikey :
FPGA EP3C5E144C7N : $15.30 (by 1) -> fastest grade in a EQFP-144, 94 IOs. Enough for the 68000 bus and the SDRAM.
Flash EPCS1 : $3.50 (by 1)
SDRAM 32Mx16 133MHz MT48LC32M16 : $23.74 (by 1) -> 64 MB of fast RAM !
SN74CBTD3384 : $0.64 (by 1) -> mosfet switch used as level shifter, sub-nanosecond delay.

Voltage regulator are also needed :
5V -> 3.3V 500mA to 1A
3.3V -> 2.5V 100mA
3.3V -> 1.2V 300mA

Regards,

Frederic

Evo i teme koja se konkretno bavi akceleratorima za a600 mada je uopste interesantna i konstruktivna i za ostale amige http://eab.abime.net/showthread.php?t=36596
 
Sve sam ja to procitao, prelistao i ono sto mogu reci ili da su ljudi neozbiljni (cast izuzetcima) ili naglabaju bez veze bez ikakve realne zelje da se nesto postigne. Glavni cilj=cisto teoretisanje. Pa zar poceti pisati o tome 2008. godine i do sada ne zavrsiti ni prototip. Pa mislim zaista smjesno. Evo ja sad mogu zavrsiti za jedan dan semu ovog akceleratora iz prvog prijedloga. Sto se tice njega tu vise nema tajni, ali hocu prvo da uradim ovaj FPGA da bi stekao znanje za coldfire. Samo cu jedan dan tamo na ovim amiga forumima postaviti sliku gotovog akceleratora. Necu uopste da pokrecem neku temu tamo jer ima mozda 10 ljudi koji su spremni da nesto urade, ostali samo razglabaju. Pa vec 15 godina svi kukaju kako je Amiga propala, a nece nista da urade po tom pitanju. Ja sam uporan kao magarac, kao konj, cega god sam se dohvatio dogurao sam to do kraja pa mi se ni ovo nece oteti.
 
Tako je i Denis uradio sa Minimig-om. Izgleda da je to jedini ispravan pristup. ;)
...jedino što rizikuješ da će neki odmah krenuti da te napadaju kako je to što si napravio nemoguće, i šta si došao da ih zezaš na forumu gde se samo teoretiše sa tamo nekim praktičnim rešenjem. :D
 
Ma da ,ipak bih ja voleo da imam to neprakticno resenje koje ne ce da izbaci kao neke rezultate cisto da se zamisle dalje mogucnosti.
Video sam ranije ,valjda, na amiga.org forumu da je neko vec probao altera de1 ili de2 kao procesor za amigu ali sad nikako da nadjem link..
 
Jeste probao, ali oni su isli pogresnim smjerom. Tj. pokusali su da naprave kablove kojima bi povezali DE1 sa plocom. E sad u tim kablovima koji su dugi oko 60 cm se dosta gubi, tako da je bilo potrebno da se koriste pojacivaci koji su u stvari i izoblicili signal tako da je bilo vrlo tesko uraditi sinhronizaciju signala sa amige sa onim na Dev. board. Ima tu jos dosta stvari koje nisu bile ok recimo problem sa 5V I/O portovima koji dolaze sa MC68000 procesora, a Altera Cyclone nema toleranciju za 5V, a na DE1 je ovo rjeseno clamp diodama za koje je kasnije utvrdjeno da prave odredjene probleme, pa je Altera iz svojih manuala izbacila ovaj prijedlog za rjesavanje 5V problema. Ja cu ovo rjesiti totalno drugacije...
 
Mali update:
1. Rijesio sam problem sa 7Mhz clockom sa Amige, tako da ce u akcelerator ulaziti 7x4 dakle 28Mhz. Ovo je bio problem zato sto PLL u Cyclone II ne moze da primi nista ispod 10Mhz.
2. Vec par dana se borim sa I/O pinovima i tristate bufferom, dakle poenta je da se izlazi i ulazi vezani za Data bus, spoje u dvosmjerne cime bi se umjesto 30 pinova dobilo 15 koliko mi i treba.
 
Poduhvat je za svaku pohvalu ali problem postoji zbog sporosti Amiga grafike bez obzira bio to esc ili aga cip. Navescu primer... A1260 - 50MHz, brzina procesora OK ali rad sa WB3.9 i grafikom je ispod standarda. Pomeranje prozora i refresh je jako sporo... tuga (ubacen patch za brzu grafiku). Osim povecanja memorije (za danasnje uslove) ubrzanje procesora i nebi mnogo pomoglo.
Za ~50e se moze kupiti PC i pri tom odlicno terati Amithlon ili Aros ili UAE i pri tom imati "Amiga konfiguraciju" po zelji sa VGA monitorom.
Ako je projekat u sluzbi sticanja znanja onda OK, ali za neki komercijalni uspeh... tesko.
 
Ja sam svjestan da je usko grlo graficki dio. Ali ako se vec ide sa FPGA onda sta sprjecava dodavanje jednog PCI slota? Razmisljao sam ovih dana jos nesto. Programera ima, ono sto oni nemaju je dev board sa kojim bi radili. Meni jako malo treba da modifikujem postojecu semu i da napravim dev board sa spiskom iskoristenih pinova i za sta oni sluze. Time bi svako mogao da radi na ovome ali i da se oformi nesto kao open source gdje bi svi radili zajedno. Tada bi doslo do velikog napretka siguran sam.
 
@demerzel
Rekao si tako puno stvari koji su istina i niko to nece pokusati da pobije.Problem je sto si sve to izrekao u pogresnom delu bench foruma. Sem sticanja znanja ,Majsta , ovo radi i iz ljubavi prema starudiji koji svi mi gajimo u retro sobi.Jeste da ce to na uae ,amithlonu i nkim drugim emulatorima da leti na vecini danasnjih masina ,ali ostavlja bljutav ukus u ustima,ipak kad imas pravu amigu koja moze da pusti mp3 ..........Eeeeeeeeeeeeeeeeeeeeeee o tome mi pricamo ,to je put u buducnost,255 zx spectruma umrezeno zajedno i prikljuceni na internet........
Ops zaneo sam se......
Open source bi bio dobar za dalju nadogradnju projekta,kao i za eventualna prilagodjavanja druge modele amiga (500,2000) ukoliko je to neophodno ili za atari modele racunara..
Sporost amiginih grafickih cipova bi se mozda mogla nadomestiti prebacivanjem istih u fpga ali bi sve to onda preslo polako u neku varijantu minimiga a Majsta ipak ovde radi na projektu akceleratora za pravu amigu
 
Nazad
Vrh Dno