More DSP grief

General discussions or ideas about hardware.
Post Reply
User avatar
Badwolf
Posts: 2222
Joined: Tue Nov 19, 2019 12:09 pm

More DSP grief

Post by Badwolf »

Hi all.

I've resurrected my 'cut down' second board in my current Falcon booster iteration. This one has a new ground-up firmware and I've managed to fit everything into a 144 macrocell CPLD. Which I'm really pleased with.

Everything works well and stably with one exception: DSP access again.

DSP was the last thing I got working on my first version of the board and I discovered some different timing constraints on it by inspecting the GAL equations and the DSP is the only thing on the board with an 8 bit bus. Once I made allowance for those, everything worked. This board: no such luck.

I'm hitting my head on a wall, here. I'm tempted to just say DSP is not supported on this board and call it a day, but can anyone see anything wrong from the below traces? I've also put the analyser on the various pins of U44 and, to me, they look in order.

Symptoms are that TOS4 nor EmuTOS can boot as they sit in an endless loop waiting for a status change. It seems to read from the DSP correctly. A longword read from FFA200 (first trace) returns 00 12 06 0f, after boot. But this *never changes*.

longword_read.png
longword_read.png (75.89 KiB) Viewed 2306 times

The second trace shows a longword write to FFA204. As I understand it a write to FFA207 should trigger a change in FFA202, but that doesn't happen.

longword_write.png
longword_write.png (81.4 KiB) Viewed 2306 times

@mikro was very kind and provided me with a test program (atari.tos) when I was debugging the first board that would produce output even if the OS didn't support the DSP -- this too just sits in an endless loop with the cursor flashing.

Can anyone see anything obvious in these, or suggest something else I should check?

Thanks,

BW.

PS. CAPITALS are Falcon-side lines. lower case is external 030-side lines. RW is shared. dsp_access is for identification. The clock line is only really valid during the dsp_access phase.
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
DSTB1 Open source 16Mhz 68k and AltRAM accelerator for the ST
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
User avatar
exxos
Site Admin
Site Admin
Posts: 23437
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: More DSP grief

Post by exxos »

Doesn't the DSP run off its own clock ? Can't remember offhand. Just thinking you may be syncing your CPU clock to the 16mhz bus.. But then you got a whole mixed bag of timing issues if the DSP is running on its own clock. I guess you could cheat and link your CPU clock to the DSP at least to rule out related issues.
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.
User avatar
Badwolf
Posts: 2222
Joined: Tue Nov 19, 2019 12:09 pm

Re: More DSP grief

Post by Badwolf »

exxos wrote: Wed Jul 28, 2021 11:44 pm Doesn't the DSP run off its own clock ? Can't remember offhand. Just thinking you may be syncing your CPU clock to the 16mhz bus.. But then you got a whole mixed bag of timing issues if the DSP is running on its own clock.
Yeah the DSP has its own free-running 32MHz oscillator. It goes literally no-where else, so the on-board CPU can't be sync'd with it either. Doubt it's that.

My thinking is it might more likely be to do with the GALs (which do have a XCPUCLK dependency) and not quite being in sync with them, but last time I checked I was within 5ns of the board clock -- which I thought was pretty good.

Because I'm a fun and exciting kind of guy, I spent my lunch reading the 56001 data sheet. I haven't come across any clock dependency at all on the host interface, but there is a fair amount on timings of the various host lines (HRW, HEN, HADD, etc). I'm going to dig the scope out this evening.

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
DSTB1 Open source 16Mhz 68k and AltRAM accelerator for the ST
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Post Reply

Return to “HARDWARE DISCUSSIONS”