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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Newbie nik97
Newbie
1,973 Views
Registered: ‎11-10-2017

Sending JPEG image into AXI4 stream and reading it back?

I'm doing an image processing project on Zedboard Zynq evaluation board, using the FPGA built on it. I have written the image processing block using HLS and created the IP with both input and output as AXI4 streams with width 8.

How do I read a JPEG image on my PC and send it as an AXI4 stream to this IP block, and output it back to show it on my PC screen ?


Are there any existing IPs which accomplish this ?


P.S. The FPGA board is connected to my PC via JTAG cable, in case it's relevant.

Tags (2)
0 Kudos
3 Replies
Scholar austin
Scholar
1,962 Views
Registered: ‎02-27-2008

Re: Sending JPEG image into AXI4 stream and reading it back?

 

https://www.xilinx.com/products/design-tools/embedded-vision-zone/revision-knowledge-center.html

 

Basically, there are example designs for various platforms to use cameras, displays, or file transfer of images.

 

 

 

 

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Newbie nik97
Newbie
1,887 Views
Registered: ‎11-10-2017

Re: Sending JPEG image into AXI4 stream and reading it back?

I'm sorry, I couldn't find any relevant material in the link given. Could you please guide me more specifically, or ask any of your other colleagues to help me out ? 
Thanks.

0 Kudos
Scholar u4223374
Scholar
1,869 Views
Registered: ‎04-26-2015

Re: Sending JPEG image into AXI4 stream and reading it back?

There's not a really good way to do this. The JTAG to AXI Master IP could potentially do what you want, but it doesn't do a stream output. You could either copy data into RAM and then use a VDMA to feed it to the HLS block, or use something like an AXI FIFO to avoid off-chip RAM (this approach will require careful timing, as you can't buffer the whole image on-chip).

 

I would suggest two other options:

 

(1) Use the UART or ethernet ports to copy data into the RAM (via the Zynq PS), then read it with a VDMA.

 

(2) Put the pictures on an SD card, have the Zynq PS read them from there, convert to raw, feed them to the block, then write the results back to the SD card.