DLP Discovery Applications FPGA Pattern Generator Design. User's Guide

Similar documents
Using DLP LightCrafter 4500 Triggers to Synchronize Cameras to

DLP LightCrafter Display 4710 EVM User s Guide

AN-1729 DP83640 IEEE 1588 PTP Synchronized Clock Output

Q&A Watchdog Timer Configuration for DRV3205-Q1

Dual Link DVI Receiver Implementation

COP820CJ Application Note 953 LCD Triplex Drive with COP820CJ

Test Report TIDA /14/2014. Test Report For TIDA Aptina Automotive Camera Module 02/14/2014

ScanExpress JET. Combining JTAG Test with JTAG Emulation to Reduce Prototype Development Time. Ryan Jones Corelis, Inc. An EWA Technologies Company

National s Clock Design Tool v1.1 Instructions

LMH0302 LMH0302 3Gbps HD/SD SDI Cable Driver

Timing Analysis of Synchronous and Asynchronous Buses

LMH0024. LMH V SMPTE 259M / 344M Adaptive Cable Equalizer. Literature Number: SNLS210F

ABSTRACT. List of Tables 1 Excitation, Sample/Hold, and Direct Comparator Input Configurations DCM Register Configuration...

74ACT11374 OCTAL EDGE-TRIGGERED D-TYPE FLIP-FLOP WITH 3-STATE OUTPUTS

LMH0344 LMH Gbps HD/SD SDI Adaptive Cable Equalizer

MSP430F15x/16x/161x Device Erratasheet Current Version

SN74ACT2226, SN74ACT2228 DUAL 64 1, DUAL CLOCKED FIRST-IN, FIRST-OUT MEMORIES

LMH6586 LMH x16 Video Crosspoint Switch

SN54AHC273, SN74AHC273 OCTAL D-TYPE FLIP-FLOPS WITH CLEAR

Mobile Pixel Link Level-0

Altera JESD204B IP Core and TI DAC37J84 Hardware Checkout Report

TMS320C6000: Board Design for JTAG

IP-DDC4i. Four Independent Channels Digital Down Conversion Core for FPGA FEATURES. Description APPLICATIONS HARDWARE SUPPORT DELIVERABLES

SDI Development Kit using National Semiconductor s LMH0340 serializer and LMH0341 deserializer

These circuits are positive-edge-triggered D-type flip-flops with a direct clear (CLR) input. ORDERING INFORMATION ORDERABLE PART NUMBER

DLP LightCrafter Display 4710 EVM User s Guide

Optical Engine Reference Design for DLP3010 Digital Micromirror Device

Multi-Media Card (MMC) DLL Tuning

DLP Pico Chipset Interface Manual

Using DLP LightCrafter 4500 Triggers to Synchronize Cameras to Patterns

DS42MB200. DS42MB200 Dual 4.25 Gbps 2:1/1:2 CML Mux/Buffer with Transmit Pre-Emphasis. and Receive Equalization. Literature Number: SNOSAT8F

TVP5151 VBI Quick Start

FIFO Memories: Solution to Reduce FIFO Metastability

Check our knowledge base at

Interfacing the TLC5510 Analog-to-Digital Converter to the

LMV1091. LMV1091 Dual Input, Far Field Noise Suppression Microphone Amplifier. Literature Number: SNAS481B.

SN54ALS374A, SN54AS374, SN74ALS374A, SN74AS374 OCTAL D-TYPE EDGE-TRIGGERED FLIP-FLOPS WITH 3-STATE OUTPUTS

Analog Reconstruction Filter for HDTV Using the THS8133, THS8134, THS8135, THS8200

SN5406, SN5416, SN7406, SN7416 HEX INVERTER BUFFERS/DRIVERS WITH OPEN-COLLECTOR HIGH-VOLTAGE OUTPUTS

LMH1981 LMH1981 Multi-Format Video Sync Separator

SN54AHC273, SN74AHC273 OCTAL D-TYPE FLIP-FLOPS WITH CLEAR

SN74F174A HEX D-TYPE FLIP-FLOP WITH CLEAR

Frequently Asked Questions

SMPTE 259M EG-1 Color Bar Generation, RP 178 Pathological Generation, Grey Pattern Generation IP Core AN4087

QUADRO AND NVS DISPLAY RESOLUTION SUPPORT

SN54273, SN54LS273, SN74273, SN74LS273 OCTAL D-TYPE FLIP-FLOP WITH CLEAR

Create an Industrial 3D Machine Vision System using DLP Technology

QUADRO AND NVS DISPLAY RESOLUTION SUPPORT

Integrated Circuit for Musical Instrument Tuners

SMPTE 292M EG-1 Color Bar Generation, RP 198 Pathological Generation, Grey Pattern Generation IP Core - AN4088

L7208. Portable consumer electronics spindle and VCM motor controller. General features. Spindle driver. Description. VCM driver.

SN54192, SN54193, SN54LS192, SN54LS193, SN74192, SN74193, SN74LS192, SN74LS193 SYNCHRONOUS 4-BIT UP/DOWN COUNTERS (DUAL CLOCK WITH CLEAR)

ADC0804C, ADC BIT ANALOG-TO-DIGITAL CONVERTERS WITH DIFFERENTIAL INPUTS

Research on Driving and Data Transmission Technology for DMD

SAU510-USB ISO PLUS v.2 JTAG Emulator. User s Guide 2013.

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

SN54ALS174, SN54ALS175, SN54AS174, SN54AS175B SN74ALS174, SN74ALS175, SN74AS174, SN74AS175B HEX/QUADRUPLE D-TYPE FLIP-FLOPS WITH CLEAR

Technical Documents. Simplified Block Diagram. 3 rd -Order LPF with. 5 MHz, 7.5 MHz, 10 MHz, and 12.5 MHz. CW Mixer Reference. CW Current Outputs

WM8725 EVALUATION BOARD USER HANDBOOK. The WM8725 is high performance Stereo DAC.

EEM Digital Systems II

Single Channel LVDS Tx

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

SN54HC574, SN74HC574 OCTAL EDGE-TRIGGERED D-TYPE FLIP-FLOPS WITH 3-STATE OUTPUTS

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

TFP403 TI PanelBus DIGITAL RECEIVER

STA3005. Dual-IF AM/FM digital radio receiver. Feature summary. Order codes

Laboratory 4. Figure 1: Serdes Transceiver

Is Now Part of To learn more about ON Semiconductor, please visit our website at

Achieving Timing Closure in ALTERA FPGAs

SN54HC574, SN74HC574 OCTAL EDGE-TRIGGERED D-TYPE FLIP-FLOPS WITH 3-STATE OUTPUTS

CN12 Technical Reference Guide. CN12 NTSC/PAL Camera. Technical Reference Guide PCB Rev

SN54273, SN54LS273, SN74273, SN74LS273 OCTAL D-TYPE FLIP-FLOP WITH CLEAR

AT03716: Implementation of SAM L Configurable Custom Logic (CCL) Peripheral. Description. SMART ARM-based Microcontrollers APPLICATION NOTE

LogiCORE IP Spartan-6 FPGA Triple-Rate SDI v1.0

DLP Pico Kit Functional Guide

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

AN 823: Intel FPGA JESD204B IP Core and ADI AD9625 Hardware Checkout Report for Intel Stratix 10 Devices

Obsolete Product(s) - Obsolete Product(s)

74ACT11074 DUAL POSITIVE-EDGE-TRIGGERED D-TYPE FLIP-FLOP WITH CLEAR AND PRESET

STEVAL-IHM021V W, 3-phase inverter based on the L6390 and UltraFASTmesh MOSFET for speed FOC of 3-phase PMSM motor drives. Features.

Comparing JTAG, SPI, and I2C

High sensitive photodiodes

SN74F161A SYNCHRONOUS 4-BIT BINARY COUNTER

Data Sheet of SAW Components

STEVAL-ILL029V1. Front panel demonstration board based on the STLED325 and STM8S. Features. Description

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

VARIABLE FREQUENCY CLOCKING HARDWARE

TLK1201RCP, TLK1201IRCP ETHERNET TRANSCEIVERS

Self Restoring Logic (SRL) Cell Targets Space Application Designs

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

STEVAL-ISB008V1. Standalone USB Li-Ion battery charger demonstration board based on the STw4102 and STM32F103C6. Features.

Enable input provides synchronized operation with other components

Obsolete Product(s) - Obsolete Product(s)

IMPORTANT NOTICE. Company name - STMicroelectronics NV is replaced with ST-NXP Wireless.

STDP2650 Advanced DisplayPort to HDMI converter Features Applications

White Paper Lower Costs in Broadcasting Applications With Integration Using FPGAs

Although the examples given in this application note are based on the ZX-24, the principles can be equally well applied to the other ZX processors.

Laboratory Exercise 7

UG0651 User Guide. Scaler. February2018

IoT Toolbox Mobile Application User Manual

Transcription:

DLP Discovery 4100 - Applications FPGA Pattern Generator Design User's Guide Literature Number: DLPU045 September 2016

Contents 1 General Overview... 3 1.1 IO List... 3 2 APPSFPGA Top Level... 5 2.1 Input Switch Functions... 6 3 "appsfpga_io" Block... 7 4 "appcore" Block... 8 4.1 "cnts" Sub-block... 8 4.2 "pgen" Sub-block... 9 5 VHDL Libraries... 9 2 Table of Contents

User's Guide DLP Discovery 4100 - Applications FPGA Pattern Generator Design This document will discuss the design of the Applications FPGA pattern generator. Note on format: This document contains an overview, block diagrams and operation scenario sections that provide an overall picture of the block functionality and describes the various modes of operation that the block may operate in. 1 General Overview The Pattern Generation Applications FPGA was created with the sole purpose of exercising the basic functions of the DLPC410 Controller FPGA on the DLP Discovery 4100 kit and displaying the results on the digital micromirror device (DMD). 1.1 IO List The APPSFPGA has the following input and output ports: Table 1. IO List Signal Name Input/Output Description clk_i Input Input 50MHz reference clock reset_i Input Input reset finished_iv_o Output Configuration complete output arstz_o Output Output reset (PLL reset) clk_r_o Output Output 50MHz reference clock dout_ap_o Output(15:0) Channel A output data dout_an_o Output(15:0) Channel A output data dout_bp_o Output(15:0) Channel B output data dout_bn_o Output(15:0) Channel B output data dout_cp_o Output(15:0) Channel C output data dout_cn_o Output(15:0) Channel C output data dout_dp_o Output(15:0) Channel D output data dout_dn_o Output(15:0) Channel D output data dclk_ap_o Output Channel A clock dclk_an_o Output Channel A clock dclk_bp_o Output Channel B clock dclk_bn_o Output Channel B clock dclk_cp_o Output Channel C clock dclk_cn_o Output Channel C clock dclk_dp_o Output Channel D clock dclk_dn_o Output Channel D clock dvalid_ap_o Output Channel A data valid is a trademark of ~ Texas Instruments. is a registered trademark of ~ Texas Instruments. DLP Discovery 4100 - Applications FPGA Pattern Generator Design 3

General Overview www.ti.com Table 1. IO List (continued) Signal Name Input/Output Description dvalid_an_o Output Channel A data valid dvalid_bp_o Output Channel B data valid dvalid_bn_o Output Channel B data valid dvalid_cp_o Output Channel C data valid dvalid_cn_o Output Channel C data valid dvalid_dp_o Output Channel D data valid dvalid_dn_o Output Channel D data valid rowmd_o Output(1:0) Row Mode rowad_o Output(10:0) Row Address stepvcc_o Output Unused comp_data_o Output Complement data ns_flip_o Output North/South flip blkad_o Output(3:0) Block Address blkmd_o Output(1:0) Block mode wdt_enablez_o Output Watchdog time enable ddc_version_i Input(2:0) DLPC410 Version number dmd_type_i Input(3:0) DMD type designator pwr_floatz_o Output Power Float apps_cntl_an Input Unused apps_cntl_ap Input Unused rst2blkz_o Dual block reset mode select in_rst_active_i Input Reset active indicator in_init_active_i Input Initialization active indicator in_dip_sw_i Input(7:0) Switch inputs in_pb_sw_i Input Input pushbutton apps_logic_rstn Input Input reset apps_testpt Output(30:0) Test point outputs 4 DLP Discovery 4100 - Applications FPGA Pattern Generator Design

www.ti.com 2 APPSFPGA Top Level APPSFPGA APPSFPGA Top Level Switch Inputs routing, testpoints, switch debounce logic Testpoints, LEDs clk_i, pwrgood appsfpga_io Output to DLPC410 init_active, dmd_type (from DLPC410) Clocks, resets Switch Settings (Serdes, Clocking, Resets, Synchronization) DLPC410 Data and control appcore (Pattern Generation) Figure 1. APPSFPGA Top Level The top level of the APPSFPGA design provides some routing, contains the incoming DIP switch and pushbutton debounce logic, test point output assignments, and instantiation of the two major blocks of the design. These are the "appsfpga_io" block and the "appcore" block. DLP Discovery 4100 - Applications FPGA Pattern Generator Design 5

APPSFPGA Top Level 2.1 Input Switch Functions www.ti.com There are several input switch functions that control the various operational modes of the APPSFPGA. They are: in_pb_sw_i : Power Float [ active low (0) ] Sends a sequence of commands that places the DMD mirrors in a flat or parked state (must power cycle to recover from this command). in_dip_sw_i(7) : Watchdog Timer enable [ active high (1) ] Enables a timer that will force a mirror reset to the DMD approximately every 10 seconds (if one has not been issued). in_dip_sw_i(6) : Row Address mode [ low (0) = automatic increment/decrement mode, high (1) = row addressing mode ] Selects between addressing specific rows and a row increment/decrement mode. in_dip_sw_i(5:4) : Reset Type [ encoded value ] Determines if global, single, dual, or quad resets are being used. Single block -- 0,0 Dual block -- 0,1 Global -- 1,0 Quad block -- 1,1 in_dip_sw_i(3) : North/South flip [ active high (1) -- flips the image top to bottom ] Determines if the row and reset addressing starts at the top or bottom of the DMD. in_dip_sw_i(2) : Complement Data [ active high (1) -- inverts the image data ] Causes the DMD to invert the incoming image data such that 0's become 1's and 1's become 0's in_dip_sw_i(1) : Count Halt [ active high (1) -- halts the main counter ] Freezes the load operation at a particular point in the pattern count cycle. See Section 4.1. in_dip_sw_i(0) : IO Float [ active high (1) -- sets V_Bias to 0 ] Recoverable version of the Power float command (this command will recover if de-asserted). For additional information see the DLPC410 datasheet. 6 DLP Discovery 4100 - Applications FPGA Pattern Generator Design

www.ti.com 3 "appsfpga_io" Block Switch Inputs APPSFPGA_IO "appsfpga_io" Block Resync to appscore clk_i, pwrgood Reset Timer i_pll_clk Clk0 (1x) Clk2x clk2x180 init_active, dmd_type (from DLPC410) Oserdes DLPC410 Control (from Appscore) DLPC410 Data (from appscore) (same structure used on all outputs to match latency) Data/Control output to DLPC410 Training pattern Init active Figure 2. "appsfpga_io" Block Diagram The "appsfpga_io" block performs the following functions: It receives the input reference clock and uses the PLL to create the other clocks used in the design. The incoming clock is multiplied up to a clock that is one half the base clock frequency (100 MHz for the 200 MHz DDR data rate design) which is used in the rest of the design, and a phase aligned clock at the base clock frequency (100 MHz for the 200 MHz DDR data rate design) which is only used in the output section. Since the APPSFPGA does not include the capability to operate at various clock frequencies, three versions of the "appsfpga_io" block are provided, the appsfpga_io_200_a.vhd, the appsfpga_io_320_a.vhd, and the appsfpga_io_400_a.vhd, which operate at 200 MHz, 320 MHz, and 400 MHz respectively. The test pattern data and control signals are sent from the "appcore" block and clocked out through the "appsfpga_io" block. A simple multiplexer will substitute the required training pattern data whenever the incoming top level init_active signal is detected. The output data is reformatted and sent to the DLPC410 using the Xilinx 4:1 oserdes primitives. All of the output signals (even the lower speed outputs) use the output serdes structure. Since the oserdes are implemented in the hardened IO ring of the FPGA, this ensures that the clock-output timing will be very close across all of the outputs. DLP Discovery 4100 - Applications FPGA Pattern Generator Design 7

"appcore" Block 4 "appcore" Block APPCORE www.ti.com clk, reset Counter allocation pgen clk, reset cnts 26:0 10:0 21:18 17:11 pgen_row(10:0) clear_block(3:0) hold_count(6:0) to control and pattern functions cnt_halt 3:0 active_cnt# control blocks* pgen_clear switch inputs to control and pattern functions pgen_pgs pgen_pgd pgen_pgg Pattern Case Stmnts** (Split to reduce fanout) Pattern Data and Control (to appsfpga_io) pgen_pgq Reset type * These blocks generate control signals for the various reset and clear modes ** This process generates the data for the various test patterns # This count defines the various segments of active rows Figure 3. "appcore" Block The "appcore" block handles the pattern and control generation functions of the design and is made up of the "cnts" and "pgen" sub-blocks. 4.1 "cnts" Sub-block The cnts sub-block consists of two counters that drive all of the other functions in the design. A small 4- bit counter (cnts_active_cnt) is used to tell the PGEN logic which segment of the currently active line it should be generating. A larger 27-bit counter (cnts_pattern_cnt) is used to keep track of the pattern and row counts, generate clears and resets, create correct spacing, etc. Activating the count halt switch will freeze this counter, effectively freezing the image. Three variations of the cnts block are provided that generate different spacing between the patterns/active rows/resets. cnts_a_1and0clks.vhd places zero idle clocks between lines. cnts_a_1and2clks.vhd places two idle clocks between lines. cnts_a_1and16clks.vhd places sixteen idle clocks between lines. 8 DLP Discovery 4100 - Applications FPGA Pattern Generator Design

www.ti.com "appcore" Block It should be noted that, since the internal clock rate is one half of the base DDR clock rate, any spacing placed between lines/data must be an even number of clocks. 4.2 "pgen" Sub-block The "pgen" sub-block uses these counter values to generate the pattern data and control signals that are sent to the DLPC410. The 27 bit count value is received from the cnts block and is split into three separate fields: cnts_pattern_cnt(10:0) = pgen_row(10:0) cnts_pattern_cnt(17:11) = hold_count(6:0) cnts_pattern_cnt(21:18) = clear_block(3:0) NOTE: (26:22) are not used. When looking at any of the counter values used in these blocks, it is important to remember that the clock is running at half of the base clock frequency, so many count values will be half of what might be expected. The clear and reset commands are generated by five blocks. The outputs of these blocks feed into a multiplexer and the reset type selection (and the pattern type) determines which block s output is used. The blocks and their functions are: pgen_clear : generates global clear instructions pgen_pgs : generates single block reset instructions pgen_pgd : generates dual block reset instructions pgen_pgq : generates quad block reset instructions pgen_pgg : generates global reset instructions A large process that includes two of case statements is used to generate the actual output pattern data for the A, B, C, and D data buses. The case statement was split into two sections to reduce fan out and help reduce timing closure issues. The active_cnt and a pipelined version of pgen_row signals are used to guide the data generation process. As previously mentioned, it is important to remember that the clock being used in the data generation processes is half of the target clock frequency. Since the data output is DDR at the target frequency, this means that the data generated on the half speed clock must be four times as wide as the data presented at the outputs. Ex: 64 bits at 100MHz = 16 bits DDR at 200MHz. The patterns displayed by the pgen block are: Large box with smaller boxes in the corners Thin vertical lines Small checkerboard Alternating thin and thick vertical lines Diagonal lines Black screen (with global clear) 5 VHDL Libraries There are two VHDL libraries, a synchronizers and a ddc4100 library, needed to compile the APPSFPGA code in addition to the default work library. The synchronizers library is needed for all of our default synchronizer code and packages which are located in the <installation directory>/software/synchronizers/ directory. A ddc4100 library is also required for a design specific package ( <installation directory>/software/appsfpga_dmd_types_pkg.vhd" file) that is called in the PGEN code. DLP Discovery 4100 - Applications FPGA Pattern Generator Design 9

IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, enhancements, improvements and other changes to its semiconductor products and services per JESD46, latest issue, and to discontinue any product or service per JESD48, latest issue. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All semiconductor products (also referred to herein as components ) are sold subject to TI s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its components to the specifications applicable at the time of sale, in accordance with the warranty in TI s terms and conditions of sale of semiconductor products. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by applicable law, testing of all parameters of each component is not necessarily performed. TI assumes no liability for applications assistance or the design of Buyers products. Buyers are responsible for their products and applications using TI components. To minimize the risks associated with Buyers products and applications, Buyers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right relating to any combination, machine, or process in which TI components or services are used. Information published by TI regarding third-party products or services does not constitute a license to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of significant portions of TI information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. TI is not responsible or liable for such altered documentation. Information of third parties may be subject to additional restrictions. Resale of TI components or services with statements different from or beyond the parameters stated by TI for that component or service voids all express and any implied warranties for the associated TI component or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements concerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or support that may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards which anticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might cause harm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the use of any TI components in safety-critical applications. In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI s goal is to help enable customers to design and create their own end-product solutions that meet applicable functional safety standards and requirements. Nonetheless, such components are subject to these terms. No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the parties have executed a special agreement specifically governing such use. Only those TI components which TI has specifically designated as military grade or enhanced plastic are designed and intended for use in military/aerospace applications or environments. Buyer acknowledges and agrees that any military or aerospace use of TI components which have not been so designated is solely at the Buyer's risk, and that Buyer is solely responsible for compliance with all legal and regulatory requirements in connection with such use. TI has specifically designated certain components as meeting ISO/TS16949 requirements, mainly for automotive use. In any case of use of non-designated products, TI will not be responsible for any failure to meet ISO/TS16949. Products Applications Audio www.ti.com/audio Automotive and Transportation www.ti.com/automotive Amplifiers amplifier.ti.com Communications and Telecom www.ti.com/communications Data Converters dataconverter.ti.com Computers and Peripherals www.ti.com/computers DLP Products www.dlp.com Consumer Electronics www.ti.com/consumer-apps DSP dsp.ti.com Energy and Lighting www.ti.com/energy Clocks and Timers www.ti.com/clocks Industrial www.ti.com/industrial Interface interface.ti.com Medical www.ti.com/medical Logic logic.ti.com Security www.ti.com/security Power Mgmt power.ti.com Space, Avionics and Defense www.ti.com/space-avionics-defense Microcontrollers microcontroller.ti.com Video and Imaging www.ti.com/video RFID www.ti-rfid.com OMAP Applications Processors www.ti.com/omap TI E2E Community e2e.ti.com Wireless Connectivity www.ti.com/wirelessconnectivity Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265