FPGA Beginner’s Series, 5: More About the UCF

From June 19, 2012:

In my previous article, I discussed how i managed to get all four of the light-emitting diodes (LEDs) on my development board flashing. In this installment, as a lead-up to adding some external LEDs, I'll examine the contents of the UCF (user constraint file) in more detail.

Now I've run the sample code to flash the four LEDs on my development board, and it works. As part of this, I managed to decode the LED pin mapping in the UCF file (that is, the mapping of the signals in the VHDL code to the physical pins on the FPGA that drive the LEDs on the circuit board). Now it's time to get real and actually write some code myself... well, it's almost time...

Read More

FPGA Beginner’s Series, 4: Flashing the LEDs

From June 11, 2012:

Previously, I discovered how the signals in the HDL are related to the physical pins on the FPGA, and how these pins are connected to the light-emitting diodes (LEDs) on the  development board. In this installment, I manage to get all four of his LEDs flashing.

Last week, I more or less found the pins on my FPGA. I'm not talking about the actual pins on the outside of the chip, but rather the mapping to them on the inside. These pins are very tiny, if you must know, and it's very dark inside the chip package. As we left off, everything seemed ready to go so it's time to turn the "ledflash" tutorial files I introduced in my previous column into a configuration bitstream, and then load this bitstream into the FPGA.

Read More

FPGA Beginner’s Series, 3: Sorting Out the Pins

From June 4, 2012:

When I left off, I had just received my FPGA development board (an Avnet Spartan-6 LX9 MicroBoard, which was kindly donated by Xilinx). I opened the package and installed the design software on his computer. In this installment, I discover how the signals in the HDL are related to the physical pins on the FPGA, and how these pins are connected to the light-emitting diodes (LEDs) on his development board.

Given my current level of understanding, the thought of trying to design and implement any form of logical function inside an FPGA is rather daunting, to say the least. Considering the complexity of FPGA design relative to the microcontrollers I’m used to, it makes sense to first find a good starting point and establish a frame of reference.

Read More

FPGA Beginner’s Series, 2: Opening the Package

From May 29, 2012:

I have to admit that I am intimidated by FPGAs, but it looks as if this development board will be an easy way to learn and explore the programmable device world. The package itself, which just arrived, is about the same size as a paperback book.

Inside we find the MicroBoard, two USB cables (micro-USB to USB-A, and USB-A to USB-A), DVD containing the Xilinx ISE design tools, and some paperwork that includes "Getting Started" instructions.

[Note that the 2015 version will have newer software, but will otherwise largely be the same]

Read More

FPGA Beginner’s Series, 1: What’s This All About?

Welcome to my FPGA (Field Programmable Gate Array) beginner's series. The content here was originally posted on All Programmable Planet which, sadly, is no longer on line. Much of the content is as it was when I originally posted it, with updates when necessary to correct errors in the original articles or reflect more current information.

The series chronicles my journey from complete FPGA ignorance, through introduction, to basic working knowledge of Verilog and FPGA usage. The following first appeared May 22, 2012, in All Programmable Planet:

Hello, everybody. I don't know about you, but I'm new to the world of programmable logic. I have a fair amount of experience with microcontrollers -- mostly Microchip PIC processors, but I also have experience with AVR, ARM, and MSP430 processors. I use them on my motor controllers and robot projects, which is all well and good until I run out of power or flexibility. Some things just need more oomph than a little MCU has to offer.

Read More

Cost Reduction in Design – Advice for Makers

If you’re looking for the absolute, cheapest possible assembly service, you’ll need to look outside of North America. If you really need a decent price with good quality and good service, you can keep your gaze West of the Atlantic and East of the Pacific.

Like everything else in the modern world, design decisions can have a pretty big impact on your cost. So, lets take a look at some design decisions that can make your manufacturing more affordable.

  • Accept longer lead times

Lead times are one of the biggest factors in electronics manufacturing. Screaming Circuits (my day job employer) can turn a kitted assembly job overnight, but it costs a lot of money to do that. Screaming Circuits also has a 20 day turn-around that is much, much more affordable. Accepting longer lead times on PCB fab will drop your cost as well.

Continue reading “Cost Reduction in Design – Advice for Makers”