4-layer board with part swaps

Hey everyone,
I'm just getting started on designing an OMAP3530 board as part of a
larger project for my senior design class. Right now, our main concern
is manufacturing. A 6-layer board with capped-off micro-via-in-pad
connections isn't going to fit into our production budget.

I've swapped the POP package for the CUS package, and I got the power
connections routed, as well as the NAND memory.

Two questions:
DDR RAM -- I've done limited high-speed routing before, so I was
pleased to see so much routing/topology information in the OMAP3530
datasheet. One unfortunate sentence caught my eye: "The minimum
stackup required for routing the OMAP35x is a six layer stack as shown
in Table 6-14."

I've got to keep the board to 4-layer design -- what extra percautions
should I take if I'm only going to have one ground plane?

I understand that fewer layers == bigger board, and we're not worried
about size. However, I know there are pretty tight specifics for
topology and positioning. Just curious if people have any experience
going OUTSIDE of those recommendations -- and how far we can go.

Second question: The TPS65950 is a lovely chip; but I can't route it
with 6-mil traces on a 4-layer board without micro via-in-pads, which
isn't going to happen. The TPS65930 is much more friendly to design
with, but doesn't have nearly as many LDOs. It looks like it wouldn't
have any problem supplying the three voltages (1.2, 1.3, and 1.8).
Without having to read 100 pages of datasheets and manuals, is there
anyone familiar enough with the beagleboard design to comment on if
the TPS65930 will be sufficient? Can I make up for the lack of LDOs
with additional external discrete ones?

Again, board size isn't an issue -- and power consumption isn't
critical, either.

Thanks for the help!

-J

If you are only going to have one power plane the board will most likely warp. These parts are lead free which means very high temperatures are required to flow the board. You need two planes equally spaced to keep the board from warping.

You also need to run the DDR traces over a ground plane. A four layer board will be tough to do unless you can minimize the other signals you need on the board, keeping the overall routing requirements down to where you can mix signals on the same layers. Six layers are specified in order to get all of the signals out.

Not knowing what your overall design looks like, it is hard to say if the TPS65030 will be enough. It is enough to power the OMAP3530 and does supply all of the rails needed. If you do need more LDOs, then yes you can add them. I would slave them off of the REGEN signal on the TPS65930 to make sure the power sequencingg is correct.

Gerald

If you are only going to have one power plane the board will most likely
warp. These parts are lead free which means very high temperatures are
required to flow the board. You need two planes equally spaced to keep the
board from warping.

Is it possible to do this (avoid warping) with just having copper
fills (grounded or supplied where possible) across the remainder of
the planes around the traces on trace layers?

Possibly. But it depends on the overall amount of traces on the inner layer. You would need layer 2 as the ground plane and layer 3 as this filled plane. If you can keep the number of traces down on layer 3, then you can fill the rest. You would need to watch the spacing between traces and the filled area to minimize added capicitance on the traces. You also have the added burden of the power runs as well. The will need to go somewhere. The more traces you add to layer 3 the less area for the power connections. There are very few high speed boards designed these days with without dedicated power and ground planes. Again, it depends on what the design looks like and how much space is needed for the etch runs,

Gerald

Jay,

I have done a design based on BB w/ Gerald & TIs assistance.
I used the CUS & 65930.
I was able to do this on a 4 layer board 2 sig + 2 plane.
I don't have the most robust test setup but all seems to be going
well.

This was done with 5/5 trc/spc and 8 mill drill for vias (no micro/
blind vias)

My design has dvi-d/hdmi, audio out, dual usb, 10/100 enet, serial hdr
(ext driver for debug)
microSD. Memory (LPDDR/NAND) uses the Micron POP 152 - .65mm pkg.

With careful layout you can meet most of the TI design requirements.
Their spec's are very, very conservative. Micron's spec's are quite a
bit looser and
that's mostly what I went off of.

So, it is possible but you will spend a lot of time on layout and
doing manual tweaking to get it right.

You may contact me directly, if desired, through my profile.

Gerald and CEinTX,
what's your advice for layer orders? Right now, I have Signal, Power,
Signal Ground. It seems like I'd want a ground plane to be on a
component side to reduce the number of vias for all the caps that run
from voltage to ground. If I moved GND to one of the inside layers, I
would have to essentially double the number of vias. Not that it
matters from a manufacturing cost, but I thought from a board design
perspective, less is best?

In addition, I'm having a hard time understanding that gray area
between the hardware and the software. For example, if I wanted to add
an outboard audio codec (say,
http://www.analog.com/en/audiovideo-products/audio-codecs/ad1939/products/product.html),
I understand I'd have to reroute the i2S lines to that chip to carry
the audio data. But I'd also have to put it on an i2C bus. So, what
would have to change on the software side? I didn't see any
BeagleBoard-specific audio drivers or anything. Obviously, the audio
section of the TPS65930 and the Analog Devices chip are very
different, which sounds like a difference that would be resolved in
the audio driver. I've done a lot of low-level hardware design with
big MSP430s, and a lot of high-level programming -- but nothing really
in the middle, and not anything this complex -- it's not entirely
clear where BeagleBoard ends and Linux begins... Can someone point me
in the right direction? This is a year-long class project, so I'm
going to soak in as much as I can.

Thanks for all the advice so far.

-J

It depends on a lot of different factors. There are more to layers than just the order. I would use:

1-Signal
2-Ground
3-Power
4-Signal

Gound is on layer 2 becuse all of the signals start on layer 1. It is rather hard to run those signals over ground when ground is layer 3.

Start by copying the Beagle design. Learn the Beagle design. Understnad th eBeagle design. Details ar eprovided in the System refeence Manual as to how it is designed and what each piece does. Then adjust from there to make your design. I2S is the audio path. The I2C is needed to control the chip’s intenral registers. You need both. If you use the TPS65930, you would nee dot change the seetings in the TPS65950 to bring the audio out different pins as some of the pins used on Beagle are not on the TPS65930… No CODEC changes will be needed.

Gerald

OK, I see what you mean -- I didn't know the signals had to run
DIRECTLY over a ground plane. Now I do.

And, yes, I understand the audio codec is controlled by the i2c bus
(where the audio data is streamed over i2s) -- but where is the code
the OMAP is executing to set-up the audio controller? Is it in the
firmware? Or is it the linux driver? (of which I can't seem to
find...) I want to see how easy it would be to leave the audio portion
of the TPS go unused -- and instead, route the audio through a
separate, discrete chip.

You're right -- the BeagleBoard reference manual outlines the hardware
very precisely; and it outlines the boot process. But anything higher
up than that it doesn't touch, and I can't seem to find a lot of
information on that.

As you are using the CUS package and need to use external DDR, all those signals need to run over ground and you have to have the right spacing between layer 1 and ground to keep the correct impedence.

The audio code is in the Linux distribution in the form of a driver. You will need to modify the driver fo rhte board. All code that runs on th processor is loaded from the SD card and contained in the Linux kernels and Uboot. You will need to dig into those areas to see how to make the change. There are other boards out there similar to beagle that use the TPS65930. You should be able to leverage those. If you choose to use another audio device, then you will need to modify the code to run on the OMAP and work with this new device which will be much more effort.

Gerald

Pardon me for interjecting and taking the discussion slightly off
topic. I would appreciate if some one could tell me what software you
would use to route the board connections. I used expresspcb before and
even for my small board, it was very difficult to properly route
everything. I can imagine the pain if I'm routing a chip like OMAP. Is
there some software that does automatic routing and then you get in to
verify it? If there is how much would such a thing cost me.

Thanks,
--Krishna/.

You have several options in this area, depending on how much money you have. The more you spend, the better the router. Beagle is done using Cadence Allegro. There are several other packages thta can do a good job. If you are accustomed to using Express PCB, it is safe to say that to use these other advanced tools, you have a lot to learn before you can get a board routed. You need tolook for a tool that can handle the .4mm pitch devices on Beagle.

Now, some of these tight areas are better off if they are hand routed. The routers, while good, don’t handle everything and sometimes they don’t do as good a job as doing it by hand.

Gerald

Gerald, Thanks for the reply

You have several options in this area, depending on how much money you have.
The more you spend, the better the router. Beagle is done using Cadence
Allegro. There are several other packages thta can do a good job.

Looks like, Allegro is some thing I can't lay my hands on as just an
enthusiast! Any alternatives?

If you are accustomed to using Express PCB, it is safe to say that to use these other
advanced tools, you have a lot to learn before you can get a board routed.
You need tolook for a tool that can handle the .4mm pitch devices on Beagle.

I would appreciate if you could elaborate on what I need to learn.
Learning is all I'm here for ... just show me the the door, I'll try
to walk through it...

Thanks,
--Krishna/.

Well, you need to learn how the program you select works. Where you set the spacing, grid, spacing rules, layers, etc. Every tool is a little different. Express PCB is nothing compared to some of the more elaborate tools out there. It is a totally different world.

You might try Altium. Supposedly there is a “free” version floating around out there, but I have no idea how or where to get it.

Gerald

I used the free version of Eagle mainly on curiosity - and it was
quite OK. But, of course, it is really very limited. Small two layer
boards only... To go to four layers you already have to pay a few
hundred...

siñ

Yes, that is the way it works with the free versions. PCB layout programs are not cheap. Now, one thing you could do is to use a module. Then layout the board to connect to the module. Depending on what you board has, I would think that Eagle might be able to handle it.

Gerald

2010/2/10 Seppo Nikkilä <seppo.nikkila@innovativeideas.fi>

Seppo Nikkil� wrote:

I used the free version of Eagle mainly on curiosity - and it was
quite OK. But, of course, it is really very limited. Small two layer
boards only... To go to four layers you already have to pay a few
hundred...
  

Or $125 if you qualify for their non-profit license.

In this case you'll get 4 layers and 100mm * 160mm. That's plenty of
routing space.

Cheers,

    Nils

How good is this Eagle software? I'll try the free version shortly and
see if I like it, but I would appreciate an expert's word on it as
well, if some one actually used either a standard or professional
version. This may be something I can finally afford to buy with the
non-profit license.

How would it compare with Allegro? I know allegro handled BB and
that's the only other sophisticated routing software I learnt about in
the last few days, so, it's a good yard stick for me.

--Krishna/.

Excellent idea Gerald!

To learn and practise Eagle usage I made a very easy 192 kS/s 24-bit
stereo DAC (PCM1792A) on a two layer expansion board using premium
quality amplifiers (six OPA211s) to find out if I can produce serious,
studio quality sound with beagleboard.

The board is the same 3.0" x 3.1" format and connects back-to-back to
beagleboard so I have easy access to all the components. The low-level
driver software is currently being written.

If it works well, maybe I try to integrate what I need from
beagleboard with the extension. If I go that way, I will surely buy
the professional version of the lay-out software. As beagleboard is
done with Cadence Allegro, it might also be the best choice for me?
Please advice,

siñ

Allegro is much more advanced. But, the question is what is good enough. The more complicated the layout, the better a router you need. We do a lot of our layout on OMAP by hand to get the escapes of the signals down and then route. So the question for a router is what is the smallest trace and spacing it can handle, how many layers it can handle, and if it is a true rip up and replace router… If you use the CUS package of OMAP, it is much easier to route and it is possible that the Eagle may be able to handle that. Another factor is how many signals from the processor are you using. The more you use, the more difficult the routing.

Gerald.

The professional edition of Eagle supports up to 16 signal layers plus
up to 14 supply layers - much more than what I need. Routing grid is
down to 0.8 mil. Switching between auto and manual modes worked
smoothly and the ripup&retry worked well for me - in my simple design.
And so did copper pouring. My free light edition was also stable and
fast enough for this small job.

Eagle has a built-in scripting language and a C derived user language.
They can be used to create import/export functionality but it is not
clear to me how much effort would be needed to import Allegro lay-out.
And what would be the easiest way to do it...