6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 21, 2024 1:34 pm

All times are UTC




Post new topic Reply to topic  [ 150 posts ]  Go to page 1, 2, 3, 4, 5 ... 10  Next
Author Message
PostPosted: Tue Jan 03, 2012 7:15 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
I'm not an expert, but here's a thread to collect expertise...

We've seen comments about how anything up to 1MHz is fine on a breadboard, maybe a bit more. But WDC's chips are specced up to 14MHz and can go higher, and FPGA designs can go at 50MHz with older 5V parts and over 100MHz with newer 3V parts.

What are the considerations for a working circuit at progressively higher speeds? Here's my take:
- bypass capacitors near all power pins of all chips
- preferably use a ground plane (consider the return current path for each signal, and minimise the area enclosed by the whole path because it is an antenna)
- certainly fat power wiring (possibly in a star topology?)
- signal traces should be direct, and short (place components near each other)
- signals should be well spaced if possible
- signals should be interleaved with grounds (in cables and connectors) or should be close to the nearest ground
- can often consider a power rail as a virtual ground
- avoid sharp bends and overshoots: clip wire ends back to the pins

I can't see that there can be any hard limits as to which clock speeds mandate how much care you need: you only need to take enough care to make the circuit fit for purpose(*). Take too little, and it will let you down. Take too much and the project is harder than it needed to be. Therefore all the above rules are qualitative.

Cheers
Ed

(*) The Apollo Guidance Computer clocked at 2MHz. It absolutely had to work, for PR and for human lives. A one-off hobby machine, not so much.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 03, 2012 9:48 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Thanks for starting this Ed. There have been a lot of posts on this in the past, usually because the subject came up in topics whose name wouldn't give it away, but it might be good to even make this a sticky, as an index to these.

Answering PCB-design questions: viewtopic.php?p=16618#16618 (There are some other good links there too.)

viewtopic.php?p=10955#p10955 shows a chainsaw line in a ground plane (although this one has analog and a switching power supply, not digital logic). Traces normally must not cross the chainsaw line except right near the small point that the ground planes are connected to each other.

about bus terminations: viewtopic.php?p=33837#p33837 and the posts around it

About getting good performance with wire-wrapped boards: viewtopic.php?p=8074#8074 (and page 1 of that topic shows some wire-wrap tools) Edit: viewtopic.php?p=17084#p17084 shows WW board with a ground plane which is essential to higher-speed operation. I definitely recommend using at least a ground plane on one side like Twin Industries' 8100-series protoboards (see this page and click on "8100 Series Plated Through Holes - Single Power/Ground Plane"), if not also a Vcc plane on the other side like Twin Industries' 8200-series protoboards (see the same page, and click on "8200 Series Plated Through Holes - Dual Power/Ground Plane") and keep parts as close together as possible and wire-wrap wires as short and straight as possible without straining them.

BTW, a lot of newbies want to run the processor's own buses off the board onto a backplane or to other boards that plug in. This makes it far more difficult to get good performance though, and usually lowers the maximum operating frequency, a lot. I have found it is better to go through I/O ICs like the 6522 VIA for anything that's not on the same board. Doing this generally preserves the performance more than enough to offset the loss of being able to directly read or write other ICs that are not on the same board. This is also related to my constant encouragement to take advantage of the thousands of synchronous-serial ICs on the market, primarily SPI (and especially taking advantage of our 65SIB spec.), I²C, and Microwire (which is very similar to SPI and can be put on the 65SIB). SPI can be handled at high speeds through Daryl's 65SPI chip (not to be confused with 65SIB which is the super-flexible interface method). Bit-banging SPI is very easy, and although slower, is still plenty fast for most uses. For the things that need the very fastest access like maybe video, put it on the same board with the processor. SPI can be almost as fast, and I²C which is slower but nearly the least work to hook up is good for things that don't need as much speed or don't transfer much data, an example being a digital temperature sensor or real-time clock or keyboard scanner which isn't going to change readings thousands (let alone millions) of times per second. These serial parts make a project far more manageable, since there are so few connections to make. Otherwise you begin to realize you may not live long enough to carry out the project you had envisioned.

Well known lecturer Dr. Howard Johnson, an industry guru in matters of high-speed digital design, says in one of his many articles in EDN magazine that he's seen engineers trying to figure out why their new design wasn't working, barking up all the wrong trees when the real problem turned out to be that the clock signal was not clean enough. The "clock circuit" involves the clock signal distribution, not just the oscillator. He's always talking about factors affecting multi-GHz digital designs; but most of the same things can bite at a few MHz with wire-wrap if the layout and construction are not good and the parts are too fast for it.

If you want to get into this kind of thing, you have a lot of studying to do on high-speed digital design. Dr. Howard Johnson has a lot of resources available on it. Start at https://web.archive.org/web/20120302190 ... eyword.htm

Johnson has a good book out called, "High-Speed Digital Design: A Handbook of Black Magic" published by Prentice-Hall. His materials are generally more math-intensive than most of us on this forum need to go, but it is helpful to be aware of the effects that can cause the pitfalls he talks about. Some of the phenomena he addresses at hundreds of MHz on mostly well designed multilayer boards can bite us below 20MHz with wire-wrapped circuits; so no, it's not irrelevant.

Edit: There's a brief article on avoiding AC-performance problems in my 6502 Primer, at http://wilsonminesco.com/6502primer/construction.html. (Some of that info is in this topic, but you should find some additional helpful material there.)

Edit: There are links to Dr. Johnson's short articles on bypass-capacitor choice and layout at viewtopic.php?f=10&t=2247&p=24906#p24906.

Edit: Related, Jeff Laughton (Dr Jefyll) has animated visualizations of timing margins here. These excellent, drawn-to-scale (unlike most in data sheets) .gif's help understand what timings are constant and what varies with clock speed. Discussion about them is in the forum topic here. He also has improved to-scale timing diagrams for 14MHz 65816, including for understanding to help prevent bus contention at changes in data direction which can happen twice per '816 clock cycle.

Edit, 8/8/17: This post has more explanation of the effect of transmission lines and mutual inductance, with a couple of illustrations. It should help in board layout, making good pin assignments in connectors, etc..

_________________
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?


Last edited by GARTHWILSON on Wed Jan 25, 2012 8:20 am, edited 3 times in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 03, 2012 10:00 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Thanks for the info and for all those links!

I'd like to add (another) recommendation for http://electronics.stackexchange.com - in this case, perhaps this is a good example, which recommends Johnson's book and contains a lot of detail besides. The 'tags' are useful for finding related Q+As.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 03, 2012 10:47 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Another post there recommends Eric Bogatin's book - some of which can be read as a preview on Amazon, enough in fact to give some idea of what the issues are, why they arise and why they are a problem.

Edit: Douglas Brooks also has a recommended book, and many articles online

Edit: fixup dead links


Last edited by BigEd on Sun Aug 11, 2024 6:00 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 03, 2012 11:01 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
GARTHWILSON wrote:
...About getting good performance with wire-wrapped boards: viewtopic.php?p=8074#8074 (and page 1 of that topic shows some wire-wrap tools)...

When I got back into WireWrapping a couple years ago, I remember looking for a WW gun. One similar to the one I'd used over 20 years ago (my dad had one lying around). Most prices of 120V guns were and still are $150+ if one does a simple Google search. I refused to pay that. So I decided to dig up some info now and share the model that I had bought for <$30. I was very happy with what I got and wonder to this day how some of these other mainstream distributors get away with charging so much more for the same product.

For those interested in starting to prototype their projects in Wire Wrap, Search EBay for: Gardner Denver wire wrap
You'll see some guns for cheap...
You'll also have to buy some appropriate gauge sleeves for the size wire you're using, not to mention the wire. I would also recommend a pair of fine tipped wire cutters, and an un-wirewrap tool.

If any of you have started out your projects using soldering/breadboard methods and switch to WW, you will see why more than one of us recommend wirewrapping for high speed prototyping!

Here's another thread worth reading through about WW adapters if you get deep enough into a WW project and you have to use today's SMT technology.

EDIT: I almost forgot to mention the wire strippers. Since it's not to easy to manually strip off insulation from 30AWG wire, they make automatic ones and they're not too expensive. The one I bought a couple years ago off of Ebay is called a Stripmaster, and precisely removes about 1 inch of insulation from 22,24,26,28,30AWG WW wire. It does not 'dig' into the conductor.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Jan 04, 2012 7:13 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
If you come across any sources of wire-wrap PLCC sockets, let us in on the secret. The sources seem to have all dried up. I have all I'll probably ever need, but I don't know where to direct anyone to find more now. They need to have the same small footprint as a regular PLCC socket, not having a huge PC board like this:
Image
which defeats the purpose of size and high-speed signal integrity! (This one is not WW, but the only WW PLCC sockets I've seen in a few years work like this one.)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Jan 04, 2012 8:00 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Nope, I've never seen PLCC adapter sockets without the PC board adapter...

Why not just tear apart some old WW socket/s to get at the WW pins individually and then mount them on the PLCC socket?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Jan 04, 2012 8:27 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Ok, I took a picture of one of mine, a 44-pin, from Aries (although they no longer supply it):
Image
It's no bigger than a standard thru-hole one.

[Edit, 1/21/13: BigEd just pointed us to a source that stocks them: http://uk.rs-online.com/web/c/?searchTe ... ra=oss&r=t Link still good on 11/16/21 ]

_________________
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  
 Post subject:
PostPosted: Wed Jan 04, 2012 5:09 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
Let me add this link of a conversation between me and the Commodore 128 hardware designer Bil Herd to this list: http://www.6502.org/users/andre/icaphw/design.html
It talks about DRAM and other timing- and power supply issues.

André


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 04, 2012 7:13 pm 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
I was reading about breadboard limitations and wanted to give the links that may be a benefit. They think that there is a 50 MHZ limitation.

http://dangerousprototypes.com/2011/12/ ... mitations/

http://dangerousprototypes.com/forum/vi ... 210#p31532


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Jan 04, 2012 7:29 pm 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
We should compose a list of prototyping methods and their limitation.
Like: Point to point soldering on perfboard, ww, ect...
I an interested what is the max frequency possible when using point to point soldering on perfboard(because i use it mostly).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Jan 04, 2012 8:52 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
The top-end frequencies will depend on too many things to just assign a rule-of-thumb number. Point-to-point wiring will not be as good as wire-wrap though, because the parts have to be farther apart to give good access to the pins to solder, which makes the wires longer, and the wires have to be arched so you can move them around to make subsequent solder connections, making the wires even longer. This adds inductance. OTOH, a simple circuit on a 2" square board with point-to-point wiring will have less trouble than a complex wire-wraped one that's 6" or more across the component area. In both cases, a ground plane is important to getting good behavior into the highest possible operating speeds. A second plane layer for Vcc is an added bonus. You can get both in perfboards with holes on .100" centers, as I just added in my first post above, with links to Twin Industries (which is much cheaper than Vector). See this page and click on "8100 Series Plated Through Holes - Single Power/Ground Plane"), or for having also a Vcc plane on the other side like Twin Industries' 8200-series protoboards, see the same page, and click on "8200 Series Plated Through Holes - Dual Power/Ground Plane."

http://twinind.com/index.php/products/p ... ound-plane
Image

_________________
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  
 Post subject:
PostPosted: Wed Jan 04, 2012 10:34 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Dajgoro wrote:
We should compose a list of prototyping methods and their limitation...

Why bother put yourself/or anyone else through that?
You'll hit a brick wall at some point in your project and it is guaranteed to involve more than 1 variable using your soldering technique.
Just in case you/or anyone else hasn't read the wiki for wirewrap, it is some good reading. This is all I have to offer on this topic.

Good Luck

P.S. Don't let that lead get to your head!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Jan 05, 2012 8:37 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Dajgoro wrote:
Quote:
3. Why all modern computers have coils in the power supply?


I forgot to mention on which coils i was referring to. I saw in lots of schematics coils located near the cpu itself, and in the voltage regulator circuit.


See this pdf on power supply design


Attachments:
psubypass-small.jpg
psubypass-small.jpg [ 9.25 KiB | Viewed 135668 times ]


Last edited by BigEd on Fri Dec 13, 2013 3:53 pm, edited 2 times in total.
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Jan 06, 2012 5:13 pm 
Offline

Joined: Wed Jan 04, 2012 9:02 pm
Posts: 65
Hi.

I don't have any proper recommendations, just my own experiences...

I find 74LS to be more reliable than 74HCT on breadboard. I think the HCT tend to have a faster rise/fall time which causes more noise on supply lines which tend to be daisy-chained over many connections when powering chips on breadboard. The vertical contact nature of breadboards make good capacitors between tracks at high frequencies/fast rise times :cry:

I've got CPUs (Z80's mainly, but applies to most, I would have thought) running at 10MHz or so on breadboard without much issue, though.

It is possible to do a large computer design on breadboard, though with regular decoupling.
Here are a couple of my breadboarded computers...
http://home.micros.users.btopenworld.com/cpm/index.htm
and
http://home.micros.users.btopenworld.co ... mClone.JPG
The spectrum clone shown above used HCTs and was a pain to get working reliably. You can see in the photo where I connected the power. If I moved the power connections to some other areas of the board then it would crash.

I've also done 6502 computers on breadboard, but admitidely at lower speeds.

CPLD (in adaptors) seems very unreliable on breadboard - they have fast switching and are therefore prone to short spike noise from adjacent tracks.

I've tried a sheet of aluminium under the boards connected to Gnd with no clear difference in reliability.

Regards.


Grant.


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

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 12 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: