• 0
Sign in to follow this  
farhanazneen

xadc and fft output in vivado through ILA core

Question

hello,

iam trying to  capture the xadc output in vivado through  ILA logic analyzer core  and then wanted to send that output to the input of fft please do let me know how to capture the xadc signals in the ILA core 

The below is my design in vivado please do let me know im very new to vivado 

fft.rar

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Why use ILA?  Why not start instead with a proper simulator?  I'm personally rather partial to Verilator, although I know others who use iverilog (for Verilog simulation), or ghdl (for VHDL simulation).  Vivado also has a simulation tool internal to it.  I'd recommend creating a simulated A/D input, running your entire design through the simulator, and then making sure you have the right outputs from the simulator before moving to the next step.  Incidentally, you'll need an open source A/D simulator.  You can find an example of one in this project.  You may also need an open source FFT.  You can find an open source pipelined FFT generator in this project.  It's even got a recent addition of a window function processor at the front end.

Dan

Share this post


Link to post
Share on other sites
  • 0

thanks @D@n sir for your response i have one doubt cant i directly view xadc and fft  signals in ILA core and after debugging exporting the data to the matlab. IS it mandatory to simulate in vivado simulator cant i view signals directly in ILA CORE? and export it to matlab. Please  do let me know sir.

Share this post


Link to post
Share on other sites
  • 0

@farhanazneen,

Is it possible to do (fill in the blank)?  Read here.

Do you have to simulate?  Good question.  It was recently debated on reddit, see the link here.

My own answer is that, No, you don't need to simulate your design, but from my own experience I tend to go about 10x faster through the design process if I do.  (and another 10x faster through the process if I can formally verify my design ...)

As for directly viewing XADC and FFT signals in ILA and exporting the result to MATLAB, I've never used that approach so I can't really comment on it.  (I've never even used Xilinx's ILA, nor have I ever used their simulator.)  You can read a discussion of how I move simulated data to Octave here.  That particular discussion helps to illustrate at least one of the problems of working directly from a trace.

Dan

Share this post


Link to post
Share on other sites
  • 0

hello @D@n sir how to give input to the xadc as my aim of the project is to generate fft spectrum of the input signal sine wave i dont want to use zynq processing system(xilinx sdk) i wanted to see the fft spectrum in simulator or in ILA  core please do let me know sir. should i use dds compiler and fft or xadc and fft ips to generate spectrum if i prefer dds compiler how it will sampled the signals.The below is my design of the project .Please do let me know sir should i use dds compiler and fft ip to generate spectrum or should i use dds compiler and fft ip to generate spectrum if it is not how to input input to the xadc and simulate it in vivado simulator.

 

fft diagram pic.PNG

Share this post


Link to post
Share on other sites
  • 0

@farhanazneen,

You need to start with simulation.  Just to drive my point home, you can find an example design that runs entirely from a Verilator based simulation here.  That includes interacting with an A/D (sorry, not the XADC), lowpass filtering and resampling the result, taking an FFT, and the plotting the results on a scrolling spectrogram.  You can see the design outline below.

fftdemo.png

Here's a screenshot of the output you might expect: (the A/D simulator is producing a ramp in frequency)

fftdemo-sshot.png

It's all quite doable, but you do have to be willing to do the work.  In this case, you would need to build not only the driver for the XADC, but also a simulation component to match that driver to know that you've done it right.  In my example, I also have both an ADC controller (pmic/pmic.v) and a simulation component to match it.  You would also likely want to adjust the processing flow to your own needs.

Dan

Edited by D@n

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this