DLP-HS-FPGA DLP-HS-FPGA2 LEAD FREE USB - FPGA MODULE FEATURES: * * * * * * * * * * Xilinx XC3S200A-4FTG256C FPGA utilized on the DLP-HS-FPGA Xilinx XC3S400A-4FTG256C FPGA utilized on the DLP-HS-FPGA2 Micron 32M x 8 DDR2 SDRAM Memory Built-In Configuration Loader; Writes the Bit File Directly to SPI Flash via High-Speed USB 2.0 Interface 63 User I/O Channels: 24 Differential Pairs and 8 Global Clocks 66 MHz Oscillator 133 MHz DDR2 Interface Reference Design Provided USB Port Powered or 5V External Power Barrel Jack USB 1.1 and 2.0 Compatible Interface Small Footprint: 3.0 x 1.2-Inch PCB and Standard 50-Pin, 0.9-Inch DIP Interface Rev. 1.7 (May 2011) 1 (c) DLP Design, Inc. APPLICATIONS: * * * * * Rapid Prototyping Educational Tool Industrial/Process Control Data Acquisition/Processing Embedded Processor 1.0 INTRODUCTION The DLP-HS-FPGA module is a low-cost, compact prototyping tool that can be used for rapid proof of concept or within educational environments. The module is based on the Xilinx SpartanTM 3A and Future Technology Devices International's FT2232H Dual-Channel High-Speed USB IC. The DLP-HS-FPGA provides both the beginner as well as the experienced engineer with a rapid path to developing FPGA-based designs. When combined with the free ISETM WebPACKTM tools from Xilinx, this module is more than sufficient for creating anything from basic logical functions to a highly complex system controller. As a bonus feature, one channel of the dual-channel USB interface is used to load user bit files directly to the SPI Flash--no external programmer is required. This represents a savings of as much as $200 in that no additional programming cable is required for configuring the FPGA. All that is needed to load bit files to the DLP-HS-FPGA is a Windows software utility (free with purchase), a Windows PC and a USB cable. The module can also be programmed from within the Xilinx ISE tool environment using a Xilinx programming cable (purchased separately). The DLP-HS-FPGA is fully compatible with the free ISETM WebPACKTM tools from Xilinx. ISE WebPACK offers the ideal development environment for FPGA designs with HDL synthesis and simulation, implementation, device fitting and JTAG programming. The DLP-HS-FPGA has on-board voltage regulators that generate all required power supply voltages from a single 5-volt source. Power for the module can be taken from either the host USB port or from a user-supplied, external 5-volt power supply via an onboard standard barrel connector. Connection to user electronics is made via a 50-pin, 0.9-inch wide, industry-standard 0.025-square inch post DIP header on the bottom of the board and a 26-pin, 0.05-inch wide top side 2x13 header. The bottom side 50-pin header provides access to 41 of the FPGA user input/output pins. The top side header provides access to 22 of the FPGA user input/output pins. The bottom side header mates with a user-supplied, standard, 50-pin, 0.9-inch spaced DIP socket. The top side header mates with a Rev. 1.7 (May 2011) 2 (c) DLP Design, Inc. user-supplied, 0.05-inch spaced, 2x13 connector such as the FFSD-13-D-xx.xx-01 (xx.xx = cable length) ribbon cable assembly from Samtec. DIP Socket Ribbon Cable Other on-board features include a 32M x 8 DDR2 SDRAM memory IC for user projects and both JTAG and SPI Flash interface ports for connection to Xilinx programming tools. 2.0 REFERENCE DESIGN A 10,000-line reference design is available for the SpartanTM 3A FPGA on the DLP-HS-FPGA to those who purchase the module. The design was written in VHDL and built using the free Xilinx ISETM WebPACKTM tools. The reference design consists of the following blocks: It contains a USB Interface Block, a User I/0 Block, a DDR2 SDRAM interface, a Heartbeat Pulse Generator and a Clock Generator. The SPI Flash is used to store the design's FPGA configuration file. The USB interface captures, interprets and returns command and data information sent from the host PC through the FTDI USB interface to the FPGA. Commands include Ping, Return Status, Loopback Data, Set a User I/O Pin High or Low, Read a User I/O Pin, Initialize the DDR2 SDRAM Memory and Read or Write the DDR2 SDRAM Memory. (Section 11 explains these in detail.) Rev. 1.7 (May 2011) 3 (c) DLP Design, Inc. The User I/O Block controls access to the 63 user I/O pins accessible through the top- and bottomside headers. Every one of these pins can be either an input or an output. The User I/O Block can configure these pins as inputs and read their state, or as outputs and drive them high or low. (As a side note, 48 of these user I/O pins can be configured as 24 differential pairs, 8 can be configured as global clock inputs and 6 can be configured as regional clock inputs.) The DDR2 SDRAM interface block manages the memory's initialization, the refresh cycle and the read and write access. Read and write access is available in 4-byte bursts. The traces between the DDR2 SDRAM and FPGA are matched within 10 mils to accommodate reliable data transfer at 266 Mbit/s (clocked at 133MHz). The interface creates and aligns the Data Strobes (DQS) based on an external feedback trace that matches two times the trace length between the FPGA and the DDR2 SDRAM. The Initialization, Read and Write commands are initiated by the USB interface block and executed by the DDR2 SDRAM interface block. The Heartbeat Pulse Generator takes the internal system clock and divides it down so that the onboard Heartbeat LED will be turned on and off for a duration of approximately one-half second. The Clock Generator Block receives the 66-MHz clock and produces both the 133-MHz clocks required to run the DDR2 SDRAM memory device and the 100-MHz clock for the remaining internal logic in the FPGA. It also handles reset and lock synchronization between internal DCM blocks. The design occupies the following FPGA resources on the DLP-HS-FPGA module's XC3S200A: The design occupies the following FPGA resources on the DLP-HS-FPGA2 module's XC3S400A: Rev. 1.7 (May 2011) 4 (c) DLP Design, Inc. More reference designs are planned. Please contact DLP Design with any specific requests. 3.0 FPGA SPECIFICATIONS The FPGA device used on the DLP-HS-FPGA is the Xilinx SpartanTM 3A: XC3S200A-4FTG256 * * * Part Number: System Gates: Equivalent Logic Cells: * CLB Array: * * * * XC3S200A-4FTG256C 200,000 4,032 Rows: Columns: Total CLB's: Total Slices: Total Flip Flops: Total 4-Input LUT's: 32 16 448 1,792 3,584 3,584 Distributed RAM Bits: Block RAM Bits: Dedicated Multipliers: DCM's: 28K 288K 16 4 Rev. 1.7 (May 2011) 5 (c) DLP Design, Inc. The FPGA device used on the DLP-HS-FPGA2 is the Xilinx SpartanTM 3A: XC3S400A-4FTG256 * * * Part Number: System Gates: Equivalent Logic Cells: * CLB Array: * * * * XC3S400A-4FTG256C 400,000 8,064 Rows: Columns: Total CLB's: Total Slices: Total Flip Flops: Total 4-Input LUT's: 40 24 896 3,584 7,168 7,168 Distributed RAM Bits: Block RAM Bits: Dedicated Multipliers: DCM's: 56K 360K 20 4 4.0 ABSOLUTE MAXIMUM RATINGS Stresses above those listed here may cause permanent damage to the DLP-HS-FPGA: Operating Temperature: 0-70C Voltage on Digital Inputs with Respect to Ground: -0.5V to +4.1 V Sink/Source Current on Any I/O: 24 mA (using LVTTL as the FPGA I/O standard) 5.0 WARNINGS * Unplug from the host PC and power adapter before connecting to I/O on the DLP-HS-FPGA. * Isolate the bottom of the board from all conductive surfaces. * Observe static precautions to prevent damage to the DLP-HS-FPGA module. 6.0 BITLOADAPP SOFTWARE Windows software is provided for use with the DLP-HS-FPGA that will load an FPGA configuration (*.bit) file directly to the SPI Flash device via the USB interface. This application (illustrated below) will allow the user to erase the Flash, verify the erasure and then program and verify the Flash: Rev. 1.7 (May 2011) 6 (c) DLP Design, Inc. 7.0 JTAG INTERFACE The easiest way to load an FPGA configuration (*.bit) file to the FPGA is to run the BitLoadApp software then select and program a file from the local hard drive directly to the SPI Flash. Once written to the SPI Flash, the configuration will load to the FPGA and execute. Alternatively, a traditional JTAG header location is provided on the DLP-HS-FPGA giving the user access to the specific pins required by the development tools. (Refer to the schematic contained within this datasheet for details.) 8.0 EEPROM SETUP / MPROG The DLP-HS-FPGA has a dual-channel USB interface to the host PC. Channel A is used exclusively to load an FPGA configuration (*.bit) file to the SPI Flash. This configuration data is automatically transferred to the FPGA when power is applied to the module or when the PROG Pin is driven low and then released by the application software. Channel B is used for communication between the FPGA and host PC at run time. A 93LC56B EEPROM connected to the USB interface IC is used to store the setup for the two channels. The parameters stored in the EEPROM include the Vendor ID (VID), Product ID (PID), Serial Number, Description String, driver selection (VCP or D2XX) and port type (UART serial or FIFO parallel). As mentioned above, Channel A is used exclusively for loading the FPGA's configuration to the SPI Flash, and Channel B is used for communication between the host PC and the DLP-HS-FPGA. As such, the D2XX drivers and 245 FIFO mode must be selected in the EEPROM for Channel A. Channel B must use the 245 FIFO mode, but it can use either the VCP or D2XX drivers. The VCP drivers make the DLP-HS-FPGA appear as an RS232 port to the host application. The D2XX drivers provide faster throughput, but require working with a *.lib or *.dll library in the host application. The operational modes and other EEPROM selections are written to the EEPROM using the MPROG utility. This utility and its manual are available for download from the bottom of the page at www.dlpdesign.com. Rev. 1.7 (May 2011) 7 (c) DLP Design, Inc. 9.0 TEST BIT FILE A test file is provided as a download from the DLP Design website that provides rudimentary access to the I/O features of the DLP-HS-FPGA. The following features are provided: * Ping * Read the High/Low State of the Input-Only Pins * Drive I/O Pins High/Low or Read their High/Low State * Simple Loopback on Channel B * 4 Byte Read/Write Access of Row, Column, and Bank Address in the DDR2 SDRAM This bit file is available from the DLP-HS-FPGA's download page. The command structure that supports these features is explained in Section 11. Rev. 1.7 (May 2011) 8 (c) DLP Design, Inc. 10.0 USB DRIVERS USB drivers for the following operating systems are available for download from the DLP Design website at www.dlpdesign.com: OPERATING SYSTEM SUPPORT Windows 7 32-bit Windows 7 64-bit Windows Vista, Vista x64 Mac OSX Windows XP, XP x64 Mac OS9 Windows Server 2008, x64 Mac OS8 Windows Server 2003, x64 Linux Windows 2000 Windows CE 4.2 - 6.0 Notes: 1. The bit file load utility only runs on the Windows platforms. 2. The bit file load utility requires the use of USB channel A, and channel A is dedicated to this function. 3. If you are utilizing the dual-mode drivers from FTDI (CDM2.x.x) and you want to use the Virtual COM Port (VCP) drivers, then it may be necessary to disable the D2XX drivers first via Device Manager. To do so, right click on the entry under USB Controllers that appears when the DLP-HS-FPGA is connected, select Properties, select the Advanced tab, check the option for "Load VCP" and click OK. Then unplug and replug the DLP-HS-FPGA, and a COM port should appear in Device Manager under Ports (COM & LPT). 11.0 USING THE DLP-HS-FPGA Select a power source via Header Pins 23 and 24, and connect the DLP-HS-FPGA to the PC to initiate the loading of USB drivers. The easiest way to do this is to connect Pins 23 and 24 to each other. This will result in operational power being taken from the host PC. Once the drivers are loaded, the DLP-HS-FPGA is ready for use. Rev. 1.7 (May 2011) 9 (c) DLP Design, Inc. Simply connect the DLP-HS-FPGA to the PC to initiate the loading of USB drivers. Once the USB drivers are loaded, the DLP-HS-FPGA is ready for use. All commands are issued as multi-byte command packets consisting of at least two bytes. You can either utilize the Test Application available from http://www.dlpdesign.com/test.shtml with the DLP-HS-FPGA (as described in Section 12), or you can write your own program in your language of choice. If you are using the VCP drivers, begin by opening the COM port, and send multi-byte commands as shown in Table 1 below. There is no need to set the baud rate because the DLP-HS-FPGA uses a parallel interface between the USB IC and the FPGA. (The Ping Command can be used to locate the correct COM port used for communicating with the DLP-HS-FPGA, or you can look in Device Manager to see which port was assigned by Windows.) If you are using the D2XX drivers as with the Test Application, no COM port selection is necessary. TABLE 1 Command Packets Command Packet Ping Description Issues Ping Byte 0 Read Version/ Status Accesses the internal version/ status registers 0 1 Loopback Returns the data byte received Returns the compliment of data byte received Reads the state of one of the user I/O pins 0 1 Loopback Compliment Read Pin Rev. 1.7 (May 2011) 0 1 0 1 Hex Value Return/Comments 0x00 Ping Command - 0x56 will be returned indicating that the DLP-HS-FPGA is found on the selected port. 0x10 Read Version/Status Registers Command 0xnn Register Address: 0xnn = 0x00 = Board ID (0x11 = Production PCB) 0x01 = FPGA Type ID : 0x3A = XC3S200A 0x4A = XC3S400A 0x02 = Design Version ID 1 (Design Month) 0x03 = Design Version ID 2 (Design Day) 0x04 = Design Version ID 3 (Design Year) 0x05 = Design Version ID 4 (Design Version) 0x06 = DDR2 Status: 0x00 = Not Initialized 0x01 = Initialized 0x20 Loopback Command 0xnn The byte sent to the DLP-HS-FPGA (0xnn) will be returned back. 0x21 Loopback Compliment Command 0xnn The byte sent to the DLP-HS-FPGA (0xnn) will be complimented and returned back. 0x30 0x00 - 0x3E Read Pin Command The user I/O pin numbers are described in Table 2. User I/O pin 0xnn is read and returns: 0x00 = User I/O pin 0xnn is low 0x01 = User I/O pin 0xnn is high 10 (c) DLP Design, Inc. Clear Pin Set Pin Initialize Memory Forces the selected user I/O pin low Forces the selected user I/O pin high Initializes DDR2 SDRAM 0 1 0 1 0 0x40 0x00 - 0x3E 0x41 0x00 - 0x3E 0x70 Clear Pin Command The user I/O pin numbers are described in Table 2. User I/O pin 0xnn is cleared. The specified user I/O number is returned. Set Pin Command The user I/O pin numbers are described in Table 2. User I/O pin 0xnn is set. The specified user I/O number is returned. The Initialize Memory Command configures the DDR2 SDRAM for access by the FPGA. The memory cannot be accessed without being initialized. Important Note on DDR2 SDRAM Data Access: DDR2 SDRAM data accesses using the reference design on the DLP-HS-FPGA module are always performed 4 bytes at a time due to the fact that the device is configured for a burst length of four. What this means is that column address Bits 0 and 1 only change the order of the read or write bytes; they still refer to the same 4 bytes. Therefore, to increment the DDR2 SDRAM address for consecutive memory locations, the column address must be incremented by 4. Incrementing the column address by anything less than 4 simply changes the order in which the 4 bytes specified by column address 9:3 are written to the memory or returned to the user. For example, a write to a column starting address of 0 will write to column locations 0, 1, 2 and 3. But if the user then writes to column address 1, they will actually be writing to column locations 1, 2, 3 and 0, which will overwrite the previous write operation. More details on how the DDR2 SDRAM column bits 1 and 0 function can be found in Figure 4 and Table 40 of the MicronTM MT47H32M8 datasheet. For details on how the bank, row and column bits are sent via USB to the memory, refer to the commands below: Memory Read Reads 4 bytes from the DDR SDRAM 0 0x8n 1 2 0xah 0xam 3 0xal Reads 4 bytes from the DDR2 SDRAM starting with the address specified. The command byte is OR'd with the Most Significant Row Address Bit (24). n = 0 the Most Sig Row Address Bit is low (0x80) n = 1 the Most Sig Row Address Bit is high (0x81) Bits 23-16 Middle 8 bits of Row Address to be read from Bits 15-12 Lower 4 bits of Row Address to be read from Bits 11-8 Upper 4 bits Column Address to be read from Bits 7-2: Lower 6 bits of Column Address to be read from NOTES: Refer to the text above regarding Column Bits 1 and 0 (equates to 0xal bits 3-2). Bits 1-0: Bank Address to be read from. If the memory has not been initialized, the data returned will be invalid, and the command returned will be 0xE7 indicating the error. Rev. 1.7 (May 2011) 11 (c) DLP Design, Inc. Memory Write Writes 4 bytes to the DDR SDRAM 0 0x9n 1 2 0xah 0xam 3 0xal 4 5 6 7 0xd0 0xd1 0xd2 0xd3 Writes 4 bytes to the DDR2 SDRAM starting with the address specified. The command byte is OR'd with the Most Significant Row Address bit (24). n = 0 the Most Sig Row Address bit is low (0x90) n = 1 the most Sig Row Address bit is high (0x91) Bits 23-16 Middle 8 bits of Row Address to be written to Bits 15-12 Lower 4 bits of Row Address to be written to Bits 11-8 Upper 4 bits Column Address to be written to Bits 7-2: Lower 6 bits of column address to be written to NOTE: Refer to the text above regarding Column Bits 1 and 0 (equates to 0xal bits 3-2). Bits 1-0: Bank Address to be written to Data Byte 0 written to Address Specified Data Byte 1 written to Address Specified + 1 Data Byte 2 written to Address Specified + 2 Data Byte 3 written to Address Specified + 3. Returns the 4 bytes written followed by an echo back of the command and address data sent. NOTE: If the memory has not been initialized, the command returned will be 0xE7 indicating the error. The USER I/O Pin Read/Set/Clear Commands I/O number mapping to the physical I/O pins on the DLP-HS-FPGA board are described in the following table: TABLE 2 User I/O J1 Pin 2 J1 Pin 3 J1 Pin 4 J1 Pin 5 XC3S200A XC3S400A Pin D13 C13 D11 C12 XC3S200A XC3S400A Bank 0 0 0 0 0x04 (4) J1 Pin 6 C10 0 0x05 (5) J1 Pin 7 D9 0 0x06 (6) J1 Pin 8 C8 0 0x07 (7) J1 Pin 9 D8 0 0x08 (8) 0x09 (9) 0x0A (10) 0x0B (11) 0x0C (12) 0x0D (13) J1 Pin 10 J1 Pin 12 J1 Pin 13 J1 Pin 14 J1 Pin 15 J1 Pin 16 A14 A13 A6 B6 C11 A11 0 0 0 0 0 0 I/O Number DLP-HSFPGA Pin 0x00 (0) 0x01 (1) 0x02 (2) 0x03 (3) Rev. 1.7 (May 2011) 12 FPGA Pin Configurations Available Digital Input, Output, Differential Pair 0+ Digital Input, Output, Differential Pair 0Digital Input, Output, Differential Pair 1Digital Input, Output, Differential Pair 1+ Digital Input, Output, Differential Pair 2+, Global Clock Digital Input, Output, Differential Pair 2-, Global Clock Digital Input, Output, Differential Pair 3+, Global Clock Digital Input, Output, Differential Pair 3-, Global Clock Digital Input, Output, Differential Pair 4+ Digital Input, Output, Differential Pair 4Digital Input, Output, Differential Pair 5+ Digital Input, Output, Differential Pair 5Digital Input, Output, Differential Pair 6+ Digital Input, Output, Differential Pair 6- (c) DLP Design, Inc. 0x0E (14) J1 Pin 17 B8 0 0x0F (15) J1 Pin 18 A8 0 0x10 (16) 0x11 (17) 0x12 (18) 0x13 (19) 0x14 (20) 0x15 (21) 0x16 (22) 0x17 (23) 0x18 (24) 0x19 (25) 0x1A (26) 0x1B (27) 0x1C (28) 0x1D (29) 0x1E (30) 0x1F (31) 0x20 (32) 0x21 (33) 0x22 (34) 0x23 (35) J1 Pin 19 J1 Pin 20 J1 Pin 21 J1 Pin 22 J1 Pin 27 J1 Pin 29 J1 Pin 30 J1 Pin 31 J1 Pin 32 J1 Pin 33 J1 Pin 34 J1 Pin 35 J1 Pin 36 J1 Pin 37 J1 Pin 38 J1 Pin 39 J1 Pin 41 J1 Pin 42 J1 Pin 43 J1 Pin 44 C5 A5 B3 A3 F3 G4 C2 C1 E1 D1 J6 J4 H6 H5 M4 N3 E3 E2 H3 J3 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0x24 (36) J1 Pin 45 K1 3 0x25 (37) J1 Pin 46 K3 3 0x26 (38) 0x27 (39) 0x28 (40) 0x29 (41) 0x2A (42) 0x2B (43) 0x2C (44) 0x2D (45) 0x2E (46) 0x2F (47) 0x30 (48) 0x31 (49) 0x32 (50) 0x33 (51) 0x34 (52) 0x35 (53) 0x36 (54) 0x37 (55) 0x38 (56) 0x39 (57) 0x3A (58) 0x3B (59) 0x3C (60) J1 Pin 47 J1 Pin 48 J1 Pin 49 J4 Pin 1 J4 Pin 3 J4 Pin 5 J4 Pin 7 J4 Pin 9 J4 Pin 11 J4 Pin 13 J4 Pin 15 J4 Pin 17 J4 Pin 19 J4 Pin 21 J4 Pin 2 J4 Pin 4 J4 Pin 6 J4 Pin 8 J4 Pin 10 J4 Pin 12 J4 Pin 14 J4 Pin 16 J4 Pin 18 P1 N2 T9 B15 A12 B10 A10 A9 N1 E7 C4 C7 K4 R1 A7 A4 B4 F1 G1 H1 J1 L1 M1 3 3 2 0 0 0 0 0 3 0 0 0 3 3 0 0 0 3 3 3 3 3 3 Rev. 1.7 (May 2011) 13 Digital Input, Output, Differential Pair 7-, Global Clock Digital Input, Output, Differential Pair 7+, Global Clock Digital Input, Output, Differential Pair 8Digital Input, Output, Differential Pair 8+ Digital Input, Output, Differential Pair 9Digital Input, Output, Differential Pair 9+ Digital Input, Output, Differential Pair 10+ Digital Input, Output, Differential Pair 10Digital Input, Output, Differential Pair 11+ Digital Input, Output, Differential Pair 11Digital Input, Output, Differential Pair 12Digital Input, Output, Differential Pair 12+ Digital Input, Output, Differential Pair 13Digital Input, Output, Differential Pair 13+ Digital Input, Output, Differential Pair 14+ Digital Input, Output, Differential Pair 14Digital Input, Output, Differential Pair 15Digital Input, Output, Differential Pair 15+ Digital Input, Output, Differential Pair 16+ Digital Input, Output, Differential Pair 16Digital Input, Output, Differential Pair 17+ Digital Input, Output, Differential Pair 17Digital Input, Output, Differential Pair 18-, Regional Clock Digital Input, Output, Differential Pair 18+, Regional Clock Digital Input, Output, Differential Pair 19Digital Input, Output, Differential Pair 19+ Digital Input, Output, Global Clock Digital Input, Output Digital Input, Output Digital Input, Output, Differential Pair 20+ Digital Input, Output, Differential Pair 20Digital Input, Output, Global Clock Digital Input, Output Digital Input, Output Digital Input, Output Digital Input, Output Digital Input, Output Digital Input, Output Digital Input, Output Digital Input, Output, Differential Pair 21+ Digital Input, Output, Differential Pair 21Digital Input, Output, Differential Pair 22+ Digital Input, Output, Differential Pair 22Digital Input, Output, Regional Clock Digital Input, Output, Regional Clock Digital Input, Output Digital Input, Output (c) DLP Design, Inc. 0x3D (61) 0x3E (62) SUSPEND AWAKE +5V IN +5V USB +3.3V OUT GND Rev. 1.7 (May 2011) J4 Pin 20 J4 Pin 22 J4 Pin 23 J4 Pin 24 J1 Pin 23 J1 Pin 24 J1 Pin 28, J4 Pin 26 J1 Pin 1, J1 Pin 11, J1 Pin 25, J1 Pin 26, J1 Pin 40, J1 Pin 50, J4 Pin 25 M3 L4 R16 T11 - 3 3 1 2 - - - - - 14 Digital Input, Output, Differential Pair 23+ Digital Input, Output, Differential Pair 23Force Suspend Mode (when enabled) Return from Suspend Mode Operation +5V input to the DLP-HS-FPGA +5V supplied by host PC USB port +3.3V supplied by the onboard DLP-HSFPGA regulator after module enumerated Ground (c) DLP Design, Inc. 12.0 USING THE DLP TEST APPLICATION (OPTIONAL) Users can design their own application interface to send USB commands to the DLP-HS-FPGA module or utilize the test application tool available from DLP Design. The DLP Test Application is available in a free version for download from the DLP Design website at www.dlpdesign.com/test.shtml. Using this tool, single- and multi-byte commands can be sent to the DLP-HS-FPGA board. Once installed the test application is used as follows: The commands used to interface to the DLP-HS-FPGA are detailed in Section 10 of this datasheet. Rev. 1.7 (May 2011) 15 (c) DLP Design, Inc. 13.0 MECHANICAL DIMENSIONS IN INCHES (MM) (PRELIMINARY) Rev. 1.7 (May 2011) 16 (c) DLP Design, Inc. 14.0 SCHEMATICS Schematics for the DLP-HS-FPGA are included on the following three pages: Rev. 1.7 (May 2011) 17 (c) DLP Design, Inc. D 5 1 3 2 DC:+3.6 to +6.0V CN2 U3 1 2 3 4 DC BARREL JACK 5VIN PORTVCC R19 0 8 7 6 5 VCC NC NC/ORG GND 93LC46 R7 5V0 CS SK DIN DOUT 10K 5V0 2 C8 1.0uF/0603 D4 EECS EESK EEDATA 1 6 3 2 U2 NCP605-3.3V VIN VOUT VIN EN SENSE GND 4 5 C6 500 mA C4 C77 C2 4.7uF .1uF 3V3 .1uF P5V0 C3 .1uF R3 10K C12 27pF C11 27pF 4 C39 3V3 VPLL VPHY P1V8 13 3 2 63 62 61 7 8 14 6 49 50 TEST 1 FB2 240-1018-1 VPHY 3V3 3 FB3 240-1018-1 1 2 C26 2 .1uF C85 C25 C49 4.7uF C48 .1uF C33 C47 .1uF .1uF C46 .1uF 27 27 FTDI_D0 FTDI_D1 FTDI_D2 FTDI_D3 FTDI_D4 FTDI_D5 FTDI_D6 FTDI_D7 R16 R17 PWREN# 5V0 10K 5% R28 1 2.2K R24 VPLL 3V3 C9 .1uF D5 150 R13 UPLOAD R27 24.9K 1 Q2 IRLML6402 2 C17 0.1uF R32 RED Downloading FPGA Code 3 Q4 MMBT3904L 0 2 2 C18 0.1uF USER_IO0_DP0 USER_IO1_DN0 USER_IO2_DN1 USER_IO3_DP1 USER_IO4_DP2_GC USER_IO5_DN2_GC USER_IO6_DP3_GC USER_IO7_DN3_GC USER_IO8_DP4 USER_IO9_DN4 USER_IO10_DP5 USER_IO11_DN5 USER_IO12_DP6 USER_IO13_DN6 USER_IO14_DN7_GC USER_IO15_DP7_GC USER_IO16_DN8 USER_IO17_DP8 USER_IO18_DN9 USER_IO19_DP9 5VIN PORTVCC USER_IO41 USER_IO42 USER_IO43_DP20 USER_IO44_DN20 USER_IO45_GC USER_IO46 USER_IO47 USER_IO48 USER_IO49 USER_IO50 USER_IO51 FPGA_SUSPEND C19 10/10 Tant VCCSW SPI_PROG DNS PROG Disable JP3 For FPGA configuration via SPI only. FTDI_RXF FTDI_TXE 3V3 FTDI_RD FTDI_WR FTDI_SI FPGA_SUSPEND FPGA_AWAKE TP5 SPARE_ACBUS6 TP6 SPARE_ACBUS7 FPGA_RESET TP4 SPARE_ACBUS1 SPI_CSO_B SPI_CLK SPI_MOSI SPI_DIN .1uF 16 17 18 19 21 22 23 24 26 27 28 29 30 32 33 34 38 39 40 41 43 44 45 46 48 52 53 54 55 57 58 59 60 36 3 1 1 .1uF C10 1 4.7uF 3V3 ADBUS0/TXD/D0/TCK SK ADBUS1/RXD/D1/TDI DO ADBUS2/RTS#/D2/TDO DI ADBUS3/CTS#/D3/TMS CS ADBUS4/DTR#/D4/GPIOL0 ADBUS5/DSR#/D5/GPIOL1 ADBUS6/DCD#/D6/GPIOL2 ADBUS7/RI#/D7/GPIOL3 ACBUS0/TXDEN/RXF#/GPIOH0 ACBUS1/WRSTB#/TXE#/GPIOH1 ACBUS2/RDSTB#/RD#/GPIOH2 ACBUS3/TXLED#/WR#/GPIOH3 ACBUS4/RXLED#/SIWUA/GPIOH4 ACBUS5/-/CLKOUT/GPIOH5 ACBUS6/-/OE#/GPIOH6 ACBUS7/-/-/GPIOH7 BDBUS0/TXD/DO/TCK SK BDBUS1/RXD/D1/TDI DO BDBUS2/RTS#/D2/TDO DI BDBUS3/CTS#/D3/TMS CS BDBUS4/DTR#/D4/GPIOL0 BDBUS5/DSR#/D5/GPIOL1 BDBUS6/DCD#/D6/GPIOL3 BDBUS7/RI#/D7/GPIOL4 PWREN# SUSPEND# BCBUS0/TXDEN/RXF#/GPIOH0 OSCI BCBUS1/WRSTB#/TXE#/GPIOH1 BCBUS2/RDSTB#/RD#/GPIOH2 BCBUS3/TXLED#/WR#/GPIOH3 BCBUS4/RXLED#/SIWUB/GPIOH4 OSCO BCBUS5/-/-/GPIOH5 BCBUS6/-/-/GPIOH6 BCBUS7/PWRSAV#/PWRSAV#/GPIOH7 EECS EECLK EEDATA DM DP RESET# REF VREGOUT VREGIN U1 FT1232HQ 3V3 10uF/10V 3V3 Y1 12MHz R6 10K R2 12K R31 1K .1uF C34 10/10 Tant FB1 240-1018-1 MBR130T1G 1 C1 .01 1 2 3 4 R4 2.2K GND GND GND GND GND GND GND GND 1 5 11 15 25 35 47 51 CN1 CN-USB 3V3 C5 .1uF 4 2 1 20 31 42 56 VCCIO VCCIO VCCIO VCCIO 12 37 64 VCORE VCORE VCORE 4 9 VPHY VPLL AGND 10 C B A 5 3 2 5 1 PRELIMINARY DLP-HS-FPGA v1.2 Page 1 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 J1 CONN PCB 25x2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 USER_IO52 USER_IO53_DP21 USER_IO54_DN21 USER_IO55_DP22 USER_IO56_DN22 USER_IO57_RC USER_IO58_RC USER_IO59 USER_IO60 USER_IO61_DP23 USER_IO62_DN23 FPGA_AWAKE VCCSW USER_IO31_DP15 USER_IO30_DN15 USER_IO29_DN14 USER_IO28_DP14 USER_IO27_DP13 USER_IO26_DN13 USER_IO25_DP12 USER_IO24_DN12 USER_IO23_DN11 USER_IO22_DP11 USER_IO21_DN10 VCCSW USER_IO20_DP10 USER_IO40_GC USER_IO39_DP19 USER_IO38_DN19 USER_IO37_DP18_RC USER_IO36_DN18_RC USER_IO35_DN17_RC USER_IO34_DP17_RC USER_IO33_DN16 USER_IO32_DP16 Bottom side FPGA IO (top view) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 4 6 8 10 12 14 16 18 20 22 24 26 J4 CONN HDR 13x2 1 3 5 7 9 11 13 15 17 19 21 23 25 2 4 6 8 10 12 14 16 18 20 22 24 26 Top side FPGA IO 1 3 5 7 9 11 13 15 17 19 21 23 25 1 D C B A D C B A A1 T1 F2 K2 C3 P3 E5 M5 F6 R6 B7 K7 G8 J8 H9 K9 G10 R10 B11 L11 E12 M12 C14 P14 G15 L15 A16 T16 1V8 U5F GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND 5 VCCINT VCCINT VCCINT VCCINT VCCINT VCCINT VCCAUX VCCAUX VCCAUX VCCAUX 1 6 7 5 2 GND 1 2 U5E D2 GREEN TDI TMS DONE TDO TCK PROG_B G7 H8 K8 G9 J9 K10 F5 M6 E11 L12 DNS JP1 PROG VREF VTT XC3S200A_FT256 VSENSE AVIN PVIN VDDQ SD# U6 LP2997 SOIC8 XC3S200A_FT256 VCCSW C75 0.1uF 330 4.7K B1 B2 T15 B16 A15 A2 Use Ceramic caps C72 2.2 uF VCCSW R25 JTAG_DIN JTAG_TMS LEDG_DONE JTAG_DOUT JTAG_TCK SPI_PROG VCCSW R21 5 1V2 VCCSW 4 8 3 C73 22 uF C62 2.2 uF 0603 C69 2.2 uF 0603 C74 0.1uF J2 C63 0.1uF C13 0.1uF C64 0.01uF 4 C65 0.1uF C70 0.1uF JTAG_TCK JTAG_DOUT JTAG_DIN JTAG_TMS C32 0.01uF VCCSW VREF_0V9 VTT_0V9 1 2 3 4 5 6 Traditional JTAG DNS 4 C66 0.01uF C71 0.01uF C67 0.1uF C68 0.01uF DDR2_A12 DDR2_A7 DDR2_A3 DDR2_WEn VTT_0V9 DDR2_RFU_A13 DDR2_A8 DDR2_ODT DDR2_A2 VTT_0V9 C76 0.1uF VCCSW DDR2_RFU_BA2 DDR2_BA1 DDR2_BA0 DDR2_A4 VTT_0V9 1 2 3 4 5 6 J3 Xilinx Parallel Cable Header DNS DNS DNS VCCSW R11 4.7K R9 4.7K R10 4.7K VCCSW 3 RN1 DNS 5 4 3 2 1 DDR II parallel terminations 6 7 8 9 10 RN2 5 4 3 2 1 CAT25-500JALF 50 Ohm DNS DNS 5 4 3 2 1 CAT25-500JALF 50 Ohm 6 7 8 9 10 RN3 R18 50 OUT 3 DNS VCCSW SPI Flash SPI_MOSI SPI_DIN SPI_CSO_B SPI_CLK FXO-HC735-66.666MHZ VDD GND EN Y2 CAT25-500JALF 50 Ohm 6 7 8 9 10 1 4 2 >Din