DLPS167 March   2024 DLPC964

PRODUCTION DATA  

  1.   1
  2. Features
  3. Applications
  4. Description
  5. Pin Configuration and Functions
  6. Specifications
    1. 5.1 Absolute Maximum Ratings
    2. 5.2 ESD Ratings
    3. 5.3 Recommended Operating Conditions
    4. 5.4 Thermal Information
    5. 5.5 Electrical Characteristics
    6. 5.6 Timing Requirements
  7. Detailed Description
    1. 6.1 Overview
    2. 6.2 Functional Block Diagram
    3. 6.3 Feature Description
      1. 6.3.1 Input High-Speed Serial (HSS) Interface
      2. 6.3.2 Block Interface
      3. 6.3.3 Control Interface
        1. 6.3.3.1 Watchdog
        2. 6.3.3.2 LOAD2
          1. 6.3.3.2.1 LOAD2 Row Addressing
          2. 6.3.3.2.2 LOAD2 Block Clears
        3. 6.3.3.3 Receiver Low Power Mode Enable
        4. 6.3.3.4 DMD High Speed Serial Interface (HSSI) Reset
        5. 6.3.3.5 DMD Power Enable
      4. 6.3.4 User K-Data Interface
      5. 6.3.5 Status Interface
        1. 6.3.5.1 INIT_DONE
        2. 6.3.5.2 MCP_ACTIVE
        3. 6.3.5.3 BLKLOADZ
        4. 6.3.5.4 High-Speed Serial Interface (HSSI) Bus Error
        5. 6.3.5.5 IRQZ
      6. 6.3.6 Reset, System Clock, and Power Good
        1. 6.3.6.1 Controller Reset
        2. 6.3.6.2 Main Oscillator Clock
        3. 6.3.6.3 DMD HSSI Bus Oscillator Clock
        4. 6.3.6.4 POWERGOOD and DMDPOWERGOOD
      7. 6.3.7 I2C Interface
        1. 6.3.7.1 Configuration Pins
        2. 6.3.7.2 Communications Interface
          1. 6.3.7.2.1 Command Format
      8. 6.3.8 DMD (HSSI) Interface
        1. 6.3.8.1 Park Control
        2. 6.3.8.2 Configurable HSSI Settings
      9. 6.3.9 Flash PROM Interface
        1. 6.3.9.1 JTAG Interface
    4. 6.4 Device Functional Modes
      1. 6.4.1 DLPC964 Aurora 64B/66B Input Data and Command Write Cycle
        1. 6.4.1.1 Block Mode Operation (Block Start with Block Control Word)
          1. 6.4.1.1.1 Block Clear and Block Set
          2. 6.4.1.1.2 Image Orientation—Block Load Increment / Decrement
          3. 6.4.1.1.3 Single Channel Mode
        2. 6.4.1.2 DMD Bit Plane Data Input (Quad Input Mode)
        3. 6.4.1.3 DMD Bit Plane Data Input (Single Input Mode)
        4. 6.4.1.4 Block Complete (DMDLOAD_REQ and BLKLOADZ)
      2. 6.4.2 DMD Row Operation
      3. 6.4.3 Block Load Address Select
      4. 6.4.4 Block Mode Select
      5. 6.4.5 Mirror Clocking Pulse (MCP)
    5. 6.5 Register Map
      1. 6.5.1 Register Table Overview
        1. 6.5.1.1  FPGA_INTERRUPT_STATUS Register
        2. 6.5.1.2  FPGA_INTERRUPT_ENABLE_CONTROL Register
        3. 6.5.1.3  FPGA_MAIN_STATUS Register
        4. 6.5.1.4  FPGA_VERSION Register
        5. 6.5.1.5  FPGA_MAIN_CTRL Register
        6. 6.5.1.6  SELF_TEST_REG Register
        7. 6.5.1.7  DMDIF_ERROR_STATUS_CLR Register
        8. 6.5.1.8  DMDIF_ERROR_STATUS Register
        9. 6.5.1.9  PRBS7_MACRO0_TEST_RESULT Register
        10. 6.5.1.10 PRBS7_MACRO1_TEST_RESULT Register
        11. 6.5.1.11 PRBS7_MACRO2_TEST_RESULT Register
        12. 6.5.1.12 PRBS7_MACRO3_TEST_RESULT Register
        13. 6.5.1.13 PRBS7_TEST_CONTROL Register
        14. 6.5.1.14 PRBS7_TEST_RUNSTATUS Register
        15. 6.5.1.15 LS_BUS_TEST_RESULT Register
        16. 6.5.1.16 DMD_TYPE Register
        17. 6.5.1.17 HSS_RESET Register
        18. 6.5.1.18 HSS_CHANNEL_STATUS Register
        19. 6.5.1.19 HSS_LANE_STATUS Register
        20. 6.5.1.20 HSS_CH0_SOFTERROR_COUNT Register
        21. 6.5.1.21 HSS_CH1_SOFTERROR_COUNT Register
        22. 6.5.1.22 HSS_CH2_SOFTERROR_COUNT Register
        23. 6.5.1.23 HSS_CH3_SOFTERROR_COUNT Register
        24. 6.5.1.24 HSS_SOFTERROR_COUNT_RESET Register
        25. 6.5.1.25 HSSI_Channel_0_DMD_Data_GT_Cell_Control Register
        26. 6.5.1.26 HSSI_Channel_0_DMD_Clock_GT_Cell_Control Register
        27. 6.5.1.27 HSSI_Channel_1_DMD_Data_GT_Cell_Control Register
        28. 6.5.1.28 HSSI_Channel_1_DMD_Clock_GT_Cell_Control Register
        29. 6.5.1.29 HSSI_Channel_2_DMD_Data_GT_Cell_Control Register
        30. 6.5.1.30 HSSI_Channel_2_DMD_Clock_GT_Cell_Control Register
        31. 6.5.1.31 HSSI_Channel_3_DMD_Data_GT_Cell_Control Register
        32. 6.5.1.32 HSSI_Channel_3_DMD_Clock_GT_Cell_Control Register
        33. 6.5.1.33 HSSI_DMD_Vcm_Value Register
        34. 6.5.1.34 TEST_DMD_ID Register
        35. 6.5.1.35 TEST_DMD_FUSE1 Register
        36. 6.5.1.36 TEST_DMD_FUSE2 Register
        37. 6.5.1.37 TEST_DMD_FUSE3 Register
        38. 6.5.1.38 TEST_DMD_FUSE4 Register
  8. Application and Implementation
    1. 7.1 Application Information
    2. 7.2 Typical Application
      1. 7.2.1 High Speed Direct Imaging Application
      2. 7.2.2 Design Requirements
      3. 7.2.3 Detailed Design Procedure
      4. 7.2.4 DMD Mirror Switching Performance Plots
    3. 7.3 Interfacing to DLPC964 Controller High Speed Serial (HSS) Aurora 64B/66B Inputs
      1. 7.3.1 Theory of Operation
        1. 7.3.1.1 Block Start with Block Control Word
        2. 7.3.1.2 Block Complete with DMDLOAD_REQ
        3. 7.3.1.3 DMDLOAD_REQ Setup Time Requirement
        4. 7.3.1.4 Single Channel Transfer Mode
        5. 7.3.1.5 DMD Block Array Data Mapping
    4. 7.4 Power Supply Recommendations
      1. 7.4.1 Power Supply Distribution and Requirements
      2. 7.4.2 Power Down Requirements
    5. 7.5 Layout
      1. 7.5.1 Layout Guidelines
        1. 7.5.1.1 PCB Design Standards
        2. 7.5.1.2 Signal Layers
        3. 7.5.1.3 General PCB Routing
          1. 7.5.1.3.1 Trace Minimum Spacing
          2. 7.5.1.3.2 Trace Length Matching
            1. 7.5.1.3.2.1 HSSI Output Bus Skew
            2. 7.5.1.3.2.2 Aurora 64B/66B Input Bus Skew
              1. 7.5.1.3.2.2.1 Other Timing Critical Signals
          3. 7.5.1.3.3 Trace Impedance and Routing Priority
      2. 7.5.2 Power and Ground Planes
      3. 7.5.3 Power Vias
      4. 7.5.4 Decoupling
    6. 7.6 Layout Example
  9. Device and Documentation Support
    1. 8.1 Documentation Support
      1. 8.1.1 Related Documentation
    2. 8.2 Receiving Notification of Documentation Updates
    3. 8.3 Support Resources
    4. 8.4 Trademarks
    5. 8.5 Electrostatic Discharge Caution
    6. 8.6 Glossary
  10. Revision History
  11. 10Mechanical, Packaging, and Orderable Information

Package Options

Refer to the PDF data sheet for device specific package drawings

Mechanical Data (Package|Pins)
  • ZUM|1156
Thermal pad, mechanical data (Package|Pins)
Orderable Information

Block Complete with DMDLOAD_REQ

Refer to Figure 7-3, DMDLOAD_REQ is an output signal from the APPS FPGA to the DLPC964 Controller.

Once the Aurora Block Data transfer is complete, the APPS FPGA user logics must assert DMDLOAD_REQ to signal the end of a DMD block to the DLPC964 Controller and trigger the DLPC964 Controller to carry out the operation encoded in the Block Control Word.

Guidelines for asserting the DMDLOAD_REQ signal and sending the Block Control Word:

  • APPS FPGA user logics must wait for the block data transfer to complete on all four Aurora data channels before asserting DMDLOAD_REQ. Asserting DMDLOAD_REQ before completion of the Aurora block data transfer can result in data not being properly loaded to the DMD. The APPS FPGA must take into account that the four Aurora data channel interfaces may not be fully synchronous to one another, thus data completion may not happen at the exact same clock cycle. Therefore, the APPS FPGA must monitor and ensure the Aurora block data transfer is completed on all four channels before asserting DMDLOAD_REQ.
  • DMDLOAD_REQ may be asserted immediately after completing an Aurora block transfer as long as the 300ns DMDLOAD_REQ setup time is met (refer to Section 7.3.1.3 for more details).
  • Apps user logics must assert DMDLOAD_REQ for the current block before initiating the transmission of the next new DMD block data. In other words, every block must start with a Block Control Word packet and end with DMDLOAD_REQ assertion.
  • DMDLOAD_REQ is still required for operations that do not involve block data transfer (such as block-clear or block-set operation), and must still meet the required 300ns setup time (refer to Section 7.3.1.3 for more details).
  • Refer to Figure 7-5. In most cases, after the APPS FPGA user logic has completed the transfer of the current data block, it may find that the DLPC964 Controller is still loading the previous block to the DMD (i.e. BLKLOADZ is low). If this occurs, the APPS FPGA can still assert DMDLOAD_REQ while BLKLOADZ is low. The DLPC964 Controller will detect and store the DMDLOAD_REQ request and perform the data load as soon as the transfer of the previous data block is complete.
  • The DLPC964 Controller has two data-block buffers - one for receiving the incoming Aurora data block from the APPS FPGA, and the other for holding the previous data block for streaming out to the DMD. Care must be taken by the APPS FPGA to avoid overrunning these two buffers. Refer to Figure 7-5. After completing the current Aurora data transfer of block data and asserting the DMDLOAD_REQ signal, the APPS FPGA must wait for the de-assertion of BLKLOADZ by the DLPC964 Controller (i.e. BLKLOADZ transition from low to high) before starting the next block data transfer. De-assertion of BLKLOADZ indicates that the DLPC964 Controller has completed the DMD data loading operation for previous block, and a data buffer is freed up for accepting a new data block from the Aurora interface. The buffer will be overrun and data will be incorrectly loaded to the DMD if the APPS FPGA does not synchronize the Aurora block data transfer with BLKLOADZ signal de-assertion.
  • It is not necessary for the APPS FPGA to immediately assert DMDLOAD_REQ after sending a DMD data block. The APPS FPGA may send the DLPC964 Controller a DMD data block and then delay the assertion of DMDLOAD_REQ until the system is ready for the DMD be loaded. Figure 7-6 describes this operation.
GUID-20231115-SS0I-8N8F-PWDM-VQV0BWWZRZGK-low.gifFigure 7-5 End of Block DMDLOAD_REQ Assertion Followed by New Block Control Word Waveform.
  1. APPS FPGA user logic asserts DMDLOAD_REQ immediately after the completion of current block data transmission on all four Aurora data interfaces.
  2. DLPC964 Controller de-asserts BLKLOADZ, indicating completion of the data loading operation for the previous DMD block.
  3. APPS FPGA user logics detects the de-assertion of BLKLOADZ and sends a new Block Control Word on Aurora Channel 0 User-K Port for the next block data.
  4. APPS FPGA user logics sending data for next block.
  5. BLKLOADZ is asserted low by the DLPC964 Controller, indicating the data loading operation for current block triggered by DMDLOAD_REQ occurred at 1.
GUID-20231115-SS0I-PDMP-NS21-SGHLXZDNFDC8-low.gifFigure 7-6 DMDLOAD_REQ Delayed Assertion Waveform.
  1. APPS FPGA finishes sending the last block data (block 15) of the current pattern and asserts DMDLOAD_REQ to instruct the DLPC964 Controller to carry out the data load operation.
  2. DLPC964 Controller loads data to block 15, triggered by DMDLOAD_REQ from 1.
  3. APPS FPGA sends the first block (block 0) of data for the next pattern over the Aurora data interfaces while the DLPC964 Controller is loading block 15 of the current pattern.
  4. DLPC964 de-asserts BLKLOADZ after completing the data load for block 15 of the current pattern. APPS FPGA detects the BLKLOADZ de-assertion (because the last block data of the current pattern has been loaded on to DMD) and issues an MCP_START signal for global block MCP operation. Notice that the DLPC964 Controller asserted the MCP0_ACTIVE signal to communicate that the MCP mirror operation in process.
  5. APPS FPGA delays the assertion of DMDLOAD_REQ for block 0 of next pattern due to the requirement of meeting the mirror settling time.
  6. APPS FPGA sends the Block Control Word for block 1 of the next pattern after the assertion of DMDLOAD_REQ for block 0.
  7. DLPC964 Controller asserts BLKLOADZ to indicate that the DMD data loading operation was triggered by DMDLOAD_REQ from 5.