Hi, I'm trying to transfer a small .bin file of size utmost 1-2MB from PC to sdr ddrram of ML403 using a crossover Ethernet cable (TCP/IP). I'm using PowerPC and plb bus. How do I write a socket program to transfer the file?
Reply by Guru●May 10, 20072007-05-10
On May 9, 7:16 pm, Jeff Cunningham <j...@sover.net> wrote:
> Guru wrote:
>
> > Ave Paul! There is a lack of fast and free TCP/IP stacks which work
> > with TEMAC. It would be nice to port your stack to GSRD design
> > (www.xilinx.com/gsrd) to get a maximum speed and royalty free
> > reference design. I got this design working on Avnet Virtex-4FX12
> > MiniModule, which is a low cost high performance OEM module.
> > Unfortunatelly there are no good reference designs which can exploit
> > this performance. If I were a better SW engineer I could help you on
> > development from which both would benefit.
>
> > Guru
>
> Hi Guru,
>
> I am the hardware engineer who is working with Paul. I'd love to hear
> any comments you might have on our approach.
>
> Our application specific IP that must also fit in the FPGA is a PLB
> master DMA device that uses about 50% of the BRAM and 25% of the fabric
> in the FX12. We originally were going to use the FX12 Minimodule, but
> switched to the ML403 to get 2x the DDR bandwidth. We can get by with
> 400 Mb/s performance for now, but would like to get 800 Mb.
>
> It seemed like all the GSRD examples almost filled a FX12, particularly
> with BRAM usage, so we used the EDK supplied PLB TEMAC core and the PLB
> DDR controller for now.
>
> Since our app only needs high speed in the receive direction, it seemed
> like it should be possible to remove half the GSRD logic (i.e. the
> transmit part) and then everything would fit. As someone who has worked
> with the GSRD, do you have a feel for how hard this would be? Or would
> you guess the full GSRD (both directions) could fit with our IP somehow?
> The critical resource seems to be BRAM and it always seemed like the
> xilinx IP really used more BRAM that it should.
>
> thanks,
> Jeff
Jeff,
My GSRD design uses about 70% of FX12 logic resources and about 60% of
BRAMs. BRAM usage is easy to control since you can set FIFO size from
1BRAM for a MPMC2 port. The best of MPMC2 is an NPI port which
simplifies the user peripherals with DMA - what I use for image
acquisition. I also tested TEMAC transfer rates to the PC: 730Mbit
1.5k MTU and 850Mbit for 7k MTU.
If you need any additional resources do not hesiste to contact me.
Guru
Reply by Jeff Cunningham●May 9, 20072007-05-09
Guru wrote:
>
> Ave Paul! There is a lack of fast and free TCP/IP stacks which work
> with TEMAC. It would be nice to port your stack to GSRD design
> (www.xilinx.com/ gsrd) to get a maximum speed and royalty free
> reference design. I got this design working on Avnet Virtex-4FX12
> MiniModule, which is a low cost high performance OEM module.
> Unfortunatelly there are no good reference designs which can exploit
> this performance. If I were a better SW engineer I could help you on
> development from which both would benefit.
>
> Guru
Hi Guru,
I am the hardware engineer who is working with Paul. I'd love to hear
any comments you might have on our approach.
Our application specific IP that must also fit in the FPGA is a PLB
master DMA device that uses about 50% of the BRAM and 25% of the fabric
in the FX12. We originally were going to use the FX12 Minimodule, but
switched to the ML403 to get 2x the DDR bandwidth. We can get by with
400 Mb/s performance for now, but would like to get 800 Mb.
It seemed like all the GSRD examples almost filled a FX12, particularly
with BRAM usage, so we used the EDK supplied PLB TEMAC core and the PLB
DDR controller for now.
Since our app only needs high speed in the receive direction, it seemed
like it should be possible to remove half the GSRD logic (i.e. the
transmit part) and then everything would fit. As someone who has worked
with the GSRD, do you have a feel for how hard this would be? Or would
you guess the full GSRD (both directions) could fit with our IP somehow?
The critical resource seems to be BRAM and it always seemed like the
xilinx IP really used more BRAM that it should.
thanks,
Jeff
Reply by Patrick Dubois●May 9, 20072007-05-09
On May 8, 4:29 pm, "Paul Tobias" <PaulTob...@MyWebSite.com> wrote:
> If you browse to my website atwww.paultobias.com/Xilinx, I have posted the
> source to a
> LWIP driver and startup code for a raw API TCP client application that runs
> on the V4fx ML403 board on top of Xilkernel (though it could be just as
> easily standalone at present.)
>
> LWIP using sockets was far too slow for us, so I put this together using the
> Temac sockets code for EDK 8.2/9.1 and the emac raw api driver (I think for
> an older EDK version).
> So far this is tested only for receiving TCPIP packets, which it does at
> 3-400 Mbps, which is in
> line with Ron Wright's presentation at Xfest recently. Using a good 32 bit
> memory aligned memcpy function instead of the many bytewise packet copies in
> LWIP should be an easy
> first step to improve this rate.
>
> You are welcome to use this as a starting point, but be aware that I am a
> novice at LWIP, TCP/IP internals and Xilinx, and the output routines are
> totally untried or tested, except for
> those used by the lower levels (ARP and ACKs etc.). More info in the
> ReadMe file on site.
>
> Paul
>
> www.paultobias.com
Thanks a lot Paul. Your XTemacif.c driver is exactly what is needed
(which should have been provided by Xilinx in the first place). I
didn't feel like I had the knowledge to write it myself, thanks for
sharing your code!
Patrick
Reply by Patrick Dubois●May 9, 20072007-05-09
On May 8, 4:50 am, Guru <ales.gor...@email.si> wrote:
> Why do you need a RAW mode? Do you actually need a TCP/IP stack? If
> not you can write directly to TEMAC and send RAW frames at highest
> speed possible.
>
> Guru
Well, we need to send data using the TCP protocol ideally, but the UDP
protocol could work as well. So my understanding is that a TCP/IP
stack is required in our case. Maybe we could construct our own UDP
packets without a stack though...
RAW mode is simply to acheive better performance than sockets mode and
also to ease the development (we don't want to bother with an OS and
threads).
Thanks.
Patrick
Reply by Guru●May 9, 20072007-05-09
On May 8, 10:29 pm, "Paul Tobias" <PaulTob...@MyWebSite.com> wrote:
> "Patrick Dubois" wrote:
> > Does anyone know of an example using lwIP in RAW mode with the
> > Virtex-4 temac? From what I understand, the lwIP temac port seemingly
> > only supports lwIP in sockets mode with xilkernel.
>
> If you browse to my website atwww.paultobias.com/Xilinx, I have posted the
> source to a
> LWIP driver and startup code for a raw API TCP client application that runs
> on the V4fx ML403 board on top of Xilkernel (though it could be just as
> easily standalone at present.)
>
> LWIP using sockets was far too slow for us, so I put this together using the
> Temac sockets code for EDK 8.2/9.1 and the emac raw api driver (I think for
> an older EDK version).
> So far this is tested only for receiving TCPIP packets, which it does at
> 3-400 Mbps, which is in
> line with Ron Wright's presentation at Xfest recently. Using a good 32 bit
> memory aligned memcpy function instead of the many bytewise packet copies in
> LWIP should be an easy
> first step to improve this rate.
>
> You are welcome to use this as a starting point, but be aware that I am a
> novice at LWIP, TCP/IP internals and Xilinx, and the output routines are
> totally untried or tested, except for
> those used by the lower levels (ARP and ACKs etc.). More info in the
> ReadMe file on site.
>
> Paul
>
> www.paultobias.com
Ave Paul!
There is a lack of fast and free TCP/IP stacks which work with TEMAC.
It would be nice to port your stack to GSRD design (www.xilinx.com/
gsrd) to get a maximum speed and royalty free reference design.
I got this design working on Avnet Virtex-4FX12 MiniModule, which is a
low cost high performance OEM module.
Unfortunatelly there are no good reference designs which can exploit
this performance. If I were a better SW engineer I could help you on
development from which both would benefit.
Guru
Reply by Paul Tobias●May 8, 20072007-05-08
"Patrick Dubois" wrote:
> Does anyone know of an example using lwIP in RAW mode with the
> Virtex-4 temac? From what I understand, the lwIP temac port seemingly
> only supports lwIP in sockets mode with xilkernel.
If you browse to my website at www.paultobias.com/Xilinx, I have posted the
source to a
LWIP driver and startup code for a raw API TCP client application that runs
on the V4fx ML403 board on top of Xilkernel (though it could be just as
easily standalone at present.)
LWIP using sockets was far too slow for us, so I put this together using the
Temac sockets code for EDK 8.2/9.1 and the emac raw api driver (I think for
an older EDK version).
So far this is tested only for receiving TCPIP packets, which it does at
3-400 Mbps, which is in
line with Ron Wright's presentation at Xfest recently. Using a good 32 bit
memory aligned memcpy function instead of the many bytewise packet copies in
LWIP should be an easy
first step to improve this rate.
You are welcome to use this as a starting point, but be aware that I am a
novice at LWIP, TCP/IP internals and Xilinx, and the output routines are
totally untried or tested, except for
those used by the lower levels (ARP and ACKs etc.). More info in the
ReadMe file on site.
Paul
www.paultobias.com
Reply by Guru●May 8, 20072007-05-08
On May 4, 2:31 am, Patrick Dubois <prdub...@gmail.com> wrote:
> Hello,
>
> Does anyone know of an example using lwIP in RAW mode with the
> Virtex-4 temac? From what I understand, the lwIP temac port seemingly
> only supports lwIP in sockets mode with xilkernel.
>
> I don't quite understand the lack of temac support at the software
> level. What are people doing when using temac on the V4? Is everyone
> using lwIP in sockets mode? No one is using raw lwIP on the V4?
>
> Patrick
Why do you need a RAW mode? Do you actually need a TCP/IP stack? If
not you can write directly to TEMAC and send RAW frames at highest
speed possible.
Guru
Reply by Patrick Dubois●May 7, 20072007-05-07
On May 5, 6:36 am, Sean Durkin <news_ma...@durkin.de> wrote:
> At X-Fest they said that raw mode will be available with EDK9.2, which
> is supposed to be available sometime after ISE9.2, which is scheduled
> for September, IIRC.
Thanks for the info. Unfortunately September is a little too late in
my case...
Patrick
Reply by Sean Durkin●May 5, 20072007-05-05
Patrick Dubois wrote:
> Hello,
>
> Does anyone know of an example using lwIP in RAW mode with the
> Virtex-4 temac? From what I understand, the lwIP temac port seemingly
> only supports lwIP in sockets mode with xilkernel.
>
> I don't quite understand the lack of temac support at the software
> level. What are people doing when using temac on the V4? Is everyone
> using lwIP in sockets mode? No one is using raw lwIP on the V4?
At X-Fest they said that raw mode will be available with EDK9.2, which
is supposed to be available sometime after ISE9.2, which is scheduled
for September, IIRC.
--
My email address is only valid until the end of the month.
Try figuring out what the address is going to be after that...