Visualizing Verilog Simulation

You don’t usually think of simulating Verilog code — usually for an FPGA — as a visual process. You write a test script colloquially known as a test bench and run your simulation. You might get some printed information or you might get a graphical result by dumping a waveform, but you don’t usually see the circuit. A new site combines Yosys and a Javascript-based logic simulator to let you visualize and simulate Verilog in your browser. It is a work in progress on GitHub, so you might find a few hiccups like we did, but it is still an impressive piece of work.

Continue reading “Visualizing Verilog Simulation”

Learn FPGA With This Persistence Of Vision Hack

Everybody wants to give FPGA development a try and here’s a great way to get into it. You can build your own Persistence of Vision display using a $30 dev board. It’s a fun project, and you’ll learn quite a bit about designing for an FPGA, as well as using the Quartus design software.

The inspiration for this article comes from [vpecanins] who did an example project where you wave the board back and forth and a message appears in mid air. This uses the MAX1000, a pretty powerful yet odd FPGA board for about $30. It contains an Intel MAX10 (when did Intel start making FPGAs? Remember, Intel bought Alterra back in 2015). I find the board odd because it also holds an accelerometer that you can talk to using SPI. That’s a little strange for a generic FPGA board, but paired with eight on-board LEDs it’s perfect for this demo.

Since I didn’t find any written documentation for this example, I thought we’d help out and take you on a step-by-step tour of the project. What’s more, in a future installment, I’ll show you how to make some significant changes to the tutorial that will make it even more practical as a base for other projects.

Continue reading “Learn FPGA With This Persistence Of Vision Hack”

Cheap FPGA Board Roundup

There’s never been a better time to get into using FPGAs. Nearly all vendors have some level of free software and while boards haven’t gotten as cheap as ones with microcontrollers, the prices are way down. [Joel Williams] was frustrated when his board of choice became unavailable, so he decided to compile data on as many cheap boards as he could.

[Joel] covers the major vendors like Intel and Altera. But he also includes information on Actel, Cypress, and Lattice. While the list probably isn’t comprehensive, it is a lot of information about many popular boards. The notes are helpful and point out oddities about the boards in many cases.

Continue reading “Cheap FPGA Board Roundup”

Rewinding Live Radio

Even though it’s now a forgotten afterthought in the history of broadcasting technology, we often forget how innovative the TiVo was. All this set-top box did was connect a hard drive to a cable box, but the power was incredible: you could pause live TV. You could record shows. You could rewind TV. It was an incredible capability, that no one had ever seen before. Of course, between Amazon and Netflix and YouTube, no one watches TV anymore, and all those platforms have a pause button, but the TiVO was awesome.

There is one bit of broadcasting that still exists. Radio. For his Hackaday Prize entry, [MagicWolfi] is bringing the set-top box to radio. He’s invented the Radio Rewind Button, and it does exactly what you would expect: it rewinds live radio a few minutes.

To have a pause or rewind button on a TV or radio, the only real requirement is a bunch of memory. The TiVO did this with a hard drive, and [MagicWolfi] is doing this with 256 MB of SDRAM. That means he needs to access a ton of RAM, and for that he’s turning to the Digilent ARTY S7 board. Yes, it’s an FPGA, but actually a fairly simple solution to the problem.

The rest of the circuit is an FM receiver chip and an I2S audio codec on an Arduino-shaped daughterboard. The main controller for this project is a big red button that will simply rewind the audio stream a few minutes. There’s no telling exactly how long [MagicWolfi] will be able to rewind the audio stream, but 256 MB is a ton in the audio world.

Build A Fun CPU In Your Browser

A rite of passage for a digital designer is to build a CPU. That may seem a formidable task and if you are thinking of building a modern CPU like the one in your PC, it is. However, a simple CPU is well within the reach of anyone who can sling some logic gates or HDL. We’ve even seen CPUs built in Minecraft. Now you can play nandgame and build a CPU step-by-step in your browser.

The game is based on the popular From NAND to Tetris site. True to the name you start out with a single NAND gate as a tool. From there you build an inverter, an AND gate, adders, flip flops, registers, and the like. You get a little help from the accompanying text and there are some blacked out hints if you get stuck.

Continue reading “Build A Fun CPU In Your Browser”

Signal Generator Uses FPGA

Although there are a few exceptions, FPGAs are predominantly digital devices. However, many FPGA applications process analog data, so you often see an FPGA surrounded by analog and digital converters. This is so common that Opal Kelly — a producer of FPGA tools — launched the SYZYGY open standard for interconnecting devices like that. [Armeen] — a summer intern at Opal Kelly — did a very interesting open source FPGA-based signal generator using a Xilinx FPGA, and a SYZYGY-compliant digital to analog converter.

As you might expect, [Armeen] used a lot of Opal Kelly hardware and software in the project. But the Verilog code (available on GitHub) shows a lot of interesting things including some very practical example code for using Xilinx CORDIC IP,  which is a great way to do high-order math using digital logic.

Continue reading “Signal Generator Uses FPGA”

Learn FPGA Fast With Hackaday’s FPGA Boot Camp

FPGAs have gone from being a niche product for people with big budgets to something that every electronics experimenter ought to have in their toolbox. I am always surprised at how many people I meet who tell me they are interested in using FPGAs but they haven’t started. If you’ve been looking for an easy way to get started with FPGAs, Hackaday’s FPGA boot camp is for you. There’s even a Hackaday.io chat in the group specifically for FPGA talk for questions and general discussion!

While it is true FPGAs aren’t for everything, when you need them you really need them. Using FPGAs you can build logic circuits — not software simulations, but real circuits — and reap major performance benefits compared to a CPU. For digital signal processing, neural networks, or computer vision applications, being able to do everything essentially in parallel is a great benefit. Sometimes you just need the raw speed of a few logic gates compared to a CPU plodding methodically through code. We expect to see a lot more FPGA activity now that Arduino is in the game.

These boot camps gather together some of the material you seen spread over many articles here before, plus new material to flesh it out. It’s designed for you to work through more like a training class than just some text to read. There’s plenty of screenshots and even animations to help you see what you are supposed to be doing. You’ll be able to work with simulations to see how the circuits we talk about work, make changes, and see the results. We’ll focus on Verilog — at least for now — as it is close to C and easier for people who know C to pick up. Still not convinced? Let’s run though the gist of the boot camp series.

Continue reading “Learn FPGA Fast With Hackaday’s FPGA Boot Camp”