Improving my PCB design

For discussing the 65xx hardware itself or electronics projects.
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Improving my PCB design

Post by BigDumbDinosaur »

banedon wrote:
I'm looking at my 6502GPD-D design and what can be improved to get a faster and less noisy design. The design so far runs ok at 16MHz, but 18MHz or higher is unreliable-to-not usable...at the moment I'm looking at layout and PCB layer stack up.
Stack up wise, I've been doing a little research and 4 layers is less than optimal (although it does work, obviously).

My POC V1.2 unit is on a four-layer board and easily runs at 20 MHz. I’m not seeing where more board layers will help you.

BTW, you should consider using the PLCC44 version of the MPU and the VIA. Layout will be smaller and tighter, which will help with your quest for speed.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
banedon
Posts: 742
Joined: 08 Sep 2013
Location: A missile silo somewhere under southern England

Re: Improving my PCB design

Post by banedon »

Dr Jefyll wrote:
banedon wrote:
Dr Jefyll wrote:
[...]
I had wondered (but clearly not long enough) as to why they had started introducing more power rail related pins. Good to know.
I use DIPs becasue it's just so much easier to swap out a duff part - but perhaps I should revisit that.
SOJ sockets are a thing! :wink: So, the AS7C4096A doesn't need to be soldered in place... although there are advantages to having it so.
Quote:
Can I get away with having a custom DIP pinout reflecting all of the pins on the AS7C4096A?
You mean create a new, improved adapter, whose DIP side has some extra pins connecting to the mobo? To make a significant difference, the changes would result in something of a monstrosity, I'm afraid. But if you haven't already, do be sure to mount two bypass caps on the adapter itself, one on each side of the SOJ IC and very close to it. That's if you decide to keep using the adapter. And if you ever swap out the adapter and insert an actual DIP ram, you might be forced to drop the clock speed. After all, it's the actual silicon die we need to connect to... and, on a DIP package, the (single, not multiple) Vcc and Gnd pins are each about an inch away from the die, and there's nothing that can be done about that. :(

If maximum clock rate is the goal, I'd seriously consider starting over. Begin by laying out a tight RAM/CPU/CPLD core, then then arrange Everything Else (including ROM) around it... ideally separated from the core by buffer ICs or at least damping resistors, and running with a wait-state. (And for the latter I'd maybe lean toward using the CPU's RDY input. A comparison of that technique vs. clockstretching can be found here.)

-- Jeff
I've not seen a 36 pin SOJ socket available for sale. I know there are 28 pin and 40 pin ones, but I just cannot find 36 pin ones. Might be that my google-foo is failing me. If you know where I can get one which is a trusted source, can you advise cause I'm not a fan of using DIP adapters if I don't have to.
What I could possibly do is fit a 40 pin one, but I don't want to and it feels a bit janky.
Other than that, it's DIP adapter time. My existing adapter has two bypass capacitors already, but not the extra two pins, so it shouldn't take much to modify it.

I am indeed starting over on the PCB layout front. I've taken a copy of the project in Kicad, erased the PCB and am going to modify the schematic to reflect the discussed changes then have the fun of manually placing and routing everything :mrgreen: . I'm waiting to complete this thread before I do anything major though.
User avatar
banedon
Posts: 742
Joined: 08 Sep 2013
Location: A missile silo somewhere under southern England

Re: Improving my PCB design

Post by banedon »

BigDumbDinosaur wrote:
banedon wrote:
I'm looking at my 6502GPD-D design and what can be improved to get a faster and less noisy design. The design so far runs ok at 16MHz, but 18MHz or higher is unreliable-to-not usable...at the moment I'm looking at layout and PCB layer stack up.
Stack up wise, I've been doing a little research and 4 layers is less than optimal (although it does work, obviously).

My POC V1.2 unit is on a four-layer board and easily runs at 20 MHz. I’m not seeing where more board layers will help you.

BTW, you should consider using the PLCC44 version of the MPU and the VIA. Layout will be smaller and tighter, which will help with your quest for speed.
Hi BDD
Yep am using PLCC44 for the MPU and will do for VIA/Serial as well 8)
I like using DIP for the easier routing, but I certainly see the disadvatages for size and, in the case of the MPU, additional power pins.
User avatar
Proxy
Posts: 746
Joined: 03 Aug 2018
Location: Germany

Re: Improving my PCB design

Post by Proxy »

the SST39x flash chips are also available in PLCC packages. allowing the ROM, CPU, and a VIA to be put pretty close together.
and if you don't mind not having an actual UART, you could save even more space by using one of FTDI's chips like the FT240X.
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: Improving my PCB design

Post by Dr Jefyll »

banedon wrote:
I've not seen a 36 pin SOJ socket available for sale. I know there are 28 pin and 40 pin ones, but I just cannot find 36 pin ones. Might be that my google-foo is failing me.
Urk! After an admittedly brief search, I'm not even able to find the 40-pin ones! But I know they exist 'cause I have a couple in my junkbox. If you've found a supplier for these please share the link.
Quote:
What I could possibly do is fit a 40 pin one, but I don't want to and it feels a bit janky.
Other than that, it's DIP adapter time.
Neither of these solutions is especially elegant, perhaps, but they're both tolerably workable.

If you decide to use an adapter, let me suggest you design it without any consideration for what the old DIP pinout dictates. Yes the DIP pinout would be slightly advantageous layout-wise if you planned for the RAM and the (DIP) ROM to directly share the majority of their connections. But you want the high-speed "core" to be as compact and lightly loaded as possible, so there's an argument for excluding the ROM from it (ie, the ROM and RAM would not directly share the majority of their connections).

From an unrelated project, this (below) is an example of an adapter designed without any consideration for what the old DIP pinout dictates. Notice there are two rows of pins on each side of the IC.

Implemented as a PCB, this sort of design wouldn't be the least bit janky, IMO. That's if you treat the extra, piggybacked IC as optional. But you have to admit it's nice being able to fit an entire megabyte into a total footprint of about one square inch! :mrgreen: (And there's space underneath the adapter, for even more RAM (or anything else). For this unit I chose to use female connectors on the adapter and male on the mobo, but of course you can reverse that if you like.

Whether you use some sort of adapter or simply an oversize SOJ socket, you'll be able to remove RAM if desired. But is that consideration really worth the trouble? It's your call, but myself I'd be inclined to simply solder the SOJ directly to the mobo.

-- Jeff
Attachments
TTC RAM P9270255 CrvShpLores.JPG
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
drogon
Posts: 1671
Joined: 14 Feb 2018
Location: Scotland
Contact:

Re: Improving my PCB design

Post by drogon »

banedon wrote:
What does everyone think? Is this overkill for a 65C02?
Who knows - and the answer will depend on who you speak to too. ...

I was happy that I overclocked my system to 16Mhz - a mere 2Mhz over the rated 14MHz. That is on a 2-layer board too. (And single layer stripboard before that)

But overclockers always want that last Mhz - at least in the x86 realm and they will go to great lengths just to get an extra percent or 2. 16 to 18hz is 12.5% faster but is it worth it? Only you have that answer - are you going to be running compute intensive applications? (In which case just run them on your desktop) or is it just "because". Want to run real 6502 code really fast? Then get a BBC Micro and a PiTubeDirect board and have a near 300MHz 65C02 at your hands - or emulate it on your desktop.

It's a fascinating rabbit hole to go down though - my 16MHz '816 running the BCPL system is not fast, but it's fast enough to let me edit and compile programs on - even biggish programs (compiling the editor does take 30 seconds though) my strategy is to move CPU at some point rather than try to speed-up the existing one...

So personally, I'd stick to what you have and "max it out" software wise and only when you hit the limits of your software think about moving up... But that's my view. There is still a "because I can" view too..

Cheers,

-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
gfoot
Posts: 871
Joined: 09 Jul 2021

Re: Improving my PCB design

Post by gfoot »

drogon wrote:
There is still a "because I can" view too..
I think there's also a "to see if I can" motivation. For me personally, if I already know I can do something, it's not as interesting to try. I'm most motivated when I have an idea that ought to work, but am not certain about it, so it's then worth proving out.

I guess this is also why overclockers do what they do, but I see more appeal in doing it with a homebrew computer you've built from more primitive components, rather than buying expensive things off the shelf and hoping you get a particularly good one.

That said, personally clock speed has never been much of a goal, I'm mostly trying to build fairly complex support circuits and the challenge has been getting those to run well and be stable on a breadboard. A big part of why I've never really moved to PCBs or CPLDs is because I'm fairly sure everything would just work much better if I did, and a lot of the challenge would be gone.
User avatar
banedon
Posts: 742
Joined: 08 Sep 2013
Location: A missile silo somewhere under southern England

Re: Improving my PCB design

Post by banedon »

Yep much of what I do is to see if I can do something or to try it out for myself - even if others have already done it.
For instance: My 6502GPD-D v1 design works fine. It's limited to 16MHz, but other than that it's so far ok, but I hadn't previously tried an ATF1508, the SOJ RAM using a DIP adapter, BDD's CPU slow down circuit and card slots. Now I have. I enjoy designing these things (more than coding, in fact).
I was going see if I could squeeze any more out of the design, but given the comments on this thread, it confirms my belief that the speed is more limited by bus lengths than anything else (although I was hoping it might've been the stackup as well). As such, 6502GPD-D is done, apart from perhaps a few tweaks maybe.
This means that it's a new project encompassing an emphasis on speed to see what I can get to. No practical purpose to it - just want to see if I can.
The only down side is that it's an addiction which is help empty my bank account :mrgreen: (oh, and perhaps that no one I know IRL actually being remotely interested :roll: :lol: ).
User avatar
banedon
Posts: 742
Joined: 08 Sep 2013
Location: A missile silo somewhere under southern England

Re: Improving my PCB design

Post by banedon »

Dr Jefyll wrote:
banedon wrote:
I've not seen a 36 pin SOJ socket available for sale. I know there are 28 pin and 40 pin ones, but I just cannot find 36 pin ones. Might be that my google-foo is failing me.
Urk! After an admittedly brief search, I'm not even able to find the 40-pin ones! But I know they exist 'cause I have a couple in my junkbox. If you've found a supplier for these please share the link.
Quote:
What I could possibly do is fit a 40 pin one, but I don't want to and it feels a bit janky.
Other than that, it's DIP adapter time.
Neither of these solutions is especially elegant, perhaps, but they're both tolerably workable.

If you decide to use an adapter, let me suggest you design it without any consideration for what the old DIP pinout dictates. Yes the DIP pinout would be slightly advantageous layout-wise if you planned for the RAM and the (DIP) ROM to directly share the majority of their connections. But you want the high-speed "core" to be as compact and lightly loaded as possible, so there's an argument for excluding the ROM from it (ie, the ROM and RAM would not directly share the majority of their connections).

From an unrelated project, this (below) is an example of an adapter designed without any consideration for what the old DIP pinout dictates. Notice there are two rows of pins on each side of the IC.

Implemented as a PCB, this sort of design wouldn't be the least bit janky, IMO. That's if you treat the extra, piggybacked IC as optional. But you have to admit it's nice being able to fit an entire megabyte into a total footprint of about one square inch! :mrgreen: (And there's space underneath the adapter, for even more RAM (or anything else). For this unit I chose to use female connectors on the adapter and male on the mobo, but of course you can reverse that if you like.

Whether you use some sort of adapter or simply an oversize SOJ socket, you'll be able to remove RAM if desired. But is that consideration really worth the trouble? It's your call, but myself I'd be inclined to simply solder the SOJ directly to the mobo.

-- Jeff
I didn't see any 40 pin SOJ adapters for sale - just saw them beign referred to and also some images. If I do find any, I'll send you the link(s).
I think I'll have a go at redoing the DIP adapter. 4 layers and maybe look at sticking them on a very low profile card such as the ones Garth has previously referred to.
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Improving my PCB design

Post by plasmo »

Phoenix Enterprises has SMT SOJ sockets for sale at reasonable price.
https://www.peconnectors.com/index.php? ... j%20socket

The problem is they are SMT sockets, not through-hole sockets, so soldering can be tricky.
Bill
User avatar
banedon
Posts: 742
Joined: 08 Sep 2013
Location: A missile silo somewhere under southern England

Re: Improving my PCB design

Post by banedon »

Hi Bill
Many thanks for posting this. If I got for some, at least I know where to get them :)
User avatar
Michael
Posts: 633
Joined: 13 Feb 2013
Location: Michigan, USA

Re: Improving my PCB design

Post by Michael »

banedon wrote:
This means that it's a new project encompassing an emphasis on speed to see what I can get to. No practical purpose to it - just want to see if I can.
The only down side is that it's an addiction which is help empty my bank account :mrgreen: (oh, and perhaps that no one I know IRL actually being remotely interested :roll: :lol: ).
Is a multi-layer board that size very expensive? Could the essence of your design be squeezed down to fit onto a more economical double-sided 4x4" PCB?
Post Reply