I'm working on the new firmware and i've dicovered what I think is a bit of odd behaviour with the 68060 CPU. Maybe its just happening on some 68060 CPUs but i cant find it in the manual. Once again this is an example of Manuals and reality being out of sync.
I'm looking at the timing of the TT signals on the 68060. For those unfamiliar this is the Transfer Type register. It controls whether the cycle is a burst (Move16), Normal (memory access) or interrupt acknowledge (or breakpoint ack etc). e.g.
Table 2-2. Transfer-Type Encoding
If run the 68060 bus at full speed with CLKEN = 0 everything works ok. At about 90Mhz this becomes a bit much for the CPLDs so i want to half this again when talking to the Amiga so i alternate CLKEN.
The trouble is that this causes TT to be 1 cycle delayed in being correct.
Which causes the bus translator to do an interrupt acknowledge cycle instead of fetching the first word from RAM. This is massively infuriating and does not matchup with what the manual says...
And yes i have tried this with 90 degree 180 degree and 0 degree CLKEN timing. No difference. This is why I dont really accept it when people say just read the manual. The manuals are often very wrong.
I'm thinking it might not be possible to use CLKEN this way to slow down the bus cycles and give the bus cpld a break.
MC68060 TT Behaviour
Moderators: terriblefire, Terriblefire Moderator
-
- Moderator Team
- Posts: 5368
- Joined: Mon Aug 28, 2017 10:56 pm
- Location: Glasgow, UK
MC68060 TT Behaviour
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
- stephen_usher
- Posts: 5582
- Joined: Mon Nov 13, 2017 7:19 pm
- Location: Oxford, UK.
- Contact:
Re: MC68060 TT Behaviour
When I saw the title I thought you'd somehow got the 68060 running on an Atari TT!
Manual inaccuracy is a right pain. Often the manuals are written to the original specification and not how the actual silicon works.
Manual inaccuracy is a right pain. Often the manuals are written to the original specification and not how the actual silicon works.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
Re: MC68060 TT Behaviour
My first thought was it seems it can't change speeds without clock switching ? But it doesn't say much in the data sheet..terriblefire wrote: ↑Thu Dec 02, 2021 9:08 am And yes i have tried this with 90 degree 180 degree and 0 degree CLKEN timing. No difference. This is why I dont really accept it when people say just read the manual. The manuals are often very wrong.
I'm thinking it might not be possible to use CLKEN this way to slow down the bus cycles and give the bus cpld a break.
Clock edges of what clock ?! It doesn't seem to make sense, why would toggling a pin make the bus slower ?! Almost sounds like a pulse skipping type of thing. Like when a rising edge is about to happen, switch the EN so its looking for the falling edge, so it would ignore the rising edge.. Then when it gets near the falling edge, switch EN again so it looks for the rising edge.. But that would be bonkers, and on that basis you could slow the bus down as much as you want.The CLKEN input is used on the MC68060 to enable to the clock edges on which the bus controller will
respond. By toggling the CLKEN pin, it is possible to operate the MC68060 on an external bus at 1/2 or 1/4
the speed of the processor clock.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
Re: MC68060 TT Behaviour
If anyone could make that happen, it'd be @terriblefire.stephen_usher wrote: ↑Thu Dec 02, 2021 10:03 am When I saw the title I thought you'd somehow got the 68060 running on an Atari TT!
-
- Moderator Team
- Posts: 5368
- Joined: Mon Aug 28, 2017 10:56 pm
- Location: Glasgow, UK
Re: MC68060 TT Behaviour
Its a clock enable line. It means things have double the setup time. Every other clock is ignored externally but internally the CPU can chug away on things. I'm not seeing why this doesnt make sense?exxos wrote: ↑Thu Dec 02, 2021 10:16 am Clock edges of what clock ?! It doesn't seem to make sense, why would toggling a pin make the bus slower ?! Almost sounds like a pulse skipping type of thing. Like when a rising edge is about to happen, switch the EN so its looking for the falling edge, so it would ignore the rising edge.. Then when it gets near the falling edge, switch EN again so it looks for the rising edge.. But that would be bonkers, and on that basis you could slow the bus down as much as you want.
This also means external signals like TS/TA are asserted for 2 clocks externally instead of 1 clock but should only be sampled when the clock enable line is asserted. The effect is to half the bus speed for things that need >15ns setup time.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
Re: MC68060 TT Behaviour
Because it doesn't state disabling the clock, it says what clock edges it responds to, that by definition isn't a clock enable, it's more pulse skipping. If the clock was disabled, nothing would work, in which case 1/4 bus speed would be impossible. Plus it's talking about 3 speeds, so then sounds like the pin is multifunctional. Hence why I state it doesn't make sense.terriblefire wrote: ↑Thu Dec 02, 2021 10:53 am Its a clock enable line. It means things have double the setup time. Every other clock is ignored externally but internally the CPU can chug away on things. I'm not seeing why this doesnt make sense?
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
-
- Moderator Team
- Posts: 5368
- Joined: Mon Aug 28, 2017 10:56 pm
- Location: Glasgow, UK
Re: MC68060 TT Behaviour
This is the very definition of a Clock Enable. Its flip flop design 101.exxos wrote: ↑Thu Dec 02, 2021 10:58 amBecause it doesn't state disabling the clock, it says what clock edges it responds to, that by definition isn't a clock enable, it's more pulse skipping. If the clock was disabled, nothing would work, in which case 1/4 bus speed would be impossible. Plus it's talking about 3 speeds, so then sounds like the pin is multifunctional. Hence why I state it doesn't make sense.terriblefire wrote: ↑Thu Dec 02, 2021 10:53 am Its a clock enable line. It means things have double the setup time. Every other clock is ignored externally but internally the CPU can chug away on things. I'm not seeing why this doesnt make sense?
From https://www.xilinx.com/html_docs/xilinx ... 93914.html
The purpose of the clock enable pin is to allow the flip-flop to hold a specific value for more than one clock pulse. New data inputs are only latched and passed to the data output port when both clock and clock enable are equal to one.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
Re: MC68060 TT Behaviour
What the data sheet says to me, is you sync and hold the rising edge with EN and wait 2 clock cycles then flip EN again. That would give the 1/4 speed it talks about. If you're doing that then it should be right.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
-
- Moderator Team
- Posts: 5368
- Joined: Mon Aug 28, 2017 10:56 pm
- Location: Glasgow, UK
Re: MC68060 TT Behaviour
Yes this is what i'm doing and that is the result i get.
I've tried it with the posedge and negedge just to be sure. Same result.
The issue is the TT signal is a full B Cycle (2 CPU clock cycles late). So we're already doing the wrong bus cycle by the time its right.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
Re: MC68060 TT Behaviour
I guess you could try a actual clock switch on the master clock ? See if the same oddness happens.
Also it doesn't quote how fast you can do the switching either. Could you try just doing a single one shot switch to see if it still screws up ?
Also it doesn't quote how fast you can do the switching either. Could you try just doing a single one shot switch to see if it still screws up ?
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.