Points

Content Count

Popular Content

Hi @sk_user,
I reached out to the one of our design engineers about this forum thread. They responded that the AC characteristics should be the same since the signals pass through the same buffers.
thank you,
Jon

@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.
Here's a screenshot of the output you might expect: (the A/D simulator is producing a ramp in frequency)
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

@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

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