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.

Following how the AM and FM generation works is a great introduction to signal synthesis in an FPGA. If you don’t want to use the Xilinx IP, you can find several CORDIC cores on OpenCores. Overall, this is a pretty good intermediate project if you are trying to get your head around FPGAs. It is complex enough to show you something practical but not so complex that you’ll get frustrated. Of course, a lot of the functions are wrapped up in the Xilinx IP which you can think of as being akin to using a C or Java library.

SYZYGY is a specification that is free to license, by the way. It is supposed to bridge the gap between simple PMODs and high-speed FMC boards. There’s even an open source platform board to support it. However, as far as we know, only Opal Kelly currently ships any plugins for it, so it remains to be seen how popular or unpopular it may prove.

FPGAs are getting a lot of press these days with Arduino jumping in the fray. If you need something to get started, check out our boot camp series over on

10 thoughts on “Signal Generator Uses FPGA

  1. “As you might expect, [Armeen] used a lot of Opal Kelly hardware and software in the project.”

    Might be the start of the Raspberry Pi of the FPGA world*?

    *Kind of like what Broadcom did.

  2. What’s the throughput of an RPi in terms of MAC operations? A large FPGA will be tens of thousands of times faster! Even a small FPGA will easily outpace an RPi.

    What’s the maximum *guaranteed* interval between an RPi receiving an input and it making a simple response? (E.g. input a byte, invert it, output that byte). Any FPGA will have a *guaranteed* response time thousands of times faster!

  3. Some of these FPGA’s are really impressive SOIC’s. Is there a guide anywhere regarding the number of bands and capabilities of the FPGA’s on the market? Seems a complete spectrometer and/or spectrum analyzer with multiple bands and full duplex for real time operation can be and I guess are on the market. I’m not sure of the frequency ranges, noise floor, and other specs compared and noting what is available to work with. I recall wondering what chips can be used to upgrade, if any, say the HackRF?

    This version uses 100% open source software in the final version (although he used an analog devices executable during the creation process.)

    I am currently interested in RF and microwave design and have been doing many experiments. During some research I was doing, I ran across this video (and channel) and decided that I would recreate his design to use in my small lab.

    One problem I’m currently running across is buying cheap boards from Ali Express et al, with the new tariff. The shipping to the US makes the boards less affordable…..alas

    1. iojg is not comparing the clock speed of a R-Pi WITH the clock speed of an FPGA, but rather comparing the clock speed of a R-Pi AND the clock speed of an FPGA with the speed of sex.

  5. I think you have spent too much time on software you have very little knowledge regarding hardware. A good FPGA is a litterally what they create new chips on. Where do you think Bitcoin mining ASIC rigs came from?

    P..s. what you type the most autocorrects to the most… Quit playing with you speed.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.