Prev: DLC9G problem
Next: Expand TEMAC fifo?
From: Philip Pemberton on 15 Jun 2010 17:32 Hi guys, I'm designing a PCB for a project of mine (a floppy disc data analyser -- see <http://www.discferret.com/>). This will be my first project with an FPGA, or at least the first one that's made it as far as actual PCBs being made. I'm using an Altera Cyclone II EP2C8 in TQ144 (144-pin TQFP) package. This has a 40MHz external clock (provided by a TTL oscillator module) which is multiplied up to 80MHz and down to 32MHz using the internal PLLs. There's an 8-bit multiplexed 10MByte/sec bus between the microcontroller (a Microchip PIC) and the FPGA. This bus has 8 data lines, an Address Latch line, and read and write control lines. Address data is sent by putting the address on the bus, strobing ALE, then data can be sent in the normal manner. I've got auto- incrementing address counters on the FPGA which reduce the time delays to a more sane degree. Everything is 3.3V LVTTL/LVCMOS, aside from the USB input to the PIC and the disc drive control lines (which are 5V open-collector at 1MHz max). No LVDS, LVPECL, ECL or anything like that. I/O routing is probably a non-issue at these frequencies; clock routing for the 40MHz master clock may be an issue -- it needs to come out of the TTL osc, then go to the CLKIN pin on the PIC and one of the GCK pins on the FPGA. Logic dictates that by putting the TTL module dead-centre between the PIC and the FPGA, I can keep clock skew to a minimum. Catch is, I'm not sure how that will affect the signal integrity. The board is double-sided, with the whole bottom layer dedicated to a ground plane (with the exception of one or two isolated tracks used to move things like VCC around). What I am worried about is decoupling. The old rule I used to hear banded about was "add a 0.1uF ceramic capacitor for every VCC/GND pair, and put it as near to that pair as you can, ideally within an inch". For the 2C8 alone, I'd be looking at 22 capacitors to find space for... Is 0.1uF the ideal value to use here, or would a 0.01uF work better? Can anyone offer some advice on the subject of decoupling? It seems it's a bit of a black art; the folks I've asked seem very reluctant to explain it (if they understand it themselves), and much of the reference material I've seen is either oversimplified or starts out simple and then turns into a horrendous equation-fest that would give a mathematician a migraine. I've also seem SMD ferrite beads -- typically 600 Ohms @ 100MHz -- used in series with the PSU, or as part of a "Pi" filter (inductor in series with power supply, capacitors to ground on both sides). Is there any advantage to adding these? (I know an EE who adds them to almost every power line -- his reason is "my university lecturer swears you need to do this, and they cost less than a penny each") Thanks, -- Phil. usenet10(a)philpem.me.uk http://www.philpem.me.uk/ If mail bounces, replace "10" with the last two digits of the current year
From: Symon on 15 Jun 2010 18:51 SI-LIST
From: John Adair on 15 Jun 2010 19:05 Philip It might be worth looking at this Xilinx applications note http://www.pa.msu.edu/hep/d0/ftp/run2b/l1cal/hardware/component_information/xilinx_xapp623_decoupling_caps.pdf. Very much the same goes for Altera. Some of the techniques are a bit extreme but worth a read never the less. A lot depends on layout whether it will work well. I have seen some customer projects have some real problems using a 2 layer approach. We have done 2 layer ourselves on our Polmaddie series of boards but these have relatively small devices fitted and that reduces the problem. Like you we have used the back layer as gnd and managed tracks and power on the other layer to achieve the low cost 2 layer structure. So far at least we have not seen any problems with these boards but I wouldn't use them for an application that was high performance. On capacitors I would use one per positive power pin as a practical number. John Adair Enterpoint Ltd. On 15 June, 22:32, Philip Pemberton <usene...(a)philpem.me.uk> wrote: > Hi guys, > I'm designing a PCB for a project of mine (a floppy disc data analyser -- > see <http://www.discferret.com/>). This will be my first project with an > FPGA, or at least the first one that's made it as far as actual PCBs > being made. > > I'm using an Altera Cyclone II EP2C8 in TQ144 (144-pin TQFP) package. > This has a 40MHz external clock (provided by a TTL oscillator module) > which is multiplied up to 80MHz and down to 32MHz using the internal PLLs. > There's an 8-bit multiplexed 10MByte/sec bus between the microcontroller > (a Microchip PIC) and the FPGA. > > This bus has 8 data lines, an Address Latch line, and read and write > control lines. Address data is sent by putting the address on the bus, > strobing ALE, then data can be sent in the normal manner. I've got auto- > incrementing address counters on the FPGA which reduce the time delays to > a more sane degree. > > Everything is 3.3V LVTTL/LVCMOS, aside from the USB input to the PIC and > the disc drive control lines (which are 5V open-collector at 1MHz max). > No LVDS, LVPECL, ECL or anything like that. > > I/O routing is probably a non-issue at these frequencies; clock routing > for the 40MHz master clock may be an issue -- it needs to come out of the > TTL osc, then go to the CLKIN pin on the PIC and one of the GCK pins on > the FPGA. Logic dictates that by putting the TTL module dead-centre > between the PIC and the FPGA, I can keep clock skew to a minimum. Catch > is, I'm not sure how that will affect the signal integrity. > > The board is double-sided, with the whole bottom layer dedicated to a > ground plane (with the exception of one or two isolated tracks used to > move things like VCC around). > > What I am worried about is decoupling. The old rule I used to hear banded > about was "add a 0.1uF ceramic capacitor for every VCC/GND pair, and put > it as near to that pair as you can, ideally within an inch". For the 2C8 > alone, I'd be looking at 22 capacitors to find space for... > Is 0.1uF the ideal value to use here, or would a 0.01uF work better? > > Can anyone offer some advice on the subject of decoupling? It seems it's > a bit of a black art; the folks I've asked seem very reluctant to explain > it (if they understand it themselves), and much of the reference material > I've seen is either oversimplified or starts out simple and then turns > into a horrendous equation-fest that would give a mathematician a > migraine. > > I've also seem SMD ferrite beads -- typically 600 Ohms @ 100MHz -- used > in series with the PSU, or as part of a "Pi" filter (inductor in series > with power supply, capacitors to ground on both sides). Is there any > advantage to adding these? > (I know an EE who adds them to almost every power line -- his reason is > "my university lecturer swears you need to do this, and they cost less > than a penny each") > > Thanks, > -- > Phil. > usene...(a)philpem.me.ukhttp://www.philpem.me.uk/ > If mail bounces, replace "10" with the last two digits of the current year
From: RCIngham on 16 Jun 2010 07:11 This is a cost/time/risk trade-off. How many do you expect to make? 10? 1000? million? The more you make, the more worthwhile it is trying to reduce the number of ancilliary components. http://en.wikipedia.org/wiki/Madman_Muntz If you intend to make only 1 batch, ensure that the PCB part of the design works properly, unless you like wasting time+money. --------------------------------------- Posted through http://www.FPGARelated.com
From: Gabor on 16 Jun 2010 11:49 On Jun 15, 5:32 pm, Philip Pemberton <usene...(a)philpem.me.uk> wrote: > Hi guys, > I'm designing a PCB for a project of mine (a floppy disc data analyser -- > see <http://www.discferret.com/>). This will be my first project with an > FPGA, or at least the first one that's made it as far as actual PCBs > being made. > > I'm using an Altera Cyclone II EP2C8 in TQ144 (144-pin TQFP) package. > This has a 40MHz external clock (provided by a TTL oscillator module) > which is multiplied up to 80MHz and down to 32MHz using the internal PLLs.. > There's an 8-bit multiplexed 10MByte/sec bus between the microcontroller > (a Microchip PIC) and the FPGA. > > This bus has 8 data lines, an Address Latch line, and read and write > control lines. Address data is sent by putting the address on the bus, > strobing ALE, then data can be sent in the normal manner. I've got auto- > incrementing address counters on the FPGA which reduce the time delays to > a more sane degree. > > Everything is 3.3V LVTTL/LVCMOS, aside from the USB input to the PIC and > the disc drive control lines (which are 5V open-collector at 1MHz max). > No LVDS, LVPECL, ECL or anything like that. > > I/O routing is probably a non-issue at these frequencies; clock routing > for the 40MHz master clock may be an issue -- it needs to come out of the > TTL osc, then go to the CLKIN pin on the PIC and one of the GCK pins on > the FPGA. Logic dictates that by putting the TTL module dead-centre > between the PIC and the FPGA, I can keep clock skew to a minimum. Catch > is, I'm not sure how that will affect the signal integrity. > > The board is double-sided, with the whole bottom layer dedicated to a > ground plane (with the exception of one or two isolated tracks used to > move things like VCC around). > > What I am worried about is decoupling. The old rule I used to hear banded > about was "add a 0.1uF ceramic capacitor for every VCC/GND pair, and put > it as near to that pair as you can, ideally within an inch". For the 2C8 > alone, I'd be looking at 22 capacitors to find space for... > Is 0.1uF the ideal value to use here, or would a 0.01uF work better? > > Can anyone offer some advice on the subject of decoupling? It seems it's > a bit of a black art; the folks I've asked seem very reluctant to explain > it (if they understand it themselves), and much of the reference material > I've seen is either oversimplified or starts out simple and then turns > into a horrendous equation-fest that would give a mathematician a > migraine. > > I've also seem SMD ferrite beads -- typically 600 Ohms @ 100MHz -- used > in series with the PSU, or as part of a "Pi" filter (inductor in series > with power supply, capacitors to ground on both sides). Is there any > advantage to adding these? > (I know an EE who adds them to almost every power line -- his reason is > "my university lecturer swears you need to do this, and they cost less > than a penny each") > > Thanks, > -- > Phil. > usene...(a)philpem.me.ukhttp://www.philpem.me.uk/ > If mail bounces, replace "10" with the last two digits of the current year "Finding space for" capacitors really depends on the package. You can get 0.1uF in an 0402 package that almost aligns with adjacent pads of your TQ144 package. I normally don't add the ferrites except for supplies that really need to be quiet. I'm not that familiar with Altera parts, but for Xilinx parts I only use ferrites in the lines supplying transceiver power. If your part has a separate power pin for PLL's for example you might want to use ferrites there. Also don't forget the bulk decoupling, especially on the internal Vcc supply where a large portion of the power draw is dynamic. I've had large designs fail due to insufficent bulk capacitance, and it's a real pain to find a place to tack a 1206 sized cap on after the fact. Good luck on your project, Gabor
|
Pages: 1 Prev: DLC9G problem Next: Expand TEMAC fifo? |