cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
2,913 Views
Registered: ‎03-02-2017

VIdeo Process IP without video data output. What AXI interface to use?

Hi,
I would appreciate a general guidance on what i am trying to accomplish... which is to develop a custom IP that would accept as input a fullHD video frame through AXI4-Stream interface (HDMIinput->Video2AXIS -> CustomIP), perform corner detection and return the 400 most prevalent pixel corners coordinates. Since the output is no longer an image/frame can i use AXI4-Stream interface for the output (customIP-> AXI DMA S2MM->ZynqPS_HP0_port) or should i proceed with writing the results to AxiLite registers and access them through the driver form the ZynqPS software (customIP-> ZynqPS_GP0_port)?

 

any input appreciated
thanx

 

Tzoumas
0 Kudos
5 Replies
Highlighted
Moderator
Moderator
2,887 Views
Registered: ‎11-09-2015

Re: VIdeo Process IP without video data output. What AXI interface to use?

Hi @vassalos,

 

The AXI4-Stream protocol is for transmission of streaming data. If you plan to send your data continuously you can still use AXI4-Stream even if it is not for an video stream.

 

But it depends on what you want to do. Do you really need to stream the data? You can maybe just store the value in registers and use an AXI-Lite interface to read the values when you need it.

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
Highlighted
Teacher
Teacher
2,826 Views
Registered: ‎03-31-2012

Re: VIdeo Process IP without video data output. What AXI interface to use?

@vassalos as the other poster suggests, axi-stream is definitely usable here. But I have a different suggestion. I have implemented exactly what you are trying to do and my solution is to behave like vdma ie receive the stream and instead of writing the frame to memory (or in addition to it), write the thresholded nms points to a memory buffer given by the user-space directly through an axi-master interface.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
Highlighted
Newbie
Newbie
2,787 Views
Registered: ‎03-06-2017

Re: VIdeo Process IP without video data output. What AXI interface to use?

Alright, i see your point.... If my case was to process a frame and output a processed frame (of same dimensions) i could just delay the axi-stream control signals (e.g. tlast, tuser etc...) according to my custom IP latency, but since i will use complete different signaling now (i will output 400 features from a fullHD frame) i will have to handle the axi-stream control signals generation manually.... Any ideas how do that faster (if possible) or is it an one way street? btw thank you for response!
0 Kudos
Highlighted
Teacher
Teacher
2,780 Views
Registered: ‎03-31-2012

Re: VIdeo Process IP without video data output. What AXI interface to use?

@tzoumas when you say "faster" do you mean, code which runs faster or coding the solution faster?

 

in case code which runs faster, one thing you can notice is that you don't need the whole frame to start writing out points. You need only a certain number of rows of the image to detect your first points.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
Visitor
Visitor
2,748 Views
Registered: ‎03-02-2017

Re: VIdeo Process IP without video data output. What AXI interface to use?

@muzaffer i was wandering if there is a faster way of handling the axi-stream control signals than generating them manually... Perhaps vivado has some functionality i'm not aware of... If not then its ok too... The important thing is that using AXIS, I can process an input frame (AXIS slave input) and produce something different than a frame (in my case some image features)...

If it comes down to using an AXI DMA for moving the data from/to CPU to/from FPGA,  I should search how i can set the two different sizes in the DMA transactions (to the AXIS accelerator and from the AXIS accelerator)...right?    

Tzoumas
0 Kudos