Author Topic: How to even start routing this?  (Read 6852 times)

0 Members and 1 Guest are viewing this topic.

Offline Joanna_HTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: gb
  • Crazy nut case who loves to learn new things.
How to even start routing this?
« on: August 02, 2019, 06:39:50 am »
Hi all,

Was just wondering how any of you would even start to attempt manually route this rather crazy board?  I could just auto-route it (which does work.)

And yeah, not fully placed yet.....



Thanks for any advice.
 

Offline Joanna_HTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: gb
  • Crazy nut case who loves to learn new things.
Re: How to even start routing this?
« Reply #1 on: August 02, 2019, 06:42:10 am »
Forgot to say, it's a two layer board.
 

Offline martin1454

  • Regular Contributor
  • *
  • Posts: 95
  • Country: dk
Re: How to even start routing this?
« Reply #2 on: August 02, 2019, 06:52:05 am »
Forgot to say, it's a two layer board.

Good luck! it is possible, but will take time! I would start by doing the simple connections (the straight from U22 to U18 and so)
 

Offline Dubbie

  • Supporter
  • ****
  • Posts: 1115
  • Country: nz
Re: How to even start routing this?
« Reply #3 on: August 02, 2019, 06:56:47 am »
Just start.
 

Offline basinstreetdesign

  • Frequent Contributor
  • **
  • Posts: 466
  • Country: ca
Re: How to even start routing this?
« Reply #4 on: August 02, 2019, 07:12:32 am »
If I was asking this question then I would have to conclude that I wasn't finished placing it.  Placement generally takes more than half the total time.  Shoot for the lowest average trace length no longer than about 3/8 of a boards side dimension.  This is from Rents Reasoning.  See here:
https://en.wikipedia.org/wiki/Rent%27s_rule down the page under "Rentian wirelength estimation".

But a bigger question may be "Why only 2 layers?";  the cost jump from 2 to 4 layers is not that bad anymore.  Getting rid of the power and ground distribution from the signal planes is easily worth the cost.
« Last Edit: August 02, 2019, 07:14:15 am by basinstreetdesign »
STAND BACK!  I'm going to try SCIENCE!
 
The following users thanked this post: rs20

Offline maginnovision

  • Super Contributor
  • ***
  • Posts: 1966
  • Country: us
Re: How to even start routing this?
« Reply #5 on: August 02, 2019, 07:16:34 am »
If I wasn't sure how to start I'd probably start by running the auto-router through multiple configs to get a basic idea of how it'd manage it and then do it myself. First, you need to finish the layout. Like basin I would recommend 4 layers. It's somewhat compact and the IC's are flipped all over which might make it pretty tough.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 21225
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: How to even start routing this?
« Reply #6 on: August 02, 2019, 07:20:16 am »
You don't indicate the class of IC use are using...

If that will be a 2-layer digital board, the power supply will be critical; get it wrong and you will forever be chasing intermittent bugs.  So:
  • choose sensible positions for the ICs
  • put decoupling capacitors nearby
  • put down a grid of 0V and Vcc rails, horizontal between the ICs's pins in one direction, vertical at both ends of those rails
  • connect decouplers directly to the ICs pins; easy if you have done the previous part
  • add in the signal wires, horizontal on one side of the PCB, vertical on the other
  • add in extra ground connections wherever possible
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: nctnico

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 15151
  • Country: de
Re: How to even start routing this?
« Reply #7 on: August 02, 2019, 07:21:38 am »
The placement of the chips can be quite important to simplify the layout. Another point is to check which signals are important - even with digital signals ground can be important.
I would start routing the critical lines like ground - at least to a first approximation.
The next part are than the difficult areas, as this may require getting more space / moving other parts.

With 2 layers and so many parts one likely has to follow the general rule of 1 layer preferred horizontal the other vertical.

40 MHz suggest that there will likely be EMI problems as a 2 layer board.
 

Online jbb

  • Super Contributor
  • ***
  • Posts: 1265
  • Country: nz
Re: How to even start routing this?
« Reply #8 on: August 02, 2019, 07:28:21 am »
basinstreetdesign is right. Placement will be critical for a board like this - there are a lot of signal lines and you could get really tangled up.

It’s going to be hard on 2 layers. I think you may need to pursue a routing strategy. For example, a classic approach is to go east-west on one layer and north-south on the other. Having SMT chips will help there.

For reliable operation - or anything like FCC certification - you’ll need to pay close attention to ground connections and decoupling capacitors. Every signal current will try to return to be origin somehow and it’s best if that goes through a short ground plane. A four layer board would help a lot.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 21225
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: How to even start routing this?
« Reply #9 on: August 02, 2019, 07:32:03 am »
The placement of the chips can be quite important to simplify the layout. Another point is to check which signals are important - even with digital signals ground can be important.
I would start routing the critical lines like ground - at least to a first approximation.
The next part are than the difficult areas, as this may require getting more space / moving other parts.

With 2 layers and so many parts one likely has to follow the general rule of 1 layer preferred horizontal the other vertical.

40 MHz suggest that there will likely be EMI problems as a 2 layer board.

Agreed, but I'll note two points:
  • "even with digital signals ground can be important" is an understatement
  • a 40MHz clock sets a lower limit on the transient and EMI issues; the logic families' transition time is a key consideration
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Joanna_HTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: gb
  • Crazy nut case who loves to learn new things.
Re: How to even start routing this?
« Reply #10 on: August 02, 2019, 07:54:02 am »
Thanks for all the replies, wow I have a lot to think about...
 

Offline Unixon

  • Frequent Contributor
  • **
  • Posts: 400
Re: How to even start routing this?
« Reply #11 on: August 02, 2019, 07:56:43 am »
1) Make best possible placement. I see whole busses running between ICs from one end to another. This is bad, try putting these ICs with individually wide connections next to each other, so that a lesser number of signals would have to run long distances. Traces eat board space very badly, you can save a lot of it with a good layout. By the end of step (1) it may already become obvious how to route a board, because you will know what places you were trying to make traces run through.
2) First route traces that you're better know how to, do short traces. For long traces route only end segment near IC, not the whole length.
3) Next route traces that you have less good idea of how they should run, and again, start from both ends and join in the middle.
4) Finally, solve routing problem for the few most difficult traces with a lot of side switching and snaking around.

The idea about this approach is that it is much easier to route the board moving along uncertainty gradient: start from places where uncertainty is next to zero and you absolutely sure how things must be, then gradually move to places where you have not a slightest idea of if it even possible to do. The trick is, at the end of this path, not much of a ratsnest will survive the routing. Have fun with it.
« Last Edit: August 02, 2019, 08:07:23 am by Unixon »
 

Offline Joanna_HTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: gb
  • Crazy nut case who loves to learn new things.
Re: How to even start routing this?
« Reply #12 on: August 02, 2019, 07:57:04 am »
To answer the other questions, this is a simple SVGA 800x600@60Hz Graphics display.  It's a module that I've been putting together to go with a load of other modules I'm creating to make a watch as it works CPU, variable speed up to a max of 1Mhz.   The 40Mhz is required due to that being the specification for the video out.   99% of the logic is standard 74 series, when not it's all TTL compatible outputs, all running at 5V.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29810
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: How to even start routing this?
« Reply #13 on: August 02, 2019, 08:15:03 am »
Others might have a different approach but I always start PCB layouts with the schematic sheet on the next monitor and visualize breaking the circuit into functional blocks then to lay the components for each block together in little groups in a way that they might each Autoroute OK. Some things are set in stone like I/O sockets and the like so place and lock them and jiggle around with the remaining.
Then you have each little groups rat nest connections and then select each group in turn and move them around and keep a watch for routing paths to be plainly seen that might allow all the little functional blocks to be linked together. When you get/find a layout that might work Autoroute it and look for what needs improving for signal integrity or whatever.
Lots of Autoroute/UnAutoroute trial and error will find a way that works that can be further tweaked to get a good looking layout.
 
Good luck and be prepared to put real time in for a good job.
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Offline Ice-Tea

  • Super Contributor
  • ***
  • Posts: 3229
  • Country: be
    • Freelance Hardware Engineer
Re: How to even start routing this?
« Reply #14 on: August 02, 2019, 08:21:13 am »
Take the advice of others.. Go to a 4-layer board. If this is a paying job, the extra cost will be offset easily by the saving of labor and the probably saving of a respin because of performance/EMI issues.

Use a calculator from a local (Eurocircuits or somesuch) or an offshore supplier (such as PCBway) and you'll soon figure out in most cases going 2 layers just isn't worth it..
 

Offline Joanna_HTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: gb
  • Crazy nut case who loves to learn new things.
Re: How to even start routing this?
« Reply #15 on: August 02, 2019, 08:24:55 am »
Take the advice of others.. Go to a 4-layer board. If this is a paying job, the extra cost will be offset easily by the saving of labor and the probably saving of a respin because of performance/EMI issues.

Use a calculator from a local (Eurocircuits or somesuch) or an offshore supplier (such as PCBway) and you'll soon figure out in most cases going 2 layers just isn't worth it..

Yeah, I'm starting to think 4 layer may be the way to go.... lol
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 21225
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: How to even start routing this?
« Reply #16 on: August 02, 2019, 08:27:53 am »
To answer the other questions, this is a simple SVGA 800x600@60Hz Graphics display.  It's a module that I've been putting together to go with a load of other modules I'm creating to make a watch as it works CPU, variable speed up to a max of 1Mhz.   The 40Mhz is required due to that being the specification for the video out.   99% of the logic is standard 74 series, when not it's all TTL compatible outputs, all running at 5V.

The 1MHz is completely irrelevant[1] - all that matters is the transition time, which can be <5ns for old school TTL. That corresponds to significant frequency content at >100MHz.

Ground bounce is a real problem due to the low VIL spec of TTL and the currents in switching transients. A good gridded ground is the only way to minimise the consequences.

[1] for a canter through the theory, plus some practical measurements, see https://entertaininghacks.wordpress.com/2018/05/08/digital-signal-integrity-and-bandwidth-signals-risetime-is-important-period-is-irrelevant/
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 21225
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: How to even start routing this?
« Reply #17 on: August 02, 2019, 08:33:09 am »
Take the advice of others.. Go to a 4-layer board. If this is a paying job, the extra cost will be offset easily by the saving of labor and the probably saving of a respin because of performance/EMI issues.

Use a calculator from a local (Eurocircuits or somesuch) or an offshore supplier (such as PCBway) and you'll soon figure out in most cases going 2 layers just isn't worth it..

Yeah, I'm starting to think 4 layer may be the way to go.... lol

If you do, make one layer a solid ground plane and another a solid Vcc plane. If they are inner planes then it is easier to probe and modify signals. If they are outer planes then EMI problems will be minimised. Choices, choices :)

Be aware of the maximum length of a track before it has to be treated as a transmission line. With old school TTL (e.g. LS, ALS) you will probably be fine, but modern jellybean logic is a different kettle of fish  (e.g. 74lvc1g* is <1ns, I've measured 300ps)
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Joanna_HTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: gb
  • Crazy nut case who loves to learn new things.
Re: How to even start routing this?
« Reply #18 on: August 02, 2019, 08:58:03 am »
I thought I'd autoroute it just to get a feel of what I've let myself in for......



4 layer board, internal gnd/power planes and top/bottom signal.

I think my head is going to really hurt with this one.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29810
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: How to even start routing this?
« Reply #19 on: August 02, 2019, 09:04:49 am »
Oh and I forgot, for dual, triple, quad and hex packages don't forget you can reassign gates to make routing easier.
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Offline KE5FX

  • Super Contributor
  • ***
  • Posts: 2096
  • Country: us
    • KE5FX.COM
Re: How to even start routing this?
« Reply #20 on: August 02, 2019, 09:07:56 am »
Don't bother with a power plane.  Use an unbroken ground plane on one of the inner layers and use the other three for routing.  Leave the ground fill intact on those planes (edit: and ground it, don't leave large islands of unconnected copper lying around.)
« Last Edit: August 02, 2019, 09:13:51 am by KE5FX »
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22436
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: How to even start routing this?
« Reply #21 on: August 02, 2019, 09:26:06 am »
Consider enlarging the board, or using TSSOP devices (which I guess at this speed, should be 74HC for some, and AC or LVC when needed?).

While it's usually possible to route a board with minimal space left between components, it's not a pleasant option.  Expect to commit about half the area to routing.  Routing as highways and streets may be helpful: make small blocks of tightly coupled components, then arrange those blocks near each other according to their connections, and so on hierarchically until done.  For each step, leave a gap between blocks, proportional to the size of that block.  That way you end up with one big gap down the middle of the board (where long distance signals and buses can be routed), smaller gaps feeding that, and smaller gaps feeding those.  You always have enough room to route an average number of signals this way.

Don't be afraid to rip up and try again.  Swap gates, swap components between blocks, swap blocks.  Adjust boundaries (the blocks probably won't be exactly the same sizes, after all, making this fractal concept a lot uglier in practice).  Adjust priorities (which signals take the "right of way" as it were, with the least interruptions / bends / vias), and adjust routes (take a different "street" around this or that block, etc.).  Adjust positions again to shove components closer, taking up what free space is left.

If you're still new at this, just one go at the layout may take weeks; seasoned, days.  Don't be discouraged; even a rip-up is still learned experience, whether in using the tool, or in understanding the relationships between components and pins.

Board outline -- if you're stuck to a particular board size, consider using riser boards, or stacking.  Same block-oriented concept, put stuff behind connectors of modest size.  (BTW, alternate signal and ground in a one-row header, or assign one row of grounds in a two-row header.)  Or, synthesize all the damn logic in an FPGA and be done with it a lot sooner. :P  (Again, providing one has the experience; if not, expect to spend a few months learning what VHDL or Verilog is, and how to use it.)

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline NivagSwerdna

  • Super Contributor
  • ***
  • Posts: 2507
  • Country: gb
Re: How to even start routing this?
« Reply #22 on: August 02, 2019, 09:28:31 am »
I thought I'd autoroute it just to get a feel of what I've let myself in for.....
That doesn't look too shabby. Which PCB tool did you use for the autoroute?
 

Offline Joanna_HTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: gb
  • Crazy nut case who loves to learn new things.
Re: How to even start routing this?
« Reply #23 on: August 02, 2019, 09:32:55 am »
Consider enlarging the board, or using TSSOP devices (which I guess at this speed, should be 74HC for some, and AC or LVC when needed?).

While it's usually possible to route a board with minimal space left between components, it's not a pleasant option.  Expect to commit about half the area to routing.  Routing as highways and streets may be helpful: make small blocks of tightly coupled components, then arrange those blocks near each other according to their connections, and so on hierarchically until done.  For each step, leave a gap between blocks, proportional to the size of that block.  That way you end up with one big gap down the middle of the board (where long distance signals and buses can be routed), smaller gaps feeding that, and smaller gaps feeding those.  You always have enough room to route an average number of signals this way.

Don't be afraid to rip up and try again.  Swap gates, swap components between blocks, swap blocks.  Adjust boundaries (the blocks probably won't be exactly the same sizes, after all, making this fractal concept a lot uglier in practice).  Adjust priorities (which signals take the "right of way" as it were, with the least interruptions / bends / vias), and adjust routes (take a different "street" around this or that block, etc.).  Adjust positions again to shove components closer, taking up what free space is left.

If you're still new at this, just one go at the layout may take weeks; seasoned, days.  Don't be discouraged; even a rip-up is still learned experience, whether in using the tool, or in understanding the relationships between components and pins.

Board outline -- if you're stuck to a particular board size, consider using riser boards, or stacking.  Same block-oriented concept, put stuff behind connectors of modest size.  (BTW, alternate signal and ground in a one-row header, or assign one row of grounds in a two-row header.)  Or, synthesize all the damn logic in an FPGA and be done with it a lot sooner. :P  (Again, providing one has the experience; if not, expect to spend a few months learning what VHDL or Verilog is, and how to use it.)

Tim

Hehe, the challenge was to attempt to do it with 74 series, lol.
 

Offline Ice-Tea

  • Super Contributor
  • ***
  • Posts: 3229
  • Country: be
    • Freelance Hardware Engineer
Re: How to even start routing this?
« Reply #24 on: August 02, 2019, 09:41:06 am »
Don't bother with a power plane.

But... Why?? Do you hate power integrity? Do you appreciate high frequency noise? What? This will easily fit on 4-layers with GND and PWR planes.. Why not do it 'right'?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf