The $5 FPGA

You ever wonder exactly what’s inside that cheap stuff you get from China? Sometimes it is cheap parts you’ve never heard about. Case in point: if you are willing to import, you can score an FPGA board for about $5. The downside? You’ve probably never heard of the GOWIN Semi GW1N  — one of the Little Bee FPGAs — that’s onboard.

There is some English documentation which leaves room for interpretation and you’ll have to use their IDE. Then again, it might be a fun puzzle to get one of these working. Looks like Seeed has them available for $4.90.

According to the Wiki, the onboard chip is GW1N-LV1QN48C6/I5, equipped with 1152 LUT4 logic resources, 1 PLL and a total of 72Kbit SRAM. The development board brings out all I/O interfaces. There’s also 64 Mbits of PSRAM. The board also has an RGB interface for a display, a 24 MHz clock, and the USB programming/debugging interface.

We didn’t try it, but the development tool looks to be available for Windows or Linux. Browsing through the wiki gives the impression it is usable, although probably simple — which could be an advantage compared to some other tool suites.

Worth a try? The Lattice chips are not that expensive and are well supported by open source tools. Then again, people want to try the very cheap (under a dime) CPU that is in a lot of products. So why not FPGAs, too?

SPARC CPU In A Cheap FPGA

There was a time when SPARC CPUs were the sole realm of pricey Sun workstations, but now you can put one on an FPGA with just a little trouble. The problem is you need a fairly big FPGA which isn’t always cheap unless someone goes out of business and you get lucky. [Ttsiodras] picked up a Pano logic thin client. Pano went under and their entire inventory is out on the surplus market at cheap prices. With a little FPGA magic, you can turn a few bucks into a SPARC-based computer.

The insides of the workstation have a Spartan 6 FPGA inside and you’ll need to solder in some JTAG wires, but that shouldn’t put anybody here off.  Of course, the Spartan 6 isn’t the newest tech so you’ll have to get an old version of the Xilinx tools but that’s not hard either. However, there is a strange irony you’ll need to be aware of if you use Linux.

Continue reading “SPARC CPU In A Cheap FPGA”

FBus: An Extensible And Easily Configurable FPGA Based DAQ

[flow] is a little disillusioned with commercial Data Acquisition Systems (DAQs) and channeled his frustration into his own, very cool, FPGA based solution.

The project takes form as a back plane into which various cards can be slotted. The the interface is just a PCI-e connector. If you need analog input, simply insert the card for it. Ethernet output? Same process. Modularity and expandability are the themes here.

[flow] already has projects in mind for his new DAQ. He’s using it to build an inverted pendulum. However, his planned cards really show the possibilities, anything from a logic analyzer card to an HDMI Output card allow for a wide array of configurations. There is also a small suite of tools which makes this process relatively easy to manage.

We can definitely see this evolving into a useful tool on our bench for prototyping.

Symbiflow Open Source FPGA Toolchain

Anyone who’s ever had the pleasure of programming FPGAs knows that it’s a land of proprietary tools that almost require marriage level commitment to a specific platform to be effective. Symbiflow hopes to solve this by becoming the GCC of FPGAs.

Rather than a tool built around a specific chip or architecture, Symbiflow will provide a more universal interface.  Users can program in Verilog; architecture definitions define how the code will be compiled for the right chip. They are currently targeting the popular Xilinx 7-series, the very affordable iCE40 series from lattice, and the ECP5 FPGAs also from Lattice.

If you’re headed to Hackaday Supercon this year, [Timothy Ansell] will be giving a talk on how Symbiflow is making this process much more approachable and much less proprietary.  Overall we’re very excited about a common interface, especially as the price of FPGAs keep dropping into micro controller territory while also increasing in capability.

(Speaking of Supercon, and maybe this is a spoiler, the badge would not have been possible without Symbiflow, Project Trellis, Yosys, and NextPNR.)

Chisel Away At FPGA Development

Most of the time if you were to want to develop for an FPGA, you might turn to Verilog or VHDL. Both of these are quite capable, but they are also firmly rooted in languages that are old-fashioned by today’s standards. There have been quite a few attempts to treat those languages as an output to some other tool — either a higher-level language or a graphical tool. One recent effort is a toolchain that starts with Chisel.

The idea behind Chisel is to provide Scala with Verilog-like constructs. If you want, you can use it as a “super Verilog” taking advantage of classes and other features. However, Chisel also allows you to create generators that produce different output Verilog depending on how you call them. True, you can do some of this with Verilog modules, but it is much easier with Chisel. Chisel uses Firrtl to convert what you ask it to do into Verilog for different FPGA and ASIC targets.

Continue reading “Chisel Away At FPGA Development”

“The Thing”: A Homemade FPGA Board

The Thing is an unassuming name for an ambitious project to build an FPGA board from easy to find components.

The project stems from an earlier build submitted to the 2018 Hackaday Prize by [Just4Fun] where two dev boards – an STM32-based Arduino and an Altera MAX II CPLD board – were combined with the Arduino used as a stimulus generator for the CPLD. This way, the Arduino IDE, interfaced through USB, can be used for programming the CPLD.

The Thing similarly uses the STM32 Arduino as a companion processor for the FPGA, with a 512KB SRAM and common I/O for GPIOs and a PS/2 keyboard for running HDL SOCs. It can also run Multicomp VHDL SOCs, a modular design that was made to run some older 8-bit CPUs made by [Grant Searle].

The FPGA (EP2C5T144C8N) uses the Quartus II IDE for configuration with a USB Blaster dongle through the JTAG or AS connector. The FPGA side controls a 4 digit seven segment LED display, four push buttons, 3 LEDs, a push button to clear all internal FFs (sampling rates), a push button to force a reboot (configuration reload), and a switch to force all pins to Hi-Z mode. Both an onboard 50MHz oscillator and connector for an external oscillator are also present on the FPGA side.

In one demo of the MP/M system capability of the board, The Thing was made to handle four concurrent users with one serial port connector to a PC and terminal emulator and the other serial ports connected to terminal emulators on VT100 boards routed through a dual-channel RS232 adapter board.

Both the Arduino and FPGA sides can also be used as standalone boards, but why use one when you can harness both boards together?

Continue reading ““The Thing”: A Homemade FPGA Board”

Upgrading A MIDI Controller With An FPGA

While the “M” in MIDI stands for “musical”, it’s possible to use this standard for other things as well. [s-ol] has been working on a VJ setup (mixing video instead of music) using various potentiometer-based hardware and MIDI to interface everything together. After becoming frustrated with drift in the potentiometers, he set out to outfit the entire rig with custom-built encoders.

[s-ol] designed the rotary-encoder based boards around an FPGA. It monitors the encoder for changes, controls eight RGB LEDs per knob, and even does capacitive touch sensing on the aluminum knob itself. The FPGA communicates via SPI with an Arduino master controller which communicates to a PC using a serial interface. This is [s-ol]’s first time diving into an FPGA project and it looks like he hit it out of the park!.

Even if you’re not mixing video or music, these encoders might be useful to any project where a standard analog potentiometer isn’t accurate or precise enough, or if you just need something that can dial into a specific value quickly. Potentiometers fall short in many different ways, but if you don’t want to replace them you might modify potentiometers to suit your purposes.

Continue reading “Upgrading A MIDI Controller With An FPGA”