1 / 26

Fiber Channel Video Controller uArchitecture Review

Fiber Channel Video Controller uArchitecture Review. Tsachy Kapchitz & Michael Grinkrug Super.: Alex Gurevich Technion Digital Lab, Elbit Systems. Project Goals. Design a controller that receives FC traffic from an external receiver and passes to memory only video data directed to it.

noleta
Download Presentation

Fiber Channel Video Controller uArchitecture Review

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fiber Channel Video ControlleruArchitecture Review Tsachy Kapchitz & Michael Grinkrug Super.: Alex Gurevich Technion Digital Lab, Elbit Systems

  2. Project Goals • Design a controller that receives FC traffic from an external receiver and passes to memory only video data directed to it. • The controller should be with minimal latency.

  3. Block Diagram • Input: • HP Receiver • Output: • SRAM • Interface: • Config. Params (address, video params etc.) • Status Register

  4. Functionality: Get data [words], comma and clock from HP receiver Combine the data into DW and pass to Frame Controller Generate clock of half the frequency of the clock provided by HP receiver Pass COM_DET signal with the relevant DW Input: (from HP receiver) Data [15:0] COM_DET signal Clock (RBC) Output: (to Frame Controller) Data [31:0] Comma signal Clock (half the frequency of RBC) Input Unit

  5. Input Unit - uArch

  6. Input Unit - clock generation • This clock (f/2) will be the operating clock of the controller (Frame / container controllers) • Memory Unit (address placement and SRAM interface) will work @ 2f

  7. Input Unit - Assumptions • HP Receiver operates in 2-Bytes per clock mode (not Ping-Pong) • FC frames are DW aligned, so comma always will be passed in parallel with SOF / EOF • The data from HP is in 8 bits per Byte format (after 10 to 8 conversion)

  8. Functionality: Receive data from Input Unit by DW Analyze the data on FC Header level Pass the relevant payload to Container Controller Generate FC frame status Input: (from Input Unit) Data [31:0] Clock (half of RBC) Comma signal Output: (to Container Controller) Data [31:0] Valid + BC New_Container Frame Status Register Frame Controller

  9. Frame Controller - functionality

  10. Frame Controller - Block Diagram • Frame header Analyzer - main FSM, that parses FC frame header fields • Sequence Follower - figures the next expected sequence num. and sequence count • CRC is only compared and OK/NOK bit set in status register • Suspender - FIFO of depth 2 that suspends the data in order to get the end of the frame (CRC)

  11. Frame Controller - uArchFrame Header Analyzer

  12. Frame Controller - uArchSequence Follower • New_container is a pulse that accompanies the first DW of container header

  13. Frame Controller - uArchSuspender • BC : • 11 - DW • 10 - 3 Bytes • 01 - 2 Bytes • 00 - 1 Byte • @comma - #byte_fill

  14. Frame Controller - Assumptions • Sequence on FC level  1 video container • Single sequence at a time (one video stream) • The link is FIFO (no surpassing frames) • Point to point connection (single sender) • If an error on FC frame level occurs - current sequence will be discarded (thus current video frame will be partially lost) • Upon CRC error only, the data will be passed through and an appropriate status will be generated

  15. Functionality: Get container from Frame Controller and write video objects to memory using an appropriate method, according to video system (with help of Memory Unit) Write ancillary object to a separate memory Input: (from Frame Controller) Data [31:0] BC Valid New_Container Memory Unit interface Output: (to Memory Unit) SRAM interface Memory Unit interface Container Controller

  16. Container Header

  17. Container Controller - Block Diagram

  18. Container Controller - Header Analyzer

  19. Obj. Extractor Data Object Info SIZE Frame Contrl. Container Controller -Header Analyzer (cont.) • Data flows through the block and relevant fields are checked and loaded into Object Information registers • Objects size is loaded into a “temp” register and transferred together with offset

  20. Container Controller - Objects Information

  21. Container Controller - Object Extractor

  22. Container Controller - Object Extractor FSM

  23. Container Controller - Aligner

  24. Container Controller - Memory Unit

  25. Container Controller - Memory Unit FSM

  26. Container Controller - Assumptions • Memory Unit gets Index of the first valid (TYPE & Size) object • @ interlaced mode - video field  object • Single video stream

More Related