The attached zip file was prepared for me by Martin di Federico. It exercises the DAC and ADC channel by copying the bits read from an ADC to the DAC. After following his instruction, I input square wave pulses to ADC_D and read from DAC_A. I see about 340 nSec latency.
You do NOT neet to comile the project, but just copy these files to your 4x2 board and run the notebook:
4x2_echo.bit 4x2_echo.hwh echo_test.ipynb
We'll continue working from this design to see how the latency could be reduced. The RFSoC data converter has many options to explore. In an online forum this is expected:
ADC maximum configuration i.e 8x decimation , NCO enabled and QMC enabled = 103ns (412 sample clocks)
DAC maximum configuraion i.e 8xinterpolation , inverse sync . NCO, QMC enabled = 119ns (760 sample clocks)
That looks like a total of 103+119=222 nSec but I measure 340 nSec.
Here is Martin's description of the design, reference 4x2-timing.png also attached.
Hi Chris.
I have create a project and change some stuff..
I create a project and an automated script to create it.
I will summarize
I've repeated this measurement with our SoC and get the same value of 340 ns for the delay. Attached is an oscilloscope trace of the pulse in red and the echo in blue.
I also performed a swept sin measurement of this same bit file, from 15MHz to 20MHz. The phase info is consistent with a 350 ns delay. Notably the magnitude of the returning sin wave is about half of the one sent in.