UPGRADE YOUR BROWSER
We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!
10-01-2018 11:44 PM
Hi,
I started using RFSoC device on ZCU111 board. First, I am trying to generate signals using RF DACs. The DACs are configured for a simple mode:
- Real output
- x1 interpolation
- 16 samples per AXI4-stream cycle
- Mixer bypassed
- 256 bits data width
I succeeded in feeding data to the DACs, but could not find information on data format of the AXI4-stream in the product guide PG269 (Zynq UltraScale+ RFSoC RF Data Converter 2.0).
Looking at actual output waveform, it seems like:
- AXI4-stream data has 16 bits boundaries
- The lowest data (tdata[15:0]) is transmitted first.
- Every 16 bits data is signed integer format. (min 0x8000 ... max 0x7FFF)
- In the 16 bits data, the lowest bit 0 and 1 are not used.
Is this assumption correct?
Thank you,
10-03-2018 02:54 PM
This detail is actually in the product guide.
figure 58 shows the arrangement of the samples in the axi stream
tdata 15:0 is sample 0 and this is transmitted first
Table 52 shows the 16 bit 2's compliment data word format.
10-03-2018 02:49 PM
Hi,
You need to drive the DAC with an AXI Streaming interface. You can look up the details pg085 AXI4 Stream Infrastructure.
I got a similar problem. I got ZCU111 eval board. I simply wants to drive the DAC from PL logic, e.g., a pure sine wave from the DDS IP. Do I still need the PS and run a bare metal application? Or there is a way to do this without touching the PS and SDK?
Thanks.
10-03-2018 02:54 PM
This detail is actually in the product guide.
figure 58 shows the arrangement of the samples in the axi stream
tdata 15:0 is sample 0 and this is transmitted first
Table 52 shows the 16 bit 2's compliment data word format.
10-03-2018 05:52 PM
Hi,
In my case, feeding data from BRAM in PL logic to the DAC core.
It was a little complicated. But I had to created a bare metal application to initialize the RF DACs and on-the-board clock ICs. Then the AXI4-Stream started running.
An issue is that data format in the AXI4-Stream is not clear.
10-03-2018 06:01 PM
Hi @klumsde,
Thank you for your reply.
Now the data format is clear to me.
Looking at figure 58 (attached), it shows data for sample 15..0 is included in the first 256-bits data. It is okay. But I could not see alignment of 16 samples data in the 256-bits.
I hope the information is included in the product guide.
Thank you.
05-22-2019 12:24 AM - edited 05-23-2019 05:37 AM
Hi,
Do you use AXI4-stream interconnect between BRAM and usp_rf_data_ converter? @yfuji38
Do you solve the issue with AXI4-stream data format?
Is it possible for you to post a screen shot with the architecture Vivado?
Thank you
05-23-2019 05:18 PM
Hi,
I am not using AXI4-stream interconnect, but created a waveform generator module which is written in RTL. Just FYI, see attached block diagram. It is for testing the RF DACs. I checked that the actual output waveform was good.
Hope this helps.
08-28-2019 08:11 AM
Helo @yfuji38 ,
I am also trying to drive the DACs using data (binary random sequence) loaded in the memory in the board. What IP architecture can I use to generate the analog waveform in the DAC outout? I know I have to use the RF data converter, but I do not find how can I "feed" it with the digital data.
08-28-2019 07:00 PM
Hi @nicolas05,
I created wfm_gen module which feeds data to the DAC. The module includes dual port RAM IPs for each DAC channel. The address to the RAM is incremented repeatedly. Those parts are written in Verilog RTL.
If you use PL DDR4 memory on the board, you might have to use MIG (DDR4 memory interface) IP and AXI stream generator, etc.
09-02-2019 07:00 AM
Hi @yfuji38 ,
Thanks for the answer. It looks simpler for me to use the AXI traffic generator for driving the DAC. Also, the traffic generator IP is driven by a Zynq uP, right? If I understand correctly, one has to use a Baremetal library inside it. I am still searching on how to achieve that.
09-03-2019 07:44 PM
Hi @nicolas05,
The AXI traffic generator can be used for generating AXI stream data. But it looks like the IP is for testing the AXI modules/interconnections. The traffic pattern is limited.
If you would like to generate data pattern by using AXI mapped memory, the AXI DMA Controller or the AXI Datamover could be usable.
https://www.xilinx.com/products/intellectual-property/axi_dma.html
https://www.xilinx.com/products/intellectual-property/axi_datamover.html
09-04-2019 09:45 AM
09-04-2019 10:14 AM
The digital data format is in PG269 (v2.1) December 5, 2018, Zynq UltraScale+ RFSoC RF Data Converter.
I created my own custom IP that I can program waveform vectors generated in Octave. Mybe this will work for you?
09-04-2019 10:50 AM
Forgot to mention table 57 on p. 156 for the data format. You already have the sample position format.
09-05-2019 06:01 AM
Hello @kinmand ,
Sure that would be of great help! From what I understand, I should
-generate data using Octave/matlab
-load it in memory on board
-access the memory via DMA and stream it in AXIS packages
-get that packages to de DAC via RFDC IP
Thanks a lot!