11. Configuring Stratix III Devices SIII51011-2.0 This chapter contains complete information about Stratix® III supported configuration schemes, how to execute the required configuration schemes, and all necessary option pin settings. Stratix III devices use SRAM cells to store configuration data. Because SRAM memory is volatile, you must download configuration data to the Stratix III device each time the device powers up. You can configure Stratix III devices using one of four configuration schemes: ■ Fast passive parallel (FPP) ■ Fast active serial (AS) ■ Passive serial (PS) ■ Joint Test Action Group (JTAG) All configuration schemes use an external controller (for example, a MAX® II device or microprocessor), a configuration device, or a download cable. Refer to “Configuration Features” on page 11–3 for more information. Configuration Devices The Altera® serial configuration devices (EPCS128, EPCS64, and EPCS16) support a single-device and multi-device configuration solution for Stratix III devices and are used in the fast AS configuration scheme. Serial configuration devices offer a low-cost, low-pin count configuration solution. f For information about serial configuration devices, refer to the Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet in volume 2 of the Configuration Handbook. All minimum timing information in this handbook covers the entire Stratix III family. Some devices may work at less than the minimum timing stated in this handbook due to process variation. Configuration Schemes Select the configuration scheme by driving the Stratix III device MSEL pins either high or low, as detailed in Table 11–1. The MSEL pins are powered by the VCCPGM power supply of the bank they reside in. The MSEL[2..0] pins have 5-kΩ internal pull-down resistors that are always active. During power-on reset (POR) and reconfiguration, the MSEL pins must be at LVTTL VIL and VIH levels to be considered a logic low and logic high. 1 © March 2011 To avoid any problems with detecting an incorrect configuration scheme, hard-wire the MSEL[] pins to VCCPGM and GND, without any pull-up or pull-down resistors. Do not drive the MSEL[] pins with a microprocessor or another device. Altera Corporation Stratix III Device Handbook, Volume 1 11–2 Chapter 11: Configuring Stratix III Devices Configuration Devices Table 11–1. Stratix III Configuration Schemes Configuration Scheme MSEL2 MSEL1 MSEL0 Fast passive parallel (FPP) 0 0 0 Passive serial (PS) 0 1 0 Fast AS (40 MHz) (1) 0 1 1 Remote system upgrade fast AS (40 MHz) (1) 0 1 1 FPP with design security feature, decompression, or both enabled (2) 0 0 1 (3) (3) (3) JTAG-based configuration (4) Notes to Table 11–1: (1) To support fast AS configuration for Stratix III, you must use EPCS16, EPCS64, or EPCS128 devices. For more information, refer to Serial Configuration Devices Data Sheet chapter. (2) These modes are only supported when using a MAX® II device or a microprocessor with flash memory for configuration. In these modes, the host system must output a DCLK that is ×4 the data rate. (3) Do not leave the MSEL pins floating. Connect them to VCCPGM or ground. These pins support the non-JTAG configuration scheme used in production. If you only use JTAG configuration, connect the MSEL pins to ground. (4) JTAG-based configuration takes precedence over other configuration schemes, which means MSEL pin settings are ignored. Table 11–2 lists the uncompressed raw binary file (.rbf) configuration file sizes for Stratix III devices. Table 11–2. Stratix III Uncompressed Raw Binary File (.rbf) Sizes Device Data Size (Bits) EP3SL50 22, 178, 792 EP3SL70 22, 178, 792 EP3SL110 47, 413, 312 EP3SL150 47, 413, 312 EP3SL200 93, 324, 656 EP3SL340 117, 387, 664 EP3SE50 25, 891, 968 EP3SE80 48, 225, 392 EP3SE110 48, 225, 392 EP3SE260 93, 324, 656 Use the data in Table 11–2 to estimate the file size before design compilation. Different configuration file formats, such as a hexadecimal (.hex) or tabular text file (.ttf) format, have different file sizes. Refer to the Quartus ® II software for the different types of configuration file and the file sizes. However, for any specific version of the Quartus II software, any design targeted for the same device will have the same uncompressed configuration file size. If you are using compression, the file size can vary after each compilation because the compression ratio is dependent on the design. f For more information about setting device configuration options or creating configuration files, refer to the Device Configuration Options and Configuration File Formats chapters in volume 2 of the Configuration Handbook. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Configuration Features 11–3 Configuration Features Stratix III devices offer design security, decompression, and remote system upgrade features. Design security using configuration bitstream encryption is available in Stratix III devices, which protects your designs. Stratix III devices can receive a compressed configuration bitstream and decompress this data in real-time, reducing storage requirements and configuration time. You can make real-time system upgrades from remote locations of your Stratix III designs with the remote system upgrade feature. Table 11–3 summarizes which configuration features you can use in each configuration scheme. Table 11–3. Stratix III Configuration Features Configuration Scheme Configuration Method Decompression Design Security Remote System Upgrade v (1) v (1) — FPP MAX II device or a microprocessor with flash memory Fast AS Serial configuration device v v v (2) PS MAX II device or a microprocessor with flash memory v v — Download cable v v — MAX II device or a microprocessor with flash memory — — — Download cable — — — JTAG Notes to Table 11–3: (1) In these modes, the host system must send a DCLK that is ×4 the data rate. (2) Remote system upgrade is only available in the fast AS configuration scheme. Only remote update mode is supported when using the fast AS configuration scheme. Local update mode is not supported. If your system already contains a common flash interface (CFI) flash memory, you can use it for the Stratix III device configuration storage as well. The MAX II parallel flash loader (PFL) feature in MAX II devices provides an efficient method to program CFI flash memory devices through the JTAG interface, and the logic to control configuration from the flash memory device to the Stratix III device. Both PS and FPP configuration modes are supported using the PFL feature. © March 2011 f For more information about PFL, refer to AN 386: Using the MAX II Parallel Flash Loader with the Quartus II Software. f For more information about programming Altera serial configuration devices, refer to “Programming Serial Configuration Devices” on page 11–25. Altera Corporation Stratix III Device Handbook, Volume 1 11–4 Chapter 11: Configuring Stratix III Devices Configuration Features Configuration Data Decompression Stratix III devices support configuration data decompression, which saves configuration memory space and time. This feature allows you to store compressed configuration data in configuration devices or other memory and transmit this compressed bitstream to Stratix III devices. During configuration, the Stratix III device decompresses the bitstream in real time and programs its SRAM cells. 1 Preliminary data indicates that compression typically reduces the configuration bitstream size by 35 to 55%, based on the designs used. Stratix III devices support decompression in the FPP (when using a MAX II device/microprocessor + flash), fast AS, and PS configuration schemes. The Stratix III decompression feature is not available in the JTAG configuration scheme. 1 When using FPP mode, the intelligent host must provide a DCLK that is ×4 the data rate. Therefore, the configuration data must be valid for four DCLK cycles. In PS mode, use the Stratix III decompression feature, because sending compressed configuration data reduces configuration time. When you enable compression, the Quartus II software generates configuration files with compressed configuration data. This compressed file reduces the storage requirements in the configuration device or flash memory, and decreases the time needed to transmit the bitstream to the Stratix III device. The time required by a Stratix III device to decompress a configuration file is less than the time needed to transmit the configuration data to the device. There are two ways to enable compression for Stratix III bitstreams: before design compilation (in the Compiler Settings menu) and after design compilation (in the Convert Programming Files window). To enable compression in the project's Compiler Settings menu, perform the following steps: 1. On the Assignments menu, click Device. The Settings dialog box appears. 2. In the Family list, select Stratix III and then click the Device and Pin Options button. 3. On the Configuration tab, turn on the Generate compressed bitstreams option(Figure 11–1). Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Configuration Features 11–5 Figure 11–1. Enabling Compression for Stratix III Bitstreams in Compiler Settings You can also enable compression when creating programming files from the Convert Programming Files window. 1. On the File menu, click Convert Programming Files. 2. In the (.pof, .sram, .hex, .rbf, or .ttf) list, select the programming file type. 3. For POF output files, select a configuration device from (.pof, .sram, .hex, .rbf, or .ttf). 4. Under Input files to convert, select SOF Data. 5. Select Add File and add a Stratix III device SOF or SOFs. 6. Select the name of the file you added to the SOF Data area and click Properties. 7. Check the Compression check box. When multiple Stratix III devices are cascaded, you can selectively enable the compression feature for each device in the chain if you are using a serial configuration scheme. Figure 11–2 shows a chain of two Stratix III devices. The first Stratix III device has compression enabled, and receives a compressed bitstream from the configuration device. The second Stratix III device has the compression feature disabled, and receives uncompressed data. In a multi-device FPP configuration chain (with a MAX II device/microprocessor + flash), all Stratix III devices in the chain must either enable or disable the decompression feature. You cannot selectively enable the compression feature for each device in the chain because of the DATA and DCLK relationship. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–6 Chapter 11: Configuring Stratix III Devices Configuration Features Figure 11–2. Compressed and Uncompressed Configuration Data in the Same Configuration File Serial Configuration Data Serial Configuration Device Uncompressed Configuration Data Compressed Configuration Data Decompression Controller Stratix III FPGA Stratix III FPGA nCE nCEO nCE nCEO N.C. GND To generate programming files for this setup in the Quartus II software, on the File menu, click Convert Programming Files. Design Security Using Configuration Bitstream Encryption Stratix III devices support decryption of configuration bitstreams using the advanced encryption standard (AES) algorithm—the most advanced encryption algorithm available today. Both non-volatile and volatile key programming are supported using Stratix III devices. When using the design security feature, a 256-bit security key is stored in the Stratix III device. To successfully configure a Stratix III device that has the design security feature enabled, the device must be configured with a configuration file that was encrypted using the same 256-bit security key. Non-volatile key programming does not require any external devices, such as a battery backup, for storage. However, for certain applications, you can store the security keys in volatile memory in the Stratix III device. An external battery is needed for this volatile key storage. 1 f When using a serial configuration scheme such as PS or fast AS, configuration time is the same whether or not the design security feature is enabled. If the FPP scheme is used with the design security or decompression feature, a ×4 DCLK is required. This results in a slower configuration time when compared to the configuration time of a Stratix III device that has neither the design security nor the decompression feature enabled. For more information about this feature, refer to the Design Security in Stratix III Devices chapter in volume 1 of the Stratix III Device Handbook. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Configuration Features 11–7 Remote System Upgrade f Stratix III devices contain the remote update feature. For more information about this feature, refer to the Remote System Upgrades with Stratix III Devices in volume 1 of the Stratix III Device Handbook. Power-On Reset Circuit The POR circuit keeps the entire system in reset until the power supply voltage levels have stabilized on power-up. On power-up, the device does not release nSTATUS until VCCPT, VCCL, VCC, VCCPD, and VCCPGM are above the device’s POR trip point. On power down, brown-out occurs if VCC or V CCL ramps down below the POR trip point and VCC, VCCPD, or VCCPGM drops below the threshold voltage. In Stratix III devices, a pin-selectable option (PORSEL) is provided that allows you to select a typical POR time setting of 12 ms or 100 ms. In both cases, you can extend the POR time by using an external component to assert the nSTATUS pin low. VCCPGM Pins Stratix III devices offer a new power supply, V CCPGM, for all the dedicated configuration pins and dual function pins. The configuration voltages supported are 1.8 V, 2.5 V, 3.0 V, and 3.3 V. Stratix III devices do not support the 1.5 V configuration. Use this pin to power all dedicated configuration inputs, dedicated configuration outputs, dedicated configuration bi-directional pins, and some of the dual functional pins that you use for configuration. With VCCPGM, configuration input buffers do not have to share power lines with the regular I/O buffer in Stratix III devices. The operating voltage for the configuration input pin is independent of the I/O bank’s power supply V CCIO during the configuration. Therefore, no configuration voltage constraints on VCCIO are needed in Stratix III devices. VCCPD Pins Stratix III devices have a dedicated programming power supply, VCCPD, which must be connected to 3.3 V/3.0 V/2.5 V to power the I/O pre-drivers, the JTAG input and output pins (TCK, TMS, TDI, TDO, and TRST), and the design security circuitry. 1 f © March 2011 VCCPGM and VCCPD must ramp up from 0 V to the desired voltage level within 100 ms. If these supplies are not ramped up within this specified time, your Stratix III device will not configure successfully. If your system does not allow ramp-up time of 100 ms or less, you must hold nCONFIG low until all power supplies are stable. For more information about the configuration pins power supply, refer to “Device Configuration Pins” on page 11–43. Altera Corporation Stratix III Device Handbook, Volume 1 11–8 Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration Fast Passive Parallel Configuration Fast passive parallel (FPP) configuration in Stratix III devices is designed to meet the continuously increasing demand for faster configuration times. Stratix III devices are designed with the capability of receiving byte-wide configuration data per clock cycle. Table 11–4 lists the MSEL pin settings when using the FPP configuration scheme. Table 11–4. Stratix III MSEL Pin Settings for FPP Configuration Schemes Configuration Scheme MSEL2 MSEL1 MSEL0 Fast Passive Parallel (FPP) 0 0 0 FPP with the design security feature, decompression feature, or both enabled (1) 0 0 1 Note to Table 11–4: (1) These modes are only supported when using a MAX II device or a microprocessor with flash memory for configuration. In these modes, the host system must output a DCLK that is ×4 the data rate. You can perform FPP configuration of Stratix III devices using an intelligent host, such as a MAX II device, or a microprocessor. FPP Configuration Using a MAX II Device as an External Host FPP configuration using compression and an external host provides the fastest method to configure Stratix III devices. In this configuration scheme, you can use a MAX II device as an intelligent host that controls the transfer of configuration data from a storage device, such as flash memory, to the target Stratix III device. You can store configuration data in .rbf, .hex, or .ttf format. When using the MAX II device as an intelligent host, a design that controls the configuration process, such as fetching the data from flash memory and sending it to the device, must be stored in the MAX II device. 1 If you are using the Stratix III decompression feature, design security feature or both, the external host must be able to send a DCLK frequency that is four times the data rate. The ×4 DCLK signal does not require an additional pin and is sent on the DCLK pin. The maximum DCLK frequency is 100 MHz, which results in a maximum data rate of 200 Mbps. If you are not using the Stratix III decompression or design security features, the data rate is the same as the DCLK frequency. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration 11–9 Figure 11–3 shows the configuration interface connections between the Stratix III device and a MAX II device for single device configuration. Figure 11–3. Single Device FPP Configuration Using an External Host Memory ADDR DATA[7..0] VCCPGM (1) VCCPGM (1) 10 kΩ 10 kΩ Stratix III Device MSEL[2..0] CONF_DONE GND nSTATUS External Host (MAX II Device or Microprocessor) nCEO nCE GND N.C. DATA[7..0] nCONFIG DCLK Note to Figure 11–3: (1) Connect the resistor to a supply that provides an acceptable input signal for the Stratix III device. VCCPGM should be high enough to meet the V IH specification of the I/O on the external host. It is recommended to power up all configuration system’s I/O with VCCPGM. Upon power-up, the Stratix III device goes through a POR. The POR delay is dependent on the PORSEL pin setting. When PORSEL is driven low, the POR time is approximately 100 ms. When PORSEL is driven high, the POR time is approximately 12 ms. During POR, the device resets, holds nSTATUS low, and tri-states all user I/O pins. After the device successfully exits POR, all user I/O pins continue to be tri-stated. If nIO_pullup is driven low during power-up and configuration, the user I/O pins and dual-purpose I/O pins have weak pull-up resistors, which are on (after POR) before and during configuration. If nIO_pullup is driven high, the weak pull-up resistors are disabled. The configuration cycle consists of three stages: reset, configuration, and initialization. While nCONFIG or nSTATUS is low, the device is in the reset stage. To initiate configuration, the MAX II device must drive the nCONFIG pin from low to high. 1 VCC, VCCIO, VCCPGM, and VCCPD of the banks where the configuration and JTAG pins reside must be fully powered to the appropriate voltage levels to begin the configuration process. When nCONFIG goes high, the device comes out of reset and releases the open-drain nSTATUS pin, which is then pulled high by an external 10-kΩ pull-up resistor. After nSTATUS is released, the device is ready to receive configuration data and the configuration stage begins. When nSTATUS is pulled high, the MAX II device places the configuration data one byte at a time on the DATA[7..0] pins. 1 © March 2011 Stratix III devices receive configuration data on the DATA[7..0] pins and the clock is received on the DCLK pin. Data is latched into the device on the rising edge of DCLK. If you are using the Stratix III decompression feature, design security feature, or both, the configuration data is latched on the rising edge of every fourth DCLK cycle. After the configuration data is latched in, it is processed during the following three DCLK cycles. Altera Corporation Stratix III Device Handbook, Volume 1 11–10 Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration Data is continuously clocked into the target device until CONF_DONE goes high. A low-to-high transition on CONF_DONE indicates configuration is complete and initialization of the device can begin. The CONF_DONE pin must have an external 10-kΩ pull-up resistor for the device to initialize. In Stratix III devices, the initialization clock source is either the internal oscillator (typically 10 MHz) or the optional CLKUSR pin. By default, the internal oscillator is the clock source for initialization. If you use the internal oscillator, the Stratix III device receives enough clock cycles for proper initialization. Therefore, if the internal oscillator is the initialization clock source, sending the entire configuration file to the device is sufficient to configure and initialize the device. Driving DCLK to the device after configuration is complete does not affect device operation. You can also synchronize initialization of multiple devices or delay initialization with the CLKUSR option. You can turn on the Enable user-supplied start-up clock (CLKUSR) option in the Quartus II software from the General tab of the Device and Pin Options dialog box. Supplying a clock on CLKUSR does not affect the configuration process. After the CONF_DONE pin transitions high, CLKUSR is enabled after the time specified as tCD2CU. When this time period elapses, Stratix III devices require 4,436 clock cycles to initialize properly and enter user mode. Stratix III devices support a CLKUSR fMAX of 100 MHz. An optional INIT_DONE pin is available, which signals the end of initialization and the start of user mode with a low-to-high transition. The Enable INIT_DONE Output option is available in the Quartus II software on the General tab of the Device and Pin Options dialog box. If you use the INIT_DONE pin, it is high because of an external 10-kΩ pull-up resistor when nCONFIG is low and during the beginning of configuration. After the option bit to enable INIT_DONE is programmed into the device (during the first frame of configuration data), the INIT_DONE pin goes low. When initialization is complete, the INIT_DONE pin is released and pulled high. The MAX II device must be able to detect this low-to-high transition, which signals the device has entered user mode. When initialization is complete, the device enters user mode. In user mode, the user I/O pins no longer have weak pull-up resistors and function as assigned in your design. To ensure DCLK and DATA[7..0] are not left floating at the end of configuration, the MAX II device must drive them either high or low, whichever is convenient on your board. During configuration, DATA[7..0] pins are powered by V CCPGM. After entering user mode, these pins are available as user I/O pins that are powered by VCCIO. When you select the FPP scheme as a default in the Quartus II software, these I/O pins are tri-stated in user mode. To change this default option in the Quartus II software, select the Dual-Purpose Pins tab of the Device and Pin Options dialog box. The configuration clock (DCLK) speed must be below the specified frequency to ensure correct configuration. No maximum DCLK period exists, which means you can pause configuration by halting DCLK for an indefinite amount of time. 1 If you are using the Stratix III decompression feature, design security feature, or both and need to stop DCLK, it can only be stopped three clock cycles after the last data byte was latched into the Stratix III device. If you are using the Stratix III device without decompression or design security feature, the DCLK can only be stopped two clock cycles after the last data byte was latched into the Stratix III device. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration 11–11 By stopping DCLK, the configuration circuit allows enough clock cycles to process the last byte of latched configuration data. When the clock restarts, the MAX II device must provide data on the DATA[7..0] pins prior to sending the first DCLK rising edge. If an error occurs during configuration, the device drives its nSTATUS pin low, resetting itself internally. The low signal on the nSTATUS pin also alerts the MAX II device that there is an error. If the Auto-restart configuration after error option (available in the Quartus II software on the General tab of the Device and Pin Options dialog box) is turned on, the device releases nSTATUS after a reset time-out period (maximum of 100 μs). After nSTATUS is released and pulled high by a pull-up resistor, the MAX II device can try to reconfigure the target device without needing to pulse nCONFIG low. If this option is turned off, the MAX II device must generate a low-to-high transition (with a low pulse of at least 2 μs) on nCONFIG to restart the configuration process. 1 If you have enabled the Auto-restart configuration after error option, the nSTATUS pin transitions from high to low and back again to high when a configuration error is detected. This appears as a low pulse at the nSTATUS pin with a minimum pulse width of 10 μs to a maximum pulse width of 500 μs, as defined in the tSTATUS specification. The MAX II device can also monitor the CONF_DONE and INIT_DONE pins to ensure successful configuration. The MAX II device must monitor the CONF_DONE pin to detect errors and determine when programming completes. If all configuration data is sent, but the CONF_DONE or INIT_DONE signals have not gone high, the MAX II device will reconfigure the target device. 1 If you use the optional CLKUSR pin and the nCONFIG is pulled low to restart configuration during device initialization, you must ensure CLKUSR continues toggling during the time nSTATUS is low (maximum of 100 µs). When the device is in user mode, transitioning the nCONFIG pin low to high initiates a reconfiguration. The nCONFIG pin should be low for at least 2 μs. When nCONFIG is pulled low, the device also pulls nSTATUS and CONF_DONE low and all I/O pins are tri-stated. After nCONFIG returns to a logic high level and nSTATUS is released by the device, reconfiguration begins. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–12 Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration Figure 11–4 shows how to configure multiple devices using a MAX II device. This circuit is similar to the FPP configuration circuit for a single device, except the Stratix III devices are cascaded for multi-device configuration. Figure 11–4. Multi-Device FPP Configuration Using an External Host Memory ADDR DATA[7..0] VCCPGM (1) VCCPGM (1) 10 kΩ 10 kΩ Stratix III Device 2 Stratix III Device 1 MSEL[2..0] MSEL[2..0] CONF_DONE CONF_DONE GND nSTATUS nCE External Host (MAX II Device or Microprocessor) nCEO GND nSTATUS nCE nCEO N.C. GND DATA[7..0] DATA[7..0] nCONFIG nCONFIG DCLK DCLK Note to Figure 11–4: (1) Connect the resistor to a supply that provides an acceptable input signal for all Stratix III devices on the chain. V CCPGM should be high enough to meet the V IH specification of the I/O on the external host. It is recommended to power up all configuration system’s I/O with V CCPGM. In a multi-device FPP configuration, the first device’s nCE pin is connected to GND while its nCEO pin is connected to nCE of the next device in the chain. The last device’s nCE input comes from the previous device, while its nCEO pin is left floating. After the first device completes configuration in a multi-device configuration chain, its nCEO pin drives low to activate the second device’s nCE pin, which prompts the second device to begin configuration. The second device in the chain begins configuration within one clock cycle; therefore, the transfer of data destinations is transparent to the MAX II device. All other configuration pins (nCONFIG, nSTATUS, DCLK, DATA[7..0], and CONF_DONE) are connected to every device in the chain. The configuration signals may require buffering to ensure signal integrity and prevent clock skew problems. Ensure that the DCLK and DATA lines are buffered for every fourth device. Because all device CONF_DONE pins are tied together, all devices initialize and enter user mode at the same time. All nSTATUS and CONF_DONE pins are tied together. If any device detects an error, configuration stops for the entire chain and you must reconfigure the entire chain. For example, if the first device flags an error on nSTATUS, it resets the chain by pulling its nSTATUS pin low. This behavior is similar to a single device detecting an error. If the Auto-restart configuration after error option is turned on, the devices release their nSTATUS pins after a reset time-out period (maximum of 100 μs). After all nSTATUS pins are released and pulled high, the MAX II device tries to reconfigure the chain without pulsing nCONFIG low. If this option is turned off, the MAX II device must generate a low-to-high transition (with a low pulse of at least 2 μs) on nCONFIG to restart the configuration process. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration 1 11–13 If you have enabled the Auto-restart configuration after error option, the nSTATUS pin transitions from high to low and back again to high when a configuration error is detected. This appears as a low pulse at the nSTATUS pin with a minimum pulse width of 10 μs to a maximum pulse width of 500 μs, as defined in the tSTATUS specification. In a multi-device FPP configuration chain, all Stratix III devices in the chain must either enable or disable the decompression feature, design security feature, or both. You cannot selectively enable the decompression feature, design security feature, or both for each device in the chain because of the DATA and DCLK relationship. If the chain contains devices that do not support design security, you should use a serial configuration scheme. If a system has multiple devices that contain the same configuration data, tie all device nCE inputs to GND, and leave nCEO pins floating. All other configuration pins (nCONFIG, nSTATUS, DCLK, DATA[7..0], and CONF_DONE) are connected to every device in the chain. Configuration signals may require buffering to ensure signal integrity and prevent clock skew problems. Ensure that the DCLK and DATA lines are buffered for every fourth device. Devices must be the same density and package. All devices start and complete configuration at the same time. Figure 11–5 shows a multi-device FPP configuration when both Stratix III devices are receiving the same configuration data. Figure 11–5. Multiple-Device FPP Configuration Using an External Host When Both Devices Receive the Same Data Memory ADDR DATA[7..0] VCCPGM (1) VCCPGM (1) 10 kΩ Stratix III Device 10 kΩ Stratix III Device MSEL[2..0] CONF_DONE nSTATUS nCE External Host (MAX II Device or Microprocessor) GND MSEL[2..0] CONF_DONE GND nCEO nSTATUS nCE N.C. (2) GND nCEO N.C. (2) GND DATA[7..0] DATA[7..0] nCONFIG nCONFIG DCLK DCLK Notes to Figure 11–5: (1) Connect the resistor to a supply that provides an acceptable input signal for all Stratix III devices on the chain. V CCPGM should be high enough to meet the V IH specification of the I/O on the external host. It is recommended to power up all configuration system’s I/O with V CCPGM. (2) The nCEO pins of both devices are left unconnected when configuring the same configuration data into multiple devices. You can use a single configuration chain to configure Stratix III devices with other Altera devices that support FPP configuration, such as other types of Stratix devices. To ensure that all devices in the chain complete configuration at the same time, or that an error flagged by one device initiates reconfiguration in all devices, tie all of the device CONF_DONE and nSTATUS pins together. f © March 2011 For more information about configuring multiple Altera devices in the same configuration chain, refer to Configuring Mixed Altera FPGA Chains in the Configuration Handbook. Altera Corporation Stratix III Device Handbook, Volume 1 11–14 Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration FPP Configuration Timing Figure 11–6 shows the timing waveform for FPP configuration using a MAX II device as an external host. This waveform shows the timing when the decompression and the design security feature are not enabled. Figure 11–6. FPP Configuration Timing Waveform (Note 1), (2) tCF2ST1 tCFG tCF2CK nCONFIG nSTATUS (3) tSTATUS tCF2ST0 t (7) CLK CONF_DONE (4) tCF2CD tST2CK tCH tCL (5) DCLK tDH DATA[7..0] Byte 0 Byte 1 (6) Byte 2 Byte 3 User Mode Byte n-2 Byte n-1 Byte n tDSU User I/O High-Z User Mode INIT_DONE tCD2UM Notes to Figure 11–6: (1) You should use this timing waveform when the decompression and design security features are not used. (2) The beginning of this waveform shows the device in user mode. In user mode, nCONFIG, nSTATUS, and CONF_DONE are at logic high levels. When nCONFIG is pulled low, a reconfiguration cycle begins. (3) Upon power-up, the Stratix III device holds nSTATUS low for the time of the POR delay. (4) Upon power-up, before and during configuration, CONF_DONE is low. (5) You should not leave DCLK floating after configuration. You should drive it high or low, whichever is more convenient. (6) DATA[7..0] are available as user I/O pins after configuration. The state of these pins depends on the dual-purpose pin settings. (7) Two DCLK falling edges are required after CONF_DONE goes high to begin the initialization of the device. Table 11–5 defines the timing parameters for Stratix III devices for FPP configuration when the decompression and the design security features are not enabled. Table 11–5. FPP Timing Parameters for Stratix III Devices (Note 1) (Part 1 of 2) Symbol Parameter Minimum Maximum Units tCF 2CD nCONFIG low to CONF_DONE low — 800 ns tCF 2ST0 nCONFIG low to nSTATUS low — 800 ns tCF G nCONFIG low pulse width 2 — μs tSTATUS nSTATUS low pulse width 10 100 (2) μs tCF 2ST1 nCONFIG high to nSTATUS high — 100 (2) μs tCF 2CK nCONFIG high to first rising edge on DCLK 100 — μs tST2C K nSTATUS high to first rising edge of DCLK 2 — μs tDSU Data setup time before rising edge on DCLK 5 — ns tDH Data hold time after rising edge on DCLK 0 — ns tCH DCLK high time 4 — ns tCL DCLK low time 4 — ns Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration 11–15 Table 11–5. FPP Timing Parameters for Stratix III Devices (Note 1) (Part 2 of 2) Symbol Parameter Minimum Maximum Units tCLK DCLK period 10 — ns fM AX DCLK frequency — 100 MHz tR Input rise time — 40 ns t Input fall time — 40 ns tCD2UM CONF_DONE high to user mode (3) 20 100 μs tCD2C U CONF_DONE high to CLKUSR enabled — — — — 4 × maximum DCLK period tCD2CU + (4,436 CONF_DONE high to user mode with CLKUSR option on tCD2UM C × CLKUSR period) Notes to Table 11–5: (1) Use these timing parameters when the decompression and design security features are not used. (2) This value is obtainable if you do not delay configuration by extending the nCONFIG or nSTATUS low pulse width. (3) The minimum and maximum numbers apply only if you chose the internal oscillator as the clock source for starting up the device. Figure 11–7 shows the timing waveform for FPP configuration when using a MAX II device as an external host. This waveform shows the timing when the decompression feature, design security feature, or both are enabled. Figure 11–7. FPP Configuration Timing Waveform with Decompression or Design Security Feature Enabled (Note 1), (2) tCF2ST1 tCFG nCONFIG (3) nSTATUS tCF2CK tSTATUS tCF2ST0 (8) (4) CONF_DONE tCF2CD tCL tST2CK DCLK tCH 1 2 3 4 1 2 3 4 (7) 1 3 (5) 4 tCLK DATA[7..0] tDSU User I/O Byte 0 Byte 1 tDH tDH (7) Byte 2 Byte (n-1) Byte n (6) User Mode User Mode High-Z INIT_DONE tCD2UM Notes to Figure 11–7: (1) Use this timing waveform when the decompression feature, design security feature, or both are used. (2) The beginning of this waveform shows the device in user mode. In user mode, nCONFIG, nSTATUS, and CONF_DONE are at logic high levels. When nCONFIG is pulled low, a reconfiguration cycle begins. (3) Upon power-up, the Stratix III device holds nSTATUS low for the time of the POR delay. (4) Upon power-up, before and during configuration, CONF_DONE is low. (5) Do not leave DCLK floating after configuration. Drive it high or low, whichever is more convenient. (6) DATA[7..0] are available as user I/O pins after configuration. The state of these pins depends on the dual-purpose pin settings. (7) If needed, pause DCLK by holding it low. When DCLK restarts, the external host must provide data on the DATA[7..0] pins prior to sending the first DCLK rising edge. (8) Two DCLK falling edges are required after CONF_DONE goes high to begin the initialization of the device. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–16 Chapter 11: Configuring Stratix III Devices Fast Passive Parallel Configuration Table 11–6 defines the timing parameters for Stratix III devices for FPP configuration when the decompression feature, design security feature, or both are enabled. Table 11–6. FPP Timing Parameters for Stratix III Devices with Decompression or Design Security Feature Enabled (Note 1) Symbol Parameter Minimum Maximum Units tCF 2CD nCONFIG low to CONF_DONE low — 800 ns tCF 2ST0 nCONFIG low to nSTATUS low — 800 ns tCF G nCONFIG low pulse width 2 — μs tSTATUS nSTATUS low pulse width 10 100 (2) μs tCF 2ST1 nCONFIG high to nSTATUS high — 100 (2) μs tCF 2CK nCONFIG high to first rising edge on DCLK 100 — μs tST2C K nSTATUS high to first rising edge of DCLK 2 — μs tDSU Data setup time before rising edge on DCLK 5 — ns tDH Data hold time after rising edge on DCLK 30 — ns tCH DCLK high time 4 — ns tCL DCLK low time 4 — ns tCLK DCLK period 10 — ns fM AX DCLK frequency — 100 MHz tDATA Data rate — 200 Mbps tR Input rise time — 40 ns t Input fall time — 40 ns tCD2UM CONF_DONE high to user mode (3) 20 100 μs tCD2C U CONF_DONE high to CLKUSR enabled — — tCD2UM C CONF_DONE high to user mode with CLKUSR option on — — 4 × maximum DCLK period tCD2C U + (4,436 × CLKUSR period) Notes to Table 11–6: (1) Use these timing parameters when the decompression and design security features are used. (2) This value is obtainable if you do not delay configuration by extending the nCONFIG or nSTATUS low pulse width. (3) The minimum and maximum numbers apply only if you chose the internal oscillator as the clock source for starting up the device. f Device configuration options and how to create configuration files are discussed further in the Device Configuration Options and Configuration File Formats chapters in volume 2 of the Configuration Handbook. FPP Configuration Using a Microprocessor In this configuration scheme, a microprocessor can control the transfer of configuration data from a storage device, such as flash memory, to the target Stratix III device. 1 All information in “FPP Configuration Using a MAX II Device as an External Host” on page 11–8 is also applicable when using a microprocessor as an external host. Refer to this section for all configuration and timing information. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) 11–17 Fast Active Serial Configuration (Serial Configuration Devices) In the fast AS configuration scheme, Stratix III devices are configured using a serial configuration device. These configuration devices are low-cost devices with non-volatile memory that feature a simple four-pin interface and a small form factor. These features make serial configuration devices an ideal low-cost configuration solution. f For more information about serial configuration devices, refer to the Serial Configuration Devices Data Sheet in the Configuration Handbook. Serial configuration devices provide a serial interface to access configuration data. During device configuration, Stratix III devices read configuration data through the serial interface, decompress data if necessary, and configure their SRAM cells. This scheme is referred to as the AS configuration scheme, because the Stratix III device controls the configuration interface. This scheme contrasts with the PS configuration scheme, where the configuration device controls the interface. 1 The Stratix III decompression and design security features are fully available when configuring your Stratix III device using fast AS mode. Table 11–7 lists the MSEL pin settings for the AS configuration scheme. Table 11–7. Stratix III MSEL Pin Settings for AS Configuration Schemes (Note 1) Configuration Scheme MSEL2 MSEL1 MSEL0 Fast AS (40 MHz) 0 1 1 Remote system upgrade fast AS (40 MHz) 0 1 1 Note to Table 11–7: (1) Use EPCS16, EPCS64, or EPCS128 devices. Serial configuration devices have a four-pin interface: serial clock input (DCLK), serial data output (DATA), AS data input (ASDI), and an active-low chip select (nCS). This four-pin interface connects to Stratix III device pins, as shown in Figure 11–8. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–18 Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) Figure 11–8. Single Device Fast AS Configuration VCCPGM (1) VCCPGM (1) VCCPGM (1) 10 kΩ 10 kΩ 10 kΩ Serial Configuration Device Stratix III FPGA nSTATUS CONF_DONE nCONFIG nCE nCEO GND VCCPGM DATA DATA0 DCLK DCLK MSEL2 nCS nCSO MSEL1 ASDO MSEL0 ASDI (2) N.C. GND Notes to Figure 11–8: (1) Connect the pull-up resistors to VCCPGM at 3.3-V supply. (2) Stratix III devices use the ASDO-to-ASDI path to control the configuration device. Upon power-up, the Stratix III devices go through a POR. The POR delay is dependent on the PORSEL pin setting. When PORSEL is driven low, the POR time is approximately 100 ms. If PORSEL is driven high, the POR time is approximately 12 ms. During POR, the device will reset, hold nSTATUS and CONF_DONE low, and tri-state all user I/O pins. After the device successfully exits POR, all user I/O pins continue to be tri-stated. If nIO_pullup is driven low during power-up and configuration, the user I/O pins and dual-purpose I/O pins will have weak pull-up resistors which are on (after POR) before and during configuration. If nIO_pullup is driven high, the weak pull-up resistors are disabled. The configuration cycle consists of three stages: reset, configuration, and initialization. While nCONFIG or nSTATUS are low, the device is in reset. After POR, the Stratix III device releases nSTATUS, which is pulled high by an external 10-kΩ pull-up resistor and enters configuration mode. 1 To begin configuration, power the VCC, VCCIO, VCCPGM, and VCCPD voltages (for the banks where the configuration and JTAG pins reside) to the appropriate voltage levels. The serial clock (DCLK) generated by the Stratix III device controls the entire configuration cycle and provides the timing for the serial interface. Stratix III devices use an internal oscillator to generate DCLK. Using the MSEL[] pins, you can select to use a 40 MHz oscillator. In fast AS configuration schemes, Stratix III devices drive out control signals on the falling edge of DCLK. The serial configuration device responds to the instructions by driving out configuration data on the falling edge of DCLK. Then the data is latched into the Stratix III device on the following falling edge of DCLK. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) 11–19 In configuration mode, Stratix III devices enable the serial configuration device by driving the nCSO output pin low, which connects to the chip select (nCS) pin of the configuration device. The Stratix III device uses the serial clock (DCLK) and serial data output (ASDO) pins to send operation commands, read address signals, or both to the serial configuration device. The configuration device provides data on its serial data output (DATA) pin, which connects to the DATA0 input of the Stratix III devices. After all configuration bits are received by the Stratix III device, it releases the open-drain CONF_DONE pin, which is pulled high by an external 10-kΩ resistor. Initialization begins only after the CONF_DONE signal reaches a logic high level. All AS configuration pins (DATA0, DCLK, nCSO, and ASDO) have weak internal pull-up resistors that are always active. After configuration, these pins are set as input tri-stated and are driven high by the weak internal pull-up resistors. The CONF_DONE pin must have an external 10-kΩ pull-up resistor for the device to initialize. In Stratix III devices, the initialization clock source is either the 10 MHz (typical) internal oscillator (separate from the active serial internal oscillator) or the optional CLKUSR pin. By default, the internal oscillator is the clock source for initialization. If you use the internal oscillator, the Stratix III device has enough clock cycles for proper initialization. You also have the flexibility to synchronize initialization of multiple devices or to delay initialization with the CLKUSR option. You can turn on the Enable user-supplied start-up clock (CLKUSR) option in the Quartus II software on the General tab of the Device and Pin Options dialog box. When you enable the user supplied start-up clock option, the CLKUSR pin is the initialization clock source. Supplying a clock on CLKUSR does not affect the configuration process. When all configuration data has been accepted and CONF_DONE goes high, CLKUSR is enabled after 600 ns. After this time period elapses, Stratix III devices require 4,436 clock cycles to initialize properly and enter user mode. Stratix III devices support a CLKUSR fMAX of 100 MHz. An optional INIT_DONE pin is available, which signals the end of initialization and the start of user-mode with a low-to-high transition. The Enable INIT_DONE Output option is available in the Quartus II software on the General tab of the Device and Pin Options dialog box. If you use the INIT_DONE pin, it will be high due to an external 10-kΩ pull-up resistor when nCONFIG is low and during the beginning of configuration. When the option bit to enable INIT_DONE is programmed into the device (during the first frame of configuration data), the INIT_DONE pin goes low. When initialization is complete, the INIT_DONE pin is released and pulled high. This low-to-high transition signals that the device has entered user mode. When initialization is complete, the device enters user mode. In user mode, the user I/O pins no longer have weak pull-up resistors and function as assigned in your design. If an error occurs during configuration, Stratix III devices assert the nSTATUS signal low, indicating a data frame error, and the CONF_DONE signal stays low. If the Auto-restart configuration after error option (available in the Quartus II software on the General tab of the Device and Pin Options dialog box) is turned on, the Stratix III device resets the configuration device by pulsing nCSO, releases nSTATUS after a reset time-out period (maximum of 100 μs), and retries configuration. If this option is turned off, the system must monitor nSTATUS for errors and then pulse nCONFIG low for at least 2 μs to restart configuration. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–20 Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) 1 If you have enabled the Auto-restart configuration after error option, the nSTATUS pin transitions from high to low and back again to high when a configuration error is detected. This appears as a low pulse at the nSTATUS pin with a minimum pulse width of 10 μs to a maximum pulse width of 500 μs, as defined in the tSTATUS specification. When the Stratix III device is in user mode, you can initiate reconfiguration by pulling the nCONFIG pin low. The nCONFIG pin should be low for at least 2 μs. When nCONFIG is pulled low, the device also pulls nSTATUS and CONF_DONE low and all I/O pins are tri-stated. When nCONFIG returns to a logic high level and nSTATUS is released by the Stratix III device, reconfiguration begins. You can configure multiple Stratix III devices using a single serial configuration device. You can cascade multiple Stratix III devices using the chip-enable (nCE) and chip-enable-out (nCEO) pins. The first device in the chain must have its nCE pin connected to ground. You must connect its nCEO pin to the nCE pin of the next device in the chain. When the first device captures all of its configuration data from the bitstream, it drives the nCEO pin low, enabling the next device in the chain. You must leave the nCEO pin of the last device unconnected. The nCONFIG, nSTATUS, CONF_DONE, DCLK, and DATA0 pins of each device in the chain are connected (refer to Figure 11–9). This first Stratix III device in the chain is the configuration master and controls configuration of the entire chain. You must connect its MSEL pins to select the AS configuration scheme. The remaining Stratix III devices are configuration slaves. You must connect their MSEL pins to select the PS configuration scheme. Any other Altera device that supports PS configuration can also be part of the chain as a configuration slave. Figure 11–9 shows the pin connections for this setup. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) 11–21 Figure 11–9. Multi-Device Fast AS Configuration VCCPGM (1) VCCPGM (1) VCCPGM (1) 10 kΩ 10 kΩ 10 kΩ Serial Configuration Device Stratix III FPGA Master Stratix III FPGA Slave nSTATUS CONF_DONE nCONFIG nCE nCEO GND nSTATUS CONF_DONE nCONFIG nCE nCEO VCCPGM DATA DATA0 DCLK DCLK MSEL2 nCS nCSO MSEL1 ASDI ASDO MSEL0 VCCPGM DATA0 DCLK GND N.C. MSEL2 MSEL1 MSEL0 GND Buffers (2) Notes to Figure 11–9: (1) Connect the pull-up resistors to VCCPGM at 3.3-V supply. (2) Connect the repeater buffers between the Stratix III master and slave device(s) for DATA[0] and DCLK. This prevents any potential signal integrity and clock skew problems. As shown in Figure 11–9, the nSTATUS and CONF_DONE pins on all target devices are connected with external pull-up resistors. These pins are open-drain bi-directional pins on the devices. When the first device asserts nCEO (after receiving all of its configuration data), it releases its CONF_DONE pin. The subsequent devices in the chain keep this shared CONF_DONE line low until they have received their configuration data. When all target devices in the chain have received their configuration data and released CONF_DONE, the pull-up resistor drives a high level on this line and all devices simultaneously enter initialization mode. If an error occurs at any point during configuration, the nSTATUS line is driven low by the failing device. If you enable the Auto-restart configuration after error option, reconfiguration of the entire chain begins after a reset time-out period (maximum of 100 µs). If the Auto-restart configuration after error option is turned off, the external system must monitor nSTATUS for errors and then pulse nCONFIG low to restart configuration. The external system can pulse nCONFIG if it is under system control rather than tied to VCCPGM. © March 2011 1 If you have enabled the Auto-restart configuration after error option, the nSTATUS pin transitions from high to low and back again to high when a configuration error is detected. This appears as a low pulse at the nSTATUS pin with a minimum pulse width of 10 μs to a maximum pulse width of 500 μs, as defined in the tSTATUS specification. 1 While you can cascade Stratix III devices, you cannot cascade or chain together serial configuration devices. Altera Corporation Stratix III Device Handbook, Volume 1 11–22 Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) If the configuration bitstream size exceeds the capacity of a serial configuration device, you must select a larger configuration device, enable the compression feature, or both. When configuring multiple devices, the size of the bitstream is the sum of the individual devices’ configuration bitstreams. A system may have multiple devices that contain the same configuration data. In active serial chains, you can implement this by storing one copy of the SOF in the serial configuration device. The same copy of the SOF configures the master Stratix III device and all remaining slave devices concurrently. All Stratix III devices must be the same density and package. The master device is set up in active serial mode and the slave devices are set up in passive serial mode. To configure four identical Stratix III devices with the same SOF, you could set up the chain similar to the example shown in Figure 11–10. The first device is the master device, and its MSEL pins should be set to select AS configuration. The other three slave devices are set up for concurrent configuration, and their MSEL pins should be set to select PS configuration. The nCE input pins from the master and slave are connected to GND, and the DATA and DCLK pins connect in parallel to all four devices. During the configuration cycle, the master device reads its configuration data from the serial configuration device and transmits the second copy of the configuration data to all three slave devices, configuring all of them simultaneously. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) 11–23 Figure 11–10. Multi-Device Fast AS Configuration When the Devices Receive the Same Data Using a Single SOF Stratix III FPGA Slave nSTATUS CONF_DONE nCONFIG nCE nCEO N.C. VCCPGM (1) VCCPGM (1) VCCPGM (1) DATA0 10 kΩ 10 kΩ MSEL2 DCLK 10 kΩ VCCPGM MSEL1 MSEL0 GND Stratix III FPGA Master Serial Configuration Device nSTATUS CONF_DONE nCONFIG nCE nCEO Stratix III FPGA Slave nSTATUS CONF_DONE nCONFIG nCE N.C. nCEO N.C. GND GND DATA DATA0 DCLK DCLK nCS nCSO ASDI ASDO VCCPGM MSEL2 DATA0 MSEL2 DCLK MSEL1 VCCPGM MSEL1 MSEL0 MSEL0 GND GND Stratix III FPGA Slave nSTATUS CONF_DONE nCONFIG nCE Buffers (2) nCEO DATA0 MSEL2 DCLK N.C. VCCPGM MSEL1 MSEL0 GND Notes to Figure 11–10: (1) Connect the pull-up resistors to VCCPGM at 3.3-V supply. (2) Connect the repeater buffers between the Stratix III master and slave device(s) for DATA[0] and DCLK. This prevents any potential signal integrity and clock skew problems. Estimating Active Serial Configuration Time Active serial configuration time is dominated by the time it takes to transfer data from the serial configuration device to the Stratix III device. This serial interface is clocked by the Stratix III DCLK output (generated from an internal oscillator). Because the Stratix III device only supports fast AS configuration, the DCLK frequency needs to be set to 40 MHz (25 ns). The minimum configuration time estimate for an EP3SL50 device (15 MBits of uncompressed data) is shown in Equation 11–1 and Example 11–1. Equation 11–1. RBF Size × (minimum DCLK period / 1 bit per DCLK cycle) = estimated minimum configuration time Example 11–1. 15 Mbits × (25 ns / 1 bit) = 375 ms © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–24 Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) Enabling compression reduces the amount of configuration data that is transmitted to the Stratix III device, which also reduces configuration time. On average, compression reduces configuration time, depending on the design. Figure 11–11 shows the timing waveform for AS configuration. Figure 11–11. Fast AS Configuration Timing tPOR nCONFIG nSTATUS CONF_DONE nCSO tCL DCLK tCH tDH Read Address ASDO tDSU DATA0 bit N bit N - 1 bit 1 bit 0 tCD2UM INIT_DONE User I/O User Mode Table 11–8 defines the timing parameters for Stratix III devices for fast AS configuration. Table 11–8. Fast AS Timing Parameters for Stratix III Devices Symbol Parameter Min Typ Max Units fCLK DCLK frequency from Stratix III 15 25 40 MHz tCF 2ST1 nCONFIG high to nSTATUS high — — 100 μs tDSU Data setup time before falling edge on DCLK 7 — — ns tDH Data hold time after falling edge on DCLK 0 — — ns tCH DCLK high time 10 — — ns tCL DCLK low time 10 — — ns tCD2UM CONF_DONE high to user mode 20 — 100 μs Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) 11–25 Programming Serial Configuration Devices Serial configuration devices are non-volatile, flash-memory-based devices. You can program these devices in-system using the USB-Blaster™ or ByteBlaster™ II download cable. Alternatively, you can program them using the Altera programming unit (APU), supported third-party programmers, or a microprocessor with the SRunner software driver. You can perform in-system programming of serial configuration devices by using the conventional AS programming interface or JTAG interface solution. Because serial configuration devices do not support the JTAG interface, the conventional method to program them is by using the AS programming interface. The configuration data used to program serial configuration devices is downloaded by using the programming hardware. During in-system programming, the download cable disables device access to the AS interface by driving the nCE pin high. Stratix III devices are also held in reset by a low level on nCONFIG. After programming is complete, the download cable releases nCE and nCONFIG, allowing the pull-down and pull-up resistors to drive GND and VCCPGM, respectively. Figure 11–12 shows the download cable connections to the serial configuration device. Altera has developed the Serial FlashLoader (SFL), which is an in-system programming solution for serial configuration devices using the JTAG interface. This solution requires the Stratix III device to be a bridge between the JTAG interface and the serial configuration device. © March 2011 f For more information about the SFL, refer to AN 370: Using the Serial FlashLoader with the Quartus II Software. f For more information about the USB-Blaster download cable, refer to the USB-Blaster Download Cable User Guide. For more information about the ByteBlaster II cable, refer to the ByteBlaster II Download Cable User Guide. Altera Corporation Stratix III Device Handbook, Volume 1 11–26 Chapter 11: Configuring Stratix III Devices Fast Active Serial Configuration (Serial Configuration Devices) Figure 11–12. In-System Programming of Serial Configuration Devices VCCPGM (1) VCCPGM (1) VCCPGM (1) 10 kΩ 10 kΩ 10 kΩ Stratix III FPGA CONF_DONE nSTATUS Serial Configuration Device N.C. nCEO nCONFIG nCE 10 kΩ VCCPGM DATA DATA0 DCLK DCLK nCS nCSO MSEL1 ASDI ASDO MSEL0 MSEL2 GND Pin 1 VCCPGM (2) USB-Blaster, ByteBlaser II, or EthernetBlaster (AS Mode) 10-Pin Male Header Notes to Figure 11–12: (1) Connect the pull-up resistors to VCCPGM at 3.3-V supply. (2) Power up the USB-Blaster, ByteBlaster II, or EthernetBlaster cable’s VCC(TRGT) with VCCPGM. You can program serial configuration devices with the Quartus II software using the Altera programming hardware and the appropriate configuration device programming adapter. In production environments, you can program serial configuration devices using multiple methods. You can use Altera programming hardware or other third-party programming hardware to program blank serial configuration devices before they are mounted onto PCBs. Alternatively, you can use an on-board microprocessor to program the serial configuration device in-system using C-based software drivers provided by Altera. You can program a serial configuration device in-system by an external microprocessor using SRunner. SRunner is a software driver developed for embedded serial configuration device programming that can be easily customized to fit in different embedded systems. SRunner is able to read a raw programming data (.rpd) file and write to the serial configuration devices. The serial configuration device programming time using SRunner is comparable to the programming time with the Quartus II software. f For more information about SRunner, refer to AN 418: SRunner: An Embedded Solution for EPCS Programming and the source code on the Altera website at www.altera.com. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Passive Serial Configuration f 11–27 For more information about programming serial configuration devices and fast AS Configuration Timing, refer to the Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet in the Configuration Handbook. Passive Serial Configuration You can program PS configuration of Stratix III devices using an intelligent host, such as a MAX II device or microprocessor with flash memory, or a download cable. In the PS scheme, an external host (a MAX II device, embedded processor, or host PC) controls configuration. Configuration data is clocked into the target Stratix III device by using the DATA0 pin at each rising edge of DCLK. 1 The Stratix III decompression and design security features are fully available when configuring your Stratix III device using PS mode. Table 11–9 lists the MSEL pin settings when using the PS configuration scheme. Table 11–9. Stratix III MSEL Pin Settings for PS Configuration Scheme Configuration Scheme MSEL2 MSEL1 MSEL0 0 1 0 PS PS Configuration Using a MAX II Device as an External Host In this configuration scheme, you can use a MAX II device as an intelligent host that controls the transfer of configuration data from a storage device, such as flash memory, to the target Stratix III device. You can store configuration data in .rbf, .hex, or .ttf format. Figure 11–13 shows the configuration interface connections between a Stratix III device and a MAX II device for single device configuration. Figure 11–13. Single Device PS Configuration Using an External Host Memory ADDR DATA0 VCCPGM (1) VCCPGM (1) 10 k Ω 10 k Ω Stratix III Device CONF_DONE nSTATUS External Host (MAX II Device or Microprocessor) nCE nCEO GND DATA0 MSEL2 nCONFIG MSEL1 DCLK N.C. VCCPGM MSEL0 GND Note to Figure 11–13: (1) Connect the resistor to a supply that provides an acceptable input signal for the Stratix III device. VCCPGM must be high enough to meet the V IH specification of the I/O on the external host. It is recommended to power up all configuration systems’ I/O with V CCPGM. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–28 Chapter 11: Configuring Stratix III Devices Passive Serial Configuration Upon power-up, Stratix III devices go through a POR. The POR delay is dependent on the PORSEL pin setting. When PORSEL is driven low, the POR time is approximately 100 ms. When PORSEL is driven high, the POR time is approximately 12 ms. During POR, the device resets, holds nSTATUS low, and tri-states all user I/O pins. When the device successfully exits POR, all user I/O pins continue to be tri-stated. If nIO_pullup is driven low during power-up and configuration, the user I/O pins and dual-purpose I/O pins will have weak pull-up resistors that are on (after POR) before and during configuration. If nIO_pullup is driven high, the weak pull-up resistors are disabled. The configuration cycle consists of three stages: reset, configuration, and initialization. While nCONFIG or nSTATUS are low, the device is in reset. To initiate configuration, the MAX II device must generate a low-to-high transition on the nCONFIG pin. 1 VCC, VCCIO, VCCPGM, and VCCPD of the banks where the configuration and JTAG pins reside must be fully powered to the appropriate voltage levels to begin the configuration process. When nCONFIG goes high, the device comes out of reset and releases the open-drain nSTATUS pin, which is then pulled high by an external 10-kΩ pull-up resistor. When nSTATUS is released, the device is ready to receive configuration data and the configuration stage begins. When nSTATUS is pulled high, the MAX II device should place the configuration data one bit at a time on the DATA0 pin. If you are using configuration data in .rbf, .hex, or .ttf format, you must send the least significant bit (LSB) of each data byte first. For example, if the RBF contains the byte sequence 02 1B EE 01 FA, the serial bitstream you must transmit to the device is 0100-0000 1101-1000 0111-0111 1000-0000 0101-1111. The Stratix III device receives configuration data on the DATA0 pin and the clock is received on the DCLK pin. Data is latched into the device on the rising edge of DCLK. Data is continuously clocked into the target device until CONF_DONE goes high. After the device has received all configuration data successfully, it releases the open-drain CONF_DONE pin, which is pulled high by an external 10-kΩ pull-up resistor. A low-to-high transition on CONF_DONE indicates configuration is complete and initialization of the device can begin. The CONF_DONE pin must have an external 10-kΩ pull-up resistor for the device to initialize. In Stratix III devices, the initialization clock source is either the internal oscillator (typically 10 MHz) or the optional CLKUSR pin. By default, the internal oscillator is the clock source for initialization. If you use the internal oscillator, the Stratix III device has enough clock cycles for proper initialization. Therefore, if the internal oscillator is the initialization clock source, sending the entire configuration file to the device is sufficient to configure and initialize the device. Driving DCLK to the device after configuration is complete does not affect device operation. You also have the flexibility to synchronize initialization of multiple devices or to delay initialization with the CLKUSR option. You can turn on the Enable user-supplied start-up clock (CLKUSR) option in the Quartus II software on the General tab of the Device and Pin Options dialog box. If you supply a clock on CLKUSR, it will not affect the configuration process. After all configuration data has been accepted and CONF_DONE goes high, CLKUSR will be enabled after the time specified as tCD2CU. After this time period elapses, Stratix III devices require 4,436 clock cycles to initialize properly and enter user mode. Stratix III devices support a CLKUSR fMAX of 100 MHz. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Passive Serial Configuration 11–29 An optional INIT_DONE pin is available, which signals the end of initialization and the start of user-mode with a low-to-high transition. The Enable INIT_DONE Output option is available in the Quartus II software on the General tab of the Device and Pin Options dialog box. If you use the INIT_DONE pin, it will be high due to an external 10-kΩ pull-up resistor when nCONFIG is low and during the beginning of configuration. When the option bit to enable INIT_DONE is programmed into the device (during the first frame of configuration data), the INIT_DONE pin will go low. When initialization is complete, the INIT_DONE pin will be released and pulled high. The MAX II device must be able to detect this low-to-high transition, which signals the device has entered user mode. When initialization is complete, the device enters user mode. In user mode, the user I/O pins will no longer have weak pull-up resistors and will function as assigned in your design. To ensure DCLK and DATA0 are not left floating at the end of configuration, the MAX II device must drive them either high or low, whichever is convenient on your board. The DATA[0] pin is available as a user I/O pin after configuration. When you choose the PS scheme as a default in the Quartus II software, this I/O pin is tri-stated in user mode and should be driven by the MAX II device. To change this default option in the Quartus II software, click the Dual-Purpose Pins tab of the Device and Pin Options dialog box. The configuration clock (DCLK) speed must be below the specified frequency to ensure correct configuration. No maximum DCLK period exists, which means you can pause configuration by halting DCLK for an indefinite amount of time. If an error occurs during configuration, the device drives its nSTATUS pin low, resetting itself internally. The low signal on the nSTATUS pin also alerts the MAX II device that there is an error. If the Auto-restart configuration after error option (available in the Quartus II software on the General tab of the Device and Pin Options dialog box) is turned on, the Stratix III device releases nSTATUS after a reset time-out period (maximum of 100 μs). After nSTATUS is released and pulled high by a pull-up resistor, the MAX II device can attempt to reconfigure the target device without needing to pulse nCONFIG low. If this option is turned off, the MAX II device must generate a low-to-high transition (with a low pulse of at least 2 μs) on nCONFIG to restart the configuration process. 1 If you have enabled the Auto-restart configuration after error option, the nSTATUS pin transitions from high to low and back again to high when a configuration error is detected. This appears as a low pulse at the nSTATUS pin with a minimum pulse width of 10 μs to a maximum pulse width of 500 μs, as defined in the tSTATUS specification. The MAX II device can also monitor the CONF_DONE and INIT_DONE pins to ensure successful configuration. The CONF_DONE pin must be monitored by the MAX II device to detect errors and determine when programming completes. If all configuration data is sent, but CONF_DONE or INIT_DONE have not gone high, the MAX II device must reconfigure the target device. 1 © March 2011 If you use the optional CLKUSR pin and nCONFIG is pulled low to restart configuration during device initialization, you must ensure that CLKUSR continues toggling during the time nSTATUS is low (maximum of 100 µs). Altera Corporation Stratix III Device Handbook, Volume 1 11–30 Chapter 11: Configuring Stratix III Devices Passive Serial Configuration When the device is in user mode, you can initiate a reconfiguration by transitioning the nCONFIG pin low-to-high. The nCONFIG pin must be low for at least 2 μs. When nCONFIG is pulled low, the device also pulls nSTATUS and CONF_DONE low and all I/O pins are tri-stated. When nCONFIG returns to a logic high level and nSTATUS is released by the device, reconfiguration begins. Figure 11–14 shows how to configure multiple devices using a MAX II device. This circuit is similar to the PS configuration circuit for a single device, except Stratix III devices are cascaded for multi-device configuration. Figure 11–14. Multi-Device PS Configuration Using an External Host Memory ADDR DATA0 VCCPGM (1) VCCPGM (1) 10 k Ω 10 k Ω Stratix III Device 1 Stratix III Device 2 CONF_DONE CONF_DONE nSTATUS nCE External Host (MAX II Device or Microprocessor) GND DATA0 nSTATUS nCE nCEO MSEL2 VCCPGM nCEO MSEL2 DATA0 nCONFIG MSEL1 nCONFIG MSEL1 DCLK MSEL0 DCLK MSEL0 N.C. VCCPGM GND GND Note to Figure 11–14: (1) Connect the resistor to a supply that provides an acceptable input signal for all Stratix III devices on the chain. VCCPGM must be high enough to meet the V IH specification of the I/O on the external host. It is recommended to power up all configuration systems’ I/O with VCCPGM. In multi-device PS configuration, the first device’s nCE pin is connected to GND while its nCEO pin is connected to nCE of the next device in the chain. The last device’s nCE input comes from the previous device, while its nCEO pin is left floating. After the first device completes configuration in a multi-device configuration chain, its nCEO pin drives low to activate the second device’s nCE pin, which prompts the second device to begin configuration. The second device in the chain begins configuration within one clock cycle. Therefore, the transfer of data destinations is transparent to the MAX II device. All other configuration pins (nCONFIG, nSTATUS, DCLK, DATA0, and CONF_DONE) are connected to every device in the chain. Configuration signals can require buffering to ensure signal integrity and prevent clock skew problems. Ensure that the DCLK and DATA lines are buffered for every fourth device. Because all device CONF_DONE pins are tied together, all devices initialize and enter user mode at the same time. Since all nSTATUS and CONF_DONE pins are tied together, if any device detects an error, configuration stops for the entire chain and you must reconfigure the entire chain. For example, if the first device flags an error on nSTATUS, it resets the chain by pulling its nSTATUS pin low. This behavior is similar to a single device detecting an error. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Passive Serial Configuration 11–31 If the Auto-restart configuration after error option is turned on, the devices release their nSTATUS pins after a reset time-out period (maximum of 100 μs). After all nSTATUS pins are released and pulled high, the MAX II device can attempt to reconfigure the chain without needing to pulse nCONFIG low. If this option is turned off, the MAX II device must generate a low-to-high transition (with a low pulse of at least 2 μs) on nCONFIG to restart the configuration process. 1 If you have enabled the Auto-restart configuration after error option, the nSTATUS pin transitions from high to low and back again to high when a configuration error is detected. This appears as a low pulse at the nSTATUS pin with a minimum pulse width of 10 μs to a maximum pulse width of 500 μs, as defined in the tSTATUS specification. In your system, you can have multiple devices that contain the same configuration data. To support this configuration scheme, all device nCE inputs are tied to GND, while nCEO pins are left floating. All other configuration pins (nCONFIG, nSTATUS, DCLK, DATA0, and CONF_DONE) are connected to every device in the chain. Configuration signals can require buffering to ensure signal integrity and prevent clock skew problems. Ensure that the DCLK and DATA lines are buffered for every fourth device. Devices must be the same density and package. All devices will start and complete configuration at the same time. Figure 11–15 shows multi-device PS configuration when both Stratix III devices are receiving the same configuration data. Figure 11–15. Multiple-Device PS Configuration When Both Devices Receive the Same Data Memory VCCPGM (1) VCCPGM (1) ADDR DATA0 10 k Ω 10 k Ω Stratix III Device Stratix III Device CONF_DONE CONF_DONE nSTATUS nCE External Host (MAX II Device or Microprocessor) nCEO GND DATA0 MSEL2 N.C. (2) nSTATUS nCE VCCPGM GND DATA0 nCEO MSEL2 nCONFIG MSEL1 nCONFIG MSEL1 DCLK MSEL0 DCLK MSEL0 GND N.C. (2) VCCPGM GND Notes to Figure 11–15: (1) Connect the resistor to a supply that provides an acceptable input signal for all Stratix III devices on the chain. VCCPGM must be high enough to meet the V IH specification of the I/O on the external host. It is recommended to power up all configuration systems’ I/O with VCCPGM. (2) The nCEO pins of both devices are left unconnected when configuring the same configuration data into multiple devices. You can use a single configuration chain to configure Stratix III devices with other Altera devices. To ensure that all devices in the chain complete configuration at the same time, or that an error flagged by one device initiates reconfiguration in all devices, all of the device CONF_DONE and nSTATUS pins must be tied together. f © March 2011 For more information about configuring multiple Altera devices in the same configuration chain, refer to the Configuring Mixed Altera FPGA Chains chapter in the Configuration Handbook. Altera Corporation Stratix III Device Handbook, Volume 1 11–32 Chapter 11: Configuring Stratix III Devices Passive Serial Configuration PS Configuration Timing Figure 11–16 shows the timing waveform for PS configuration when using a MAX II device as an external host. Figure 11–16. PS Configuration Timing Waveform (Note 1) tCF2ST1 tCFG tCF2CK nCONFIG nSTATUS (2) tSTATUS tCF2ST0 t (5) CLK CONF_DONE (3) tCF2CD tST2CK tCH tCL (4) DCLK tDH Bit 0 Bit 1 Bit 2 Bit 3 DATA (4) Bit n tDSU High-Z User I/O User Mode INIT_DONE tCD2UM Notes to Figure 11–16: (1) The beginning of this waveform shows the device in user-mode. In user-mode, nCONFIG, nSTATUS, and CONF_DONE are at logic high levels. When nCONFIG is pulled low, a reconfiguration cycle begins. (2) Upon power-up, the Stratix III device holds nSTATUS low for the time of the POR delay. (3) Upon power-up, before and during configuration, CONF_DONE is low. (4) Do not leave DCLK floating after configuration. You should drive it high or low, whichever is more convenient. DATA[0] is available as a user I/O pin after configuration. The state of this pin depends on the dual-purpose pin settings. (5) Two DCLK falling edges are required after CONF_DONE goes high to begin the initialization of the device. Table 11–10 defines the timing parameters for Stratix III devices for PS configuration. Table 11–10. PS Timing Parameters for Stratix III Devices (Part 1 of 2) Symbol Parameter Minimum Maximum Units tCF 2CD nCONFIG low to CONF_DONE low — 800 ns tCF 2ST0 nCONFIG low to nSTATUS low — 800 ns tCF G nCONFIG low pulse width 2 — μs tSTATUS nSTATUS low pulse width 10 100 (1) μs tCF 2ST1 nCONFIG high to nSTATUS high — 100 (1) μs tCF 2CK nCONFIG high to first rising edge on DCLK 100 — μs tST2C K nSTATUS high to first rising edge of DCLK 2 — μs tDSU Data setup time before rising edge on DCLK 5 — ns tDH Data hold time after rising edge on DCLK 0 — ns tCH DCLK high time 4 — ns tCL DCLK low time 4 — ns tCLK DCLK period 10 — ns fM AX DCLK frequency — 100 MHz tR Input rise time — 40 ns Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Passive Serial Configuration 11–33 Table 11–10. PS Timing Parameters for Stratix III Devices (Part 2 of 2) Symbol Parameter Minimum Maximum Units t Input fall time — 40 ns tCD2UM CONF_DONE high to user mode (2) 20 100 μs tCD2C U CONF_DONE high to CLKUSR enabled 4 × maximum DCLK period — — tCD2UM C CONF_DONE high to user mode with CLKUSR option on tCD2CU + (4,436 × CLKUSR period) — — Notes to Table 11–10: (1) This value is applicable if you do not delay configuration by extending the nCONFIG or nSTATUS low pulse width. (2) The minimum and maximum numbers apply only if you choose the internal oscillator as the clock source for starting the device. f Device configuration options and how to create configuration files are discussed further in the Device Configuration Options and Configuration File Formats chapters in volume 2 of the Configuration Handbook. PS Configuration Using a Microprocessor In this PS configuration scheme, a microprocessor can control the transfer of configuration data from a storage device, such as flash memory, to the target Stratix III device. f 1 You can do a PS configuration using MicroBlaster™ Passive Serial Software Driver. For more information, refer to AN423: Configuring the MicroBlaster Passive Serial Software Driver. For all configuration and timing information, refer to “PS Configuration Using a MAX II Device as an External Host” on page 11–27. This section is also applicable when using a microprocessor as an external host. PS Configuration Using a Download Cable In this section, the generic term download cable includes the Altera USB-Blaster USB port download cable, MasterBlaster™ serial/USB communications cable, ByteBlaster II parallel port download cable, ByteBlasterMV™ parallel port download cable, and the EthernetBlaster download cable. In PS configuration with a download cable, an intelligent host (such as a PC) transfers data from a storage device to the device by using the USB-Blaster, MasterBlaster, ByteBlaster II, EthernetBlaster, or ByteBlasterMV cable. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–34 Chapter 11: Configuring Stratix III Devices Passive Serial Configuration Upon power-up, the Stratix III devices go through a POR. The POR delay is dependent on the PORSEL pin setting. When PORSEL is driven low, the POR time is approximately 100 ms. If PORSEL is driven high, the POR time is approximately 12 ms. During POR, the device will reset, hold nSTATUS low, and tri-state all user I/O pins. After the device successfully exits POR, all user I/O pins continue to be tri-stated. If nIO_pullup is driven low during power-up and configuration, the user I/O pins and dual-purpose I/O pins will have weak pull-up resistors which are on (after POR) before and during configuration. If nIO_pullup is driven high, the weak pull-up resistors are disabled. The configuration cycle consists of three stages: reset, configuration and initialization. While nCONFIG or nSTATUS are low, the device is in reset. To initiate configuration in this scheme, the download cable generates a low-to-high transition on the nCONFIG pin. 1 To begin configuration, power the VCC, VCCIO, VCCPGM, and VCCPD voltages (for the banks where the configuration and JTAG pins reside) to the appropriate voltage levels. When nCONFIG goes high, the device comes out of reset and releases the open-drain nSTATUS pin, which is then pulled high by an external 10-kΩ pull-up resistor. After nSTATUS is released, the device is ready to receive configuration data and the configuration stage begins. The programming hardware or download cable then places the configuration data one bit at a time on the device's DATA0 pin. The configuration data is clocked into the target device until CONF_DONE goes high. The CONF_DONE pin must have an external 10-kΩ pull-up resistor in order for the device to initialize. When using a download cable, setting the Auto-restart configuration after error option does not affect the configuration cycle because you must manually restart configuration in the Quartus II software when an error occurs. Additionally, the Enable user-supplied start-up clock (CLKUSR) option has no affect on the device initialization since this option is disabled in the SOF when programming the device using the Quartus II programmer and download cable. Therefore, if you turn on the CLKUSR option, you do not need to provide a clock on CLKUSR when you are configuring the device with the Quartus II programmer and a download cable. Figure 11–17 shows PS configuration for Stratix III devices using a USB-Blaster, MasterBlaster, ByteBlaster II, ByteBlasterMV, or EthernetBlaster cable. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Passive Serial Configuration 11–35 Figure 11–17. PS Configuration Using a Download Cable VCCPGM (1) VCCPGM (1) 10 kΩ (2) VCCPGM (1) VCCPGM (1) 10 kΩ VCCPGM (1) 10 kΩ Stratix III Device VCCPGM MSEL2 10 kΩ CONF_DONE nSTATUS MSEL1 10 kΩ (2) MSEL0 GND nCE GND DCLK DATA0 nCONFIG nCEO N.C. Download Cable 10-Pin Male Header (PS Mode) Pin 1 VCCPGM GND VIO (3) Shield GND Notes to Figure 11–17: (1) You should connect the pull-up resistor to the same supply voltage (VCC PGM ) as the USB-Blaster, MasterBlaster (VIO pin), ByteBlaster II, ByteBlasterMV, or EthernetBlaster cable. (2) You only need the pull-up resistors on DATA0 and DCLK if the download cable is the only configuration scheme used on your board. This ensures that DATA0 and DCLK are not left floating after configuration. For example, if you are also using a configuration device, you do not need the pull-up resistors on DATA0 and DCLK. (3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO should match the device's V C CP GM. Refer to the MasterBlaster Serial/USB Communications Cable Data Sheet for this value. In the USB-Blaster, ByteBlaster II, ByteBlasterMV, or EthernetBlaster cable, this pin is a no connect. You can use a download cable to configure multiple Stratix III devices by connecting each device's nCEO pin to the subsequent device's nCE pin. The first device's nCE pin is connected to GND while its nCEO pin is connected to the nCE of the next device in the chain. The last device's nCE input comes from the previous device, while its nCEO pin is left floating. All other configuration pins (nCONFIG, nSTATUS, DCLK, DATA0, and CONF_DONE) are connected to every device in the chain. Because all CONF_DONE pins are tied together, all devices in the chain initialize and enter user mode at the same time. In addition, because the nSTATUS pins are tied together, the entire chain halts configuration if any device detects an error. The Auto-restart configuration after error option does not affect the configuration cycle because you must manually restart configuration in the Quartus II software when an error occurs. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–36 Chapter 11: Configuring Stratix III Devices Passive Serial Configuration Figure 11–18 shows how to configure multiple Stratix III devices with a download cable. Figure 11–18. Multi-Device PS Configuration using a Download Cable VCCPGM (1) 10 kΩ VCCPGM (1) VCCPGM 10 kΩ VCCPGM (1) GND GND VCCPGM (2) Pin 1 VCCPGM GND VIO (3) nCEO nCE 10 kΩ VCCPGM (1) 10 kΩ CONF_DONE nSTATUS DCLK MSEL2 MSEL1 MSEL0 (2) 10 kΩ Stratix III Device 1 Download Cable 10-Pin Male Header (PS Mode) VCCPGM (1) DATA0 nCONFIG GND Stratix III Device 2 MSEL2 MSEL1 MSEL0 CONF_DONE nSTATUS DCLK GND nCEO N.C. nCE DATA0 nCONFIG Notes to Figure 11–18: (1) Connect the pull-up resistor to the same supply voltage (VC CPGM ) as the USB-Blaster, MasterBlaster (VIO pin), ByteBlaster II, ByteBlasterMV, or EthernetBlaster cable. (2) You only need the pull-up resistors on DATA0 and DCLK if the download cable is the only configuration scheme used on your board. This is to ensure that DATA0 and DCLK are not left floating after configuration. For example, if you are also using a configuration device, you do not need the pull-up resistors on DATA0 and DCLK. (3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO should match the device's VC CP GM. Refer to the MasterBlaster Serial/USB Communications Cable Data Sheet for this value. In the USB-Blaster, ByteBlaster II, ByteBlasterMV, or EthernetBlaster cable, this pin is a no connect. f For more information about how to use the USB-Blaster, MasterBlaster, ByteBlaster II, ByteBlasterMV, or EthernetBlaster cable, refer to the following user guides: ■ USB-Blaster USB Port Download Cable User Guide ■ MasterBlaster Serial/USB Communications Cable User Guide ■ ByteBlaster II Parallel Port Download Cable User Guide ■ ByteBlasterMV Parallel Port Download Cable User Guide ■ EthernetBlaster Download Cable User Guide Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices JTAG Configuration 11–37 JTAG Configuration The JTAG has developed a specification for boundary-scan testing. This boundary-scan test (BST) architecture offers the capability to efficiently test components on PCBs with tight lead spacing. The BST architecture can test pin connections without using physical test probes and capture functional data while a device is operating normally. You can also use the JTAG circuitry to shift configuration data into the device. The Quartus II software automatically generates SOFs that can be used for JTAG configuration with a download cable in the Quartus II software programmer. f For more information about JTAG boundary-scan testing and commands available using Stratix III devices, refer to the following documents: ■ IEEE 1149.1 (JTAG) Boundary Scan Testing in Stratix III Device chapter of the Stratix III Device Handbook ■ AN 425: Using the Command-Line Jam STAPL Solution for Device Programming Stratix III devices are designed such that JTAG instructions have precedence over any device configuration modes. Therefore, JTAG configuration can take place without waiting for other configuration modes to complete. For example, if you attempt JTAG configuration of Stratix III devices during PS configuration, PS configuration is terminated and JTAG configuration begins. 1 You cannot use the Stratix III decompression or design security features if you are configuring your Stratix III device when using JTAG-based configuration. 1 A device operating in JTAG mode uses four required pins, TDI, TDO, TMS, and TCK, and one optional pin, TRST. The TCK pin has an internal weak pull-down resistor, while the TDI, TMS, and TRST pins have weak internal pull-up resistors (typically 25 kΩ). JTAG output pin TDO and all JTAG input pins are powered by the 2.5 V/3.0 V/3.3 V VCCPD power supply of I/O bank 1A. All the JTAG pins support only LVTTL I/O standard. All user I/O pins are tri-stated during JTAG configuration. Table 11–11 explains each JTAG pin's function. f © March 2011 The TDO output is powered by the VCCPD power supply of I/O bank 1A. For recommendations on how to connect a JTAG chain with multiple voltages across the devices in the chain, refer to the IEEE 1149.1 (JTAG) Boundary Scan Testing in Stratix III Devices chapter of the Stratix III Device Handbook. Altera Corporation Stratix III Device Handbook, Volume 1 11–38 Chapter 11: Configuring Stratix III Devices JTAG Configuration Table 11–11. Dedicated JTAG Pins Pin Name Pin Type Description Test data input Serial input pin for instructions as well as test and programming data. Data is shifted in the rising edge of TCK. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting this pin to VCC PD. Test data output Serial data output pin for instructions as well as test and programming data. Data is shifted out on the falling edge of TCK. The pin is tri-stated if data is not being shifted out of the device. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by leaving this pin unconnected. TMS Test mode select Input pin that provides the control signal to determine the transitions of the TAP controller state machine. Transitions within the state machine occur on the rising edge of TCK. Therefore, you must set up TMS before the rising edge of TCK. TMS is evaluated on the rising edge of TCK. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting this pin to VCCPD. TCK Test clock input The clock input to the BST circuitry. Some operations occur at the rising edge while others occur at the falling edge. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting this pin to GND. TRST Test reset input (optional) Active-low input to asynchronously reset the boundary-scan circuit. The TRST pin is optional according to IEEE Std. 1149.1. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting this pin to GND. TDI TDO During JTAG configuration, you can download data to the device on the PCB through the USB-Blaster, MasterBlaster, ByteBlaster II, ByteBlasterMV, or EthernetBlaster download cables. Configuring devices through a cable is similar to programming devices in-system, except you should connect the TRST pin to VCCPD. This ensures that the TAP controller is not reset. 1 The JRunner™ software driver is developed to configure Altera FPGA devices in JTAG mode through the ByteBlaster II or ByteBlasterMV download cables for embedded configurations. For more information, refer to AN 414: The JRunner Software Driver. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices JTAG Configuration 11–39 Figure 11–19 shows JTAG configuration of a single Stratix III device. Figure 11–19. JTAG Configuration of a Single Device Using a Download Cable VCCPD (1) (5) VCCPGM (1) VCCPGM (1) VCCPD (1) 10 kΩ Stratix III Device 10 kΩ nCE (4) GND N.C. (2) (2) (2) nCE0 nSTATUS CONF_DONE nCONFIG MSEL[2..0] DCLK (5) TCK TDO TMS TDI Download Cable 10-Pin Male Header (JTAG Mode) (Top View) VCCPD TRST Pin 1 VCCPD GND VIO (3) 1 kΩ GND GND Notes to Figure 11–19: (1) You should connect the pull-up resistor to the same supply voltage as the USB-Blaster, MasterBlaster (VIO pin), ByteBlaster II, ByteBlasterMV, or EthernetBlaster cables. The voltage supply can be connected to the VCCPD of the device. (2) You should connect the nCONFIG and MSEL[2..0] pins to support a non-JTAG configuration scheme. If you only use the JTAG configuration, connect nCONFIG to VCC PGM , and MSEL[2..0] to ground. Pull DCLK either high or low, whichever is convenient on your board. (3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO should match the device's VC CPD . Refer to the MasterBlaster Serial/USB Communications Cable Data Sheet for this value. In the USB-Blaster, ByteBlaster II, ByteBlasterMV, and EthernetBlaster, this pin is a no connect. (4) You must connect nCE to GND or drive it low for successful JTAG configuration. (5) Pull-up resistor values can vary from 1 kΩ to 10 kΩ. To configure a single device in a JTAG chain, the programming software places all other devices in bypass mode. In bypass mode, devices pass programming data from the TDI pin to the TDO pin through a single bypass register without being affected internally. This scheme enables the programming software to program or verify the target device. Configuration data driven into the device appears on the TDO pin one clock cycle later. The Quartus II software verifies successful JTAG configuration upon completion. At the end of configuration, the software checks the state of CONF_DONE through the JTAG port. When Quartus II generates a JAM file (.jam) for a multi-device chain, it contains instructions so that all the devices in the chain will be initialized at the same time. If CONF_DONE is not high, the Quartus II software indicates that configuration has failed. If CONF_DONE is high, the software indicates that configuration was successful. After the configuration bitstream is transmitted serially through the JTAG TDI port, the TCK port is clocked an additional 1,094 cycles to perform device initialization. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–40 Chapter 11: Configuring Stratix III Devices JTAG Configuration Stratix III devices have dedicated JTAG pins that always function as JTAG pins. Not only can you perform JTAG testing on Stratix III devices before and after, but also during configuration. While other device families do not support JTAG testing during configuration, Stratix III devices support the bypass, id code, and sample instructions during configuration without interrupting configuration. All other JTAG instructions may only be issued by first interrupting configuration and reprogramming I/O pins using the CONFIG_IO instruction. The CONFIG_IO instruction allows I/O buffers to be configured by using the JTAG port and when issued, interrupts configuration. This instruction allows you to perform board-level testing prior to configuring the Stratix III device or waiting for a configuration device to complete configuration. When configuration has been interrupted and JTAG testing is complete, you must reconfigure the part by using JTAG (PULSE_CONFIG instruction) or by pulsing nCONFIG low. The chip-wide reset (DEV_CLRn) and chip-wide output enable (DEV_OE) pins on Stratix III devices do not affect JTAG boundary-scan or programming operations. Toggling these pins does not affect JTAG operations (other than the usual boundary-scan operation). When designing a board for JTAG configuration of Stratix III devices, consider the dedicated configuration pins. Table 11–12 lists how these pins should be connected during JTAG configuration. Table 11–12. Dedicated Configuration Pin Connections During JTAG Configuration Signal Description nCE On all Stratix III devices in the chain, nCE should be driven low by connecting it to ground, pulling it low by using a resistor, or driving it by some control circuitry. For devices that are also in multi-device FPP, AS, or PS configuration chains, the nCE pins should be connected to GND during JTAG configuration or JTAG configured in the same order as the configuration chain. nCEO On all Stratix III devices in the chain, you can leave nCEO floating or connected to the nCE of the next device. MSEL These pins must not be left floating. These pins support whichever non-JTAG configuration is used in production. If you only use JTAG configuration, tie these pins to ground. nCONFIG Driven high by connecting to VC CPGM , pull up by using a resistor, or driven high by some control circuitry. nSTATUS Pull to VCC PGM by using a 10-kΩ resistor. When configuring multiple devices in the same JTAG chain, each nSTATUS pin should be pulled up to VCC PGM individually. Pull to VCC PGM by using a 10-kΩ resistor. When configuring multiple devices in the same JTAG chain, each CONF_DONE CONF_DONE pin should be pulled up to VCC PGM individually. CONF_DONE going high at the end of JTAG configuration indicates successful configuration. DCLK Should not be left floating. Drive low or high, whichever is more convenient on your board. When programming a JTAG device chain, one JTAG-compatible header is connected to several devices. The number of devices in the JTAG chain is limited only by the drive capability of the download cable. When four or more devices are connected in a JTAG chain, Altera recommends buffering the TCK, TDI, and TMS pins with an on-board buffer. JTAG-chain device programming is ideal when the system contains multiple devices, or when testing your system using JTAG BST circuitry. Figure 11–20 shows multi-device JTAG configuration. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices JTAG Configuration 11–41 Figure 11–20. JTAG Configuration of Multiple Devices Using a Download Cable Stratix III Device Download Cable 10-Pin Male Header (JTAG Mode) VCCPGM (1) (2) Pin 1 (5) VCCPD VCCPGM (1) 10 kΩ VCCPD (1) nSTATUS nCONFIG (2) (5) (2) VCCPD (2) VIO VCCPGM (1) 10 kΩ 10 kΩ nSTATUS nCONFIG VCCPGM (1) 10 kΩ 10 kΩ (2) nSTATUS nCONFIG CONF_DONE CONF_DONE DCLK (2) DCLK (2) DCLK MSEL[2..0] (2) MSEL[2..0] (2) MSEL[2..0] nCE (4) TRST TDI TMS (3) VCCPGM (1) VCCPGM (1) 10 kΩ CONF_DONE VCCPD (1) Stratix II or Stratix II GX Stratix III Device Device Stratix III Device VCCPD TDO TCK nCE (4) TRST TDI TMS VCCPD TDO TCK nCE (4) TRST TDI TMS TDO TCK 1 kΩ Notes to Figure 11–20: (1) Connect the pull-up resistor to the same supply voltage as the USB-Blaster, MasterBlaster (VIO pin), ByteBlaster II, ByteBlasterMV, or EthernetBlaster cables. The voltage supply can be connected to the VCCPD of the device. (2) Connect the nCONFIG, MSEL[2..0] pins to support a non-JTAG configuration scheme. If you only use JTAG configuration, connect nCONFIG to VC CPGM , and MSEL[2..0] to ground. Pull DCLK either high or low, whichever is convenient on your board. (3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. V IO should match the device's VC CP D . Refer to the MasterBlaster Serial/USB Communications Cable Data Sheet for this value. In the USB-Blaster, ByteBlaster II, ByteBlasterMV, and EthernetBlaster, this pin is a no connect. (4) You must connect nCE to GND or drive it low for successful JTAG configuration. (5) Pull-up resistor values can vary from 1 kΩ to 10 kΩ. You must connect the nCE pin to GND or drive it low during JTAG configuration. In multi-device FPP, AS, and PS configuration chains, the first device's nCE pin is connected to GND while its nCEO pin is connected to nCE of the next device in the chain. The last device's nCE input comes from the previous device, while its nCEO pin is left floating. In addition, the CONF_DONE and nSTATUS signals are all shared in multi-device FPP, AS, or PS configuration chains so the devices can enter user mode at the same time after configuration is complete. When the CONF_DONE and nSTATUS signals are shared among all the devices, you must configure every device when JTAG configuration is performed. If you only use JTAG configuration, Altera recommends that you connect the circuitry as shown in Figure 11–20, where each of the CONF_DONE and nSTATUS signals are isolated, so that each device can enter user mode individually. After the first device completes configuration in a multi-device configuration chain, its nCEO pin drives low to activate the second device's nCE pin, which prompts the second device to begin configuration. Therefore, if these devices are also in a JTAG chain, make sure the nCE pins are connected to GND during JTAG configuration or that the devices are JTAG configured in the same order as the configuration chain. As long as the devices are JTAG configured in the same order as the multi-device configuration chain, the nCEO of the previous device will drive the nCE of the next device low when it has successfully been JTAG configured. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–42 Chapter 11: Configuring Stratix III Devices JTAG Configuration You can place other Altera devices that have JTAG support in the same JTAG chain for device programming and configuration. 1 f JTAG configuration support has been enhanced and allows more than 17 Stratix III devices to be cascaded in a JTAG chain. For more information about configuring multiple Altera devices in the same configuration chain, refer to the Configuring Mixed Altera Device Chains chapter in the Configuration Handbook. You can configure Stratix III devices using multiple configuration schemes on the same board. Combining JTAG configuration with passive serial (PS) or active serial (AS) configuration on your board is useful in the prototyping environment because it allows multiple methods to configure your FPGA. f For more information about combining JTAG configuration with other configuration schemes, refer to the Combining Different Configuration Schemes chapter in the Configuration Handbook. Figure 11–21 shows JTAG configuration of a Stratix III device with a microprocessor. Figure 11–21. JTAG Configuration of a Single Device Using a Microprocessor VCCPGM (1) VCCPGM (1) Memory ADDR Stratix III Device 10 kΩ DATA VCCPD Microprocessor 10 kΩ TRST TDI (4) TCK (4) TMS (4) TDO (4) nSTATUS CONF_DONE DCLK nCONFIG MSEL[2..0] nCEO (3) nCE (2) (2) (2) N.C. GND Notes to Figure 11–21: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for all devices in the chain. VCCPGM should be high enough to meet the VIH specification of the I/O on the device. (2) Connect the nCONFIG and MSEL[2..0] pins to support a non-JTAG configuration scheme. If you use only the JTAG configuration, connect nCONFIG to VCC PGM , and MSEL[2..0] to ground. Pull DCLK either high or low, whichever is convenient on your board. (3) You must connect nCE to GND or drive it low for successful JTAG configuration. (4) Microprocessor should use the same I/O standard as VC CPD to drive the JTAG pins. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Device Configuration Pins 11–43 Jam STAPL Jam STAPL, JEDEC standard JESD-71, is a standard file format for in-system programmability (ISP) purposes. Jam STAPL supports programming or configuration of programmable devices and testing of electronic systems, using the IEEE 1149.1 JTAG interface. Jam STAPL is a freely licensed open standard. The Jam Player provides an interface for manipulating the IEEE Std. 1149.1 JTAG TAP state machine. f For more information about JTAG and Jam STAPL in embedded environments, refer to AN 425: Using Command-Line Jam STAPL Solution for Device Programming. To download the jam player, visit the Altera web site at www.altera.com. Device Configuration Pins The following tables describe the connections and functionality of all the configuration-related pins on the Stratix III devices. Table 11–13 summarizes the Stratix III configuration pins and their power supply. Table 11–13. Stratix III Configuration Pin Summary (Note 1) (Part 1 of 2) Description Input/Output Dedicated Powered By Configuration Mode TDI Input Yes VCC PD (2) JTAG TMS Input Yes VCC PD (2) JTAG TCK Input Yes VCC PD (2) JTAG TRST Input Yes VCC PD (2) JTAG TDO Output Yes VCC PD (2) JTAG CRC_ERROR Output — Pull-up Optional, all modes DATA0 Input — VC CPGM /VCC IO (3) All modes except JTAG DATA[7..1] Input — VC CP GM/VCC IO (3) FPP INIT_DONE Output — Pull-up Optional, all modes CLKUSR Input — VC CP GM/VCC IO (3) Optional nSTATUS bi-directional Yes Pull-up All modes Input Yes VC CP GM All modes bi-directional Yes Pull-up All modes nCONFIG Input Yes VC CP GM All modes PORSEL Input Yes VC CP GM All modes ASDO Output Yes VC CP GM AS nCSO Output Yes VC CP GM AS nCE CONF_DONE DCLK — nIO_PULLUP nCEO © March 2011 Altera Corporation Input Yes VC CP GM PS, FPP Output — VC CP GM AS Input Yes VC CP GM All modes Output Yes VC CP GM All modes Stratix III Device Handbook, Volume 1 11–44 Chapter 11: Configuring Stratix III Devices Device Configuration Pins Table 11–13. Stratix III Configuration Pin Summary (Note 1) (Part 2 of 2) Description Input/Output Dedicated Powered By Configuration Mode Input Yes VC CP GM All modes MSEL[2..0] Notes to Table 11–13: (1) The total number of pins is 30. The total number of dedicated pins is 19. (2) The JTAG output pin TDO and all JTAG input pins are powered by the 2.5 V/3.0 V/3.3-V VCCPD power supply of I/O bank 1A. (3) These dual purpose pins are powered by VCCPGM during configuration, then are powered by V CCIO while in user mode.This applies for all configuration modes. Table 11–14 describes the dedicated configuration pins, which are required to be connected properly on your board for successful configuration. Some of these pins may not be required for your configuration schemes. Table 11–14. Dedicated Configuration Pins on the Stratix III Device (Part 1 of 5) Pin Name User Mode Configuration Scheme Pin Type Description Dedicated power pin. Use this pin to power all dedicated configuration inputs, dedicated configuration outputs, dedicated configuration bi-direction pins, and some of the dual functional pins that are used for configuration. VCCPGM N/A All Power You must connect this pin to 1.8-V, 2.5-V, 3.0-V, or 3.3-V. VC CP GM must ramp-up from 0-V to 3.3-V within 100 ms. If VC CP GM is not ramped up within this specified time, your Stratix III device will not configure successfully. If your system does not allow for a VCCPGM ramp-up time of 100 ms or less, you must hold nCONFIG low until all power supplies are stable. Dedicated power pin. Use this pin to power the I/O pre-drivers, the JTAG input and output pins, and the design security circuitry. VCCPD N/A All Power You must connect this pin to 2.5-V, 3.0-V, or 3.3-V depending on the I/O standards selected. For 3.3-V I/O standards, VCCPD=3.3-V, for 3.0-V I/O standards, VCC PD = 3.0 V, for 2.5-V or below I/O standards, VC CP D = 2.5 V. VC CP D must ramp-up from 0-V to 2.5-V / 3.0-V/3.3-V within 100 ms. If VCC PD is not ramped up within this specified time, your Stratix III device will not configure successfully. If your system does not allow for a VC CPD ramp-up time of 100 ms or less, you must hold nCONFIG low until all power supplies are stable. PORSEL N/A Stratix III Device Handbook, Volume 1 All Input Dedicated input which selects either a POR time of 12 ms or 100 ms. A logic high (1.8 V, 2.5 V, 3.0 V, 3.3 V) selects a POR time of approximately 12 ms and a logic low selects a POR time of approximately 100 ms. The PORSEL input buffer is powered by VCCPGM and has an internal 5-kΩ pull-down resistor that is always active. You should tie the PORSEL pin directly to VCCPGM or GND. © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Device Configuration Pins 11–45 Table 11–14. Dedicated Configuration Pins on the Stratix III Device (Part 2 of 5) Pin Name User Mode nIO_PULLUP N/A Configuration Scheme All Pin Type Description Input Dedicated input that chooses whether the internal pull-up resistor on the user I/O pins and dual-purpose I/O pins (nCSO, nASDO, DATA[7..0], nWS, nRS, RDYnBSY, nCS, CLKUSR, INIT_DONE) are on or off before and during configuration. A logic high (1.8 V, 2.5 V, 3.0 V, 3.3 V) turns off the weak internal pull-up resistors, while a logic low turns them on. The nIO-PULLUP input buffer is powered by VCCPGM and has an internal 5-kΩ pull-down resistor that is always active. You can tie the nIO-PULLUP directly to VCCPGM or use a 1-kΩ pull-up resistor or tie it directly to GND. 3-bit configuration input that sets the Stratix III device configuration scheme. Refer to Table 11–1 for the appropriate connections. MSEL[2..0] N/A All Input You must hard-wire these pins to VCCPGM or GND. The MSEL[2..0] pins have internal 5-kΩ pull-down resistors that are always active. nCONFIG N/A All Input Configuration control input. Pulling this pin low during user-mode will cause the device to lose its configuration data, enter a reset state, and tri-state all I/O pins. Returning this pin to a logic high level will initiate a reconfiguration. Configuration is possible only if this pin is high, except in JTAG programming mode when nCONFIG is ignored. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–46 Chapter 11: Configuring Stratix III Devices Device Configuration Pins Table 11–14. Dedicated Configuration Pins on the Stratix III Device (Part 3 of 5) Pin Name User Mode Configuration Scheme Pin Type Description The device drives nSTATUS low immediately after power-up and releases it after the POR time. During user mode and regular configuration, this pin is pulled high by an external 10-kΩ resistor. This pin, when driven low by Stratix III, indicates that the device is being initialized and has encountered an error during configuration. Status output. If an error occurs during configuration, nSTATUS is pulled low by the target device. Status input. If an external source drives the nSTATUS pin low during configuration or initialization, the target device enters an error state. nSTATUS N/A All Bi-directional Driving nSTATUS low after configuration and open-drain initialization does not affect the configured device. If you use a configuration device, driving nSTATUS low will cause the configuration device to attempt to configure the device, but since the device ignores transitions on nSTATUS in user-mode, the device does not reconfigure. To initiate a reconfiguration, nCONFIG must be pulled low. If you have enabled the Auto-restart configuration after error option, the nSTATUS pin transitions from high to low and back again to high when a configuration error is detected. This appears as a low pulse at the nSTATUS pin with a minimum pulse width of 10 μs to a maximum pulse width of 500 μs, as defined in the tSTATUS specification. If VCC PGM and VC CIO are not fully powered up, the following could occur: nSTATUS (continued) — Stratix III Device Handbook, Volume 1 — — ■ VCC PGM and VC CIO are powered high enough for the nSTATUS buffer to function properly, and nSTATUS is driven low. When VC CPGM and VC CIO are ramped up, POR trips and nSTATUS is released after POR expires. ■ VCC PGM and VC CIO are not powered high enough for the nSTATUS buffer to function properly. In this situation, nSTATUS might appear logic high, triggering a configuration attempt that would fail because POR did not yet trip. When VCC PD and VC CIO are powered up, nSTATUS is pulled low because POR did not yet trip. When POR trips after VCC PGM and VC CIO are powered up, nSTATUS is released and pulled high. At that point, reconfiguration is triggered and the device is configured. © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Device Configuration Pins 11–47 Table 11–14. Dedicated Configuration Pins on the Stratix III Device (Part 4 of 5) Pin Name User Mode Configuration Scheme Pin Type Description Status output. The target device drives the CONF_DONE pin low before and during configuration. After all configuration data is received without error and the initialization cycle starts, the target device releases CONF_DONE. CONF_DONE N/A All Status input. After all data is received and CONF_DONE Bi-directional goes high, the target device initializes and enters user open-drain mode. The CONF_DONE pin must have an external 10-kΩ pull-up resistor in order for the device to initialize. Driving CONF_DONE low after configuration and initialization does not affect the configured device. Do not connect bus holds or ADC to CONF_DONE pin. nCE N/A All Input Active-low chip enable. The nCE pin activates the device with a low signal to allow configuration. The nCE pin must be held low during configuration, initialization, and user mode. In single device configuration, it should be tied low. In multi-device configuration, nCE of the first device is tied low while its nCEO pin is connected to nCE of the next device in the chain. The nCE pin must also be held low for successful JTAG programming of the device. nCEO N/A All Output Output that drives low when device configuration is complete. In single device configuration, this pin is left floating. In multi-device configuration, this pin feeds the next device's nCE pin. The nCEO of the last device in the chain is left floating. The nCEO pin is powered by VCC PGM . ASDO (1) N/A AS Output Control signal from the Stratix III device to the serial configuration device in AS mode used to read out configuration data. In AS mode, ASDO has an internal pull-up resistor that is always active. nCSO (1) N/A AS Output Output control signal from the Stratix III device to the serial configuration device in AS mode that enables the configuration device. In AS mode, nCSO has an internal pull-up resistor that is always active. © March 2011 Altera Corporation Stratix III Device Handbook, Volume 1 11–48 Chapter 11: Configuring Stratix III Devices Device Configuration Pins Table 11–14. Dedicated Configuration Pins on the Stratix III Device (Part 5 of 5) Pin Name User Mode Configuration Scheme Pin Type Description DCLK has an internal pull-up resistor (typically 25 kΩ) that is always active. DCLK (1) DATA0 (1) N/A N/A in AS mode. I/O in PS or FPP mode Synchronous configuration schemes (PS, FPP, AS) Input (PS, FPP) Output (AS) In AS mode, DCLK is an output from the Stratix III device that provides timing for the configuration interface. After AS configuration, this pin is driven to an inactive state. In schemes that use a configuration device, DCLK will be driven low after configuration is done. In schemes that use a control host, DCLK should be driven either high or low, whichever is more convenient. Toggling this pin after configuration does not affect the configured device. Data input. In serial configuration modes, bit-wide configuration data is presented to the target device on the DATA0 pin. PS, FPP, AS Input In AS mode, DATA0 has an internal pull-up resistor that is always active. After PS or FPP configuration, DATA0 is available as a user I/O pin and the state of this pin depends on the Dual-Purpose Pin settings. Data inputs. Byte-wide configuration data is presented to the target device on DATA[7..0]. DATA[7..1] I/O Parallel configuration schemes (FPP) Inputs In serial configuration schemes, they function as user I/O pins during configuration, which means they are tri-stated. After configuration, DATA[7..1] are available as user I/O pins and the state of these pin depends on the Dual-Purpose Pin settings. Note to Table 11–14: (1) To tri-state AS configuration pins in AS configuration scheme, turn on Enable input tri-state on active configuration pins in user mode option from the Device and Pin Options dialog box. This tri-states DCLK, nCSO, Data0, and ASDO pins. Dual-purpose Pins Setting for Data0 is ignored. To set Data0 to a different setting, for example to use Data0 pin as a regular I/O in user mode, turn off Enable input tri-state on active configuration pins in user mode option and set your desired setting from the Dual-purpose Pins Setting menu. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Device Configuration Pins 11–49 Table 11–15 describes the optional configuration pins. If these optional configuration pins are not enabled in the Quartus II software, they are available as general-purpose user I/O pins. Therefore, during configuration, these pins function as user I/O pins and are tri-stated with weak pull-up resistors. Table 11–15. Optional Configuration Pins Pin Name User Mode N/A if option is on. I/O if option is off. CLKUSR INIT_DONE DEV_OE DEV_CLRn © March 2011 N/A if option is on. I/O if option is off. N/A if option is on. I/O if option is off. N/A if option is on. I/O if option is off. Altera Corporation Pin Type Input Description Optional user-supplied clock input synchronizes the initialization of one or more devices. Enable this pin by turning on the Enable user-supplied start-up clock (CLKUSR) option in the Quartus II software. Output open-drain Use the Status pin to indicate when the device has initialized and is in user mode. When nCONFIG is low and during the beginning of configuration, the INIT_DONE pin is tri-stated and pulled high due to an external 10-kΩ pull-up resistor. After the option bit to enable INIT_DONE is programmed into the device (during the first frame of configuration data), the INIT_DONE pin will go low. When initialization is complete, the INIT_DONE pin is released and pulled high and the device enters user mode. Thus, the monitoring circuitry must be able to detect a low-to-high transition. This pin is enabled by turning on the Enable INIT_DONE output option in the Quartus II software. Input Optional pin that allows you to override all tri-states on the device. When this pin is driven low, all I/O pins are tri-stated, when this pin is driven high, all I/O pins behave as programmed. Enable this pin by turning on the Enable device-wide output enable (DEV_OE) option in the Quartus II software. Input Optional pin that allows you to override all clears on all device registers. When this pin is driven low, all registers are cleared. When this pin is driven high, all registers behave as programmed. This pin is enabled by turning on the Enable device-wide reset (DEV_CLRn) option in the Quartus II software. Stratix III Device Handbook, Volume 1 11–50 Chapter 11: Configuring Stratix III Devices Device Configuration Pins Table 11–16 describes the dedicated JTAG pins. JTAG pins must be kept stable before and during configuration to prevent accidental loading of JTAG instructions. The TDI, TMS, and TRST have weak internal pull-up resistors while TCK has a weak internal pull-down resistor (typically 25 kΩ). If you plan to use the SignalTap ® embedded logic array analyzer, you must connect the JTAG pins of the Stratix III device to a JTAG header on your board. Table 11–16. Dedicated JTAG Pins Pin Name TDI User Mode N/A Pin Type Input Description Serial input pin for instructions as well as test and programming data. Data is shifted in on the rising edge of TCK. The TDI pin is powered by the 2.5-V/3.0-V/3.3-V VC CP D supply. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting this pin to VCCPD. TDO N/A Output Serial data output pin for instructions as well as test and programming data. Data is shifted out on the falling edge of TCK. The pin is tri-stated if data is not being shifted out of the device. The TDO pin is powered by VCCP D For recommendations on connecting a JTAG chain with multiple voltages across the devices in the chain, refer to the chapter IEEE 1149.1 (JTAG) Boundary Scan Testing in Stratix III Devices chapter in volume 1 of the Stratix III Device Handbook. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by leaving this pin unconnected. TMS N/A Input Input pin that provides the control signal to determine the transitions of the TAP controller state machine. Transitions within the state machine occur on the rising edge of TCK. Therefore, TMS must be set up before the rising edge of TCK. TMS is evaluated on the rising edge of TCK. The TMS pin is powered by the 2.5-V/3.0-V/3.3-V VCCPD. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting this pin to VC CP D. The clock input to the BST circuitry. Some operations occur at the rising edge, while others occur at the falling edge. The TCK pin is powered by the 2.5-V/3.0-V/3.3-V VC CPD supply. TCK N/A Input It is expected that the clock input waveform have a nominal 50% duty cycle. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting TCK to GND. Active-low input to asynchronously reset the boundary-scan circuit. The TRST pin is optional according to IEEE Std. 1149.1. The TRST pin is powered by the 2.5-V/3.0-V/3.3-V VC CP D supply. TRST N/A Input You should hold TMS at 1 or you should keep TCK static while TRST is changed from 0 to 1. If the JTAG interface is not required on the board, you can disable the JTAG circuitry by connecting the TRST pin to GND. Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation Chapter 11: Configuring Stratix III Devices Chapter Revision History 11–51 Chapter Revision History Table 11–17 lists the revision history for this chapter. Table 11–17. Chapter Revision History (Part 1 of 2) Date Version March 2011 Changes Made ■ Updated the “FPP Configuration Using a MAX II Device as an External Host”, “Fast Active Serial Configuration (Serial Configuration Devices)”, and “PS Configuration Using a MAX II Device as an External Host” ■ Updated Table 11–14. ■ Updated Table 11–14. ■ Updated “FPP Configuration Using a MAX II Device as an External Host” on page 11–8. 2.0 July 2010 1.9 Updated for the Quartus II software version 9.1 SP2 release: March 2010 1.8 May 2009 1.7 February 2009 October 2008 © March 2011 1.6 1.5 Altera Corporation ■ Added Figure 11–11. ■ Updated Figure 11–6, Figure 11–7, Figure 11–16, Figure 11–19, and Figure 11–20. ■ Updated “Estimating Active Serial Configuration Time” section. ■ Added Table 11–8. ■ Updated Table 11–8, Table 11–13, and Table 11–14. ■ Removed “Conclusion” section. ■ Updated Table 11–1, Table 11–2, Table 11–5, Table 11–6, Table 11–9, and Table 11–13. ■ Updated Figure 11–6, Figure 11–16, Figure 11–17, Figure 11–18, Figure 11–19, and Figure 11–20. ■ Updated “PS Configuration Using a Microprocessor”, “PS Configuration Using a Download Cable”, and “JTAG Configuration” sections. ■ Removed Figure 11-12 Fast AS Configuration Timing. ■ Removed Table 11-8 Fast AS Timing Parameters for Stratix III devices. ■ Updated Figure 11–6, Figure 11–7, Figure 11–12, and Figure 11–16. ■ Removed “Referenced Documents” section. ■ Updated “FPP Configuration Using a MAX II Device as an External Host”, “Fast Active Serial Configuration (Serial Configuration Devices)”, “JTAG Configuration”, “Power-On Reset Circuit”, “PS Configuration Using a MAX II Device as an External Host”, and “PS Configuration Using a Download Cable” sections. ■ Updated Table 11–13 and Table 11–14. ■ Updated New Document Format. ■ Updated (Note 3) to Figure 11–17. ■ Updated (Note 3) to Figure 11–18. ■ Updated (Note 3) to Figure 11–19. ■ Updated (Note 3) to Figure 11–20. Stratix III Device Handbook, Volume 1 11–52 Chapter 11: Configuring Stratix III Devices Chapter Revision History Table 11–17. Chapter Revision History (Part 2 of 2) Date May 2008 November 2007 October 2007 Version Changes Made ■ Updated “Power-On Reset Circuit” section. ■ Updated “Fast Active Serial Configuration (Serial Configuration Devices)” section. ■ Updated Table 11–4, Table 11–11, Table 11–12, Table 11–13, Table 11–14, and Table 11–16. ■ Updated Figure 11–3, Figure 11–4, Figure 11–5, Figure 11–6, Figure 11–7, Figure 11–8, Figure 11–9, Figure 11–10, Figure 11–11, Figure 11–13, Figure 11–14, Figure 11–15, Figure 11–17, Figure 11–18, Figure 11–19, Figure 11–20, and Figure 11–21. ■ Updated Table 11–2. ■ Updated Figure 11–8, Figure 11–14, Figure 11–15, Figure 11–17, and Figure 11–18. ■ Updated Table 11–13, Table 11–14. ■ Updated Figure 11–6, Figure 11–7, Figure 11–9, Figure 11–10, Figure 11–11, and Figure 11–13. ■ Removed text regarding enhanced configuration device support. Removed Figure 11–19. ■ Added live links for references. ■ Added section “Referenced Documents” 1.4 1.3 1.2 May 2007 1.1 Removed Bank Column from Table 11–13. November 2006 1.0 Initial Release Stratix III Device Handbook, Volume 1 © March 2011 Altera Corporation