6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Sep 28, 2024 10:24 pm

All times are UTC




Post new topic Reply to topic  [ 143 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 10  Next
Author Message
PostPosted: Sat Jul 09, 2022 10:50 pm 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
hmm, that is interesting. so far every circuit i made for the ATF1508 with Quartus and POF2JED has worked perfectly fine.
maybe there is just something specific about your circuit that either Quartus or POF2JED is having issues with.

on a different note, i just noticed that because the SRAM is SMT i could in theory put one of the chips on the front of the PCB and the other below it on the backside, effectively halving the space required.
i already mirrored the address/data lines for one of the chips so placing them ontop of eachother should only have minimal crossings (besides the vias required to connect the bottom/top sides of the PCB of course)


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 10, 2022 8:35 am 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
Even without one of the SRAM ICs on the backside the whole thing still somehow fits into 10x10cm. but it is getting very tight.

Top right is the Power circuit, top left is the USB and PS2 stuff, bottom left is the clock circuit and Oscillator, and bottom middle/right has some buttons and the JTAG Header for the CPLD.
Middle has the expansion connector with the CPLD on the right (with RAM right below it) and the CPU, VIA, and ROM on the left.

Attachment:
kicad_ySfqJgft4L.png
kicad_ySfqJgft4L.png [ 436.52 KiB | Viewed 709 times ]


I'm not sure if this is possible to route though, i'll have to see.

I also need to reassign some pins on the Expansion Connector, as currently all the clock signals are near the top of the connector while the clock circuit is in the bottom left, so i'll move those pins closer to the circuit to hopefully keep the clock a bit cleaner.

And finally I gave up with the 3 spare PB pins i had from the VIA and just threw them on a small header. i doubt i'll use them for any expansion but i can imagine them being useful for debugging stuff with an Oscilloscope or logic probe.

thoughts on this layout?


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 10, 2022 3:29 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1110
Location: Albuquerque NM USA
Autoroutes should be able to route the board given fine pitch design rules like 6 mil trace and 6 mil spacing.

I’m interested in building your board. Shipping from Germany to USA is probably too expensive so I can order the pcb myself if you’ll release the artwork and schematics.
Bill


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 10, 2022 4:35 pm 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
I can throw the entire Kicad folder including the CPLD Logic (and a simple USB Bootloader) onto Github once the whole thing is done, ordered, assembled, and tested.

Freerouting (an Autorouter) has been sitting in the background of my PC for like +3 hours and it's currently trying to optimize away the vias, of which there currently are ~190 (it started at like 300).


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 10:42 am 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1041
Location: near Heidelberg, Germany
Wow autorouters have come a long way. I'd have expected for that layout to not even be routable due to the use of PLCC (that I find more difficult to route) and the general density.

Is this a 2 or 4 layer board?

_________________
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 11:18 am 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
i had to change some settings to make the autorouter less afraid of using vias so that it would route this at all, but afterwards it optimized away a pretty big chunk of them.

it is a 4 layer PCB, with the 2 inner layers used for 5V and GND. here a screenshot of it with only the top/bottom layers shown
Attachment:
pcbnew_OCCfOe4Tna.png
pcbnew_OCCfOe4Tna.png [ 633.15 KiB | Viewed 656 times ]

(and yes there is a smiley on the back silkscreen where the CPU socket is, because why not?)

I am basically ready to order the PCBs, which is both exciting and scary as any mistakes found after ordering them will hurt way more.
but i also kinda want to say "screw it", order them, and then just deal with the potential issues when i have it in my hands.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 6:54 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1041
Location: near Heidelberg, Germany
There are guides that actually advice against vcc and gnd as inner layers in a 4 layer board and use two gnd inner layers instead. It may work, I'm running 12.5MHz on a two layer board even...

_________________
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 8:38 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8520
Location: Southern California
fachat wrote:
There are guides that actually advice against vcc and gnd as inner layers in a 4 layer board and use two gnd inner layers instead. It may work, I'm running 12.5MHz on a two layer board even...

I have been catching on more and more to the fact that power & ground planes are often done wrong, and I have been listening (again) to a few industry-guru lecturers on this stuff, primarily Eric Bogatin, Rick Hartley, and Suzie Web, in an effort to find something to post that makes the case clearly without getting into boards with high layer counts that would make forumites turn glassy-eyed. I have some links at the bottom of my 6502 primer page on AC performance, but I want to improve it, whether that means adding more links (and I already took away one), or adding preview points to increase readers' interest in watching the videos or reading the articles, or whatever. I'm far from having "arrived."

I did edit a bunch of my past forum posts, based on new understanding from these. Regarding copper pours which I have been saying do not at all qualify as ground planes, I added: "There is a way to use pours to supplement real planes; but if they're not done correctly, they can actually make things worse, according to experts in the field like Rick Hartley, Eric Bogatin, and Suzie Web whose lectures you can see on Altium's YouTube channel."

The big problem with 4-layer boards with power and ground on layers 2 & 3 is that these two are normally the farthest apart, so there's .010" space between layers 1 & 2, .040" between 2 & 3, and .010" between 3 and 4 (Edit: See my post here for a better idea), and that for signals that run against the power plane and try to use it as a return path, that return current has a hard time jumping from layer 3 to layer 2 when a signal via goes from 4 to 1, and since there's not much capacitance between 2 & 3 to help, that return current has to go quite a ways out from the signal via to get enough area to make the transfer from one plane to the other, and that depending partly on what else is in the area, it can cause problems. Lower frequencies might seem to be less of a problem, but they also need more capacitance, so they have to go out even farther from the via to get the needed capacitance. Here Suzie Web illustrates it. It's about nine minutes starting at https://www.youtube.com/watch?v=cAh4RyQHjOo&t=4530s (cued up). I know I've seen a better one somewhere though.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 9:06 pm 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
fachat wrote:
There are guides that actually advice against vcc and gnd as inner layers in a 4 layer board and use two gnd inner layers instead. It may work, I'm running 12.5MHz on a two layer board even...

i'll just have to try and see, my previous 65C02 SBC ran up to 20MHz on a 2 layer board.
i'm only really using 4 layers because someone suggested it.
And because it's cheap enough and i never tried it, i thought why not?

GARTHWILSON wrote:
The big problem with 4-layer boards with power and ground on layers 2 & 3 is that these two are normally the farthest apart, so there's .010" space between layers 1 & 2, .040" between 2 & 3, and .010" between 3 and 4

That is very intersting, i had no idea they had different gaps between the copper layers, i thought all of them were the same distance from eachother. and your Numbers are pretty spot on for what JLC says. 0.21mm between layer 1 & 2 and layer 3 & 4, and 1.065mm between layer 2 & 3.

GARTHWILSON wrote:
and that for signals that run against the power plane and try to use it as a return path, that return current has a hard time jumping from layer 3 to layer 2 when a signal via goes from 4 to 1, and since there's not much capacitance between 2 & 3 to help, that return current has to go quite a ways out from the signal via to get enough area to make the transfer from one plane to the other, and that depending partly on what else is in the area, it can cause problems. Lower frequencies might seem to be less of a problem, but they also need more capacitance, so they have to go out even farther from the via to get the needed capacitance. Here Suzie Web illustrates it. It's about nine minutes starting at https://www.youtube.com/watch?v=cAh4RyQHjOo&t=4530s (cued up). I know I've seen a better one somewhere though.

hmm, with a target speed of 25MHz would that cause an issue here? and if i were to use 2 GND layers, then what about Vcc? it would need to be routed on the top/bottom layers like the signal lines, wouldn't that also cause problems with signals using it as a return path?
or this is more of a thing for much higher speed circuits like +100MHz and FPGAs and such?


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 9:38 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1041
Location: near Heidelberg, Germany
The good thing about the 6502 is, about the only high speed signal where transitions really matter is phi2. You can have Ax ring before phi2 high, as long as it -and derived select lines - are stable during phi2 high, everything's fine... similarly for the data lines at the end of phi2. (... duck and cover ;-) )

Edit: at least that is I think why we still get good results even with crappy board designs (explicitly including mine)

_________________
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 9:45 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1467
Location: Scotland
fachat wrote:
There are guides that actually advice against vcc and gnd as inner layers in a 4 layer board and use two gnd inner layers instead. It may work, I'm running 12.5MHz on a two layer board even...


16Mhz '816 on a two layer board here ...

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 9:45 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1041
Location: near Heidelberg, Germany
Proxy wrote:
hmm, with a target speed of 25MHz would that cause an issue here? and if i were to use 2 GND layers, then what about Vcc? it would need to be routed on the top/bottom layers like the signal lines, wouldn't that also cause problems with signals using it as a return path?
or this is more of a thing for much higher speed circuits like +100MHz and FPGAs and such?


The problem is not the clock frequency but the higher frequencies caused by the transitions. 25MHz can easily translate to 100s of MHz with fast logic with high switching speeds

My take is with two ground layers in between signals would try to use these as return path instead of the power on the same plane.
But if I understand it right, the two gnd planes would have to be coupled with lots of gnd vias to provide return paths for the signals crossing them

_________________
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 10:18 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8520
Location: Southern California
Proxy wrote:
hmm, with a target speed of 25MHz would that cause an issue here? and if i were to use 2 GND layers, then what about Vcc? it would need to be routed on the top/bottom layers like the signal lines, wouldn't that also cause problems with signals using it as a return path?
or this is more of a thing for much higher speed circuits like +100MHz and FPGAs and such?

Well, again, it's not the clock's fundamental frequency that's the problem. It's the fast rise and fall times of the transitions, coupled with long signal lines. Even if the clock rate is only 1MHz, 1ns rise and fall times means there will be frequency components up to around half a GHz. Fortunately the technology of the parts we on this forum are mostly using, coupled with relatively small boards and short(ish) signal lines, means most things built here do work. We continue to learn more about this matter of AC behavior, trying to stay ahead of parts getting faster and faster. At this point, if I were to use a 4-layer board with two plane layers and parts on only one side, I might go for the Vcc plane being on the back, so both signal layers are against the same ground plane. To get the benefit of two ground planes, you'd have to have a via connecting them right next to every signal via.

In a related field, I designed a MAX732 step-up switching voltage regulator into an aircraft intercom almost 30 years ago. It was pretty worthless on a breadboard but worked well on a PCB. A year or so after we put it into production, Maxim changed the process, without notice, making the switching edges a lot faster, and now suddenly we had a lot of boards we couldn't sell. The switching frequency was only 170kHz, but it was making noise in the 108-135MHz aircraft band, and this noise got into the cabling and into the radios. Another resulting problem was that the pulse width was not well controlled, and the jitter was quite audible in the earphones, as noise. I had to quickly come up with a rework to rescue those boards. It was difficult to get the production people to understand the importance of really, really short leads on capacitors. We were still doing thru-hole at the time. Here's part of what we had to do. This is the only picture I have, and I think the reason I took it was to show the production people how the leads on the capacitor underneath are still too long and need to be bent closer to the body:
Attachment:
MAX732capScab.jpg
MAX732capScab.jpg [ 43.43 KiB | Viewed 613 times ]
The challenge in SMPSs of course is the slew rate in amps, not particularly volts. Those capacitors are not new; they were on the PCB layout, 1/4" away, but that was too far, and we had to bring them closer and solder them to the leads of the IC to get rid of the problem.

My advice is to not get alarmed, nevertheless watch, not ignore, the developments as we continue to learn about this stuff. None of us have "arrived." As André said, the most important place to really keep your nose clean is the φ2 clock line. The rest take a back seat by comparison.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 11, 2022 11:48 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1110
Location: Albuquerque NM USA
Proxy wrote:
hmm, with a target speed of 25MHz would that cause an issue here? and if i were to use 2 GND layers, then what about Vcc? it would need to be routed on the top/bottom layers like the signal lines, wouldn't that also cause problems with signals using it as a return path?
or this is more of a thing for much higher speed circuits like +100MHz and FPGAs and such?

While W65C02 is 1970 computer technology, it is built with 0.6um process which was cutting edge technology in 1995 (75-120MHz Pentium released in Oct 1994 was based on 0.6um process). So yes, W65C02 is capable of very fast edge like a 100MHz part. Having said that, your design has dedicated power/ground planes, it is small 100mmX100mm, and you are using PLCC packages. Considering many of us had successfully experimented with DIP W65C02 on solderless proto board or large 2-layer PC board while running clock to mid-20MHz, your design have so many safety margins that I really don't think you should worry about it. Your layout picture looks good, you are good to go!
Bill


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 12, 2022 1:14 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8404
Location: Midwestern USA
fachat wrote:
There are guides that actually advice against vcc and gnd as inner layers in a 4 layer board and use two gnd inner layers instead. It may work, I'm running 12.5MHz on a two layer board even...

I've been doing the VCC and GND inner-layer stackup throughout my entire POC series (also, on projects that preceded the POC series). I've never seen anything in the behavior of any of those units that would suggest it's not a good combination. POC V1.2 runs stable at 20 MHz, and that is a 100 percent discrete design. That unit, in particular, has gotten a lot of probing with the scope to observe behavior. It is a quiet unit, with virtually no switching noise on either of the inner layers.

I think where problems are encountered are in units with inadequate bypassing. A properly-bypassed board will appear to be near zero impedance between VCC and GND at the speeds we run our stuff. Even when accounting for the effective frequencies associated with fast switching (in the hundreds of megahertz), good bypassing will often save the day.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 143 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 10  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 42 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: