background image

Video In to AXI4-Stream

www.xilinx.com

25

PG043 April 24, 2012

Module Descriptions

account in the design of the bridges by providing a small “cushion” or minimum fill level in 

the FIFOs so that the pointer pessimism does not cause artifacts.

Underflow Prevention

In addition to the steps for synchronizing flags, extra care must be taken in handling the 

empty condition. It is not enough to signal an empty condition, because “reads” of the FIFO 

will not stop on empty. Additional read operations must be performed to get the EOL to the 

output of the FIFO. This happens routinely at the end of every line, and the FIFO must not 

lose any data. That is, underflow is not allowed. When new data is eventually written to the 

FIFO, the read must pick up with the first new valid pixel. To do this, the read pointer is 

inhibited when the FIFO is empty. 

The empty flag asserts coincident with the last available location being clocked into the 

output register. The read pointer, however is not advanced to match the write pointer but 

remains pointing at the last valid pixel that was read. Subsequent reads, when empty is 

asserted, will cause the read_error flag to be asserted, flagging the pixel from the FIFO as 

invalid. The data output, however will not change. 

Thus, when a read occurs to an empty FIFO, the invalid flag (read_error) is set, and the read 

pointer does not increment. In this way, the EOL can be advanced through the pipe by a 

series of reads on the empty FIFO. With each read, an invalid pixel backfills the advancing 

EOL but the downstream logic can distinguish these from valid pixels. 

Pointer Format

It is important to provide an accurate level, and to distinguish between full and empty 

conditions when the read and write pointers are equal. This is done by having extra 

“revolution” bits on the pointers in addition to the address bits as shown in 

Figure 4-6

.

At the cost of a couple of extra bits in the pointers, this allows the level calculations and 

flags to be unambiguously determined in full and empty conditions.

Read Logic

The function of the read logic is to control the handshaking for the AXI4-Stream bus and to 

provide pixels to this bus as rapidly as possible. In general, the strategy for AXI4-Stream is 

downstream-greedy. That is, downstream modules take pixels as soon as they are available 

and there is buffer space to accommodate them. Since the Video In to AXI4-Stream core is, 

by definition, at the front of the pipeline, it strives to empty its FIFO as fast as possible.

X-Ref Target - Figure 4-6

Figure 4-6:

Pointer Format for a 32 Location FIFO

Содержание LogiCORE IP Video In to AXI4-Stream v1.0

Страница 1: ...Video In to AXI4 Stream v1 0 Product Guide PG043 April 24 2012...

Страница 2: ...ion 9 Core Interfaces and Register Space 10 Chapter 3 Customizing and Generating the Core Graphical User Interface GUI 16 Chapter 4 Designing with the Core General Design Guidelines 18 System Consider...

Страница 3: ...il 24 2012 I O Standard and Placement 28 Chapter 6 Detailed Example Design Appendix A Additional Resources Xilinx Resources 30 Solution Centers 30 References 30 Technical Support 31 Ordering Informati...

Страница 4: ...clock boundary crossing between video clock domain and AXI4 Stream clock domain Selectable FIFO depth from 64 8192 locations Selectable input data width of 8 64 bits LogiCORE IP Video In to AXI4 Strea...

Страница 5: ...sync Hsync Vbank Hblank and DE Any of these sets of signals is sufficient for the operation of the Video In to AXI4 Stream core The particular choice is important to the VTC detector so the generation...

Страница 6: ...to the axis_enable input of the Video In to AXI4 Stream core in order to inhibit the AXI4 Stream bus when the video input is missing or unstable Feature Summary The Video In to AXI4 Stream core conver...

Страница 7: ...parallel clocked video sources DVI HDMI Image Sensors Other clocked parallel video sources Licensing The Video In to AXI4 Stream core is provided at no cost with the Xilinx tools Use of it is covered...

Страница 8: ...k frequency can vary The maximum achievable clock frequency and all resource counts can be affected by other tool options additional logic in the FPGA device using a different version of Xilinx tools...

Страница 9: ...O will go empty after the EOL on each line If Faclk is less than Fvclk additional buffering is required The FIFO must be large enough to handle the differential in the rate that pixels are coming in o...

Страница 10: ...Width FIFO Depth LUTs FFs RAM 36 18 Fmax MHz 8 32 83 104 0 0 337 24 1024 120 161 1 0 309 64 8192 221 262 16 1 309 Table 2 3 Virtex 6 Data Width FIFO Depth LUTs FFs RAM 36 18 Fmax MHz 8 32 79 104 0 0 3...

Страница 11: ...el Signaling Interface 6IDEO N TO 8 3TREAM S AXIS VIDEO TDATA S AXIS VIDEO TVALID S AXIS VIDEO TREADY S AXIS VIDEO TLAST M AXIS VIDEO TDATA M AXIS VIDEO TVALID M AXIS VIDEO TREADY M AXIS VIDEO TLAST M...

Страница 12: ...s_video_tdata LOW Table 2 8 Port Name I O Width Description Signal Name Direction Width Description vtd_vsync Out 1 Vertical synch video timing signal vtd_hsync Out 1 Horizontal synch video timing sig...

Страница 13: ...rising edges on the ACLK pin Internal states are maintained and output signal levels are held until ACLKEN is asserted again When ACLKEN is de asserted core AXI4 Stream inputs are not sampled except A...

Страница 14: ...ve that can immediately accept data qualified by m_axis_video_tvalid should pre assert its m_axis_video_tready signal until data is received Alternatively m_axis_video_tready can be registered and dri...

Страница 15: ...Video In to AXI4 Stream www xilinx com 15 PG043 April 24 2012 Product Specification Core Interfaces and Register Space X Ref Target Figure 2 3 Figure 2 3 Use of EOL and SOF Signals...

Страница 16: ...h the CORE Generator GUI This section provides a quick reference to parameters that can be configured at generation time The GUI displays a representation of the IP symbol on the left side and the par...

Страница 17: ...components 1 4 is multiplied by the component width to determine the width of the video data bus v_data In turn this width is rounded up to the nearest factor of 8 to determine the width of the AXI4...

Страница 18: ...ng signals The set of timing signals used should be those required by the VTC detector See the PG016 Video Timing Controller Product Guide for more details For the Video In to AXI4 Stream core the dat...

Страница 19: ...inimum the aclk frequency must be higher than the average pixel rate Resets There are two external resets provided rst which resets the entire core and aresetn which resets the AXI4 Stream interface B...

Страница 20: ...n Fvclk additional buffering is required The FIFO must store enough pixels to supply pixels continuously throughout the active line Additionally due to phasing requirements the horizontal active perio...

Страница 21: ...ing edge of DE however it additionally requires knowledge of the vertical timing to identify the first line This is done using the logical or OR vsync and vblank The falling edge of either of these in...

Страница 22: ...use case of reads when the FIFO is empty It also has pointer inhibiting logic to prevent pointer crossings on underflow and overflow This asynchronous nature of the FIFO presents challenges for the f...

Страница 23: ...the read logic is simple with binary pointers but impractical with gray code pointers Clock Domain Crossing of Pointers The synchronization and handshaking for pointers is shown in detail in Figure 4...

Страница 24: ...states request and acknowledge The request state is when Req and Ack are not equal and acknowledge is when they are equal This sample and hold method with handshaking delays the capture of the pointe...

Страница 25: ...from the FIFO as invalid The data output however will not change Thus when a read occurs to an empty FIFO the invalid flag read_error is set and the read pointer does not increment In this way the EO...

Страница 26: ...tal blanking period At the end of each line the EOL must be flushed through from the FIFO to the output registers This is done so that the downstream core can access the complete line without having t...

Страница 27: ...TS_vid_in_clk PERIOD vid_in_clk 150 MHz HIGH 50 NET aclk TNM_NET aclk TIMESPEC TS_aclk PERIOD aclk 150 MHz HIGH 50 TIMESPEC TS_vid_in_clk_to_aclk FROM vid_in_clk TO aclk TIG TIMESPEC TS_aclk_to_vid_i...

Страница 28: ...e no specific Clock placement requirements for this core Banking There are no specific Banking rules for this core Transceiver Placement There are no Transceiver Placement requirements for this core I...

Страница 29: ...Video In to AXI4 Stream www xilinx com 29 PG043 April 24 2012 Chapter 6 Detailed Example Design No example design is available at the time for the LogiCORE IP Video In to AXI4 Stream v1 0 core...

Страница 30: ...s glossary pdf For a comprehensive listing of Video and Imaging application notes white papers reference designs and related IP cores see the Video and Imaging Resources page at http www xilinx com es...

Страница 31: ...Answer Record that contains the Release Notes and Known Issues list for the core being used The following information is listed for each version of the core New Features Resolved Issues Known Issues O...

Страница 32: ...ult of any action brought by a third party even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same Xilinx assumes no obligation to correct any...

Отзывы: