When I recently completed USB104 A7: Artix-7 FPGA Development Board - Review of the Digilent USB104-A7, a Artix 7 based FPGA board, I made a few comments about how I'd like to explore the DSP48 slices within the hardware but alas hadn't managed to stretch my funds to purchase a ZMOD board to experiment with. As part of discussion I was also very kindly offered a Digilent ZMOD ADC/DAC by a fellow roadtester Fred27
but I knew I might end up like Homer Simpson borrowing something from his neighbour and never returning it , so politely declined that offer. However in the comments under my roadtest I had a question from alexwonglik1 at Digilent asking what I'd actually do with a ZMOD. And a short while after that rscasny contacted me to say Digilent had sent him something and he'd be forwarding it on.
Today I received a very nice surprise parcel and inside I found not only a ADC ZMOD but the DAC MOD courtesy of Digilent. Thank you to Alex & Digilent for this very generously provided 'extra' to enable post-roadtest investigation.
While I've looked at DSP techniques before in books I have never really created anything in hardware, the ideas remaining theory and locked up in the equations explaining samples in time. For me that often ended in Zzzzzz.
What I therefore want to do is present a series of simple DSP examples that take that basic theory and implement it in the Digilent USB104-A7 along with the ZMOD ADC. This I believe will be far more fun as I can sample real analog data and then manipulate the digitised stream. I hope as I get more proficient that I can then explore the common digital filters and Fast Fourier Transform (FFT) and Inverse FFT. Eventually culminating in a decent project and I have two ideas:
- A simple dual channel oscilloscope
- A rhythm extractor for disco lighting
Conversely I could use the DAC where the end project goal would be:
- An arbitrary function generator
I think this will be a long journey but I hope to be able to share the individual stages with E14 community trying to explain and make each visually appealing without those Zzzz of too much mathematics. There are also some great training series available on E14 from fpgaguru under the series The Art of FPGA Design Season 2 - Digital Signal Processing, from Algorithm to FPGA Bitstream . Once better understood such techniques could be applied to other systems also; a ADC/DAC PMOD, a MCU with inbuilt ADC/DAC and additionally will help me understand how to create my own blocks within GNU Radio.
Below is a photo of the Digilent USB104-A7 development board, the ZMOD ADC, ZMOD DAC and my 3D printed enclosure (as the USB104-A7 is the ideal size with PC/104 format).