FPU in coprocessor and 32bit mode

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

FPU in coprocessor and 32bit mode

Post by Badwolf »

Evening all.

I'm looking at the FPU portion of my board at the moment, and already found one bodgaeable tidbit (I wired A0 when I shouldn't have done -- derp).

So here's the schematic:-

Screenshot 2021-09-29 at 19.33.35.png
Screenshot 2021-09-29 at 19.33.35.png (44.08 KiB) Viewed 1733 times

Which I hope represents the 32bit port version of the diagram on the data sheet:-

Screenshot 2021-09-29 at 19.35.07.png
Screenshot 2021-09-29 at 19.35.07.png (157.63 KiB) Viewed 1733 times
.


But I have a couple of questions to those more learned in the ways of the floating point unit.

I'm currently supplying the motherboard clock as FPUCLK on the basis of being scared about not having the clock available during CPLD flash. This works well when the processor is also at the same clock (both 16MHz), but fails if the CPU has a faster clock. Logically, I think this is probably expected (DSACKx will still be asserted when the CPU has moved on?). Can anyone confirm that in the event of asynchronous clocks the FPU's must be the faster?

Secondly, this is a 32 bit port -- I have both DSACK[0] and [1] connected, but I only ever see activity on DSACK[1]. This is not what I was expecting -- I was rather expecting both to activate at the same time, but this is *not* an asynchronous bus access, this is a co-processor access, so perhaps it's different. Can anyone confirm what's meant to be going on here?

Thanks in advance!

BW.

IMG_4764.jpeg
IMG_4764.jpeg (70.26 KiB) Viewed 1733 times
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
Badwolf
Posts: 2231
Joined: Tue Nov 19, 2019 12:09 pm

Re: FPU in coprocessor and 32bit mode

Post by Badwolf »

So things I've found out so far:-
  • The FPU seems to work at 50MHz. Huzzah.
  • It works very well when the FPU clock is faster than the CPU clock, but as they start to get closer to each other my open-drain DSACK[x] lines can't recover high fast enough so need to be driven both high and low unless the FPU chip select is active.
  • The FPU can be happily speed tested despite no DSACK0 activation.
  • It seems pretty much every test run fails -- the wrong results are coming back. This is probably because DSACK0 is not being driven.
  • My PLCC68 socket is sponsored by bacofoil.
bacofoil.jpg
bacofoil.jpg (32.78 KiB) Viewed 1682 times

Take a goosey at those pins!

Hopefully this terrible socket is all the problem is -- I'll try to sort out those pins later, but otherwise might need a new socket.

@exxos, I seem to recall you had problems with PLCC pins not quite fitting some sockets with your ROM chips. Do you recall which make was OK? RS do Preci-Dip and ASSMANN (gotta love that). I bought MultiComp from Farnell last time (avoid those).

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
czietz
Posts: 548
Joined: Sun Jan 14, 2018 1:02 pm

Re: FPU in coprocessor and 32bit mode

Post by czietz »

Regarding DSACK0 not being asserted, I suppose you read this part of the FPU User Manual?

dsack.PNG
dsack.PNG (89.72 KiB) Viewed 1660 times

What this is saying: If the FPU is configured for a 32 bit bus and the CPU accesses one of the FPU registers for which A4=1 (i.e, Operand, Register Select, Instruction Address, or Operand Address), then DSACK0 is asserted.
User avatar
Badwolf
Posts: 2231
Joined: Tue Nov 19, 2019 12:09 pm

Re: FPU in coprocessor and 32bit mode

Post by Badwolf »

czietz wrote: Thu Sep 30, 2021 5:48 pm Regarding DSACK0 not being asserted, I suppose you read this part of the FPU User Manual?

dsack.PNG

What this is saying: If the FPU is configured for a 32 bit bus and the CPU accesses one of the FPU registers for which A4=1 (i.e, Operand, Register Select, Instruction Address, or Operand Address), then DSACK0 is asserted.
Hi Christain,

D'oh. Yes: sorry.

I had read back during the board design then completely blanked it since! I can trigger on ( A1 & ~FPUCS ) to check output.

I think I know the answer already, alas: My FPU seems fried. It won't pass the tests when in the stock Falcon configuration now & anything genuinely FPU-intense crashes. I didn't see a single DSACK0 assertion (which could be the socket, or it could be the FPU). It's time for a new one.

Which solves another problem: perusing Exxos' store for a new FPU, I realise he also sells through-hole PLCC68 sockets. So I'll have some of those whilst I'm at it. :-)

Thanks, @czietz.

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
User avatar
exxos
Site Admin
Site Admin
Posts: 23497
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: FPU in coprocessor and 32bit mode

Post by exxos »

Badwolf wrote: Thu Sep 30, 2021 3:01 pm @exxos, I seem to recall you had problems with PLCC pins not quite fitting some sockets with your ROM chips. Do you recall which make was OK? RS do Preci-Dip and ASSMANN (gotta love that). I bought MultiComp from Farnell last time (avoid those).
Its rather complicated...

https://www.exxosforum.co.uk/forum/viewt ... ?f=23&t=74

TL;DR
Just use 3M sockets and just don't bother with any other fullstop .I've stopped buying other brands of sockets. The ones in my store used to be cheaper ones, but I've been putting 3M ones in my store for a while now anyway.

Multicomp isn't a brand either. Its "multiple companies" . Really a Argos outlet of crap :lol: not saying its all bad. I wouldn't have a problem buying multicomp 0805 stuff for example.
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: 2231
Joined: Tue Nov 19, 2019 12:09 pm

Re: FPU in coprocessor and 32bit mode

Post by Badwolf »

exxos wrote: Fri Oct 01, 2021 1:12 am Just use 3M sockets and just don't bother with any other fullstop .I've stopped buying other brands of sockets. The ones in my store used to be cheaper ones, but I've been putting 3M ones in my store for a while now anyway.
Thanks Exxos. Good rule of thumb. I hadn't spotted you had PLCC68 sockets on your store until last night, else that'd have solved that problem at the outset!
Mulicomp isn't a brand either. Its "multiple companies" .
Oh. Hahaha! I'm such a noob. :lol:

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”