OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 23:42

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 55 ]  Přejít na stránku Předchozí  1, 2, 3, 4  Další
Autor Zpráva
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 14.08.2019, 20:27 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Obávám se, že to synchronní design učeše úplně stejným způsobem.

A jestli jsou tam nějaké konstrukční nedostatky, tak se je snad budu snažit odstranit a ne je ještě dokonale emulovat, to mi připadá, jako štourání v hovně :roll:

Samozřejmě, když je výstup synchronní registr s bit clock, tak tam žádné takové efekty nejsou a tak to má být :D

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 15.08.2019, 13:47 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Konstrukcni nedostatky by bylo vhodne zachovat a dokonce mit i moznost si je vybrat. Zde myslim na moznost aby uvnitr modulu byl obvod pozastavovani
hodin cpu podle issue1 az 3.



Takto nejak chci resit aby prechod do logl byl rychlejsi nez prechod do log0.

module DELAY3(input GCLK, input in, output out );

reg out1_reg;
reg out2_reg;
reg out3_reg;
wire out1_next;
wire out2_next;
wire out3_next;

always @(posedge GCLK)
begin
out1_reg <= out1_next;
out2_reg <= out2_next;
out3_reg <= out3_next;
end

assign out1_next = in;
assign out2_next = out1_reg;
assign out3_next = out2_reg;
assign out= out3_reg | out2_reg;

endmodule

Jinak samozrejme ta vlastnost bude videt pouze na CRT televizi. LCD to neumi zobrazit, nemaji takovou sirku bodu. Ale mozna casem nejaka nova norma okolo 8K to bude opet umet.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 17.08.2019, 23:12 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Tak mam dalsi dobre zpravy. Sice to neni nic primo pro ULA nebo GDG ale dosti mi to pomuze.

Mam novy zajimavy FPGA z Ciny. Neni to nic znackoveho ale ma i to dokumentaci co vypada ze je na docela dobre urovni. Dokonce to ma i zakladni navod a existuje k tomu i navod pro zacatecniky jak prelozit kod. Podarilo se mi to zprovoznit a ted mi tam jde VGA vystup. Musim rici ze tam zatim nebyl zadny velky zasek. Samozrejme uz vim ze idelani je mit presne stejny system jako mel ten kdo delal zdrojaky. V tomto pripade je to Vivado 2018.2. FPGA je Artix7. V navodu je mala zminka o ILA. Tak jsem zacal zjistoval co to presne je. Je to "Integrated Logic Analyzer". Pekny navod je na MIT http://web.mit.edu/6.111/www/f2017/hand ... s/ila.html . Na prvni pokus mi to bohuzel nefungovalo a psalo to nejakou core nelogickou chybu. Ale kdyz jsem se podival co vlastne ten cizi kod na kterem jsem to testoval dela, mi hned bylo jasne kde je chyba. Je dulezite mit spravne hodiny ve spravne hodinove domene. Cele to pak funguje tak, ze na realnem cipu spustite logovani a pres USB programator si muzete prohlednout zaznamenane signaly. Je to uzivatelsky privetive.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 20.08.2019, 07:06 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Tak kluci moc se nedarilo. Pokusil jsem se to prevest na Xilinx. Ze zacatku to vypadalo docela dobre. Prvni zkusenost ale byla ze Xilinx sw je 3x vetsi. Zaklad si vzal 27GB prostoru na HDD. Intel je skromejsi ten si zabral jen 8GB. Horsi bylo, kdyz jsem se pokusil to rozjet. Xilinx rekl ze projekt nemuze prelozit, ze ma smycku a ze problem je v hlavnim modulu, coz samozrejme cloveku nepomuze to lokalizovat. Postupne jsem zjistil ze pricina je reset obvodu v horizontalnim citaci. Zlaty Intel jasne ukazuje kde ma problem a jaky spoje nejsou koser. A take ktere rusi nebo je nastavuje na log1 ci log0. Hlavni problem byl v TRCE definici clenu, ten jsem chtel nahradit ale nebylo to na poradu dne. Dalsi problem Xilinxe je, ze je i docela pomaly. Vse tam strasne dlouho trva. Takze produktivita prace neni velka.

Dalsi zasek byl ten ILA. Pri pouziti zakladni frekvence 350MHz bylo vse ok ale docela dlouho mi trvalo nez jsem zjistil, ze
si mam precist "xilinx ila free running clock". Ted uz mam docela pekne vystupy co pomuzou projekt posunout dale.

Prozatimni vysledek je tento: Zakladni cleny jako TRCE jsem prepsal do verilogu, do HDL popisu co delaji. Ale chci jeste pro zajimavost zkusit kombinacni obvody. Ale to jen v pripade ze budu mit hodne volneho casu. Ted vidim pekne casovani az do V2 signalu. Krasne vidim i zpozdeni na hradlech. To mi dela radost. Take jsem si zkusil ukazat RAS a CAS signal a vypadaji relativne dobre.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 20.08.2019, 07:19 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Na obrazku je hezky videt C6 az C8 z horizontalniho citace.


Přílohy:
ula_signaly.png
ula_signaly.png [ 30.9 KiB | Zobrazeno 7452 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 21.08.2019, 22:15 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Tak dalsi kratke info.

Vsechny jmena modulu jsem doplnil o "_pageXXX" aby slo videt z jake strany je to prepsane. Par obrazku jsem upravil aby to sedelo. Jsou na nich stejne obvody.

Snazil jsem se to prevest na Vivado, docela se to povedlo ale byl to porod. Velky zasek je nejaka chyba pri synteze asi pll obvodu. Podarilo se to snizit ze trech vystrah na jednu vystrahu ale neda se toho uplne zbavit. Horsi bylo zjistit spravny atribut aby Vivado nerusilo podle neho nepotrebne obvody. To sice hezka funkce ale ja nepotrebuji usetrit treba 100 registru a ukor neprehlednosti. Bohuzel Intel ma pro podobnou funkci jiny atribut a tak jeden zdrojovy kod neni na 100% prenositelny. Musi se zamenit v jednom souboru jeden retezec za jiny. Mozna casem budu ovladat nejaky preprocesor co to bude menit samo. Pak jsem si jeste musel pohrat s definici jak se programuje obvod. Co mne potesilo (zklamalo) tak to nemaji definovane ani XDC soubory od znamych firem z USA. Proste nastavit projekt aby tam byla spravna frekvence a vsechny preklady jsem mel bez chyb a vystrah je docela vyzva. Ted mam pro Xilinx projekt kde jsou dve frekvence 65 MHz a 325 MHz. Jedna je urcena pro VGA vystup - ta musi byt hodne presna. Povolena odchylka je jen 0,5%! Druha frekvence je vybrana tak, ze kdyz ji budu delit 46 tak dostanu cca 7,06 MHz, to bude pro prvni pokusy vhodna frekvence.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 23.08.2019, 18:16 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Tak dobra zprava je ze jsem zacal pouzivat preprocesor a tak zmenou jedne definice se meni moznost prekladu Xilinx nebo Intel.

Horsi zprava je ze mam prvni velky problem. Mam glitch na /RAS signalu. Je to i logicke, nVidC3 ma cestu o jedno hradlo delsi nez cesta co aktivuje /RAS. Proto pozde blokacni signal nVidC3 zablokuje generovani log0 na /RAS. Zkuste se na to take podivat. Jako reseni jsem pouzil jedno "zpozdovaci" hradlo na ceste /C0 a /C1. Pak maji obe cesty stejny probeh a tim padem je vse ok. Ale /RAS logicky se aktivuje o 8ns pozdeji.


Přílohy:
ula_signaly1.png
ula_signaly1.png [ 26.88 KiB | Zobrazeno 7336 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 23.08.2019, 19:18 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Tak buď to chceš modelovat se všema nectnostma, nebo tak, aby to fungovalo.
Máš to stejně, jako v nejoriginálnéjším originálu ? :)

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 24.08.2019, 22:17 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Nemam a v tom je problem.

Problem je v tom, ze se pise ze hlavni horizontalni citac je synchronni. A to neni uplne pravda, synchronni jsou vzdy jen vyvody invertovane a nebo neinvertovane.

Dalsi zajimava vec co se deje je, ze na okamzik je tam 8 ns hazardni stav. Ted jsem si napsal FD modul co to simuluje a uz to dava lepsi vysledky. Cele to funguje tak, ze prvnich 8 ns po prijeti sestupne hrany hodin se nic noveho na vystupu nedeje, to signal prochazi uvnitr FD. Za dalsich 8 ns se jeden z vyvodu da do spravneho stavu. Ve stejnou dobu ale druhy vyvod muze mit jeste opacnou polaritu nez ma mit a to je ten hazard. Za dalsich 8 ns se to da do spravneho stavu. Takze za 24 ns je vystup ve stavu ktery ocekavame.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 26.08.2019, 02:45 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Tak mam prvni vlastovku. Obrazky jsou pro forum moc velike a tak jsem je dal na:

http://www.radeksuk.cz/zx/ula/2019%2008 ... gnaly2.png
http://www.radeksuk.cz/zx/ula/2019%2008 ... gnaly3.png

Dalo to hodne prace. Pozdeji neco i napisi.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 26.08.2019, 16:19 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Tak nakonec jsem se rozhodl udelat ten horizontalni citac kompletne synchronni. Dal jsem tam zpozdeni 3 takty (to bude 24 ns). Ve schematu jsou dve kriticke mista. Jedno je generovani /VidC3. To je asi nejvetsi problem. Tento signal se generuje z /C0 a /C1. Z Border a /C3 se generuje signal co blokuje signal z predchazejici vety. Bohuzel blokace prichazi pozdeji nez vygenerovany signal. Resenim je, ze druhe NOT hradlo nema zadne zpozdeni a pak to dela to co ma. Dale jsem musel upravit synchronizaci nVidCASPulse, neni potreba 6 hradel ale jen 4. Zde se domnivam ze originalni hradla maji mensi zpozdeni a proto je jich potreba mene (6*0,75=4,5). Pak jsou signaly pekne "zarovnene" na jeden okamzik. Dalsi zmenu jsem musel udelat u generovani VidCASBD. Zde jsem vynechal dva invertory co delaji zpozdeni na C1 a nechal jsem tam jen konecny invertor. Zde ty tri invertory jsou asi take rychle konstrukce. Takze zpozdeni je 2,25 hradla. Kdyz budu uvazovat ze vyvod /C3 je predbiha C3 jednoho bezneho hradla tak vlastne toto cele vyrovnava zpozdeni na ceste.

Take jsem resil myslenku na jaky FPGA se zamerit. Zda se stale zajimat o Spartan6. Nakonec vyhrala ta ze to ma smysl. Stejne se ma dodavat a do roku 2027 https://www.xilinx.com/products/silicon ... tan-6.html. Je na to dosti manualu a projektu, coz beru jako nejdulezitejsi vec. Dalsi dulezita vec je ze nove desky v Cine se Spartanem6 se daji poridit uz okolo 21 USD a to vcetne male pameti. Cena s modernim Spartan7 je 2x az 3x vetsi. Samozrejme Spartan7 nebo Artix7 je min o 30% vykonejsi a ma napr. navic to ILA. Na druhou stranu ta ILA take neni dokonala. Ma problemy bezet na velke frekvenci a neumi nacitat pomala data. Stejne si budu muset udelat neco lepsiho. Zatim to ma ale trivialni pouziti a dobre cteni nasnimanych dat. Take je dobre vedet ze vetsina desek se Spartan7 nebo Artix7 nema vyvedene "rychle" vyvody a tak hlavni vyhoda techto cipu nemuze byt pouzita.

Co by mne ted hodne zajimalo jake jsou definice casovani pro "mode 17"
https://www.raspberrypi.org/documentati ... t/video.md
https://raspberrypi.stackexchange.com/q ... ea-and-dmt
to by totiz byl pekny "scandoubler".


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 29.08.2019, 10:31 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Nebyl by lepší CEA mode 25, nebo 27 ?
V bitové rychlosti zobrazení se stejně budeš muset podřídit HDMI a jeden bod ZX zobrazovat quadrupl.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 30.08.2019, 12:40 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Ono je to skoro jedno ale problem u CEA 25 a 27 je, ze budu muset generovat vystup podle teto definice. Ten mode 17 je beznejsi a navic je plne kompatibilni s PALem primo do cinch konektoru. Idelani reseni je upravit vystup smerem na Y signal aby byl korektni pal nebo radeji bych rekl realnejsi pal dle normy. Pak by bylo super kdyz by nekdo udelal D/A prevodnik, pro zacatek jen Y signal a overilo se, ze to dela dobry cernobily signal. Uplne stejne reseni by slo pouzit pro Sharpa nebo dokonce i pro NTSC. Pouzitelnost by byla predevsim pro stare CRT obrazovky.

Jinak proc jsem pro ten rezim 17 je take to, ze do budoucnosti bude idealni vzit realna data (vcetne borderu) co se posilaji do vystupu Y a vcetne barvy to ukladat do pomocne pameti a jako celek to posilat pomoci Ethernetu nejak jinam, treba do stolniho pc a tam to zpracovavat. Rozmery obrazovky vcetne borderu jsou 352x256=90112 bodu. Kazdy bod ma 4 bity (15 barev). Takze je potreba prenest cca 20,41Mb/s dat (50snimku). To se dat bezproblemove prenest dokonce i pres Internet. Pri prenosu ne celeho borderu, jen casti co jde realne videt na televizi bude prenos dat i o dost mensi. Abych pravdu rekl, tak mne moc nelakaji drahe moderni FPGA co umi 1900x1200 kdyz to umi zobrazit bezny pocitac.

Jinak se mi podarilo vytvoril dve asynchronni casove domeny 464MHz (max) a 65MHz v jednom FPGA. Ula bezi, teda alespon flash blika jak ma. VGA dava spravny obraz.

Bohuzel ILA funguje spolehlive tak do 180MHz a pak ma vetsi a vetsi problemy. Neni to dobry produkt. Nechapu jak za toto mohl nekdo drive platit. Cele je to strasne nestabilni a nelogicke. Treba nastaveni v ILA Capture mode do rezimu BASIC znefunkcni ILA do doby nez se opet zapne ALWAYS - problem se projevuje pro vypnuti Capture mode. Pouceni je to, ze pred vypnutim capture mode musite vse dat do vychoziho rezimu, jinak pak uz to nezmenite a jako celek to nebude fungovat, proste hruza sw.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 30.08.2019, 13:14 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Přímo s PALem je komatibilní režim 576i 50Hz 4:3, takže asi režim CEA 21.
https://en.wikipedia.org/wiki/576i

Ale ZX48 generuje spíš něco jako, 288p 50Hz 4:3, takže asi CEA 23.

Trochu víc informací je zde https://en.wikipedia.org/wiki/Extended_ ... ation_Data

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: 5S Computer
PříspěvekNapsal: 31.08.2019, 01:22 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Nasel jsem nejake zajimave dokumenty na jednom serveru v Atlantiku. Takze jsem mohl konecne se podivat co ten rezim dela a jake ma casovani.

CEA 23 mode 1 by byl asi nejvhodnejsi. Jinak ten CEA 23 ma tri mody. Verze 1 je vhodna pro ZX48 i pro MZ800. Dokonce by na nejake hodne dobre televizi mozna umel zobrazit az 1140 bodu na radek.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 55 ]  Přejít na stránku Předchozí  1, 2, 3, 4  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz