Hello,
I am new to red pitaya STEMLab-125-14 board and also to ZYNQ 7000. I know to work on RTL, but not with C programming. I want to transfer the bytes of data from PL logic to DDR3 directly without PS interference. What I understood is that I should use DMA for transfer, but this also uses PS for minimal. And, what I understood from pin package of ZYNQ 7000 series is that the DDR3 IOs are on PS bank.
Is there any help on this? Is there any feasible way to transfer data to DDR3 from PL using RTL without any block diagram approach? At what rate (min and max) the data can be transferred from PL to DDR3 and back to PL?
Thanks
Writing data to DDR3 without PS intervention
-
- Posts: 3
- Joined: Fri Sep 20, 2024 7:57 am
-
- Posts: 126
- Joined: Tue Nov 16, 2021 11:38 am
Re: Writing data to DDR3 without PS intervention
Hi,
with Red Pitaya's hardware configuration, you will have to instantiate the PS to write data to RAM (you need to use S_AXI_HP ports on the PS). There is no other way to access the DDR3. Using these ports does not require any SW intervention. You can instantiate the PS without the block design, but doing that is up to you.
Looking at the Zynq 7000 series in general, you can instantiate a MIG core that can interface a DDR3 chip so that the FPGA fabric can access a RAM. There are no pins on the Red Pitaya to do so.
I couldn't give you a concrete number, but we have successfully implemented 2 channel ADC and DAC streaming - not both at the same time, though.
This gives us 125 MHz*2 channels*2 bytes per samples = 500 MB/s for reading or writing.
with Red Pitaya's hardware configuration, you will have to instantiate the PS to write data to RAM (you need to use S_AXI_HP ports on the PS). There is no other way to access the DDR3. Using these ports does not require any SW intervention. You can instantiate the PS without the block design, but doing that is up to you.
Looking at the Zynq 7000 series in general, you can instantiate a MIG core that can interface a DDR3 chip so that the FPGA fabric can access a RAM. There are no pins on the Red Pitaya to do so.
I couldn't give you a concrete number, but we have successfully implemented 2 channel ADC and DAC streaming - not both at the same time, though.
This gives us 125 MHz*2 channels*2 bytes per samples = 500 MB/s for reading or writing.
-
- Posts: 3
- Joined: Fri Sep 20, 2024 7:57 am
Re: Writing data to DDR3 without PS intervention
Hi,
I made the design using Data mover IP (https://docs.amd.com/r/en-US/pg022_axi_ ... VIuv6BePrw) as shown in the attached file (Block_diagram.jpg). But when I tried reading the data values it is reading alternative values (attached snaps). Why is it so?
I made the design using Data mover IP (https://docs.amd.com/r/en-US/pg022_axi_ ... VIuv6BePrw) as shown in the attached file (Block_diagram.jpg). But when I tried reading the data values it is reading alternative values (attached snaps). Why is it so?
-
- Posts: 3
- Joined: Fri Sep 20, 2024 7:57 am
Re: Writing data to DDR3 without PS intervention
Hi,
Problem resolved. I had to change the data width from 32-bit to 64-bit in all the places including in ZYNQ block. But I didn't understand why it was requiring width of 64-bit.
In MIG the pin configuration requires to be assigned. What are the pin numbers to be assigned?
Thanks
Problem resolved. I had to change the data width from 32-bit to 64-bit in all the places including in ZYNQ block. But I didn't understand why it was requiring width of 64-bit.
In MIG the pin configuration requires to be assigned. What are the pin numbers to be assigned?
Thanks
-
- Posts: 126
- Joined: Tue Nov 16, 2021 11:38 am
Re: Writing data to DDR3 without PS intervention
You can't use MIG with Redpitaya as we do not have a dedicated DDR hooked up to PL.
I don't know which ports you used, but if you hooked up the Data Mover IP to any of the S_AXI_HP ports - those are configured as 64 bit on the PS. You can use a 32 bit core as well, but then you have to place a an AXI Width Converter somewhere between the Data Mover and the PS.
I don't know which ports you used, but if you hooked up the Data Mover IP to any of the S_AXI_HP ports - those are configured as 64 bit on the PS. You can use a 32 bit core as well, but then you have to place a an AXI Width Converter somewhere between the Data Mover and the PS.
jadalnie klasyczne ekskluzywne meble wypoczynkowe do salonu ekskluzywne meble tapicerowane ekskluzywne meble do sypialni ekskluzywne meble włoskie
Who is online
Users browsing this forum: No registered users and 3 guests