Antti Lukats: The Past, Present, And Future Of Programmable Logic

[Antti] has gained a bit of a reputation over on Hackaday.io – he has a tremendous number of FPGA projects on hackaday.io, and they’re all open source. If you’re looking for street cred with FPGAs, [Antti] has it. His Hands-on experience with FPGAs and CPLDs stretches back to the very first chips in the 70s. We’re so happy that he’s working to share this depth of knowledge, and that includes this talk he gave a few weeks ago at the Hackaday SuperConference. Take a look and then join us after the break for an overview of the FPGA terrain, then and now.

Continue reading “Antti Lukats: The Past, Present, And Future Of Programmable Logic”

Not Ready For FPGAs? Try A CPLD

[Kodera2t]  wanted to experiment with programmable logic. Instead of going with an FPGA board, he decided to build his own CPLD (complex programmable logic device) board, with a built-in programmer. The CPLD is a Xilinx 9536 which is inexpensive and, though obsolete, still readily available. The programmer for the board uses an FT232RL and the total cost is very low ([kodera2t] says it is in the price range of a Raspberry Pi Zero or about $4).

From a user’s point of view, a CPLD is just a small FPGA. Internally, there is a significant difference in how they implement your design. Although there are differences between different product families, CPLDs usually use a sea of logic gates arranged as an AND/OR chain. By feeding inputs and inverted inputs into the AND gates and then ORing the results, you can build interesting logic circuits. However, modern CPLDs use Verilog or VHDL, so you describe what you want just like with an FPGA and the software figures out how to use the underlying circuits to give you what you want.

Continue reading “Not Ready For FPGAs? Try A CPLD”

Xilinx FPGAs In C For Free

When you think of developing with FPGAs, you usually think of writing Verilog or VHDL. However, there’s been a relatively recent trend to use C to describe what an FPGA should do and have tools that convert that to an FPGA. However, at least in the case of Xilinx parts, this capability is only available in their newest tool (Vivado), and Vivado doesn’t target the older lower-cost FPGAs that most low-cost development boards use.

[Sleibso] who blogs for Xilinx, has an answer. It turns out you can use the Vivado C compilation tools to generate code for older FPGAs; it just involves a less convenient workflow. Vivado (even the free version) generates unique files that the rest of the tool uses to pick up compiled C code. However, it also generates RTL (Verilog or VHDL) as a by-product, and you can import that into the older ISE tool (which has a perfectly fine free version) and treat it as you would any other RTL files.

There’s an example of using the Vivado tool in the video below. [Sleibso] points out that the video is three years old, and the talk about licensing on the video is out of date. The free tools now including this capability. [Sleibso] talks about using a Spartan 6, but the same split workflow should work with most devices ISE supports.

Continue reading “Xilinx FPGAs In C For Free”

Taking The Pulse (Width Modulation) Of An FPGA

I like to think that there are four different ways people use FPGAs:

  1. Use the FPGA as a CPU which allows you to add predefined I/O blocks
  2. Build custom peripherals for an external CPU from predefined I/O blocks
  3. Build custom logic circuitry from scratch
  4. Projects that don’t need an FPGA, but help you learn

I’d bet the majority of FPGA use falls into categories one and two. Some FPGAs even have CPUs already built-in. Even without an onboard CPU, you can usually put a CPU “core” (think reusable library) into the chip. Either way, you can always add other cores to create UARTs, USB, Ethernet, PWM, or whatever other I/O you happen to need. You either connect them to a CPU on the chip, or an external one. With today’s tools, you often pick what you want from a list and then your entire project becomes a software development effort.

Continue reading “Taking The Pulse (Width Modulation) Of An FPGA”

Hackaday Links: November 29, 2015

The Raspberry Pi Zero was announced this week, so you know what that means: someone is going to destroy a Game Boy Micro. If you’re interested in putting the Zero in a tiny handheld of your own design, here are the dimensions, courtesy of [Bert].

[Ahmed] – the kid with the clock – and his family are suing his school district and city for $15 Million. The family is also seeking written apologies from the city’s mayor and police chief.

There are a lot — a lot — of ‘intro to FPGA’ boards out there, and the huge variety is an example of how the ‘educational FPGA’ is a hard nut to crack. Here’s the latest one from a Kickstarter. It uses an ICE40, so an open source toolchain is available, and at only $50, it’s cheap enough to start digging around with LUTs and gates.

Over on Hackaday.io, [Joseph] is building a YAG laser. This laser will require a parabolic mirror with the YAG rod at the focus. There’s an interesting way to make one of these: cut out some acrylic and beat a copper pipe against a form. A little polish and nickel plating and you have a custom mirror for a laser.

You know those machines with wooden gears, tracks, and dozens of ball bearings? Cool, huh? Tiny magnetic balls exist, and the obvious extension to this line of thought is amazing.

[David Windestål] is awesome. Completely and totally awesome. Usually, he’s behind the controls of an RC plane or tricopter, but this time he’s behind a slo-mo camera, an RC heli, and a watermelon. That’s a 550-sized heli with carbon fiber blades spinning at 2500 RPM, shot at 1000 FPS.

How do you label your cables? Apparently, you can use a label printer with heat shrink tubing. Nothing else, even: just put heat shrink through a label maker.

FleaFPGA + Arduino Uno = FleaFPGAUno

Some things are better together: me and my wife, peanut butter and jelly, and FPGAs and Arduino Unos. Veteran hacker [Valentin Angelovski] seems to agree: the FleaFPGA Uno is his latest creation that combines an FPGA (a Lattice MachX02 700HC) with an Arduino-compatible CPU.

It’s a step-up model from the origional FleaFPGA. With a few other components thrown in (such as a HDMI and composite video output and a WiFi option), you have a killer combination for experimenting with FPGAs or building an embedded system. That is because the Arduino part frees the FleaFPGA Uno from the breadboard: you can easily program, control and interface with the FPGA over a serial line or a wireless link using the Arduino IDE. There is even support for Arduino shields (albeit only 3.3V ones), making it even more expandable. This would be an awesome starting point for a retro gaming system, as many 8-bit consoles can be easily emulated in an FPGA. [Valentin] is currently selling the boards directly, and they are very reasonably priced at $50 or $60 for the WiFi version.

Continue reading “FleaFPGA + Arduino Uno = FleaFPGAUno”