DFB1 FPU experiment thread
-
foft
- Posts: 345
- Joined: 28 Mar 2022 12:20
Re: DFB1 FPU experiment thread
Yes these were all with both clocks driven via two pins out of the cpld. With a fixed speed for the cpu and the clock switching logic for the cpu.
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: DFB1 FPU experiment thread
Just to expand on what @Badwolf mentioned.
You have to remember the full cycle time at 50MHz is only 20ns. That's 10ns HIGH, 10ns LOW. So even just 2ns of "jitty / skew" is a "big deal". Some of the OSC's I tried were way out duty cycle wise.
Caps and resistors can fix it on one OSC and break it on a different one. The p-p voltage the OSC puts out is also a factor. Tolerances of parts, "system noise" , it all adds up. It's why I was leaning towards not letting the user change the OSC as its timings are just too sensitive to let people slap in any old OSC in their parts bin. You could for example have a 50MHz OSC which works, then a 40MHz one which doesn't. Mix in the FPUs and CPUs may or may not be capable of 50MHz. It all becomes a bit of a mess.
So if you got 40MHz FPU and 40MHz CPU working. That's a pretty good result already. Anything higher will need endless trial and error like I went though in all my testing.
You have to remember the full cycle time at 50MHz is only 20ns. That's 10ns HIGH, 10ns LOW. So even just 2ns of "jitty / skew" is a "big deal". Some of the OSC's I tried were way out duty cycle wise.
Caps and resistors can fix it on one OSC and break it on a different one. The p-p voltage the OSC puts out is also a factor. Tolerances of parts, "system noise" , it all adds up. It's why I was leaning towards not letting the user change the OSC as its timings are just too sensitive to let people slap in any old OSC in their parts bin. You could for example have a 50MHz OSC which works, then a 40MHz one which doesn't. Mix in the FPUs and CPUs may or may not be capable of 50MHz. It all becomes a bit of a mess.
So if you got 40MHz FPU and 40MHz CPU working. That's a pretty good result already. Anything higher will need endless trial and error like I went though in all my testing.
-
foft
- Posts: 345
- Joined: 28 Mar 2022 12:20
Re: DFB1 FPU experiment thread
Finally I have an improvement. I had a pass with 47.5MHz on both cpu and fpu by changing the CPLD slew rate by adding these to the ucf file.
The second run failed at 47.5MHz, but it does seem stable at 45MHz.
NET "CPUCLK" FAST;
NET "FPUCLK" FAST;
NET "CLKRAM" FAST;
NET "FPUCS" FAST;
The second run failed at 47.5MHz, but it does seem stable at 45MHz.
NET "CPUCLK" FAST;
NET "FPUCLK" FAST;
NET "CLKRAM" FAST;
NET "FPUCS" FAST;
-
Badwolf
- Site sponsor

- Posts: 3043
- Joined: 19 Nov 2019 12:09
Re: DFB1 FPU experiment thread
Hmm. That sounds like one of those things that will work in one configuration and not another. Perhaps compensating for a slight variation in duty cycle, but I'd be concerned about pushing that as a general fix. The slow slew rate is normal preferable to avoid harmonics, bounce, overshoot, etc. Anything expecting a sine wave input (like most clock pins) shouldn't really need fast slew.foft wrote: 02 Jan 2023 17:42 Finally I have an improvement. I had a pass with 47.5MHz on both cpu and fpu by changing the CPLD slew rate by adding these to the ucf file.
The second run failed at 47.5MHz, but it does seem stable at 45MHz.
NET "CPUCLK" FAST;
NET "FPUCLK" FAST;
NET "CLKRAM" FAST;
NET "FPUCS" FAST;
Need to test that in a few other boards, I think.
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
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: DFB1 FPU experiment thread
I did try those compiler options early on my testing and I did not the making any difference at all for me.
-
foft
- Posts: 345
- Joined: 28 Mar 2022 12:20
Re: DFB1 FPU experiment thread
Ok, I hear you both, @exxos and @Badwolf that it’s tricky/requires voodoo to get these reliably to 50MHz.
I am very happy with my board at 40MHz so will likely go with that.
Appreciate the help and advice.
I am very happy with my board at 40MHz so will likely go with that.
Appreciate the help and advice.
-
Badwolf
- Site sponsor

- Posts: 3043
- Joined: 19 Nov 2019 12:09
Re: DFB1 FPU experiment thread
Not at all. I'm very grateful you've carried out some extensive testing with a board that doesn't just work out of the box.
Sadly I'm not sure we've nailed out a formula to make things more reliable in general, but many thanks for the work put in.
I was going to suggest other variations, but they would be last resort or full-on-nerding kind of tests: the board has breakable solder pads underneath for some of the lines that can control whether it uses 32, 16 or 8 bit modes.
For example, does it work more reliably at more frequencies if run in 16 bit mode..?
But like I say: that's probably one for a rainy day at best. :lol:
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
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
-
Rustynutt
- Posts: 230
- Joined: 29 Sep 2017 08:24
- Location: USA
Re: DFB1 FPU experiment thread
Meaning to ask you about something, now I remember.exxos wrote: 02 Jan 2023 22:01 I did try those compiler options early on my testing and I did not the making any difference at all for me.
When I'd ordered oscillators to test on the AB040, had noticed varying specs on their duty cycle. So, it does seem to come into play :)
On the AB, seems I'm up against the wall at 46MHz. Going to 48MHz, as soon as the alt ram is loaded, Falcon hangs.
So what I was going to ask was, can you build a VSO like you do for the CT60?
But have a range say, 45-60MHz?
I'd like to dual purpose a VSO, 45MHz on the low side for the 040, and up to ~60MHz for a 030 CPU Falcon board I have.
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: DFB1 FPU experiment thread
It was a RSO. They almost never sold and can't get those chips anymore. It would end up being another project I would have to design and develop which I don't have time for unfortunately.Though I don't think it would be worth the effort anyway just for the sake of a few Mhz.Rustynutt wrote: 03 Jan 2023 10:54 So what I was going to ask was, can you build a VSO like you do for the CT60?
But have a range say, 45-60MHz?
I'd like to dual purpose a VSO, 45MHz on the low side for the 040, and up to ~60MHz for a 030 CPU Falcon board I have.
But getting back to the point it hand over all..
Myself and @Badwolf Were talking about a few weeks back in just putting a 3.3V 40MHz OSC on it and calling it done. Because hardware tolerances are really coming into play at such high speeds. There would just be no way to produce a batch which would function at higher speeds reliably. This is just abundantly clear.
IIRC running the FPU and CPU on its own oscillator greatly helped the situation as well. Though it is still somewhat questionable what top speed is for the FPU's. For that we was considering 33MHz as a defeco standard. The top speed of the FPU's is always somewhat in question. So if the 40MHz printed parts are only capable of 33MHz.. Then how many 100's of FPU's would I personally have to test until I found a genuine rated 40MHz part which works.
Of course the "cream of the crop" , Like with most PC hardware, gets sold as a premium because of its rarity. Though as everybody knows, it would involve a great amount of time and effort to bring even a small number of boards up to fully working 50MHz. If I was doing it I would have to charge my time it could easily double the price of the booster. Again just for the sake of a few MHz. it is pretty clear from all the threads that is experimenting themselves is not really getting anywhere either. So I don't think allowing people to change the oscillator is going to ultimately bring anything to the table but more aggro for everybody involved.
I still have not had time to prove if the power supply voltage is a factor in all this or not. I believe it is. But even if I produced a fully tested 50MHz card, I could not guarantee it would work in every Falcon out there anyway. So then it spawns lots of debugging threads , which it would be in question if it was people's Falcons which are not functioning correctly to start with. Then we are back to the whole "clock patch" rigmarole where people have been slapping in any old crap into their machines for years and that could also be a factor. Have they at least recapped their PSU ? Probably not. These are all factors which have to be taken into consideration.
As I suggested previously I think there could be some minor changes which could be made to the PCB which may improve things. But improve it to the point of being significant is another question. For example adding more caps. Though @Badwolf Somewhat against this because he wanted people to be able to build the boards themselves. Adding more capacitors is still realistically doable by users, but if I was to produce a small batch of these in the future, then I would want it to be as best as it possibly could for production. So you basically end up with two versions of the board in the mix which is not really good when people are trying to diagnose problems. As if you have the DIY board, it could have iffy pats which could be a contributing factor to be not working. Plus the random element of it basically being "DIY" and the user probably screwed up the soldering anyway.
Once you start getting past the 40MHz mark, you basically hit the point of diminishing returns. While more MHz is always welcome. Who's going to pay £500+ more for all the work involved to gain those extra few MHz on "cream of the crop boards". ? Aside from probably myself, who is going to have 100+ 030 CPU's and FPU's To be able to find those cream of the crop chips. Half the people just buy crap off aliexpress and expect it to work. Just look at all the questionable PLD's for starters, never mind getting onto the CPU's and FPU's.
So I hope nobody sees me as being negative towards this project or the top speed of it. I just think there are so many "moving parts" in all this that IMHO it is just not worth the time and effort into pushing more than 40MHz. People also have to remember that this project has only been tested by a small number of people. So there may well be other issues in the future which we do not know about yet. We really need to get our footing first before considering going faster.
-
foft
- Posts: 345
- Joined: 28 Mar 2022 12:20
Re: DFB1 FPU experiment thread
I received some 40MHz crystals this week, so I was just finishing these boards off.
Of the 3 boards:
Board i) This one runs with CPU and FPU at 40MHz (with my modified firmware)
Board ii) This one runs with the original firmware, which runs the CPU at 40MHz and the FPU at 20MHz.
Board iii) FPU is not running with either firmware, though I didn't add the two capacitors, one to try tomorrow.
Of the 3 boards:
Board i) This one runs with CPU and FPU at 40MHz (with my modified firmware)
Board ii) This one runs with the original firmware, which runs the CPU at 40MHz and the FPU at 20MHz.
Board iii) FPU is not running with either firmware, though I didn't add the two capacitors, one to try tomorrow.
Who is online
Users browsing this forum: Baidu [Spider], ClaudeBot and 39 guests