Visible to Intel only — GUID: mfo1653494059211
Ixiasoft
Visible to Intel only — GUID: mfo1653494059211
Ixiasoft
16.4. Clocked Video Output IP Interfaces
The IP has up to three video input interfaces:
- An AXI4-S video input for the primary pixel data input, axi4s_vid_in
- An optional AXI4-S video Input for the test pattern generator pixel data input, axi4s_tpg_in
- An optional AXI4-S full-raster input for the real-time video raster data, axi4s_fr_timing_in
The IP has one video output interface, an AXI4-S full-raster bus, axi4s_fr_vid_out
The IP has one status video interface, vid_status.
The IP has one optional CPU interface, av_mm_cpu_agent.
The IP has one optional TPG status interface, tpg_status.
The IP has nine optional internal video timing generators, frame_start and pulse_0 to pulse_7.
The CPU interface is asynchronous to the video output interface. Assume the video clock can be unstable when you select a new standard, which can cause unreliable behavior if used for the CPU interface.
The proprietary Intel FPGA streaming full-raster protocol is compatible with AMBA AXI4-stream interfaces to connect components that exchange video data. The protocols allow interfaces to Intel FPGA video IPs or other AXI4-Stream compliant third-party video IPs. Table 4 provides a description for each of the conduits on the output and input interfaces.
The video clock and CPU clock are assumed to be asynchronous to each other. Internally, the Clocked Video Output IP includes clock domain crossing (CDC) circuits for both single bit and data bus signal cases, which allows safe data exchange between the two asynchronous clock domains. The Clocked Video Output IP also includes an embedded entity .sdc file, which provides all the necessary information to the Timing Analyzer. For system integration, when you instantiate the Clocked Video Output IP in a design, the only constraints required are:
- Clock frequency constraints for the timing reference input clock (fr_clock_clk)
- Clock frequency constraints for the primary video clock (vid_clock_clk)
- Clock frequency constraints for the test pattern input video clock (tpg_clock_clk)
- Clock frequency constraints for the CPU clock (cpu_clock_clk)
Signal name | Direction | Width | Description |
---|---|---|---|
Clocks and resets | |||
vid_clock_clk | Input | 1 | Input AXI4-S video main video input processing clock |
vid_reset_reset | Input | 1 | Input AXI4-S video main video processing reset |
tpg_clock_clk | Input | 1 | Input AXI4-S video test pattern input processing clock |
tpg_reset_reset | Input | 1 | Input AXI4-S video test pattern input processing reset |
fr_clock_clk | Input | 1 | Processing clock for input and output AXI4-S full-raster interfaces. |
fr_reset_reset | Input | 1 | Reset for input and output AXI4-S full-raster interfaces. |
cpu_clock_clk | Input | 1 | Processor interface processing clock |
cpu_reset_reset | Input | 1 | ProcessoriInterface processing reset |
Control Interface This interface is only available if you turn on CPU support. |
|||
av_mm_cpu_agent_address | Input | 7 | Control agent port Avalon memory-mapped address bus. Specifies a word offset into the agent address space. |
av_mm_cpu_agent_read | Input | 1 | Control agent port Avalon memory-mapped read signal. When you assert this signal, the control port drives new data onto the read data bus. |
av_mm_cpu_agent_read_data_valid | Output | 1 | Control agent port Avalon memory-mapped read data valid signal. The IP asserts this signal on the same clock cycle when the read data is valid. |
av_mm_cpu_agent_readdata | Output | 32 | Control agent port Avalon memory-mapped read data bus. These output lines are for read transfers |
av_mm_cpu_agent_waitrequest | Output | 1 | Control agent port Avalon memory-mapped wait request bus. This signal indicates that the agent is stalling the master transaction. |
av_mm_cpu_agent_write | Input | 1 | Control agent port Avalon memory-mapped write signal. When you assert this signal, the control port accepts new data from the write data bus. |
av_mm_cpu_agent_writedata | Input | 32 | Control agent port Avalon memory-mapped write data bus. These input lines are for writing transfers. |
av_mm_cpu_agent_byteenable | Input | 4 | Control agent port Avalon memory-mapped byte enable bus. These lines indicate which bytes are selected for write and read transactions. |
Intel FPGA streaming video interfaces | |||
axi4s_fr_vid_out_tdata | Output | 32 33 34 | AXI4-S full-raster data out |
axi4s_fr_vid_out_tvalid | Output | 1 | AXI4-S data valid |
axi4s_fr_vid_out_tuser[0] | Output | 1 | AXI4-S start of video frame |
axi4s_fr_vid_out_tlast | Output | 1 | AXI4-S end of packet |
axi4s_fr_vid_out_tready | Input | 1 | AXI4-S data ready |
axi4s_fr_timing_in_tdata | Input | 32 33 34 | AXI4-S full-raster timing data in |
axi4s_fr_timing_in_tvalid | Input | 1 | AXI4-S data valid |
axi4s_fr_timing_in_tuser[0] | Input | 1 | AXI4-S start of video frame |
axi4s_fr_timing_in_tlast | Input | 1 | AXI4-S end of packet |
axi4s_fr_timing_in_tready | Output | 1 | AXI4-S data ready |
axi4s_vid_in_tdata | Output | 32 33 34 | AXI4-S data in |
axi4s_vid_in_tvalid | Output | 1 | AXI4-S data valid |
axi4s_vid_in_tuser[0] | Output | 1 | AXI4-S start of video frame |
axi4s_vid_in_tlast | Output | 1 | AXI4-S end of packet |
axi4s_vid_in_tready | Input | 1 | AXI4-S data ready |
axi4s_tpg_in_tdata | Output | 32 33 34 | AXI4-S data in |
axi4s_tpg_in_tvalid | Output | 1 | AXI4-S data valid |
axi4s_tpg_in_tuser[0] | Output | 1 | AXI4-S start of video frame |
axi4s_tpg_in_tlast | Output | 1 | AXI4-S end of packet |
axi4s_tpg_in_tready | Input | 1 | AXI4-S data ready |
Video Status | |||
vid_locked | Output | 1 | When ‘1’, the IP locks the video input with the timing reference. When ‘0’, the IP waits to lock the video input and the timing reference. |
vid_is_full | Output | 1 | When ‘1’, the IP detects the video input is the full variant of the Intel FPGA streaming video protocol. When ‘0’, the IP detects the video input is the lite variant of the Intel FPGA streaming video protocol. |
vid_stall_error | Output | 1 | When ‘1’, the video input stalls (drops its tValid) when the timingreference requires active pixels. When ‘0’, the video input supplies pixels at the required pixel rate. |
vid_size_missmatch | Output | 1 | When ‘1’, the active dimensions of the video input do not match the active dimensions of the timing reference. When ‘0’, the active dimensions of the video input and the timing reference match. |
TPG status This interface is only available if you select True for Internal Timing Generator. |
|||
tpg_locked | Output | 1 | When ‘1’, the test pattern input locks with the timing reference. When ‘0’, the IP is waits to lock the test pattern input and the timing reference. |
tpg_is_full | Output | 1 | When ‘1’, the IP detects the test pattern input is the full variant of the Intel FPGA streaming video protocol. When ‘0’, the IP has detects the test pattern input is the lite variant of the Intel FPGA streaming video protocol..
|
tpg_stall_error | Output | 1 | When ‘1’, the test pattern input stalls (drops its TValid) when the timing reference requires active pixels. When ‘0’, the test pattern input supplies pixels at the required pixel rate. |
tpg_size_missmatch | Output | 1 | When ‘1’, the active dimensions of the test pattern input do not match the active dimensions of the timing reference. When ‘0’, the active dimensions of the test pattern input and the timing reference match. |
Internal Timing Generator Conduits This interface is only available if you select True for Internal Timing Generator. |
|||
frame_start | Input | 1 | The internal video timing generator uses this signal to indicate the start of frame. Depending on the generator Frame lock mode, the IP ignores the frame_start signal i.e., freerunning (default configuration) If you select Pulse for Frame start signal type, the IP processes the frame start input signal as a pulse. The IP uses the rising edge of the signal to indicate the start of a frame. If you select Toggle for Frame start signal type, the IP processes the frame start input signal as a toggle and the IP uses both edges of the signal to indicate the start of a frame. |
Pulse | Output | 1 | The IP can produce up to 8 additional outputs that each provide a pulse or a toggle once per frame. You can program these general-purpose signals to occur at any fixed point in the raster. Separate parameters specify the first and last pixel of the pulse. If the start and end pixels are the same, the IP generates a single clock pulse. If the end pixel is outside the defined raster, the signal becomes a once-per-frame toggle. |
The equation gives all full-raster tdata widths:
max (floor((( bits per color samplex (number of color planes+1) x pixels in parallel) + 7) / 8) x 8, 16)
The equation gives all tdata video active only sizes:
max (floor((( bits per color sample x number of color planes x pixels in parallel) + 7) / 8) x 8, 16)