AN 386: Using the Parallel Flash Loader with the Quartus II Software
|
|
- Penelope Montgomery
- 6 years ago
- Views:
Transcription
1 AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 AN With the density of FPGAs increasing, the need for larger configuration storage is also increasing. If your system contains a common flash interface (CFI) flash memory, you can use your system for FPGA configuration storage as well. The 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 Altera FPGA. Figure 1 shows the PFL feature in MAX II devices. Figure 1. MAX II PFL Feature Quartus II Software using JTAG MAX II CPLD PFL Passive Serial or Fast-Passive Parallel Interface (2) Altera FPGA Common Flash Interface CFI Flash Memory (1) Notes to Figure 1: (1) For more information about the list of supported CFI flash devices, refer to Table 1 on page 4. (2) Fast passive parallel (FPP) and passive serial (PS) configuration schemes allow configuration data to be loaded to a target device. The FPP configuration scheme allows eight data bits to be loaded on every clock cycle; the PS configuration scheme allows only one bit. For more information about the FPP and PS configuration schemes, refer to the Configuration Handbook. MAX II PFL The Max II PFL feature has the following functions: Programming the CFI flash device through the MAX II JTAG interface. Controlling Altera FPGA configuration from a CFI flash for ACEX 1K, APEX 20K (including APEX 20K, APEX 20KC, and APEX 20KE), APEX II, Arria series, Cyclone series, FLEX 10K (FLEX 10KE and FLEX 10KA), Mercury, and Stratix series FPGA devices. Programming the CFI Flash The MAX II device operates as the bridge between the JTAG interface and the CFI flash memory parallel address or data interface. Altera configuration devices support programming through the JTAG interface, to allow in-system programming and updates. However, standard flash memory devices do not support the JTAG interface and direct programming through the JTAG interface. You can use the JTAG interface in Max II devices to indirectly program the flash memory. The MAX II JTAG block December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
2 Page 2 MAX II PFL interfaces directly with the logic array when in a special non-test JTAG mode. This mode brings the JTAG chain through the logic array instead of the MAX II boundary scan cells. The PFL feature provides the JTAG interface logic to convert the JTAG stream provided by the Quartus II software and program the CFI flash memory devices connected to the MAX II I/O pins. Figure 2 shows the MAX II device acting as the bridge to program the flash memory through the JTAG interface. Figure 2. Programming the Flash Memory using the JTAG Interface MAX II CPLD Quartus II Software using JTAG Configuration Data PFL Common Flash Interface Altera FPGA Altera FPGA Not Used for Flash Programming CFI Flash Memory Controlling Altera FPGA Configuration from the CFI Flash The MAX II device controls the configuration of Altera FPGAs. Unlike dedicated Altera configuration devices, the flash memory device stores only configuration data and does not have built-in logic to control the FPGA configuration process. The PFL megafunction logic in the MAX II device determines when to start the configuration process, read the data from the flash memory, and configure the Altera FPGA. Figure 3 shows the MAX II device as the configuration controller for the FPGA. Figure 3. FPGA Configuration with Flash Memory Data MAX II CPLD PFL Passive Serial or Fast-Passive Parallel Interface Altera FPGA Common Flash Interface CFI Flash Memory The PFL megafunction provides the flexibility to either program the flash device or configure the FPGA or perform both functions together. The benefit of performing the functions separately is that you use fewer logic elements. Use this option if you do not need to modify the flash data frequently or if you have JTAG/ISP access to the MAX II device. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
3 Quartus II Software Support Page 3 To create separate PFL functions, complete the following steps: 1. Create a PFL megafunction instantiation by selecting Flash Programming Only mode. 2. Assign the pins appropriately. 3. Compile and generate a Programmer Object File (.pof) for the flash device. Ensure that you tri-state all unused I/O pins. 4. Create another PFL megafunction by selecting Configuration Control Only mode. 5. Instantiate this configuration controller into your production design. 6. Whenever you must program the flash device, program the MAX II device with the flash device.pof and update the flash device contents. 7. Reprogram the MAX II device with the production design.pof that includes the configuration controller. Programming the flash with non-altera data is another benefit of having separate functionality. For example, the flash device contains initialization storage for an application-specific standard product (ASSP). You can use the PFL to program the flash with the initialization data and also create your own design source code to implement the read and initialization control with the MAX II logic. 1 All unused pins are set to ground by default. If you must keep the FPGA configuration data during flash programming, you must tri-state the FPGA configuration pins common to the MAX II device interface in your flash programming design file. 1 The MAX II device tri-states all I/O pins during CPLD programming. However, the MAX II device functions as normal and does not tri-state the I/O pins during flash programming and FPGA configuration. Quartus II Software Support The Quartus II software generates the PFL megafunction logic for the programming bridge and configuration. Entering SRAM Object Files (.sof) and Hexadecimal Files (.hex) in the Quartus II software creates the programming file for the flash memory. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
4 Page 4 Quartus II Software Support Table 1 lists the types of flash memories, data widths, configuration modes, and file formats supported by the PFL megafunction. Table 1. Flash Memory, Data Width, Configuration Mode, and File Format Supported by the PFL Feature in the Quartus II Software (Part 1 of 2) Flash Memory Supported (1) Manufacturer Device Name (1), (2) Numonyx Spansion Density (Mbit) 28F800C3 8 28F160C F320C F640C F320J F640J F128J F640P F128P F256P F512P F640P F128P F256P F512P F256M29EW JS29F256J3 256 M29W256G M29W640F 64 M28W160CT M28W160CB M29W160FT M29W160FB M29W320E 16 Data Width 16 bit 8/16 bit 16 bits 8/16 bits M29W320FT 32 M29W320FB M29W640G 64 M29W128G 128 M58BW32FB 32 16/32 bits S29GL128N 128 S29GL256N 256 S29GL512N 512 8/16 bits Configuration Mode (3) PS and FPP File Format (4) POF, JEDEC STAPL Format (Jam), and Jam STAPL Byte code (JBC) AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
5 Quartus II Software Support Page 5 Table 1. Flash Memory, Data Width, Configuration Mode, and File Format Supported by the PFL Feature in the Quartus II Software (Part 2 of 2) Flash Memory Supported (1) Manufacturer Device Name (1), (2) Density (Mbit) Data Width Configuration Mode (3) File Format (4) S29AL016D 16 S29AL032D 32 S29AL016M 16 S29JL032H 32 S29JL064H 64 Spansion S29AL016J 16 8/16 bits S29GL64N 65 S29GL128P 128 S29GL256P 256 S29GL512P 512 S29GL01GP 1024 PS and FPP POF, JEDEC STAPL Format (Jam), and Jam STAPL Byte code (JBC) Eon Silicon Solution EN29LV160B 16 EN29LV320B bits MX29LV160D 16 MX29LV320D 32 Macronix MX29LV640D 64 MX29LV640E bits MX29GL128E 128 MX29GL256E 256 Notes to Table 1: (1) The Spansion S29GL-N flash device family is discontinued. Altera does not recommend using this flash. For more information about an alternative recommendation, refer to the Spansion website ( (2) PFL supports top and bottom boot block of the flash devices. (3) This is a configuration of an Altera FPGA by the MAX II device through the PFL. Configuration with data compression is supported. Configuration for the Stratix II and Stratix III device families also supports data encryption. (4) This is a supported file format to program the MAX II device and the flash memory device. PFL does not support Raw Binary File (.rbf) format. Logic element (LE) usage for the PFL varies with different PFL and Quartus II software settings. The only way to get the exact LE usage number is to compile a PFL design with the exact settings using the Quartus II software. Page Implementation in the Flash.pof The PFL stores configuration data up to a maximum of eight different pages in a CFI flash memory block. A single page is used to configure a single FPGA chain that can contain more than one FPGA (for example, multiple.sofs are stored in a single page). The total number of pages allowed and the size of each page depends on the density of the flash. These pages allow you to store designs for different FPGA chains or different designs for the same FPGA chain in different pages. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
6 Page 6 Quartus II Software Support When converting the.sofs to a.pof, the following address modes are available to determine the page address: Block mode Allows you to specify the start and end addresses for the page. Start mode Allows you to specify only the start address. The start address for each page is located on an 8-KByte boundary, which means that if the first valid start address is 0x000000, the next valid start address is an increment of 0x2000. Auto mode Allows the Quartus II software to automatically determine the start address of the page. The Quartus II software aligns the pages on a 128-KByte boundary; for example, if the first valid start address is 0x000000, the next valid start address is an increment of 0x The option-bit sector stores the start address for each page. The Page-Valid bits indicate whether each page is successfully programmed. Program the Page-Valid bits after successfully programming the pages. Always store the option-bits in unused address locations in the flash memory. The start address for the option-bit sector is located on an 8-KByte boundary. You must specify the start address for the option-bit sector when converting the.sofs to the.pof, as well as when creating the PFL megafunction. For more information about this procedure, refer to Instantiating the PFL Megafunction in the Quartus II Software on page 25 and Converting the.sofs to a.pof for the Flash Device on page 31. Figure 4 shows page mode and option-bits implementation in the CFI flash memory. Figure 4. Page Mode and Option-Bits Implementation in the Flash Memory End Address (1) 8 Bits Option Bits(2) Configuration Data (Page 2) Configuration Data (Page 1) Configuration Data (Page 0) 32 Bits Page 2 Address + Page-Valid Page 1 Address + Page-Valid Page 0 Address + Page-Valid Notes to Figure 4: 0x (1) The end address depends on the density of the flash device. For the address range for devices with different densities, refer to Table 2. (2) You must specify the byte address location for the option-bits sector. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
7 Quartus II Software Support Page 7 Bits 0 to 11 for the page start address are all set to zeros and are not stored as option bits. Figure 5 shows how the start address and Page-Valid bit for each page are stored in the option-bit sector. Figure 5. Page Start Address, End Address, and Page-Valid Bit Stored as Option Bits Bit 7...Bit 1 Bit 0 0x (1) Page Start Address [19:13] Page-Valid Bit 7...Bit 0 0x Page Start Address [27:20] Bit 7...Bit 1 0x Page End Address [19:13] Bit 7...Bit 0 0x Page End Address [27:20] Note to Figure 5: (1) For flash byte addressing mode. Table 2 lists the byte address range for CFI devices with different densities. Table 2. Byte Address Range CFI Device (Mbit) Address Range 8 0x x00FFFFF 16 0x x01FFFFF 32 0x x03FFFFF 64 0x x07FFFFF 128 0x x0FFFFFF 256 0x x1FFFFFF 512 0x x3FFFFFF x x7FFFFFF December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
8 Page 8 Input and Output Signals for the PFL Input and Output Signals for the PFL This section describes the input and output signals of the PFL megafunction. Figure 6 shows the symbol for the PFL megafunction supporting both flash programming and FPGA configuration. Figure 6. PFL Megafunction Symbol Table 3 lists the functions of the PFL signals and specifies the external pull-up resistor required for the configuration pins. f For more pull-up information about configuring pins for specific Altera FPGA families, refer to the Configuration Handbook. Table 3. PFL Signals (Note 1) (Part 1 of 3) Pin Description Weak Pull-Up Function pfl_nreset Input pfl_flash_access_granted Input Asynchronous reset for the PFL. Pull high to enable the FPGA configuration. Otherwise, to prevent FPGA configuration, pull low at all times when you do not use the PFL. This pin does not affect flash programming. Used for system-level synchronization. This pin is driven by a processor or any arbitrator that controls access to the flash. This active-high pin is connected permanently high if you want the PFL to function as the flash master. Pulling the pfl_flash_access_granted pin low prevents the JTAG interface from accessing the flash and FPGA configuration. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
9 Input and Output Signals for the PFL Page 9 Table 3. PFL Signals (Note 1) (Part 2 of 3) Pin Description Weak Pull-Up Function pfl_clk (2) Input User input clock for the device. Frequency must match the frequency specified in the megafunction and must not be higher than the maximum DCLK frequency specified for the specific FPGA during configuration. (1) fpga_pgm[2..0] (2) Input Determines the page used for the configuration. fpga_conf_done (2) Input 10-k Pull-Up Resistor Connects to the CONF_DONE pin of the FPGA. The FPGA releases the pin high if the configuration is successful. fpga_nstatus (2) Input 10-k Pull-Up Resistor pfl_nreconfigure (2) Input flash_rdy Input pfl_flash_access_request Output flash_addr[x..0] (5) Output flash_data[x..0] (5) Input or Output (bidirectional pin) flash_nce [x..0] Output flash_nwe Output flash_noe Output Connects to the nstatus pin of the FPGA. The FPGA pulls the pin low if a configuration error occurs. Initiates a reconfiguration of the FPGA. This pin is connected to a switch that you can use to select a high or low input. A low input initiates reconfiguration of the FPGA. Used for burst mode. Connects from the wait output pin of the flash device. Use this signal to indicate if the data read from flash is valid. Pull it high when it is not connected. Used for system-level synchronization. If needed, this pin is connected to a processor or arbitrator. The PFL drives this pin high when the JTAG interface accesses the flash or the PFL configures the FPGA. This output pin works in conjunction with the flash_noe and flash_nwe pins. Address inputs for memory addresses. The MSB depends on the density of the flash device as well as the width of the flash_data bus. Data bus to transmit or receive 8- or 16-bit data to or from the flash memory in parallel. (3) Connects to the nce pin of the flash device. A low signal enables the flash device. Use this pin for multiple flash device support. The flash_nce pin is connected to each nce pin of all the connected flash devices. Connects to the nwe pin of the flash device. A low signal enables write operation to the flash device. Connects to the noe pin of the flash device. A low signal enables the outputs of the flash device during a read operation. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
10 Page 10 Input and Output Signals for the PFL Table 3. PFL Signals (Note 1) (Part 3 of 3) Pin Description Weak Pull-Up Function flash_clk (4) Output flash_nadv (4) Output Used for burst mode. Connects to the CLK input pin of the flash device. The active edges of CLK increment the flash device internal address counter. Used for burst mode. Connects to the address valid input pin of the flash device. Use this signal for latching the start address. flash_nreset Output fpga_data[x..0] (2) Output fpga_dclk (2) Output Connects to the reset pin of the flash device. A low signal resets the flash device. Data output from the flash to the FPGA device during configuration. For PS mode, this is a 1-bit bus fpga_data[0] data line. For FPP mode, this is an 8-bit fpga_data[7..0] data bus. Connects to the DCLK pin of the FPGA. Clock input data to the FPGA device during configuration. fpga_nconfig (2) Open Drain Output 10-k Pull-Up Resistor Connects to the nconfig pin of the FPGA. A low pulse resets the FPGA and initiates configuration. (3) Notes to Table 3: (1) For maximum FPGA configuration DCLK frequencies, refer to the Configuration Handbook. (2) These pins are not available for the flash programming option in the PFL megafunction. (3) Altera recommends not inserting logic between the PFL pins and the MAX II I/O pins, especially on the flash_data and fpga_nconfig pins. (4) Use the flash_clk, flash_rdy, and flash_nadv pins for burst mode only. Do not connect these pins from the flash device to the MAX II device if you are not using burst mode. (5) When the PFL is not accessing the flash device, the output of the flash_addr and flash_data pins depends on the setting of the unused pins if you did not select the PFL MegaWizard Plug-In Manager tri-state option. 1 Altera recommends enabling the safe state machine setting to avoid the PFL going into undefined states. You can set this option by clicking More Settings on the Analysis & Synthesis Settings page in the Settings dialog box from the Assignments menu. Figure 7 shows the configuration interface connections between the MAX II device, CFI flash memory, an Altera FPGA, and the controller or processor for the PFL solution. Nios II processor represents the controller or processor. The Nios II processor is implemented in the Altera FPGA. The MAX II CPLD and Nios II processor are able to program the CFI flash individually. To prevent both processors from accessing the CFI flash at the same time, the flash_access_granted and flash_access_request pins of the MAX II CPLD and Nios II processor are connected together. f For more information about the FPGA configuration, refer to the Configuration Handbook. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
11 Input and Output Signals for the PFL Page 11 Figure 7. Single-Device Configuration using the PFL with Controller CFI Flash nrp nwp V CC (1) V CC (1) V CC (1) V CC V CC 10k 10k 10k MAX II CPLD pfl_nreset pfl_flash_access_granted Altera FPGA ADDR DATA nwe nce noe WP#/ACC BYTE# flash_addr flash_data flash_nwe flash_nce flash_noe pfl_flash_access_request fpga_conf_done fpga_nstatus fpga_nconfig fpga_data (2) fpga_dclk Nios II Processor Interface (4) flash_access_request flash_access_granted ext_ram_bus_addr ext_ram_bus_data write_n_to_ext_flash chip_n_to_ext_flash output_n_to_ext_flash WP#/ACC BYTE# CONF_DONE nstatus nconfig DATA DCLK nce nceo NC (3) Notes to Figure 7: (1) You must connect the pull-up resistor to a supply that provides an acceptable input signal for the devices. V CC must be high enough to meet the V IH specification of the I/O on both devices. For example, the Stratix II V IH specification ranges from 1.7 to 3.3 V; therefore, the supply for the pull-up resistor, V CC, must be within 1.7 to 3.3 V to meet the V IH specification. (2) For PS configuration mode, this is a 1-bit data line. For FPP configuration mode, this is an 8-bit data bus. (3) Do not connect anything to the NC pin (the no connect pin), not even V CC and GND. (4) The Nios II processor is implemented in any other Altera FPGA except the FPGA that is being configured. Figure 8 shows the connection for multi-device configuration. Figure 8. Connection for Multi-Device Configuration CFI Flash nrp nwp V CC (1) V CC (1) V CC (1) V CC V CC 10k 10k 10k MAX II CPLD pfl_nreset pfl_flash_access_granted Altera FPGA 1 ADDR DATA nwe nce noe flash_addr flash_data flash_nwe flash_nce flash_noe fpga_conf_done fpga_nstatus fpga_nconfig fpga_data (2) fpga_dclk CONF_DONE nstatus nconfig DATA DCLK nce nceo Altera FPGA 2 CONF_DONE nstatus nconfig DATA DCLK nce nceo NC Notes to Figure 8: (1) You must connect the pull-up resistor to a supply that provides an acceptable input signal for the devices. V CC must be high enough to meet the V IH specification of the I/O on both devices. For example, the Stratix II V IH specification ranges from 1.7 to 3.3 V; therefore, the supply for the pull-up resistor, V CC, must be within 1.7 to 3.3 V to meet the V IH specification. (2) For PS configuration mode, this is a 1-bit data line. For FPP configuration mode, this is an 8-bit data bus. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
12 Page 12 PFL Design Example PFL Design Example The PFL megafunction is able to support flash programming and multiple FPGA configurations, and at the same time, allow another processor to access the flash device. For example, you can use the PFL megafunction to program the flash and configure the FPGA with a Nios II processor. The configured Nios II processor uses the non-configuration data stored in the same flash device. This design example shows you how to program a flash device in a system with multiple processors. You can use the processor and PFL megafunction to program a flash device. The processor used in this example is a Nios II processor (you can use other processors or microcontrollers in place of the Nios II processor). The Nios II processor is a general-purpose RISC processor core that is implemented in Altera FPGAs. A Nios II processor is equivalent to a microcontroller or computer-on-a-chip, which includes a CPU and a combination of peripherals and memory on a single chip. The Nios II flash programmer is part of the Nios II development tools and is a convenient method for programming flash devices. This section describes implementing the flash programming interface between the PFL megafunction in the MAX II device and a Nios II processor in an Altera FPGA. This design example consists of four sections: PFL Megafunction on page 13 Nios II Processor on page 13 Flash Device on page 15 pfl_flash_access_request and pfl_flash_access_granted Pins on page 15 Figure 9 shows the relationship between the four sections. The PFL megafunction and the Nios II processor are created separately with the Quartus II software. You can create either the PFL megafunction or the Nios II system first, as explained in the following sub-sections. Figure 9. Relationship Between the Four Sections in the Design Example CFI Flash Memory Common Flash Interface MAX II CPLD PFL pfl_flash_ access_ granted pfl_flash_ access_ request Altera FPGA with Nios II Processor AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
13 PFL Design Example Page 13 PFL Megafunction Nios II Processor To create the PFL megafunction, refer to Instantiating the PFL Megafunction in the Quartus II Software on page 25. To ensure that the PFL megafunction does not drive out, ensure the tri-state all flash bus pin option in the PFL MegaWizard Plug-In Manager is turned on when not in use. 1 If you are using the Quartus II software version 6.0 or earlier, you must tri-state all outputs from the PFL megafunction manually with tri-state buffers. You can create the Nios II system with the Quartus II SOPC Builder. To generate the Nios II system in SOPC Builder, complete the following steps: 1. On the Tools menu, select SOPC Builder. 2. Specify the required components for your Nios II system in the SOPC Builder. 1 In this design example, Table 4 lists the settings of the components. 3. Generate the Nios II system. 4. From the Edit menu, add the Nios II system that was created into the block diagram by selecting Insert Symbol. 5. Select the Nios II system from the libraries window. 6. The flash_test module in Figure 10 is the Nios II system built in the design example. 7. Compile the design and configure the Altera FPGA when you have completed the pin assignments and the connection to the Nios II system. The address, data, read, select, and write from the Nios II system connect to the address, data, output enable, chip enable, and write enable of the flash device, respectively. Table 4 lists the component settings for PFL design example. Table 4. Component Settings for PFL Design Example (Note 1) Components Settings The Nios II processor Nios IIs, JTAG interface debug module level 1 Avalon-MM Tri-state Bridge Registered CFI Flash Memory AM29LV128MH JTAG UART Default setting (this component is required if you are using JTAG interface to configure the Nios II processor into the Altera FPGA) Note to Table 4: (1) These components are the minimum components required for flash programming. You can add any additional components that you need into the Nios II system. f For more information about component settings in the SOPC Builder, refer to the SOPC Builder Components chapter in volume 4 of the Quartus II Handbook. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
14 Page 14 PFL Design Example Figure 10 shows the design example of the Nios II processor. Figure 10. Design Example of the Nios II Processor Nios II System VHDL Component for reset_acc After creating the Nios II processor, you can run the Nios II flash programmer. There are two modes in the flash programmer: Integrated development environment (IDE) mode Command-line mode Nios II IDE mode provides an easy-to-use interface to the flash programmer features. Command-line mode is for advanced users. Command-line mode provides complete control over the flash programmer features. f For more information about IDE and command-line modes, refer to the Nios II Flash Programmer User Guide. You must configure the Altera FPGA with the Nios II processor whenever you power up your board. You can store the Nios II processor image in the flash device and use the PFL megafunction to configure the Altera FPGA with the Nios II processor whenever you power up your board. If you store the Nios II processor image in the same flash device that you intend to program, ensure that you do not overwrite the Nios II image when you program the flash device with other user data. Another option is to store the Nios II image in other storage devices, such as the EPC and erasable programmable configure serial (EPCS). f For more information about the Nios II system, refer to the Nios II Processor Reference Handbook. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
15 PFL Design Example Page 15 Flash Device f When the byte enable pin in the flash device is pulled low, the flash device is in 8 data width mode. When the byte enable pin is pulled high, the flash device is in 16 data width mode. The PFL megafunction and Nios II processor data pins are assigned according to the data width mode you selected. Read or write access time depends on the flash device type. In the PFL megafunction, write access time is encoded into the PFL megafunction. You do not need to specify write access time but you must specify read access time in the PFL MegaWizard Plug-In Manager. As for the Nios II system, if you select the custom flash option, you must specify the read or write access time. For read or write access time, refer to the Nios II Flash Programmer User Guide. 1 The PFL megafunction and the Nios II system are unable to perform a selective read-during-write operation as the data bus only allows single-directional data. Concurrent bidirectional flow of data is not supported. pfl_flash_access_request and pfl_flash_access_granted Pins The Nios II processor and PFL megafunction share the same bus line to the flash device. However, they must not access or program the flash device at the same time as this causes data contention. To ensure that only one processor is accessing the flash device, you must tri-state all output pins that connect to the flash device of one processor while the other processor is accessing the flash device by using the pfl_flash_access_request and pfl_flash_access_granted pins in the PFL megafunction. As noted in Table 3 on page 8: pfl_flash_access_request pin the PFL megafunction drives this pin high whenever access is required to the flash device. pfl_flash_access_granted pin the PFL megafunction connects to the flash device whenever the PFL megafunction receives a high input signal at this pin. Table 5 lists the methods to use the pfl_flash_access_request and pfl_flash_access_granted pins to ensure both processors are not accessing the flash device at the same time. Table 5. pfl_flash_access_request and pfl_flash_access_granted Pins with the Nios II and PFL Megafunction Signal Nios II Processor PFL Megafunction High output signal at pfl_flash_access_request Low output signal at pfl_flash_access_request Tri-state all output pins to the flash device. Reconnect all pins to the flash device. Connect all input and output pins to the flash device when the pfl_flash_access_granted pin receives a high input. Tri-state all output pins to the flash device when the pfl_flash_access_granted pin receives a low input. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
16 Page 16 PFL Design Example In this design example, the Nios II processor uses the reset_acc VHDL code to pull the reset_n pin of the Nios II processor low whenever the pfl_flash_access_request pin goes high. When the reset_n pin goes low, the Nios II processor is disabled and all the output pins from the Nios II processor are tri-stated. You must create input and output pins for the pfl_flash_access_request and pfl_flash_access_granted pins to route the pfl_flash_access_request signal to the pfl_flash_access_granted pin in the Nios II system. The PFL megafunction starts accessing the flash device when a high input signal is received on the pfl_flash_access_granted pin. The reset_acc VHDL code component is attached in the design example. For more information about the connection of the reset_acc VHDL code component to the Nios II processor and the connection of the pfl_flash_access_request and pfl_flash_access_granted pins, refer to Figure 10 on page 14. The tri-state all flash bus pin when not in use option for the PFL megafunction disables the PFL megafunction whenever the pfl_flash_access_granted pin receives a low input. This option is only available in the Quartus II software version 6.0 and later. You must tri-state all outputs from the PFL megafunction manually with tri-state buffers if you are using the Quartus II software version 6.0 and earlier. After you have configured your system as described, the pfl_flash_access_request and pfl_flash_access_granted pins ensure that only one processor accesses the flash device at a time (Figure 11). Figure 11. Nios II Processor and PFL Megafunction Accessing the Flash Device Nios II processor connects to the flash device By default, the Nios II processor is connected to the flash device. All PFL megafunction output pins are tri-stated. PFL megafunction requests access to flash device The PFL megafunction pulls the pfl_flash_access_request pin high to request access to the flash device. Nios II processor receives the PFL megafunction The Nios II processor tri-states all output pins to the flash device and routes the output of pfl_flash_access_request to pfl_flash_access _granted. PFL megafunction accesses the flash device The PFL megafunction accesses the flash device after receiving a high input at the pfl_flash_access_granted input pin. The pfl_flash_access_request pin stays high as long as the PFL is connected to the flash device. PFL megafunction releases the flash device The PFL megafunction pulls the pfl_flash_access_request output pin low after accessing the flash device. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
17 PFL and Flash Address Mapping Page 17 Using a Processor or Controller in Place of the Nios II System To use other processors or controllers in place of the Nios II system, ensure that the pfl_flash_access_granted and pfl_flash_access_request pins of the PFL are connected to your processor using the same method, as described in pfl_flash_access_request and pfl_flash_access_granted Pins on page 15. You must also specify the flash device read or write access time in your processor or controller. To avoid data contention when the PFL megafunction is accessing the flash device, ensure that the output pins from your processor are tri-stated when the pfl_flash_access_request signal is high. PFL and Flash Address Mapping Figure 12 through Figure 15 show the address connections between the PFL and flash device. The address connections vary depending on the flash vendors and data bus width. Figure 12. Numonyx J3 Flash Memory in 8-Bit Mode (Note 1) PFL address: 24 bits Flash Memory address: 24 bits Note to Figure 12: (1) Address connection between the PFL and the flash memory are the same. Figure 13. Numonyx J3, P30, and P33 Flash Memories in 16-Bit Mode (Note 1) PFL address: 23 bits Flash Memory address: 23 bits Note to Figure 13: (1) Flash memory addresses in Numonyx J3, P30, and P33 16-bit flash are shifted one bit down when compared with the flash addresses in the PFL. For example, the flash address bit starts from bit 1 instead of bit 0. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
18 Page 18 PFL and Flash Address Mapping Figure 14. Spansion and Numonyx M28, M29 Flash Memory in 8-Bit Mode (Note 1) PFL address: 24 bits Flash Memory address: 24 bits D15 Note to Figure 14: (1) Flash memory addresses in Spansion 8-bit flash are shifted one bit up. For example, the address bit 0 of the PFL is connected to data pin D15 of the flash memory. Figure 15. Spansion and Numonyx M28, M29 Flash Memory in 16-Bit Mode (Note 1) PFL address: 23 bits Flash Memory address: 23 bits Note to Figure 15: (1) Address connection between the PFL and the flash memory is the same. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
19 PFL Configuration Time Page 19 PFL Configuration Time This section provides the equations needed to estimate the time required to configure the FPGA with the PFL megafunction. The estimated time derived from these equations is only valid for the Quartus II software version 7.2 and later. Table 6 lists the equations for version 7.2 of the PFL and uses the following representations: C flash represents the number of clock cycles required to read from flash memory. C cfg represents the number of input clock cycles to clock out the data (producing between one and 16 DCLK cycles, depending on the choice of flash data bus width and FPP or PS mode). The processes of reading from the flash and clocking out the data for configuration are performed in parallel; therefore, only the larger number between C flash and C cfg is important. F clk represents the input clock frequency to the PFL. T access represents the flash access time. C access represents the number of clock cycles needed before the data from the flash is ready. T page_access represents the page read time for Spansion flash devices and is only applicable for page mode access. T page_access is set to 30 ns in the PFL. N represents the number of bytes to be clocked out. This value is obtained from the.rbf for the specific FPGA. Table 6. Equations for Version 7.2 of the PFL (Part 1 of 3) Flash Access Mode Configuration Data Option Flash Data Width FPP Mode PS Mode DCLK Ratio = 1 DCLK Ratio = 2 DCLK Ratio = 1 DCLK Ratio = 2 Normal Mode Normal Compressed and/or encrypted 8 bits 16 bits 8 bits 16 bits C flash = C access C cfg = 2 C overhead = 5*C access C flash = C access /2 C cfg = 1.5 C overhead = 3*C access C flash = C access C cfg = 5 C overhead = 5*C access C flash = C access /2 C cfg = 4.5 C overhead = 3*C access C flash = C access C cfg = 3 C overhead = 5*C access C flash = C access /2 C cfg = 2.5 C overhead = 3*C access C flash = C access C cfg = 8 C overhead = 5*C access C flash = C access /2 C cfg = 8 C overhead = 3*C access C flash = C access C cfg = 8 C overhead = 5*C access C flash = C access /2 C cfg = 8 C overhead = 3*C access C flash = C access C cfg = 8 C overhead = 5*C access C flash = C access /2 C cfg = 8 C overhead = 3*C access C flash = C access C cfg = 16 C overhead = 5*C access C flash = C access /2 C cfg = 16 C overhead = 3*C access C flash = C access C cfg = 16 C overhead = 5*C access C flash = C access /2 C cfg = 16 C overhead = 3*C access December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
20 Page 20 PFL Configuration Time Table 6. Equations for Version 7.2 of the PFL (Part 2 of 3) Flash Access Mode Configuration Data Option Flash Data Width FPP Mode PS Mode DCLK Ratio = 1 DCLK Ratio = 2 DCLK Ratio = 1 DCLK Ratio = 2 Burst Mode Normal Compressed and/or encrypted 8 bits 16 bits 8 bits 16 bits C flash = 2 C cfg = 1 C overhead = 22*C access + 8 C flash = 1 C cfg = 1 C overhead = 20*C access + 8 C flash = 2 C cfg = 4 C overhead = 22*C access + 8 C flash = 1 C cfg = 4 C overhead = 20*C access + 8 C flash = 2 C cfg = 2 C overhead = 22*C access + 8 C flash = 1 C cfg = 2 C overhead = 20*C access + 8 C flash = 2 C cfg = 8 C overhead = 22*C access + 8 C flash = 1 C cfg = 8 C overhead = 20*C access + 8 C flash = 2 C cfg = 8 C overhead = 22*C access + 8 C flash = 1 C cfg = 8 C overhead = 20*C access + 8 C flash = 2 C cfg = 8 C overhead = 22*C access + 8 C flash = 1 C cfg = 8 C overhead = 20*C access + 8 C flash = 2 C cfg = 16 C overhead = 22*C access + 8 C flash = 1 C cfg = 16 C overhead = 20*C access + 8 C flash = 2 C cfg = 16 C overhead = 22*C access + 8 C flash = 1 C cfg = 16 C overhead = 20*C access + 8 Normal 8 bits C flash = C access C cfg = 2 C overhead = 5*C access C flash = C access C cfg = 3 C overhead = 5*C access C flash = C access C cfg = 8 C overhead = 5*C access C flash = C access C cfg = 16 C overhead = 5*C access Page Mode Access (1) Normal Compressed 16 bits 8 bits C flash = C access / 2 C cfg = 1.5 C overhead = 3*C access C flash = C access C cfg = 5 C overhead = 5*C access C flash = C access / 2 C cfg = 2.5 C overhead = 3*C access C flash = C access C cfg = 8 C overhead = 5*C access C flash = C access / 2 C cfg = 8 C overhead = 3*C access C flash = C access C cfg = 8 C overhead = 5*C access C flash = C access / 2 C cfg = 16 C overhead = 3*C access C flash = C access C cfg = 16 C overhead = 5*C access Compressed 16 bits C flash = C access / 2 C cfg = 4.5 C overhead = 3*C access C flash = C access / 2 C cfg = 8 C overhead = 3*C access C flash = C access / 2 C cfg = 8 C overhead = 3*C access C flash = C access / 2 C cfg = 16 C overhead = 3*C access AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
21 PFL Configuration Time Page 21 Table 6. Equations for Version 7.2 of the PFL (Part 3 of 3) Flash Access Mode For Normal Mode and Burst Mode: C access = T access *F clk +1 Total Clock Cycles(from nreset asserted high to N bytes of data clocked out) = C overhead + max(c flash, C cfg )*N Total Configuration Time = Total Clock Cycle/ PFL Input Clock For Page Mode: C access =[(T access *F clk +1) + (T page_access *F clk *15)]/16 Total Clock Cycles (from nreset asserted high to N bytes of data clocked out) = C overhead + max (C flash, C cfg )*N Total Configuration Time = Total Clock Cycle/ PFL Input Clock Note to Table 6: Configuration Data Option Flash Data Width FPP Mode (1) Spansion page mode support is only available in the Quartus II software version 8.0 and later. PS Mode DCLK Ratio = 1 DCLK Ratio = 2 DCLK Ratio = 1 DCLK Ratio = 2 December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
22 Page 22 PFL Configuration Time The following are the configuration time calculation examples for normal mode, page mode, and burst mode: Normal mode configuration time calculation:.rbf size for EP2S15 = 577KB = 590,848 Bytes Configuration mode = FPP without data compression or encryption Flash access mode = Normal Mode Flash data bus width = 16 bits Flash access time = 100 ns PFL input Clock = 100 MHz DCLK ratio = 2 The following formulas are used in this calculation: C access = T access *F clk +1 C flash for Normal Mode = C access / 2 C cfg = 2.5 C overhead = 3*C access Total Clock Cycles = C overhead + max (C flash, C cfg )*N Total Configuration Time = Total Clock Cycle/ PFL Input Clock Substitute the values into the formulas: C access = (100ns * 100MHz) + 1 = 11 C flash = 11/2 = 5.5 C cfg = 2.5 C overhead = 3*11 = 33 Total Clock Cycles = * = Total Configuration Time at 100 MHz = / = 32.5ms AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
23 PFL Configuration Time Page 23 Page mode configuration time calculation:.rbf size for EP2S15 = 577 KB = 590,848 Bytes Configuration mode = FPP without data compression or encryption Flash access mode = Page Mode Flash data bus width = 16 bits Flash access time = 100 ns PFL input Clock = 100 MHz DCLK ratio = 2 The following formulas are used in this calculation: T page_access = 30 ns C access = [(T access *F clk +1) + (T page_access *F clk *15)]/16 C flash for Page Mode = C access / 2 C cfg = 2.5 C overhead = 3* C access Total Clock Cycles = C overhead + max (C flash, C cfg )*N Total Configuration Time = Total Clock Cycle/ PFL Input Clock Substitute the values into the formulas: C access = [((100ns * 100 MHz) + 1) + (30ns*100 MHz*15)]/16 = 3.5 C flash for Page Mode = 3.5/ 2 = 1.75 = 2 C cfg = 2.5 C overhead = 3*3.5 = 10.5 Total Clock Cycles = * = Total Configuration Time at 100 MHz = / = ms Burst mode configuration time calculation:.rbf size for EP2S15 = 577KB = 590,848 Bytes Configuration mode = FPP without data compression or encryption Flash access mode = Burst Mode Flash data bus width = 16 bits Flash access time = 100 ns PFL input Clock = 100 MHz DCLK ratio = 2 The following formulas are used in this calculation: C access = T access *F clk +1 C flash for Burst Mode = 1 C cfg = 2 C overhead = 20* C access + 8 Total Clock Cycles = C overhead + max (C flash, C cfg )*N Total Configuration Time = Total Clock Cycle/ PFL Input Clock Substitute the values into the formulas: C access = (100ns * 100 MHz) + 1 = 11 C flash = 1 C cfg = 2 C overhead = (20*11)+8 = 228 Total Clock Cycles = * = Total Configuration Time at 100 MHz = / = ms December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
24 Page 24 Using the PFL in the Quartus II Software Using the PFL in the Quartus II Software This section describes the steps for using the PFL feature with the Quartus II software. The process includes: The instantiation of the PFL megafunction in your design. Converting the.sofs that contains the configuration data for the Altera FPGA to a.pof specifically for the flash device. Programming the.pof into the flash device through the MAX II device using the Quartus II Programmer. 1 By default, all unused pins are set to ground. Altera recommends setting all unused pins to tri-state because doing otherwise may cause interference. Figure 16. Reserve All Unused Pins To set all unused pins to tri-state, complete the following steps: 1. On the Assignments menu, click Device, then select Device and Pin Options. 2. Click Unused Pins and select an item from the Reserve all unused pins pull-down list (Figure 16). AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
25 Using the PFL in the Quartus II Software Page 25 Figure 17. Quartus II Software PFL Steps Figure 17 shows the steps for using the PFL. The Quartus II software does not support simulation of the JTAG pins or the programming process of the MAX II or flash device. However, simulation is possible for the FPGA configuration but with the condition that there are proper flash vectors and FPGA responses. Examples of flash vectors are flash_addr and flash_data; examples of FPGA responses are fpga_conf_done and fpga_nstatus. Create new FPGA designs Create a new MAX II design, instantiate the PFL Megafunction in the MAX II design, and set Pin Assignments Compile and obtain MAX II.pof Compile and obtain the FPGA.sof(s) Add the.sof(s) for conversion to.pof Add the MAX II.pof to the Quartus II Programmer Convert to.pof for the Targeted Flash Add the flash.pof in the Quartus II Programmer Create the optional Jam programming file Program the MAX II and Flash Devices MAX II configures the FPGA with the configuration data from the Flash Device Instantiating the PFL Megafunction in the Quartus II Software To generate a PFL megafunction instantiation, complete the following steps: 1 Altera recommends instantiating the megafunction in your MAX II top-level design. 1. On the Tools menu, select MegaWizard Plug-In Manager. 2. Select Create a new custom megafunction variation and click Next. 3. Select the MAX II device family. 4. Select Parallel Flash Loader from the megafunction list. 5. Select the Hardware Description Language (HDL) output file type. Click Next (Verilog HDL was chosen for this example). December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
26 Page 26 Using the PFL in the Quartus II Software 6. Specify the directory and output filename. The dialog box is now similar to Figure 18. Click Next. Figure 18. Selecting the PFL Megafunction 7. Specify the megafunction settings listed in Table 7 and as shown in Figure 19 on page 28, Figure 20 on page 28, and Figure 21 on page 29. Table 7. PFL Megafunction Options Settings (Part 1 of 2) Megafunction Options Operating mode Number flash device connected Largest flash density Flash interface data width Tri-state flash bus flash_nreset Flash programming IP optimization FIFO size Description Operating mode of flash programming and FPGA configuration control in one megafunction or separate these functions into individual blocks and functionality. Specify the number of flash devices connected to the PFL. The maximum number of flash devices allowed is 16. Density of the flash device to be programmed or used for FPGA configuration. If more than one flash device is connected to the PFL, specify the largest flash device density. The flash data width is 8, 16, or 32 bits, depending on the flash device you use. For multiple flash device support, the data width must be the same for all connected flash devices. Tri-state all pins interfacing with the flash device when the PFL does not need to access the flash. Creates a flash_nreset pin in the PFL to connect to the reset pin of the flash device. A low signal resets the flash device. In burst mode, this pin is available by default. Flash programming IP is optimized for speed or area. IP optimized for speed allows faster flash programming time but the megafunction uses more logic elements. IP optimized for area means the IP requires less LEs but the flash programming time is longer. When flash programming IP is optimized for speed, the PFL uses additional LEs to implement FIFO as temporary storage for programming data during flash programming. With a larger FIFO size, programming time is shorter. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
27 Using the PFL in the Quartus II Software Page 27 Table 7. PFL Megafunction Options Settings (Part 2 of 2) Megafunction Options External clock frequency Flash access time Option-bit byte address FPGA configuration scheme Configuration failure options Byte address to retry from on configuration failure Include input to force reconfiguration Ratio between input clock and DCLK output clock Use advance read mode Description User-supplied clock frequency used by the megafunction to configure the FPGA. The clock frequency specified must not exceed two times the maximum clock (DCLK) frequency acceptable by the FPGA for configuration because the PFL can divide the frequency of the input clock maximum by two. Access time of the flash. The maximum access time required by a flash device is available in the flash datasheet. Altera recommends specifying a flash access time that is the same as or longer than the required time. Start address in which the option bits are stored in the flash memory. The start address must reside on an 8-KByte boundary. FPGA configuration scheme of either PS or FPP. Configuration behavior after configuration failure. There are three options: Halt the FPGA configuration stops completely after failure. Retry same page after failure, the PFL reconfigures the FPGA with data from the same page in which the failure occurred. Retry from fixed address the PFL reconfigures the FPGA with data from a fixed address specified in the next option field after failure. If the configuration failure option is set to Retry from fixed address, specify the flash address for the PFL to read from the reconfiguration in the case of a configuration failure. An optional reconfiguration input pin to enable a reconfiguration of the FPGA. The ratio of 1, 2, 4, or 8 between the input clock and DCLK. Ratio 8 means every eight external clocks to pfl_clk generates one fpga_dclk. Ratio 4 means every four external clocks to pfl_clk generates one fpga_dclk. Ratio 2 means every two external clocks to pfl_clk generates one fpga_dclk. Ratio 1 means every one external clock to pfl_clk generates one fpga_dclk. An option to improve the overall flash access time for the read process during the FPGA configuration: Burst mode Applicable for Numonyx P30 and P33 flash memory only. Reduce sequential read access time. Page mode Applicable for Spansion GL flash memory only. Numonyx burst mode Applicable for Numonyx M58BW flash memory only. Normal mode Applicable for all flash memory. For more information about the read-access modes of the flash device, refer to the respective flash memory websites. 8. Click Next. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
28 Page 28 Using the PFL in the Quartus II Software Figure 19. The PFL Megafunction Settings Figure 19, Figure 20, and Figure 21 show the PFL megafunction settings. Figure 20. The PFL Megafunction Settings AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
29 Using the PFL in the Quartus II Software Page 29 Figure 21. The PFL Megafunction Settings December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
30 Page 30 Using the PFL in the Quartus II Software Figure 22. List of Simulation Files Needed Figure 22 lists the simulation file needed for the megafunction. No simulation file for the PFL megafunction is listed on this page because the PFL does not have simulation files and cannot be simulated. However, simulation is possible for the FPGA configuration, but with the condition that there are proper flash vectors and FPGA responses. For more information, refer to PFL Configuration Simulation on page 41. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
31 Using the PFL in the Quartus II Software Page 31 Figure 23 shows the files that are created for the megafunction. Choose any additional file types that you want to create and click Finish. The Quartus II software generates the PFL megafunction in the form of the HDL file you specified and any additional files (if specified). Figure 23. Selecting the Output File Type for the PFL Megafunction Converting the.sofs to a.pof for the Flash Device Use the generated.sofs of the FPGA device to create a flash device.pof. You can also add other non-configuration data into the.pof by selecting the.hex that contains your data when creating the flash device.pof. To convert the.sofs to a.pof, complete these steps: 1. On the File menu, select Convert Programming Files. 2. Under the programming file type, specify Programmer Object File (.pof) and name the file accordingly (Figure 24). December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
32 Page 32 Using the PFL in the Quartus II Software Figure 24. The Convert Programming File Tab 3. Select the CFI device with the correct density for the configuration device (for example, CFI_32Mb means CFI device with 32-Mbit capacity). 4. To add the configuration data, select SOF Data under Input files to convert. Click Add File and browse to the.sofs you want to add. You can place more than one.sof into the same page if you intend to configure a chain of FPGAs. The order of the.sofs must follow the order of the devices in the chain. If you want to store the data from other.sofs into another page, click Add.sofs Data. Add the.sofs to the new page. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
33 Using the PFL in the Quartus II Software Page Select SOF Data and click Properties to set the page number and name. Figure 25 shows the SOF Data Properties dialog box. Figure 25. SOF Data Properties 6. Under Address mode for selected pages, select Auto to let the Quartus II software automatically set the start address for that page. 7. Select Block to specify the start and end addresses, or select Start to specify the start address only. Click OK. 8. You can also store.hex user data in the flash device: a. In the Input files to convert sub-window of the Convert Programming Files window (Figure 24 on page 32), select Add Hex Data. b. In the Add Hex Data dialog box, choose either absolute or relative addressing mode (Figure 26). If you select absolute addressing mode, the data in the.hex is programmed into the flash device at the exact same address location listed in the.hex. If you select relative addressing mode, you are allowed to specify a start address. The.hex data is programmed into the flash with the specific start address, and the differences between the addresses are kept. If no address is specified, the Quartus II software selects an address. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
34 Page 34 Using the PFL in the Quartus II Software Figure 26. Add Hex Data 9. Click Options to specify the start address in which the option bits are stored. This start address must be identical to the address specified when creating the PFL megafunction. Ensure that the option-bit sector does not overlap with the configuration data pages and the start address resides on an 8-KByte boundary. 10. To generate programming files with either compressed or encrypted data or with both compressed and encrypted data, select.sof under SOF Data and click Properties. Turn on either the Compression or the Generate encrypted bitstream check box, or both. f Encrypted configuration files are supported by the Stratix II and Stratix III device families. For more information about the design security feature of the Stratix II device family, refer to AN 341: Using the Design Security Feature in Stratix II and Stratix II GX Devices. 11. Click OK to create the.pof. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
35 Using the PFL in the Quartus II Software Page 35 Programming MAX II and Flash Devices Figure 27. Attaching Flash Device With the Quartus II Programmer you can program the MAX II device and flash device in a single step or separate steps. With a single step, first program the MAX II device, then the flash device, as follows: 1. Open the Quartus II Programmer window and click Add File to add the.pof for the MAX II device. 2. Right-click the MAX II.pof and click Attach Flash Device, as shown in Figure 27. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
36 Page 36 Using the PFL in the Quartus II Software 3. Select the density of the flash device to be programmed in the Flash Device pop-up menu (Figure 28). Figure 28. Flash Device Selection Figure 29. Attaching the Flash.pof 4. Right-click the flash device density added and click Change File (Figure 29). 5. Select the.pof generated for the flash device. The.pof for the flash device is attached to the.pof of the MAX II device. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
37 Using the PFL in the Quartus II Software Page Add other programming files if your chain has other devices. 7. Check the boxes under the Program/Configure column for the.pof that was added (Figure 30) and click Start to program the MAX II device and flash device. The Quartus II Programmer allows you to program, verify, erase, blank-check, or examine the configuration data page, the user data page, and the option-bit sector separately, provided the MAX II device contains the PFL megafunction. 1 The Quartus II Programmer erases the entire flash device if the the flash.pof is selected before programming. To prevent the Quartus II Programmer from erasing other sectors in the flash device, select only the pages,.hex data, and option bits. 1 If you intend to use the flash device to store user data only, pull the pfl_nreset pin low at all times to prevent FPGA configuration. Figure 30. Programming the MAX II and Flash Device December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
38 Page 38 Multiple Flash Programming Multiple Flash Programming Figure 31. PFL Megawizard The PFL supports multiple flash programming of up to 16 flash devices. This feature allows the PFL to connect to multiple flash devices to perform flash programming sequentially. PFL multiple flash programming supports both speed and area mode flash programming. For the FPGA configuration, only the content in the flash device connected to the nce[0] pin is used as configuration data. To use the multiple flash programming feature, complete the following steps: 1. Select the number of flash devices connected to the MAX II device in the PFL MegaWizard Plug-In Manager (Figure 31). 2. Connect the nce pins of the PFL to the nce pins of the flash device in the block diagram. Compile the design. 3. Click Auto Detect in the Quartus II programmer. The MAX II device appears as the main item, followed by a list of CFI flash devices detected as secondary items in the device tree (Figure 32). AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
39 Multiple Flash Programming Page 39 Figure 32. Auto Detect Flash Device December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
40 Page 40 Creating Jam Files for MAX II and Flash Device Programming Figure 33. Flash Device with.pof 4. Attach the flash device.pof to each of the flash device (Figure 33). 5. Check the boxes in the Quartus II Programmer for the necessary operation and click Start. Creating Jam Files for MAX II and Flash Device Programming To use the Jam Standard Test and Programming Language (STAPL) (.jam) programming files to program the MAX II device and flash device, complete these steps: 1. Open the Quartus II Programmer and add in the MAX II.pof and flash.pof (follow Steps 1 through 6 in Programming MAX II and Flash Devices on page 35). 2. On the File menu, point to Create/Update and click Create JAM, SVF, or ISC File. 3. Enter a name and select the file format (.jam). Click OK. Use the.jams with the Quartus II Programmer or quartus_jli executable. f For more information about the quartus_jli executable, refer to AN 425: Using Command-Line Jam STAPL Solution for Device Programming. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
41 PFL Configuration Simulation Page 41 PFL Configuration Simulation Figure 34. PFL Megafunction Setup With the correct simulation vectors, you can simulate the configuration portion of the PFL using the Quartus II Simulator to understand the configuration behavior of the PFL. Use the simulation with the Quartus II Simulator with the Vector Waveform File (.vwf) and a simple VHDL file that represents a flash device. This VHDL file is available with this application note. With the correct input vectors supplied to the input of the PFL, you can see the correct output from the megafunction in the simulation waveform. This section describes a simulation for the PFL configuration. Figure 34 and Figure 35 show the PFL megafunction setup for this simulation. Before you start the simulation, you must first instantiate the PFL megafunction and create a symbol for your flash device VHDL file in your design if you use block diagrams as the design entry. This simulation uses block diagrams as the design entry. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
42 Page 42 PFL Configuration Simulation Figure 35. PFL Megafunction Setup The flash device VHDL file contains the following settings: Flash device density: 64 Mbit Option bits: 0x1FE000 Data width: 8 bits You can change the flash device density by editing the VHDL file manually. To create a symbol for this file, on the File menu, point to Create/Update and click Create Symbol Files for Current File. Make sure the VHDL file is open when you create the symbol. The flash device symbol appears in the Symbol window. 1 The flash memory VHDL file is for normal mode configuration only. In Block Diagram/Schematic File in the Quartus II software, connect the addr, do, and nread pins to flash_addr, flash_data, and noe of the PFL megafunction, as shown in Figure 36. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
43 PFL Configuration Simulation Page 43 Figure 36. PFL Connection You can start creating the.vwf after instantiating the megafunction, connecting all the ports to input, output, or bidirectional pins, and compiling your design. The new.vwf must have an end time of at least 200 µs. f For more information about how to create a new.vwf, refer to the Quartus II Simulator chapter in volume 3 of the Quartus II Handbook. Table 8. Input Vector Settings Table 8 lists the input vectors assigned to the input ports of the PFL in the.vwf for this simulation. Input pfl_clk fpga_conf_done fpga_nstatus Setting 36-MHz clock input. The configuration is not complete when the input is low. The device is ready for configuration when the input is high. fpga_pgm[2:0] For the PFL to read from page 0, set the input to 000. pfl_flash_access_granted pfl_nreset pfl_nreconfigure flash_data The PFL can access the flash when the input is high. The PFL is out of the reset state when the input is high. Initiates FPGA reconfiguration when the input is high. Bidirectional bus that contains the data read out for the option bits and the FPGA configuration data. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
44 Page 44 PFL Configuration Simulation Figure 37. Simulation Input Vectors Figure 37 shows the input vectors for this simulation. The option bit start address is 0x1FE000, which is specified when the PFL megafunction is instantiated. Initially, the PFL reads from address 0x1FE0080, which is the last address of the option bit sector. This address stores the version information of the.pof used for programming the flash and does not affect the configuration process. Because fpga_pgm[2..0] is set to 000, the PFL reads from address 0x1FE000 to 1FE003 to get the start and end addresses for page 0 and also the page-valid bit, which is the LSB in address 0x1FE000. For the configuration to proceed, the page-valid bit must be 0. During the time the PFL reads from the flash, the PFL asserts the flash_nce and flash_noe signals low and the pfl_flash_access_request signal high. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
45 PFL Configuration Simulation Page 45 Figure 38. PFL Reading the Option Bits Figure 38 shows the PFL reading the option bits from the flash before configuration starts. After reading the option bits for page 0, there is a waiting period before configuration starts. Because the flash_data bus contains 0xZZ after the option bits are read, the configuration data read out from the flash is 0xZZ. Configuration starts when fpga_dclk starts to toggle and fpga_data[0] is the configuration data being sent to the FPGA. Because the MSB of the flash contains the LSB of the configuration data, the simulation waveform shows that the configuration data is the toggle data of the flash data with eight fpga_dclk pulses. During configuration, the PFL asserts the flash_nce and flash_noe signals low and the pfl_flash_access_request signal high. December 2009 Altera Corporation AN 386: Using the Parallel Flash Loader with the Quartus II Software
46 Page 46 PFL Configuration Simulation Figure 39. PFL Configuration Starts Figure 39 shows the start of the configuration. When the configuration starts, the flash_data bus contains 0x11. The configuration data is the toggle of the flash_data, 0x88. The configuration process continues until you set the fpga_conf_done signal to high, indicating configuration is complete. The PFL then asserts the flash_nce and flash_noe signals high and the pfl_flash_access_request signal low, indicating the PFL does not read from the flash. 1 The nconfig signal in Figure 39 does not show its actual behavior. The nconfig signal must be pulled high by an external resistor. For more information, refer to the Configuration chapter of the FPGA handbook. AN 386: Using the Parallel Flash Loader with the Quartus II Software December 2009 Altera Corporation
Using the Parallel Flash Loader with the Quartus II Software
Using the Parallel Flash Loader with the Quartus II Software May 2008, ver. 4.1 Application Note 386 Introduction With the density of FPGAs increasing, the need for larger configuration storage is also
More informationParallel Flash Loader Megafunction User Guide
Parallel Flash Loader Megafunction User Guide UG-01082-3.2 User Guide This user guide describes the parallel flash loader (PFL) megafunction and provides information about programming flash memory, configuring
More informationIntel FPGA Parallel Flash Loader IP Core User Guide
Intel FPGA Parallel Flash Loader IP Core User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1.... 3 1.1. Features...3
More informationParallel Flash Loader IP Core User Guide
2016.06.01 UG-01082 Subscribe This document describes how to instantiate the Parallel Flash Loader (PFL) IP core in your design, programming flash memory, and configuring your FPGA from the flash memory.
More informationSection 3. System Integration
Section 3. System Integration This section includes the following chapters: Chapter 9, Configuration, Design Security, and Remote System Upgrades in the Cyclone III Device Family Chapter 10, Hot-Socketing
More information9. Configuration, Design Security, and Remote System Upgrades in Arria II Devices
July 2012 AIIGX51009-4.3 9. Configuration, Design Security, and Remote System Upgrades in Arria II Devices AIIGX51009-4.3 This chapter describes the supported configuration schemes for Arria II devices,
More information10. Configuration, Design Security, and Remote System Upgrades in Stratix IV Devices
September 2012 SIV51010-3.5 10. Configuration, Design Security, and Remote System Upgrades in Stratix IV Devices SIV51010-3.5 This chapter describes the configuration, design security, and remote system
More information14. Using Altera Enhanced Configuration Devices
14. Using Altera Enhanced Configuration Devices S52014-1.0 Chapter 14, Using Altera Enhanced Configuration Devices replaces AN 218: Using Altera Enhanced Configuration Devices. Introduction Concurrent
More information4. Configuring Cyclone II Devices
4. Configuring Cyclone II Devices CII51013-2.0 Introduction Cyclone II devices use SRAM cells to store configuration data. Since SRAM memory is volatile, configuration data must be downloaded to Cyclone
More informationSection I. FPGA Configuration Devices
Section I. FPGA Configuration Devices This section provides information on Altera configuration devices. The following chapters contain information about how to use these devices, feature descriptions,
More informationConfiguring Cyclone FPGAs
Configuring Cyclone FPGAs March 2003, ver. 1.1 Application Note 250 Introduction You can configure Cyclone TM FPGAs using one of several configuration schemes, including the new active serial (AS) configuration
More informationSection II. Software Settings
Section II. Software Settings Configuration options can be set in the Quartus II and MAX+PLUS II development software. You can also specify which configuration file formats Quartus II or MAX+PLUS II generates.
More informationAN 521: Cyclone III Active Parallel Remote System Upgrade Reference Design
AN 521: Cyclone III Active Parallel Remote System Upgrade Reference Design August 2009 AN-521-1.1 Introduction f f f Among the difficult challenges that system designers face are shortened design cycles,
More information9. Configuration, Design Security, and Remote System Upgrades in Stratix V Devices
January 2011 SV51010-1.2 9. Configuration, Design Security, and Remote System Upgrades in Stratix V Devices SV51010-1.2 This chapter contains information about the Stratix V supported configuration schemes,
More information5. Configuring Cyclone FPGAs
5. Configuring Cyclone FPGAs C51013-1.5 Introduction You can configure Cyclone TM FPGAs using one of several configuration schemes, including the active serial (AS) configuration scheme. This scheme is
More information13. Configuring Stratix & Stratix GX Devices
13. Configuring Stratix & Stratix GX Devices S52013-2.0 Introduction You can configure Stratix TM and Stratix GX devices using one of several configuration schemes. All configuration schemes use either
More informationConfiguring SRAM-Based LUT Devices
Configuring SRAM-Based LUT Devices February 2002, ver. 3.0 Application Note 116 Introduction APEX TM II, APEX 20K, Mercury TM, ACEX TM 1K, FLEX 10K, and FLEX 6000 devices can be configured using one of
More information4. Serial Configuration Devices (EPCS1, EPCS4, EPCS16, & EPCS64) Features
4. Serial Configuration Devices (EPCS1, EPCS4, EPCS16, & EPCS64) Features C51014-1.5 Introduction The serial configuration devices provide the following features: 1-, 4-, 16-, and 64-Mbit flash memory
More informationEl Camino Training - Engineering - Consultancy
El Camino Training - Engineering - Consultancy SD/MMC Loader FPGA Configuration IP General Description As Altera introduces higher-density programmable logic devices (PLDs) to the market, the size of the
More informationConfiguration Handbook, Volume 2
Configuration Handbook, Volume 2 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com CF5V2-2.2 Copyright 2005 Altera Corporation. All rights reserved. Altera, The Programmable
More informationConfiguring APEX 20K, FLEX 10K & FLEX 6000 Devices
Configuring APEX 20K, FLEX 10K & FLEX 6000 Devices December 1999, ver. 1.02 Application Note 116 Introduction APEX TM 20K, FLEX 10K, and FLEX 6000 devices can be configured using one of six configuration
More information11. Configuring Arria GX Devices
11. Configuring Arria GX Devices AGX52011-1.2 Introduction Arria GX II devices use SRAM cells to store configuration data. Because SRAM memory is volatile, configuration data must be downloaded to Arria
More information12. Remote System Configuration with Stratix & Stratix GX Devices
12. Remote System Configuration with Stratix & Stratix GX Devices S52015-3.1 Introduction Altera Stratix and Stratix GX devices are the first programmable logic devices (PLDs) featuring dedicated support
More information4. Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet
4. Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet C51014-3.0 Introduction The serial configuration devices provide the following features: 1-, 4-, 16-, 64-, and 128-Mbit
More informationConfiguration via Protocol (CvP) Implementation in Altera FPGAs User Guide
Configuration via Protocol (CvP) Implementation in Altera FPGAs User Guide Configuration via Protocol (CvP) Implementation in Altera FPGAs User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com
More informationEnhanced Configuration Devices
April 2002, ver. 2.0 Enhanced Configuration Devices (EPC4, EPC8 & EPC16) Data Sheet Features Enhanced configuration devices include EPC4, EPC8, and EPC16 devices 4-, 8-, and 16-Mbit Flash memory devices
More informationByteBlaster II Parallel Port Download Cable
ByteBlaster II Parallel Port Download Cable December 2002, Version 1.0 Data Sheet Features Allows PC users to perform the following functions: Program MAX 9000, MAX 7000S, MAX 7000AE, MAX 7000B, MAX 3000A,
More informationUsing the Nios Development Board Configuration Controller Reference Designs
Using the Nios Development Board Controller Reference Designs July 2006 - ver 1.1 Application Note 346 Introduction Many modern embedded systems utilize flash memory to store processor configuration information
More informationConfiguring FLEX 8000
Configuring FLEX 8000 Devices June 2000, ver. 3.03 Application Note 33 Introduction The architecture of Altera s Flexible Logic Element MatriX (FLEX) devices supports several different configuration schemes
More information3. Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet
June 2011 C51014-3.4 3. Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet C51014-3.4 Features The serial configuration devices provide the following features: 1-, 4-,
More information9. Building Memory Subsystems Using SOPC Builder
9. Building Memory Subsystems Using SOPC Builder QII54006-6.0.0 Introduction Most systems generated with SOPC Builder require memory. For example, embedded processor systems require memory for software
More informationIntel MAX 10 User Flash Memory User Guide
Intel MAX 10 User Flash Memory User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Intel MAX 10 User Flash Memory
More informationRemote Update Intel FPGA IP User Guide
Remote Update Intel FPGA IP User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Remote Update Intel FPGA IP User Guide... 3
More informationIntel Stratix 10 Configuration User Guide
Intel Stratix 10 Configuration User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Intel Stratix 10 Configuration
More informationCHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8
CONTENTS CHAPTER 1 Introduction of the tnano Board... 2 1.1 Features...2 1.2 About the KIT...4 1.3 Getting Help...4 CHAPTER 2 tnano Board Architecture... 5 2.1 Layout and Components...5 2.2 Block Diagram
More information9. SEU Mitigation in Cyclone IV Devices
9. SEU Mitigation in Cyclone IV Devices May 2013 CYIV-51009-1.3 CYIV-51009-1.3 This chapter describes the cyclical redundancy check (CRC) error detection feature in user mode and how to recover from soft
More informationMAX 10 User Flash Memory User Guide
MAX 10 User Flash Memory User Guide Subscribe Last updated for Quartus Prime Design Suite: 16.0 UG-M10UFM 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents MAX 10 User Flash Memory
More informationIntel Stratix 10 Configuration User Guide
Intel Stratix 10 Configuration User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Intel Stratix 10 Configuration
More informationLaboratory Exercise 5
Laboratory Exercise 5 Bus Communication The purpose of this exercise is to learn how to communicate using a bus. In the designs generated by using Altera s SOPC Builder, the Nios II processor connects
More informationSerial Configuration (EPCS) Devices Datasheet
Serial Configuration (EPCS) Devices Datasheet C51014-4.0 Datasheet This datasheet describes serial configuration (EPCS) devices. Supported Devices Table 1. Altera EPCS Devices Device Table 1 lists the
More informationTutorial for Altera DE1 and Quartus II
Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development
More informationConfiguration Devices for
Configuration Devices for SRAM-Based LUT Devices February 2002, ver. 12.1 Data Sheet Features Serial device family for configuring APEX TM II, APEX 20K (including APEX 20K, APEX 20KC, and APEX 20KE), Mercury
More informationGeneric Serial Flash Interface Intel FPGA IP Core User Guide
Generic Serial Flash Interface Intel FPGA IP Core User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Generic
More information4. Configuration Devices for SRAM-Based LUT Devices Data Sheet
December 2009 CF52005-2.4 4. Configuration Devices for SRAM-Based LUT Devices Data Sheet CF52005-2.4 Features This chapter describes configuration devices for SRAM-based LUT Devices. Configuration device
More information2. SDRAM Controller Core
2. SDRAM Controller Core Core Overview The SDRAM controller core with Avalon interface provides an Avalon Memory-Mapped (Avalon-MM) interface to off-chip SDRAM. The SDRAM controller allows designers to
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated
More information8. Remote System Upgrades with Stratix II and Stratix II GX Devices
8. Remote System Upgrades with Stratix II and Stratix II GX Devices SII52008-4.5 Introduction System designers today face difficult challenges such as shortened design cycles, evolving standards, and system
More informationStratix FPGA Family. Table 1 shows these issues and which Stratix devices each issue affects. Table 1. Stratix Family Issues (Part 1 of 2)
January 2007, ver. 3.1 Errata Sheet This errata sheet provides updated information on Stratix devices. This document addresses known issues and includes methods to work around the issues. Table 1 shows
More informationByteBlaster II Download Cable User Guide
ByteBlaster II Download Cable User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com UG-BBII81204-1.1 P25-10324-00 Document Version: 1.1 Document Date: December 2004 Copyright
More informationAN 370: Using the Intel FPGA Serial Flash Loader with the Intel Quartus Prime Software
AN 370: Using the Intel FPGA Flash Loader with the Intel Quartus Prime Software Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Using the Intel FPGA Flash Loader IP Core
More informationEPCQA Serial Configuration Device Datasheet
EPCQA Serial Configuration Device Datasheet CF52014 2017.08.02 Subscribe Send Feedback Contents Contents 1.1 Supported Devices...3 1.2 Features...3 1.3 Operating Conditions...4 1.3.1 Absolute Maximum Ratings...
More informationCustomizable Flash Programmer User Guide
Customizable Flash Programmer User Guide Subscribe Latest document on the web: PDF HTML Contents Contents 1. Customizable Flash Programmer Overview... 3 1.1. Device Family Support...3 1.2. Software Support...
More informationDKAN0011A Setting Up a Nios II System with SDRAM on the DE2
DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 04 November 2009 Introduction This tutorial details how to set up and instantiate a Nios II system on Terasic Technologies, Inc. s DE2 Altera
More information5. Configuration Devices for SRAM-Based LUT Devices Data Sheet
5. Configuration Devices for SRAM-Based LUT Devices Data Sheet CF52005-2.1 Features Configuration device family for configuring Stratix series, Cyclone TM series, APEX TM II, APEX 20K (including APEX 20K,
More informationUsing the Serial FlashLoader With the Quartus II Software
Using the Serial FlashLoader With the Quartus II Software July 2006, ver. 3.0 Application Note 370 Introduction Using the Joint Test Action Group () interface, the Altera Serial FlashLoader (SFL) is the
More informationConfiguration Devices
Configuration Devices for APEX & FLEX Devices November 1999, ver. 10.03 Data Sheet Features Serial device family for configuring FLEX and APEX TM devices Easy-to-use 4-pin interface to FLEX and APEX devices
More informationExcalibur Solutions Using the Expansion Bus Interface. Introduction. EBI Characteristics
Excalibur Solutions Using the Expansion Bus Interface October 2002, ver. 1.0 Application Note 143 Introduction In the Excalibur family of devices, an ARM922T processor, memory and peripherals are embedded
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based
More informationTerasic DE0 Field Programmable Gate Array (FPGA) Development Board
Lecture FPGA-01 DE0 FPGA Development Board and Quartus II 9.1 FPGA Design Software Terasic DE0 Field Programmable Gate Array (FPGA) Development Board 1 May 16, 2013 3 Layout and Components of DE0 May 16,
More informationWhite Paper Using the MAX II altufm Megafunction I 2 C Interface
White Paper Using the MAX II altufm Megafunction I 2 C Interface Introduction Inter-Integrated Circuit (I 2 C) is a bidirectional two-wire interface protocol, requiring only two bus lines; a serial data/address
More information1. SDRAM Controller Core
1. SDRAM Controller Core NII51005-7.2.0 Core Overview The SDRAM controller core with Avalon interface provides an Avalon Memory-Mapped (Avalon-MM) interface to off-chip SDRAM. The SDRAM controller allows
More informationMicrotronix Firefly II Module
Microtronix Firefly II Module USER MANUAL Revision 1.2.1 4056 Meadowbrook Dr. Unit 126 London, ON Canada N6L 1E3 www.microtronix.com This datasheet provides information regarding the Firefly II module.
More information4. Hot Socketing & Power-On Reset
4. Hot Socketing & Power-On Reset CII51004-3.1 Introduction Cyclone II devices offer hot socketing (also known as hot plug-in, hot insertion, or hot swap) and power sequencing support without the use of
More informationIntel Cyclone 10 LP Device Family Pin Connection Guidelines
Intel Cyclone 10 LP Device Family Pin Connection Guidelines Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents... 3 Intel Cyclone 10 LP Pin Connection Guidelines...4 Clock and
More informationConfiguration via Protocol (CvP) Implementation in V-series FPGA Devices User Guide
Configuration via Protocol (CvP) Implementation in V-series FPGA Devices User Guide Subscribe UG-01101 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 CvP Overview Contents Overview... 1-1
More informationLaboratory Exercise 8
Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount
More informationError Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide
Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide 11 Innovation Drive San Jose, CA 95134 www.altera.com Software Version 8. Document Version: 2. Document Date: June 28
More informationSection III. Transport and Communication
Section III. Transport and Communication This section describes communication and transport peripherals provided for SOPC Builder systems. This section includes the following chapters: Chapter 16, SPI
More informationUsing the Serial FlashLoader with the Quartus II Software
Using the Serial FlashLoader with the Quartus II Software AN-370-3.2 Application Note Introduction Using the interface, the Altera Serial FlashLoader (SFL) is the first in-system programming solution for
More informationIntroduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction
Introduction to the Altera SOPC Builder Using Verilog Designs 1 Introduction This tutorial presents an introduction to Altera s SOPC Builder software, which is used to implement a system that uses the
More informationAT45DB321E. Features. 32-Mbit DataFlash (with Extra 1-Mbits), 2.3V Minimum SPI Serial Flash Memory
32-Mbit DataFlash (with Extra 1-Mbits), 2.3V Minimum SPI Serial Flash Memory Features Single 2.3V - 3.6V supply Serial Peripheral Interface (SPI) compatible Supports SPI modes 0 and 3 Supports RapidS operation
More informationALTERA FPGAs Architecture & Design
ALTERA FPGAs Architecture & Design Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with QUARTUS-II design software. The course combines
More informationUniversity of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA
University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring 2007 Lab 1: Using Nios 2 processor for code execution on FPGA Objectives: After the completion of this lab: 1. You will understand
More informationPRELIMINARY DATASHEET
AT45DB321E 32-Mbit DataFlash (with Extra 1-Mbits), 2.3V or 2.5V Minimum SPI Serial Flash Memory Features PRELIMINARY DATASHEET See Errata Section 30. Single 2.3V - 3.6V or 2.5V - 3.6V supply Serial Peripheral
More informationStratix II FPGA Family
October 2008, ver. 2.1 Errata Sheet Introduction This errata sheet provides updated information on Stratix II devices. This document addresses known device issues and includes methods to work around the
More information16. Design Debugging Using In-System Sources and Probes
June 2012 QII53021-12.0.0 16. Design Debugging Using In-System Sources and Probes QII53021-12.0.0 This chapter provides detailed instructions about how to use the In-System Sources and Probes Editor and
More informationAN822: Intel FPGA Configuration Device Migration Guideline
AN822: Intel FPGA Configuration Device Migration Guideline Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Intel FPGA Configuration Device Migration Guideline...3 1.1 Migration
More informationAT45DB041E. 4-Mbit DataFlash (with Extra 128-Kbits), 1.65V Minimum SPI Serial Flash Memory. Features
4-Mbit DataFlash (with Extra 128-Kbits), 1.65V Minimum SPI Serial Flash Memory Features Single 1.65V - 3.6V supply Serial Peripheral Interface (SPI) compatible Supports SPI modes 0 and 3 Supports RapidS
More informationEPCQ-A Serial Configuration Device Datasheet
EPCQ-A Serial Configuration Device Datasheet Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1.... 4 1.1. Supported Devices...4 1.2. Features...4 1.3. Operating Conditions...5
More information11. SEU Mitigation in Stratix IV Devices
11. SEU Mitigation in Stratix IV Devices February 2011 SIV51011-3.2 SIV51011-3.2 This chapter describes how to use the error detection cyclical redundancy check (CRC) feature when a Stratix IV device is
More informationAN822: Intel Configuration Device Migration Guideline
AN822: Intel Configuration Device Migration Guideline Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Intel Configuration Device Migration Guideline...3 1.1 Migration Considerations...3
More informationAT45DQ321. Features. 32-Mbit DataFlash (with Extra 1-Mbits), 2.3V Minimum SPI Serial Flash Memory with Dual-I/O and Quad-I/O Support
32-Mbit DataFlash (with Extra 1-Mbits), 2.3V Minimum SPI Serial Flash Memory with Dual-I/O and Quad-I/O Support Features Single 2.3V - 3.6V supply Serial Peripheral Interface (SPI) compatible Supports
More informationMICROTRONIX AVALON MULTI-PORT FRONT END IP CORE
MICROTRONIX AVALON MULTI-PORT FRONT END IP CORE USER MANUAL V1.0 Microtronix Datacom Ltd 126-4056 Meadowbrook Drive London, ON, Canada N5L 1E3 www.microtronix.com Document Revision History This user guide
More informationConfiguration via Protocol (CvP) Implementation in Altera FPGAs User Guide
Configuration via Protocol (CvP) Implementation in Altera FPGAs User Guide Subscribe UG-01101 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Configuration via Protocol (CvP) Implementation
More informationUsing the Nios II Configuration Controller Reference Designs
Using the Nios II Controller Reerence Designs AN-346-1.2 March 2009 Introduction This application note describes coniguration controller reerence designs or Nios II systems using Altera Stratix II, Cyclone
More informationLaboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication
Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.
More information8. Migrating Stratix II Device Resources to HardCopy II Devices
8. Migrating Stratix II Device Resources to HardCopy II Devices H51024-1.3 Introduction Altera HardCopy II devices and Stratix II devices are both manufactured on a 1.2-V, 90-nm process technology and
More informationLOW COST CONFIGURATION OF SRAM BASED ALTERA DEVICES
LOW COST CONFIGURATION OF SRAM BASED ALTERA DEVICES Guillermo A. Jaquenod [1] and Marisa R. De Giusti [2] [1] Profesor Titular, Facultad de Ingeniería, Universidad Nacional del Centro de la Provincia de
More informationReal-Time ISP and ISP Clamp for Altera CPLDs
Real-Time ISP and ISP Clamp for Altera CPLDs AN-630-1.0 Application Note This application note describes the real-time in-system programmability (ISP) and ISP Clamp programming modes and their usage in
More informationDDR and DDR2 SDRAM Controller Compiler User Guide
DDR and DDR2 SDRAM Controller Compiler User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Operations Part Number Compiler Version: 8.1 Document Date: November 2008 Copyright 2008 Altera
More informationALTDQ_DQS2 Megafunction User Guide
ALTDQ_DQS2 Megafunction ALTDQ_DQS2 Megafunction 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01089-2.2 Feedback Subscribe 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE,
More information3. Mapping Stratix III Device Resources to HardCopy III Devices
3. Mapping Resources to s HIII52003-2.0 Introduction This chapter discusses the available options for mapping from a Stratix III device to a HardCopy III device. ASICs have companion device support in
More informationPCI 9x56/FPGA AN. Programming FPGA s through PLX PCI 9x56 Devices Application Note. General Description
PCI 9x56/FPGA AN June 7, 2004 Version 1.0 Programming FPGA s through PLX PCI 9x56 Devices Application Note General Description This application note discusses two methods for configuring FPGA s connected
More information64-megabit 2.7V Dual-interface DataFlash
Features Single 2.7V - 3.6V Supply Dual-interface Architecture RapidS Serial Interface: 66MHz Maximum Clock Frequency SPI Compatible Modes 0 and 3 Rapid8 8-bit Interface: 50MHz Maximum Clock Frequency
More informationAN 547: Putting the MAX II CPLD in Hibernation Mode to Achieve Zero Standby Current
AN 547: Putting the MAX II CPLD in Hibernation Mode to Achieve Zero Standby Current January 2009 AN-547-10 Introduction To save power, the MAX II CPLD can be completely powered down into hibernation mode
More informationAN 367: Implementing PLL Reconfiguration in Stratix II Devices
AN 367: Implementing PLL Reconfiguration in Stratix II Devices July 2012 AN-367-2.2 Introduction Phase-locked loops (PLLs) use several divide counters and different voltage-controlled oscillator (VCO)
More informationPractical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim
Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim Ray Duran Staff Design Specialist FAE, Altera Corporation 408-544-7937
More informationAT25PE40. 4-Mbit DataFlash-L Page Erase Serial Flash Memory ADVANCE DATASHEET. Features
4-Mbit DataFlash-L Page Erase Serial Flash Memory Features ADVANCE DATASHEET Single 1.65V - 3.6V supply Serial Peripheral Interface (SPI) compatible Supports SPI modes 0 and 3 Supports RapidS operation
More information2. System Interconnect Fabric for Memory-Mapped Interfaces
2. System Interconnect Fabric for Memory-Mapped Interfaces QII54003-8.1.0 Introduction The system interconnect fabric for memory-mapped interfaces is a high-bandwidth interconnect structure for connecting
More informationDesign of Embedded Hardware and Firmware
Design of Embedded Hardware and Firmware Introduction on "System On Programmable Chip" NIOS II Avalon Bus - DMA Andres Upegui Laboratoire de Systèmes Numériques hepia/hes-so Geneva, Switzerland Embedded
More information