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: 
Highlighted
Contributor
Contributor
1,385 Views
Registered: ‎04-06-2018

custom video processing w s_axis interface

I have to insert my video processing system in my vivado project with VDMA and Axis-Stream to Video Out, basically , from what I understand now , I have to have a block with a s_axis_video and m_axis_video, I have followed UG934, and I based myself in a project with a DMA and a custom FIFO AXis stream , where I add the block to generate EOL and SOF , and tried to follow the template that the UG934 shows.

 

entity axis_fifovid_v1_0 is
generic (
        -- Users to add parameters here
       ADDR_WIDTH : integer := 12;
       C_AXIS_TDATA_WIDTH : integer := 24;
        -- User parameters ends
        -- Do not modify the parameters beyond this line        
       C_S0_DATA_WIDTH : integer := 24;
        C_S0_VIDEO_FORMAT : integer := 2;
        C_S0_AXIS_TDATA_WIDTH : integer := 24;
        C_S0_MAX_SAMPLES_PER_CLOCK : integer := 1;
        C_M0_DATA_WIDTH : integer := 24;
        C_M0_VIDEO_FORMAT : integer := 2;
        C_M0_AXIS_TDATA_WIDTH : integer := 24;
        C_M0_MAX_SAMPLES_PER_CLOCK : integer := 1
);
port (
        -- Users to add ports here

        -- User ports ends
        -- Do not modify the ports beyond this line


        -- Ports of Axi Slave Bus Interface S00_AXIS
        s_axis_video0_aclk    : in std_logic;
        s_axis_video0_aresetn    : in std_logic;
        s_axis_video0_tready    : out std_logic;
        s_axis_video0_tdata    : in std_logic_vector(C_S0_DATA_WIDTH-1 downto 0);
        s_axis_video0_tlast    : in std_logic;
        s_axis_video0_tuser    : in std_logic;
        s_axis_video0_tvalid    : in std_logic;

        -- Ports of Axi Master Bus Interface M00_AXIS
        m_axis_video0_aclk    : in std_logic;
        m_axis_video0_aresetn    : in std_logic;
        m_axis_video0_tvalid    : out std_logic;
        m_axis_video0_tdata    : out std_logic_vector(C_M0_DATA_WIDTH-1 downto 0);
        m_axis_video0_tlast    : out std_logic;
        m_axis_video0_tuser    : out std_logic;
        m_axis_video0_tready    : in std_logic
);
end axis_fifovid_v1_0;

 

so UG934 says : "

The Video to AXI4-Stream and AXI4-Stream to
Video cores are delivered as HDL source
code and provided as examples to expedite custom interface development
 

"but I haven't found this HDL source yet ... so someone has any tip about such systems (custom IP)

or examples of S_AXIS_VIDEO M_AXIS_VIDEO interfaces ... please.

videoIP.png
0 Kudos
9 Replies
Moderator
Moderator
1,340 Views
Registered: ‎11-09-2015

Re: custom video processing w s_axis interface

Hi @maikonnascimento,

 

The Video to AXI4-Stream and AXI4-Stream to Video cores are delivered as HDL source code and provided as examples to expedite custom interface development. 

 

--> This means that the source for the Video In to AXI4-Stream IP or the AXI4-Stream to Video Out are unencrypted HDL in vivado. You will find it below the IP:

AXI4S.PNG

 

However to be honest I am not sure if it is the best starting point for your interfaces.

 

You might want to consider Vivado HLS for an easiest way to create custom AXI4S video IPs.

 

If you want to do it in HDL, the AXI4S interface is not really complicated even more if you already have an input. You just need to take care of the handshaking and propagate the EOF and SOF for your input to output.

 

Hope that helps,

 

Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
Contributor
Contributor
1,332 Views
Registered: ‎04-06-2018

Re: custom video processing w s_axis interface

tks ! I found some code , HLS is not really an option here , I need my system to be in HDL. What I am really looking for is an example of the AXIS-4 Video interface. I did implemented a FIFO AXIS-4 but no video , so no EOL and SOF. BR.
0 Kudos
Moderator
Moderator
1,320 Views
Registered: ‎11-09-2015

Re: custom video processing w s_axis interface

Hi @maikonnascimento,

 

I used the AXI4S FIFO in a video design and it was working fine. I was able to get data in and out.

 

You might want to check if the master is correctly sending data and if the slave is ready to receive it


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
Contributor
Contributor
1,307 Views
Registered: ‎04-06-2018

Re: custom video processing w s_axis interface

tks @florentw,

right now I created a module where I just connect the handshaking lines : tvalid and t ready , and propagate tlast and tuser , I will post the solution I took once I have more confidence that is working properly, I guess the documentation UG934 mentions this approach.

0 Kudos
Contributor
Contributor
1,257 Views
Registered: ‎04-06-2018

Re: custom video processing w s_axis interface

@florentw

I kinda have some result when I connect READY and VALID , plus EOL and SOF , but because I have buffers in my code, a FIFO, the output shows the image broken like you see in the picture, with a dead region in the image. It would be easier if Xilinx provided more HDL code for this interface.

IMG_20180730_034453.jpg
0 Kudos
Moderator
Moderator
1,246 Views
Registered: ‎11-09-2015

Re: custom video processing w s_axis interface

Hi @maikonnascimento,

 

The interface is not really difficult to do if you already have an input. And it is not completely possible to do a template as it will depends on how your block will or work (continuous flow or not)

 

And again, for an easiest solution you can still use vivado hls


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Moderator
Moderator
1,141 Views
Registered: ‎11-09-2015

Re: custom video processing w s_axis interface

Hi @maikonnascimento,

 

Do you have any updates on this? Do you still require any assistance?

 

Thanks and Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Contributor
Contributor
1,049 Views
Registered: ‎04-06-2018

Re: custom video processing w s_axis interface

still struggling :(

have been trying to follow ug934 ....

 

my IP is basically a bridge with receiving data via slave stream and transmitting data with master stream , for the real time video .. another option is to use full AXI4 from the VDMA to PS , but up to now I have not found examples of HLS implementing full AXI4 slave and master (kinda a custom AXI Interconnect with my IP inside).

0 Kudos
Scholar watari
Scholar
1,030 Views
Registered: ‎06-16-2013

Re: custom video processing w s_axis interface

@maikonnascimento

 

It seems that you use wrong EOL, SOF and wrong horizontal active data enable.

Would you make sure above signals and parameters ?

 

Best regards,