exxos's DFB1 trials

Discussion and support for the DSTB1 & DFB1 boosters by BadWolf..
User avatar
exxos
Site Admin
Site Admin
Posts: 28346
Joined: 16 Aug 2017 23:19
Location: UK

Re: exxos's DFB1 trials

Post by exxos »

Badwolf wrote: 11 Nov 2022 13:41 BUT that's actually quite good that you're seeing *some* results! So it probably is a 40MHz FPU. Don't suppose you've a 40MHz oscillator in your parts bin?

Yeah.. .But with OPTION2 jumped, its not 50MHz I think you said earlier ?
User avatar
Badwolf
Site sponsor
Site sponsor
Posts: 3043
Joined: 19 Nov 2019 12:09

Re: exxos's DFB1 trials

Post by Badwolf »

exxos wrote: 11 Nov 2022 13:52
Badwolf wrote: 11 Nov 2022 13:41 BUT that's actually quite good that you're seeing *some* results! So it probably is a 40MHz FPU. Don't suppose you've a 40MHz oscillator in your parts bin?
Yeah.. .But with OPTION2 jumped, its not 50MHz I think you said earlier ?
Yes, sorry I mis-remembered.

OPTION2 blocks CPUCLK_D from switching 'up' to 50MHz, limiting the CPU to 16MHz.

FPUCLK is fed from the oscillator input, not the CPUCLK!

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
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: 28346
Joined: 16 Aug 2017 23:19
Location: UK

Re: exxos's DFB1 trials

Post by exxos »

Badwolf wrote: 11 Nov 2022 13:44 No, there are not electrolytics at all. Could be a sensible upgrade.

BTW, pins 52,53 and 16,17 are also VCC pins. I'd be tempted to add the extra capacitance across them and ground rather than to the pins that already have decoupling.
Yeah I did see.. viewtopic.php?p=93508#p93508

Also :

IMG_0208.JPG
IMG_0209.JPG

I think it can be improved though.. I think you need to slap 2.2uF on every VCC pin. And keep all the tracks as short as humanly possible. Even stitching two different layers with multiple via helps. I would also add a book ceramics such as 100uF on the 5V input from the motherboard to the DFB1 somewhere. Certainly I don't believe this is the cause of failure but when running in these MHz speeds.. every little helps :)
You do not have the required permissions to view the files attached to this post.
User avatar
exxos
Site Admin
Site Admin
Posts: 28346
Joined: 16 Aug 2017 23:19
Location: UK

Re: exxos's DFB1 trials

Post by exxos »

Badwolf wrote: 11 Nov 2022 13:57 Yes, sorry I mis-remembered.

OPTION2 blocks CPUCLK_D from switching 'up' to 50MHz, limiting the CPU to 16MHz.

FPUCLK is fed from the oscillator input, not the CPUCLK!
I have this with option2

Code: Select all

assign FPUCLK = CLKOSC;
So I assume the CPU and FPU is locked at 16MHz ?

Indeed running the FPU on the Falcon motherboard itself works at 16MHz..

Or is CLKOSC actually the 50mhz.. hmmmm
User avatar
Badwolf
Site sponsor
Site sponsor
Posts: 3043
Joined: 19 Nov 2019 12:09

Re: exxos's DFB1 trials

Post by Badwolf »

exxos wrote: 11 Nov 2022 13:58 Yeah I did see.. viewtopic.php?p=93508#p93508
Ach! sorry -- was confused by the orientation. :oops:

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
User avatar
Badwolf
Site sponsor
Site sponsor
Posts: 3043
Joined: 19 Nov 2019 12:09

Re: exxos's DFB1 trials

Post by Badwolf »

exxos wrote: 11 Nov 2022 13:59 Or is CLKOSC actually the 50mhz.. hmmmm
CLKOSC is the input pin from the 50MHz oscillator:-

Code: Select all

	input   			CLKOSC,
BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
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: 28346
Joined: 16 Aug 2017 23:19
Location: UK

Re: exxos's DFB1 trials

Post by exxos »

Badwolf wrote: 11 Nov 2022 14:03
exxos wrote: 11 Nov 2022 13:59 Or is CLKOSC actually the 50mhz.. hmmmm
CLKOSC is the input pin from the 50MHz oscillator:-

Code: Select all

	input   			CLKOSC,
ah right ok. Let me see I got this all correct then...

So the CPU is locked to 16MHz with OPTION2.. and with my "hack" the FPU is running 50MHz..So that fails on a few of the tests but otherwise passes..

Still with OPTION2 and a 40MHz OSC.. It all tests fine.

BUT, I tried a 40MHz OSC right at the start ( before I knew about OPTION2). and it failed anway. Basically made no difference.

So now trying with 40MHz OSC & OPTION 2 (And 40MHz FPU clock) and it passed... :WTF:

So I need to put back your original firmware retest 40MHz again.. So now this would have been what I tried right at the start.. And it fails..

So for whatever reason the FPU is not stable with half OSC speed to the CPU. Indeed 50MHz seems to aggravate the problem so it is certainly possible the FPU is only capable of 40MHz..

So we have a mystery of why the FPU does not function at half CPU speed more than anything ?

And apologies to my abuse of the word "so" :lol:

EDIT:

I guess the thing to do is move the 40MHz OSC to drive the FPU directly.. and run the CPU at 50MHz...
User avatar
Badwolf
Site sponsor
Site sponsor
Posts: 3043
Joined: 19 Nov 2019 12:09

Re: exxos's DFB1 trials

Post by Badwolf »

Given that your FPU seems to *nearly* work at 50MHz when the CPU is at 16, you could try the following:-

Switch around the comments on line 147/148:-

Code: Select all

//wire lowspeed = DISABLE_FAST & resetblock & fpu & ( AS | ~ttram_access | ~rom_access ) & clockholdoff ; // low active (rom access here too)
wire lowspeed = DISABLE_FAST & resetblock & ( AS | ~ttram_access | ~rom_access | ~fpu ) & clockholdoff ; // low active (rom access here too)
The bottom line tells the CPU not to slow down during an FPU access, the top line says that it should.

That would mean the FPU would be back to running faster the the CPU.

Then restore the 25MHz FPU clock by going back to:-

Code: Select all

assign FPUCLK = CLKOSC_2;
So that would give you a CPU running slower than the FPU, but the FPU not overclocking at 50MHz.

I wonder if that line 147/148 is the source of the problems?

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
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: 28346
Joined: 16 Aug 2017 23:19
Location: UK

Re: exxos's DFB1 trials

Post by exxos »

Badwolf wrote: 11 Nov 2022 14:14 Given that your FPU seems to *nearly* work at 50MHz when the CPU is at 16, you could try the following:-

Switch around the comments on line 147/148:-

Code: Select all

//wire lowspeed = DISABLE_FAST & resetblock & fpu & ( AS | ~ttram_access | ~rom_access ) & clockholdoff ; // low active (rom access here too)
wire lowspeed = DISABLE_FAST & resetblock & ( AS | ~ttram_access | ~rom_access | ~fpu ) & clockholdoff ; // low active (rom access here too)
The bottom line tells the CPU not to slow down during an FPU access, the top line says that it should.
I did actually try that earlier in fact and it made no odds..
User avatar
Badwolf
Site sponsor
Site sponsor
Posts: 3043
Joined: 19 Nov 2019 12:09

Re: exxos's DFB1 trials

Post by Badwolf »

exxos wrote: 11 Nov 2022 14:13 So we have a mystery of why the FPU does not function at half CPU speed more than anything ?
I think the FPU is always intended to run faster than the CPU. I experimentally decided it could run on a slower clock, but only down to about half the CPU frequency (makes sense -- if DSACK[x] is asserted too long, CPU confusion could abound).

BUT, perhaps that is really really marginal and I've made a boo-boo there.

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

Return to “DSTB1 & DFB1 booster by BadWolf”

Who is online

Users browsing this forum: ClaudeBot and 3 guests