DFBrev3: The CPLD killer

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

DFBrev3: The CPLD killer

Post by Badwolf »

Background:

The rev3 version of my Falcon Booster project has been the first board that attempted to include all the features (bar DSP support, which needs more investigation) the project hopes to address.

It's a development board, so it's still not possible to mount it and the stock PSU at the same time, but otherwise it carries a 50MHz external 030 CPU, flash ROM and 32 bit SDRAM.

The first built board has a few bodge wires as rework has lost pins and broken traces and the clock lines are all re-routed as I experimented with inline termination, but it works and works well at 50MHz with 128MB fast, 32-bit AltRAM.

dfbr3_1_dusty.jpeg
dfbr3_1_dusty.jpeg (251.48 KiB) Viewed 2184 times


So I tried to build a second board to prove it wasn't a fluke, this time trying to avoid all the bodge wires. This one carried only 32MB AltRAM (much cheaper for testing), but I messed up soldering on the main CPLD and had to remove and replace it.

The new CPLD checked out and the board worked well without AltRAM enabled (different memory configuration so I started off without it).

As I brought up the AltRAM the board ran for a some time (a few minutes) before failing with many CPLD pins now measuring a short to ground. The CPLD had got very hot before its failure, the original runs cool a second £20 CPLD blown in the space of a day. Ouch.

I assumed I'd introduced a short somewhere so perhaps I shouldn't trust this board with a third CPLD rework.

So I built a third board, transferring all the components, bar the CPU socket and the CPLD from the old one. Soldered on yet another new CLPD, this time making sure it was absolutely perfectly aligned. Buzzed out as many lines as I could think to try, flashed the firmware. Worked first time. Brilliant.

dfbr3_3_bang.jpeg
dfbr3_3_bang.jpeg (222.66 KiB) Viewed 2184 times


Except whilst I was sat there watching a test run, all the lights went out.

It had done it again. The CPLD had died with a large number of its lines short. Again it had been running quite hot beforehand. Surely a sign of something being not quite right, but what?

Clearly nothing was directly shorted else it wouldn't work at all, but could there be a low resistance path between a couple of pins? Something I've not been able to meter out, but maybe have a low impedance at megahertz-level switching?

The difference between the working board and the original design is:-
  • ENABLE pin (p5) not working on the original. Originally jumpered to 5V or GND. Re-routed to pin 3 and now either pulled high by 10K or jumpered to ground;
  • DQM0 pin (one of the SDRAM data masks), pin 4, track seems damaged after some rework around the crystal oscillator. Re-routed to pin 133;
  • CPU clock out (pin 113) disabled and re-routed to pin 38 (a global clock pin) to experiment with different termination options;
  • RAM clock out (pin 12) disabled and re-routed to pin 39, again for termination experiments;
Now, since this board doesn't *quite* meet my spec of fitting with the original CPU and I want to go to 4 layer to sooth Exxos' ire at my dodgy ground plane a rev4 board is definitely on the cards anyway.

So shall I gamble my last CPLD on this, cleaned up board?

dfbr3_3_cpldkiller.JPG
dfbr3_3_cpldkiller.JPG (208.98 KiB) Viewed 2184 times

I'm tempted to give it one more go, perhaps replicating the bodges from board 1 and, if that works, undoing them one at a time to see if I can identify the problem to feed back into rev 4. Better I learn something now than when rev4 has the same problem?

I dunno. What do you we think? Worthwhile? Give it up as a bad job? Perhaps someone can see an obvious mistake? Should I pile more capacitance on the CPLD (three 100nF one 1uF)? I'm deeply suspicious of that ENABLE line myself, but without much to back it up.

The CPLD-killer is haunting me! :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
User avatar
Cyprian
Posts: 390
Joined: Fri Dec 22, 2017 9:16 am
Location: Poland

Re: DFBrev3: The CPLD killer

Post by Cyprian »

the board looks cool.
great progress.
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
User avatar
exxos
Site Admin
Site Admin
Posts: 23787
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: DFBrev3: The CPLD killer

Post by exxos »

Build it... Scope as much out as you can.. Plonk a heatsink on the PLD ( preferably blue ) and keep chunking freezer spray on it while investigating ..
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.
Post Reply

Return to “HARDWARE DISCUSSIONS”