Feedback on my board layout

This is my 2nd ever attempt at a layout and my first at a 4-layer one. I'm looking for some feedback because I'm sure I made some mistakes somewhere. It's not really a high-speed board, I'd be happy with 500kHz to 1MHz in performance as the speed of the electronics isn't the limiting factor.

Some info about the board: This is a wiring harness continuity checker. A test-vector is passed to the output banks and read back from the input side. The output has MOSFETs for buffers and the input has TVS diodes for ESD protection. U1 and U3 are Altera CPLDs and U5 is an AT Mega 128L. The connector towards the right is for a 6" 320x240 monochrome LCD. The chips between that connector and the uC are for level-translation. They may not be needed but that's something I need to test.

Each chip has 0.1uF X7R caps for every Vcc/GND pair. There's also 47uF bulk capacitance (tantalum caps) for each CPLD and finally 1000uF caps. Power is not going be regulated on this board - instead, that's a seperate PCB which regulates 1.8V, 3.3V and 5V. All regulators are linear. The power connector is polarized so there's no chance that 1.8V can be plugged into 3.3V or into Gnd.

It's not obvious from the picture, but the ground plane and the Vcc plane are completely unbroken. There are no traces going through them and I'm hoping this will help in performance. There are two buses on the board, SPI and JTAG. Both of these buses have non-inverting buffers and termination resistances in order to not have reflections as they go to multiple devices.

What do you think guys? I'm supposed to have this ready by Monday and I just have to add an oscillator and that's about it. I think I'm done unless there's a major change I have to make. Would really like opinions regarding the layout. Here's a view in 3D to give some perspective:

Interesting stuff. :)

Will a harness bring power to this board? Why not have a single connector to bring all voltages to this board?

Where do you plan to get the SMD pick and place soldering done?

DB37 connectors... 74 inputs and 74 outputs. For the sake of curiosity, where are the harnesses being used? And what is BEL?

What is the order of layers? Top, ?, ?, Bottom.

P3 is the single connector that brings 3.3V, 1.8V and GND to the board. More on this later.

No idea about the SMD pick and place. The first board I'd like to assemble step by step to ensure there are no issues. Then I'll ask here for SMD. I believe Ijaz Ahmad mentioned he does some, so I'll be glad to work with him. :)

BEL is Bahawalpur Engineering Limited. :) Please see: http://www.ayenbee.com/

The harnesses, which we manufacture, are used in automobiles. We do further testing for resistance and such separately but this is just a continuity/short-circuit checker.

Order of layers:

Top - Signals

Internal Layer 1 - GND

Internal Layer 2 - 3.3V

Bottom - Signals

Regarding power - I'm thinking it maybe better to put regulators on the board and then use a wall-wart to put in power. This would help with the noise and a cheap linear regulator can do a lot.

P3 only has two contacts...?

I am a bit surprised that insulation testing is not integrated though it will further complicate the circuit. Stray voltages can be a b!tch to diagnose. :angry:

Is 1.8V not used extensively enough that it is not present in layer 3? Are you routing just tracks for power and GND on layers 2 and 3 or using copper pour?

Which Altera CPLDs are in use here?

Oh I'm so sorry, I meant P2 but said three P3.

The highlighted trace is 1.8V. As you can see, it only goes to the Altera CPLDs and only to two pins. Hence, I felt a dedicated plane wasn't needed.

Gnd and 3.3V layers are complete solid pours. Every device except the LCD requires 3.3V on the board. Hence, a complete plane has been very helpful in reducing the number of traces and the resultant impedance. Here's an example of how I'm connecting the decoupling caps to 3.3V and Gnd. Does this answer your question? :)

EDIT: The board utilizes Max V 5M240ZT100C5N.

Not sure why I am unable to see the images. I just see the text "Posted Image" and after click, it never opens :(

I will comment later when I am able to see the images

Are you able to open these links?

1) http://i.imgur.com/Hp4Cu.png

2) http://i.imgur.com/ByODk.png

Unable to connect - Firefox can't establish a connection to the server at i.imgur.com.

Probably some problem with my internet connection, will try later.

Makes sense. :)

[quote="PsychedelicBreakfast, post:3, topic:16094"]

Regarding power - I'm thinking it maybe better to put regulators on the board and then use a wall-wart to put in power. This would help with the noise and a cheap linear regulator can do a lot.

[/quote]

It will also reduce cost on the other PCB.

Do you guys think a switching regulator would do OK? It's almost impossible to integrate a linear one in my design because of the heat. I'm interested in switching regulators but I'm concerned about their noise.

What is the input voltage to the regulator? Outputs would be 3.3V and 1.8V so have you considered dual output regulators? What are the dissipation figures which you are currently looking at?

You have an entire ground/Voltage plane to take the heat.Why not use it?

In a device which was to be used in the outdoors (in temperatures up to 50 degrees Celcius), I recall using a linear HV regulator to drop 60VDC i/p voltage to 5VDC o/p voltage. The current needed on the 5V bus was very low so it worked out well. In the same circuit, I used an HV switching regulator to drop 60VDC to 2.5VDC where a higher current was needed. It too worked out well. Both were dissipating heat into the aluminum body of the device. Those devices have been working fine for well over an year in the outdoors now. :)

Never forget the KISS principle! ;)

I can make the input voltage as low as I'd like. I actually agree with you on the KISS principle. I try to follow it every design.

Now, as mentioned, I require three rails - 5V, 3.3V and 1.8V. Only the LCD and its backlight run off 5V and the max. current required is 350mA. Let's assume this is 500mA. Let's assume I use the LT3080 which has a dropout voltage of 350mV at 1A. So, to be safe, I feed in 6V to the regulator, a differential of 1V. The power dissipated then, in this regulator, is just 1*0.5 = 0.5W. Not a big issue.

However, consider what would happen to the 3.3V regulator. I require at least 800mA or so on this rail so to be safe, let's consider it to be 1.5A. We have 6V in our system and 5V. The 5V will probably not be able to supply 1.5A as the LT3080's limit is 1.1A. But the LT3080 is parallelable and I use two in parallel for 3.3V. I should add the 800mA is a worst-case figure and I don't expect it to happen that often.

Assuming that the current through them is divided evenly, then 0.75A is supplied by each. Power dissipated = (6-3.3) * 0.75 = 2W. This is manageable. Assume the ambient temperature is 40 (yes, it can be that high here) and the Tja of the package is 30C/W (typical D2PAK). If that is the case, then the temperature would be 40 + 2*30 = 100C. This is lower than the operating limit of 125C but still a bit high for my liking. However, you mention I can use my PCB as a heatsink. If that is the case, how much heat can I dissipate there?

The 1.8V rail requires a lot less power than others, 200mA would be OK but I'd stick with 500mA. But I the Vin for this rail can be 3.3V. So power dissipated = 3.3-1.8 * 0.5 = 0.75W.

Do you feel this is doable? Maybe I should stick with the jelly-bean linear regulators like the LM7805. They have higher current but slightly worse transient performance. What do you think? But these parts aren't LDOs like the LT3080 - but then again, I'm only utilizing that on the 5V rail.

Is 3.3V/800mA continuous consumption or peak consumption? What is consuming that much power?

What transient tolerances can you work with for this circuit? If you want lower transients for the sake of some sort of reference voltage, you could just use a separate reference IC which will generally be far more accurate than these run-of-the-mill regulators.

I would say 800mA is peak. The 3.3V rail has the following:

1) AT Mega 128L

2) Two CPLDs

3) Buffers

4) SD Card

Out of these the SD Card can be quite power hungry, especially when writing or when it's inserted. The buffers are MOSFETs whose drains are connected to 1K pull ups. Alone, these don't consume much but together it becomes significant.

The CPLDs and Mega 128L's power consumption depend heavily on the programming. As I've only written a very limited part of the firmware, I dont know this exactly yet. But my estimates are 200mA (total) for both.

I don't have a requirement of lower transients, but considering the LM78xx series is an old design I think better performance can be had.

I should add, these are just estimates. Unlike the LCD which has a fixed environment, the current on this rail will vary a lot with the software I write. But I'm confident I'll never exceed 1.5A and hence my insistance to go with such a high figure.

What would you recommend? Go with linear and put a big heat-sink or:

1) Design a circuit based on the SimpleSwitcher parts by National.

2) Get a small PCB manufactured just for this purpose, following the layout given in the datasheets.

3) Assemble and test this circuit. If it works well, put it in my final 4-layer board.

Have a look here: http://www.analog.co...ucts/index.html

Look at the specs for ADP5023 and ADP5024. Leave out the LDO. The two buck regulators can provide power to the 3.3V and 1.8V DC buses. They need 5V input so you will need to use a beefier 5V regulator, preferably a buck one too. That would give you the option to vary the system input voltage a bit toward the higher side.

LFCSP is typically a pretty small package.

Alright, Newark delayed in sending me parts (and didn't even send the LEDs) so I had some time in improving the layout. The main thing I redid was the center. It's not so much of a mess anymore because I placed the termination resistance near the relevant component.

I also added a footprint for an oscillator (U10) which goes to the Global Clock Pin of the CPLDs.

VR1 to VR3 are simple LM317 regulators set to 1.8, 3.3 and 5V. The thick blue trace is 100 mils and going to the LCD and the back light. It's thick because it travels a long way.

The Ext. Cable header is a header for extending the number of test points. A daughter board would attach to this header and will have an additional 72 test points. I'm hoping I'll be able to cascade upto 6 boards like this. The total number of boards connected will be set by a simple 3-bit DIP switch.

What do you guys think? Would appreciate ANY suggestions. Click the picture to make them big.

One question to Asad and others who have used SmartPCB - whats the smallest slkscreen I can use? I want to use text of width 5 mils and height about 30 mils. Will that be ok? I would contact them but its the weekend.

What input voltage have you decided on for the board? Since you are using three of the LM317 linear regulators (likely TO-220?), what are you planning for heat dissipation? If using the standard TO-220 heatsinks, would height of the populated board be a concern w.r.t. any daughter boards?

I dunno about the silkscreen size. Can't really ask right now. :)