Cyclone II Voltage Regulators

I decided to interrupt my Cyclone II Handbook dissection series in order to build the voltage regulators needed for the Saturn Project.
The EP2C8 Cyclone II FPGA we have on our breakout board requires nine voltage supplies:
| Voltage Supply Name | Description | Voltage Level |
|---|---|---|
| VCCINT | These are internal logic array voltage supply pins. VCCINT also supplies power to some of the input buffers | 1.2V |
| VCCIO[1:4] | These are I/O supply voltage pins for banks 1 through 4. Each bank can support a different voltage level. VCCIO supplies power to the output buffers for all I/O standards. |
1.5V, 2.5V, or 3.3V |
| VCCA_PLL[1:2] | Analog Power for the PLL’s.
Connect these pins to 1.2 V, even if the PLL is not used. Power on the PLLs should be decoupled. |
1.2V |
| VCCD_PLL[1:2] | Digital Power for the PLL’s.
Connect these pins to the quietest digital supply on board (1.2 V), which is also supplied to the |
1.2V |
Fortunately we can minimize the overall number of voltage regulators required by using a single regulator for the 1.2V supplies, and another regulator for the I/O supplies. I have some concern about noise coupling between the different analog and digital supplies, though our breakout board does have some decoupling capacitors. I’m thinking this should be adequate for our prototyping setup.
For future reference, the Altera Cyclone II Handbook has some guidelines for isolating the PLL power supplies at the PCB level:
Isolate the power connected to VCCA from the power to the rest of the Cyclone II device or any other digital device on the board. You can use one of three different methods of isolating the VCCA pin:
- Use separate VCCA power planes
- Use a partitioned VCCA island within the VCCINT plane
- Use thick VCCA traces
I decided to pick up a SMPS wall-wart to step down and rectify the mains (120VAC) to 9VDC. The clock I picked out happens to need a 5V supply, so the 9V wall-wart is then connected to a 5V Breadboard power supply from SparkFun. (Plus, having a 5V rail will no doubt come in handy some day).
After selecting the components mentioned above, I moved on to select two linear regulators to supply the 1.2V and 3.3V, both of which are powered from the 5V Breadboard Power Supply. My main design goal for these regulators was to minimize the component count for simplicity sake. Have a look at the schematic below, and you can see I only needed 4 caps and a resistor.
I used a LT1084-3.3, and a LT3080.
The 1.2V regulator can draw up to 1.1A, and it doesn’t require a heat sink (Although, I might add one depending on how hot it gets). It has less than 1mV load regulation and <0.001%/V line regulation. One important thing to note is that this regulator has a minimum of 500uA output current required for proper operation. If you don’t meet this constraint, the output will swing to ~3.3V and possibly damage the FPGA. For the time being I decided to stick a 1kohm resistor on the output to sink 1.2mA just to be safe. Since I’m still in the prototyping phase I can’t be certain of the regulator start-up sequence, or what the quiescent current consumption of the VCCINT rail will be.
There isn’t anything too exciting about the 3.3V regulator, Linear Technology claims “higher efficiency” than other products on the market. It can supply up to 5A, which should be more than enough juice to power our FPGA and other fun circuits down the line.
Using LTSpice (a free, awesome, circuit simulator tool), I put together the schematic shown above, and I’ve made it available for download. I recommend playing around with it, try removing the load on the 1.2V regulator and watch what happens to the output. You will probably need to “install” the LM317 spice model which I’ve included (check out the readme.txt file for instructions).
SaturnProject – Power Supply Schematic
(SaturnProject_PowerSupply.zip)
Includes the LM317 SPICE model.
Now that we’ve covered all the details, let’s get some satisfaction and check out the regulators in action!
- VCCIO Supply
- Breadboard Power Supply
- VCCINT Supply
Once I get to the point where I put together a custom PCBA, I’m sure I will revisit the regulator design and put together a more robust solution with surface mount components. Including some circuits to protect against over/under voltage situations, spikes, and accidental shorts, but in the mean time… we’re in business!
Next week I’ll show you the system clock I selected, and return to my handbook dissection and see what it takes to download a configuration file to the Cyclone II and start putting it to work. I’ll also put together a full bill of materials (BOM) so you can pick up all the components I’ve been talking about.
- VCCINT – Pin 32, 66, 79, 120, 178, 190,
- VCCIO1 – Pin 7, 29, 42
- VCCIO2 – Pin 166, 172, 183, 194, 202
- VCCIO3 – Pin 109, 122, 136, 148
- VCCIO4 – Pin 62, 71, 83, 91, 98
- VCCA_PLL1 – Pin 53, (54 – GND_A)
- VCCD_PLL1 – Pin 51, (50, 52 – GND_D)
- VCCA_PLL2 – Pin 157, (158 – GND_A)
- VCCD_PLL2 – Pin 155, (154, 156 – GND_D)






Hi!
I love your blog posts! Thank you, I’m learning alot from your posts.
I’m trying to design my own PCB using an Altera Cyclone FPGA too, but I know next to nothing about the low level electronics stuff. Don’t get me wrong, I’ve been programming FPGA designs in Verilog with Quartus for close to a year now, but this is mostly on the digital logic level, not much low level stuff.
I’m reading through books about basic electronics and PCB design, and looking up the concepts as I go along.
Your project interests me much because you’re going through the same steps as I am
.
Keep those posts coming! And thank you!
Oh, by the way, do you know why they used those values (10u and 0.1u) for bypass caps for VCCIO3 for example? And why those 4 0.1u and 1 10u cap in parallel? Are they trying to model a 10.4u cap?
Hi domien!
Thanks for the kind words! I really appreciate the feedback.
Glad to hear there are other people trying to tackle the FPGA with me. Let me know if I miss anything important that you come across in your adventure
You ask a great question about those caps. It’s not so clear from the schematic, but it turns out each of those 0.1uF is placed really close to the power pins on the FPGA. If you look at the pin listing at the end of this blog post, you’ll see there are six VCCINT pins, same as the number of 0.1uF caps.
Those caps are used to block any AC noise that might try to sneak into the FPGA’s power. Check out this picture I just uploaded of the bottom of the breakout board.
(http://idle-logic.com/wp-content/uploads/2010/02/BreakoutBoard_Backside.gif)
Let me know if that answers your question.
Best Regards,
Chris
Ah, I see, that makes more sense now! One more thing, why did they settle on the cap values of 10u and 0.1u? Is there some math equation they used for calculating this?
Short answer, I bet those values came from a sort of rule of thumb by the SparkFun guys.
Long answer, it is impossible for them to know exactly how we will be using the breakout board, for example if we use slow signals, slow clocks, and low noise power supplies they could have probably picked a lot lower values. Now if we are maxing out the FPGA’s speed and use fast switching I/O, perhaps those values won’t work as well as we want them too.
The big capacitor is mostly used to store charge closer to the FPGA so when we start drawing large amounts of current, whether by activating a bunch of logic, or driving I/O, we have some ‘juice’ stored up close to the chip to keep the voltage from sagging.
The smaller capacitor is mainly to short any high frequency signals (noise) right to ground and keep our power clean.
I’m sure there is an advanced science to calculating the perfect values…I pulled up a couple of application notes, which probably have way more information than you wanted, but will tell you a lot more about the capacitor values than I know
http://www.intersil.com/data/an/an1325.pdf
http://www.designers-guide.org/Design/bypassing.pdf
It would make for a cool blog post to investigate this topic further.
Hope that helps for now,
Chris
Hey Chris!
It took me some time to absorb that, but I understand things more clearly now! Thank you!
Glad to have helped! As always, let me know if you have any further questions.
–Chris