Top secrets sources NedoPC ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

   Ôóíêöèè epm3032 â íüþÃÑå


 I.

Êîììóòèðîâàòü êëîê. Íà âõîä èäóò 24 è 20 ìãö, ñèãíàëû âûáîðà êëîêà,
íà âûõîäå - âûáðàííûé êëîê.

âõîäû:
clk24in - 24ìãö
clk20in - 20ìãö
clkout - âûõîä (êëîê íà Z80 è ãëàâíóþ ÔÏÃÓ)
clksel1 - âûáîð
clksel2 -      êëîêà

{clksel1,clksel2}  |  ×àñòîòà, ÌÃö
-------------------+----------
   0        0      |  24
   0        1      |  12
   1        0      |  20
   1        1      |  10


 II.

Ðóëèòü ïàìÿòüþ çåòíèêà, êîãäà îñíîâíàÿ ôïãà íå çàãðóæåíà è å¸ íàäî çàãðóçèòü. Ôè÷è:

âõîä cold reset (coldres_n), ïî íåìó ãåíåðèòñÿ warmres_n è nCONFIG íà ôïãà, ñáðàñûâàåòñÿ ïðîö è ôïãà â ðåæèì
êîíôèãóðèðîâàíèÿ ââîäèòñÿ.

 ýòîì ðåæèìå ñòàðøèå àäðåñà ïàìÿòè è ÖÑû - ïóëëàïëåíû 1êîì, 3032 ðóëèò òîëüêî mema14 è mema15, romcs_n è ramcs0_n,
ò.å. âèäÿòñÿ ñòàðøèå 64êá 1îé ìñõ ÎÇÓ è ÏÇÓ.
ìàïïèíã:
0000-3fff - ïåðâûå 16êá ÏÇÓ (èç âûøåóêàçàííîãî êóñêà 64êá)
4000-7fff - ïåðâûå 16êá ÎÇÓ
8000-ffff - ëþáàÿ ïîëîâèíêà 64êá ÎÇÓ èëè ÏÇÓ, ñì. îïèñàíèå ïîðòîâ.

Ïîðòû (ìëàäøèé àäðåñ, ñòàðøèé - ïîôèãó)

%00xxxxxx - äëÿ ÔÏÃÀ
%01xxxxxx, ÷òåíèå: d7=cold reset flag, 0 - áûë cold reset, 1 - íå áûëî
%01õõõõõõ, çàïèñü: d7=1 â 32êá ñòðàíè÷êå ÎÇÓ,0 - ÏÇÓ, d0=0 ìëàäøèå 32ê â ñòðàíè÷êå,1 - ñòàðøèå (ñì. âûøå)
%10xxxxxx, ÷òåíèå: d7 - nSTATUS, d0 - CONF_DONE
%10xxxxxx, çàïèñü: d7=1 - óñòàíîâèòü â 1 cold reset flag, 0 - íå ìåíÿòü; d0 - çàäàòü nCONFIG
%11xxxxxx, çàïèñü áàéòà êîíôèãóðàöèè â ÔÏÃÀ
%11xxxxxx, ÷òåíèå áàéòà ãîòîâíîñòè èç ÔÏÃÀ

ñ ïðîöà èäóò ñèãíàëû:
a14,a15,a6,a7,d7,d0
/iorq, /mreq, /rd, /wr
íà ïðîö: /res (ê warmres_n)

íà ïàìÿòü:
mema14,mema15,ramcs0_n,romcs_n,memoe_n,memwe_n

ñ ãåíåðàòîðà ñáðîñà/êíîïêè: coldres_n

íà/ñ ÔÏÃÀ:
nCONFIG, nSTATUS, CONF_DONE
åù¸: cs,INIT_DONE

Êàê 3032 óçíà¸ò, êîãäà îíà ðóëèò, à êîãäà ÔÏÃÀ:

1. ïî ñèãíàëó coldres_n îíà ãåíåðèò ÔÏÃÀøêå nCONFIG â íîëü, à òàêæå warmres_n (íà ïðîö),
2. ñèãíàë nCONFIG ñáðàñûâàåò àñèíõðîííî òðèããåð 'ðóëåðñòâà', ò.å. 3032 ñ÷èòàåò, ÷òî îíà ðóëèò
ïàìÿòüþ äëÿ ïðîöà.
3. Ïîëîæèòåëüíûé ôðîíò INIT_DONE óñòàíàâëèâàåò òðèããåð 'ðóëåðñòâà', ò.å. òåïåðü ÔÏÃÀøêà
ðóëèò ïàìÿòüþ è âñåì îñòàëüíûì, ïðè ýòîì ñðàçó æå âûäà¸òñÿ èìïóëüñ warmres_n, ñáðàñûâàþùèé ïðîö è ÔÏÃÀøêó
(óæå îòêîíôèãóðåííóþ), è ïðîö íà÷èíàåò ðàáîòó óæå ïðî ÔÏÃÀøêîé.
4. åñëè õî÷åòñÿ ïåðåêîíôèãóðèòüñÿ íà õîäó, ÷åðåç ïîðò îáíóëÿåì nCONFIG. Ñáðîñà ïðè ýòîì íå áóäåò, íî
êîíòðîëü íàä ïàìÿòüþ âåðí¸òñÿ ê 3032, òóò íàäî ñäåëàòü òàê, ÷òîáû ïðîö ïðîäîëæèë âûïîëíÿòü îñìûñëåííóþ ïðîãðàììó.
Äàëåå, ïî ïðèõîäó INIT_DONE ïðîö+ÔÏÃÀ ñáðîñÿòñÿ. Ñîâñåì íàëåòó - íå âûéäåò.

Òðèããåð 'ðóëåðñòâà' ðóëèò:

Z-ñîñòîÿíèåì ñèãíàëîâ óïðàâëåíèÿ ïàìÿòüþ, ñèãíàëîì cs íà ÔÏÃÀ.