In the C64, the VIC-II generates /RAS, /CAS and PHI0 from the dot clock.
/CASRAM is generated in the address decoder PLA (82S100 ?) from /CAS.
From the datasheet, 82S100 propagation delay input to output is 35ns typ., 80ns max.
For DRAM write cycles, R/W is supposed to go LOW before /CASRAM goes LOW,
the DRAM latches the data from the bus after the falling edge of /CASRAM.
6510 generates the PHI2 clock from PHI0, but the 6510 datasheets say that the propagation delay
from PHI0 to PHI2 is 0, what (to me) doesn't look correct, somebody please check.
From this text, expect the PHI0 to PHI2 delay of a 6510 to be ca. 30ns.
For OurCPU, I think that the propagation delay PHI0 to PHI2 is 18ns typ.
Timing specs for the 6510 are relative to PHI2, so the propagation delay PHI0 to PHI2 is important.
Side note: for the WDC W65C02, timing specs are relative to PHI0 (not PHI2),
WDC datasheet from March 2000 says the propagation delay PHI0 to PHI2 is <22ns.
Should be taken into account when trying to run a C64 with a W65C02.
The CIAs and the SID are running with the PHI2 clock output of the 6510.
Note, that the VIC-II has no PHI2 input !
IMHO this indicates that the VIC-II register read/write bus timing is "nailed" to PHI0.
Color RAM /WE is generated from /CAS in the address decoder PLA, "nailed" to PHI0, too.
AEC signal responds faster in OurCPU than in the 6510:
Code: Select all
------ --------
AEC | |
.------------.
. tDED . tDES
.====>tAED .====>tAES
------- ----
A,D,R/W >-----------<
------- ----
;--------------------------------------------------------------
MOS_6510_1MHz OurCPU
preliminary Jan 2018
tAES <75 typ.11 //Address enable setup time
tDES <120 typ.22 //Data enable setup time
tAED <120 typ.10 //Address disable hold time
tDED <130 typ.21 //Data disable hold time
R/W setup/hold time for OurCPU is similar to address setup/hold time.
Code: Select all
------- ------------
PHI2 | | |
.------------. .------------
.===>tADS . .==>tHA
------------- -------------------------- ---------
A X X
------------- -------------------------- ---------
. . .
.===>tRWS . .==>tRWH
. --------------------------
R/W . / . . \
---------- . . ---------
. . .
. . tDSU<===.===>tHR
. . ---------
. . X X read Data
. . ---------
.===>tRWS . .
---------- . .
R/W . \ . .
. ---------------------------
. . .
. .====>tMDS .===>tHW
. . --------------
. . X X write Data
. . --------------
. . .
;--------------------------------------------------------------
MOS_6502_1MHz MOS_6510_1MHz WDC_W6502_14MHz OurCPU
May_1976 preliminary May_2013 Jan 2018
Nov_1985
REF=PHI2 REF=PHI2 REF=PHI0 REF=PHI2
tD02 ? ? <22 //March 2000 typ.18 //ttlworks //delay PHI0 to PHI2
tRWS typ.100 <300 typ.100 <300 >10 typ.24 =20 //R/W setup time
tADS typ.100 <300 typ.100 <300 typ.30 typ.23 =15 //Address setup time
tDSU >100 >100 >10 typ.5 //Data stability time period
tHR >10 >10 >10 0 //Data hold time read
tHW >30 typ.60 >10 typ.30 >10 typ.22 =15 //Data hold time write
tMDS typ.150 <200 typ.150 <200 typ.25 typ.22 =15 //Data setup time
tHA >30 typ.60 >10 typ.30 >10 typ.23 =15 //Address hold time
tHRW >30 typ.60 >10 typ.30 >10 typ.24 =20 //R/W hold time