Designing with ESBs in APEX II Devices
|
|
- Ross Maximillian Osborne
- 5 years ago
- Views:
Transcription
1 Designing with ESBs in APEX II Devices March 2002, ver. 1.0 Application Note 179 Introduction In APEX TM II devices, enhanced embedded system blocks (ESBs) support memory structures, such as single-port and dual-port RAM. Additionally, in APEX II devices, ESBs support bidirectional dual-port RAM. In this mode, each ESB has two ports that allow two different read or write operations simultaneously. In APEX II devices, the ESB can be split into two separate single-port 2K RAM blocks. This application note explains the basic operation of the APEX II ESB, how to implement different memory configurations in ESBs, some applications using ESBs, and the initialization file in the Altera Quartus II software. This application note also includes a timing diagram for each memory configuration type. ESB Memory Configurations & Features This application note discusses the following ESB memory configurations: single-port RAM dual-port RAM dual-port+ RAM (bidirectional dual-port RAM) ROM FIFO Single-Port RAM Configuration The single-port RAM configuration is shown in Figure 1 and has the following features: Uses one port that supports either one read or one write. Read during write always uses the same address for reading and writing. The ESB only uses the write clock. As a result, the output depends on the ESB synchronous write cycle time, which is slower than the read cycle time. Therefore, the read cycle runs at a slower frequency as compared to the dual-port RAM configuration. Data bus widths definable as 1, 2, 4, 8, or 16 bits for input and output buses. Registered inputs and outputs each have clock, clock enable, and clear ports. Altera Corporation 1 A-AN
2 Figure 1. Single-Port Memory Configuration in an ESB Partitioning the ESB into two separate 2K-bit single-port RAM blocks increases the total number of memory blocks per device. Each 2K RAM block has its own read and write port, but the maximum data-width is 8-bits. The 2K RAM configurations are 256 8, 512 4, and See Figure 2. The 2K RAM divisions must have the same configuration. Figure 2. Single-Port Partitioned RAM in an ESB Dual-Port RAM Configuration The dual-port RAM configuration is shown in Figure 3 and has the following features: The ESB can simultaneously read and write data. The ESB supports variable-width data ports for reading and writing to the RAM. For example, the ESB can be written in 1-bit mode at port A while being read in 16-bit mode from port B. Table 1 lists the supported variable width configurations for an ESB in dual-port mode. The read and write address ports have independent clock, clock enable, and clear ports. Uses both the read and write clock. When performing synchronous read and writes, the read cycle time is faster than the write cycle time. The output depends on the read cycle time, so the performance is higher than for the single-port RAM configuration, which depends on the write cycle time. 2 Altera Corporation
3 Figure 3. Dual-Port RAM Memory Configuration in an ESB Table 1. Variable Width Configuration for Dual-Port RAM Read Port Width Write Port Width 1 bit 2 bits, 4 bits, 8 bits, or 16 bits 2 bits, 4 bits, 8 bits, or 16 bits 1 bit Bidirectional Dual-Port RAM Configuration The bidirectional dual-port RAM configuration is shown in Figure 4 and has the following features: Two independent ports, port A and port B Can simultaneously perform two reads, two writes, or one read and one write Data bus width definable as 1, 2, 4, or 8 bits Independent clock, clock enable, and clear set signals for port A and port B Figure 4. Bidirectional Dual-Port RAM Configuration in an ESB Altera Corporation 3
4 FIFO Buffer Configuration The FIFO buffer configuration is shown in Figures 5 and 6 and has the following features: Data transferred between design subsystems uses FIFO memory buffers. For instance, FIFO buffers hold data that is driven from multiple sources to a shared bus. When the bus is busy, the FIFO buffer stores the data; when the bus is not busy, the FIFO buffer sends the data to the bus. An ESB can implement a single- or dual-clock FIFO to buffer data between systems communicating at the same or different clock frequencies. Figure 5. Single Clock FIFO Figure 6. Dual Clock FIFO 4 Altera Corporation
5 ROM Configuration The ROM configuration is shown in Figure 7 and has the following features: The memory contents are written during configuration before the device enters user mode. Allows registered or bypassed outputs. The read operation is identical to the single-port RAM. Figure 7. ROM Memory Configuration in an ESB Altera Corporation 5
6 ESB Read/Write Combinations An ESB has two separate ports: A and B. Different modes use different combination for these two ports. Table 2 shows read/write and width/depth for different memory modes in the ESB. These events occur within one clock cycle. Table 2. Read/Write & Width/Depth Combinations in an APEX II ESB Mode Port A Port B Size Bidirectional Dual-port RAM (1) read read read write write write read write Dual-port RAM (1) write read read write Single-port RAM read/write Single-port RAM (packed mode) (2) write/read read/write ROM read FIFO read write Note to Table 2: (1) Supports mismatch in input/output data widths. (2) Packed mode is when the ESB is split into two 2K single-port memory blocks. 6 Altera Corporation
7 Using the MegaWizard to Implement Memory Configurations This section describes how to use the MegaWizard in the Quartus II software to implement memory configurations through megafunctions: LPM_RAM_DQ LPM_RAM_DP LPM_RAM_DP+ LPM_FIFO LPM_ROM Selecting a Megafunction to Customize Select and customize a megafunction in a design using the MegaWizard Plug-In Manager. The following are the steps to select an instance of a megafunction using the Quartus II software: 1. Select MegaWizard Plug-In Manager (Tools menu). 2. Turn on the Create a new custom megafunction variation option. See Figure Click Next. Figure 8. MegaWizard Plug-In Manager [page 1] Altera Corporation 7
8 4. Choose a megafunction from the storage folder in the Available Megafunction list. See Figure 9. Figure 9. MegaWizard Plug-In Manager [page 2a] 5. Turn on the type of output file to create: AHDL, VHDL, or Verilog. 6. Type in a file name for the function. 7. Click Next. 8 Altera Corporation
9 LPM_RAM_DQ Megafunction The LPM_RAM_DQ is a single-port RAM function as shown in Figure 10 and has the following features: Implements either synchronous or asynchronous single-port RAM inclock can register ESB data and/or address inputs A separate outclock can register output data LE-based or ESB-based Synchronous write operations into the memory block use the address[] and data[] ports, triggered by the rising edge of inclock while the write enable (we) port is enabled. The outclock port for the read operation is optional. For asynchronous operations, setup and hold times have to be valid with respect to both edges of the write enable signal (we). The data and address lines should not change while we is active. Figure 10. Single-Port RAM Block Diagram Instantiating the LPM_RAM_DQ Megafunction in a Design Use the following steps to create an instance of the lpm_ram_dq function: 1. Follow the instructions in the Selecting a Megafunction to Customize section, choosing lpm_ram_dq from the storage folder in the Available Megafunction list. 2. Choose the data output and address bus widths using the How wide should the q output bus be? and How wide should the address input bus be? lists. See Figure 11. Any change made is automatically reflected in the symbol graphic. Altera Corporation 9
10 3. Turn on the options for the ports to register in the Which ports should be registered? section. If registered, inclock clocks the data and address ports; while outclock clocks the output port. See Figure 11. Figure 11. MegaWizard Plug-In Manager - LPM_RAM_DQ [page 3 of 5] 4. Turn on the Yes, use this file for the memory content data option to initialize the memory block with a hexadecimal (Intel-format) file (.hex) or a memory initialization file (.mif) file. See Figure 12. or Turn on the No, leave it blank option to initialize the memory block to all zero. See Figure Altera Corporation
11 Figure 12. MegaWizard Plug-In Manager - LPM_RAM_DQ [page 4 of 5] 5. Click Finish to complete the procedure. See Figure 13. Figure 13. MegaWizard Plug-In Manager - LPM_RAM_DQ [page 5 of 5] - Summary Altera Corporation 11
12 LPM_RAM_DP Megafunction The LPM_RAM_DP is a dual-port RAM function as shown in Figure 14 and has the following features: Fully parameterized function Allows simultaneous read and write access to memory cells Can register any combination of EAB/ESB inputs LE-based or EAB/ESB-based Four clocking modes Single clock Shared clock Separate clock Asynchronous Clocking Modes The lpm_ram_dp has four modes: single clock, shared clock, separate clock, and asynchronous. Use the clocking method section of the MegaWizard Plug-in Manager interface to select the different modes. Single Clock In single clock mode, the read and write operations are synchronous to the same clock. Shared Clock In shared clock mode, in addition to having the read and write operations synchronous to the same clock, a separate clock is used for the output port, q[]. This is also referred to as having separate input and output clocks. Separate Clock In separate clock mode, there are two independent clocks, rdclock and wrclock, for the read and write operations, respectively (See Figure 14). Asynchronous The asynchronous mode requires no clock. The write operation is dependent on the wren signal. The read operation is dependent on the rden signal. If not present, the rden is V CC by default. 12 Altera Corporation
13 Figure 14. Dual-Port RAM Block Diagram Instantiating the LPM_RAM_DP Megafunction in a Design Use the following steps to create an instance of the lpm_ram_dp function: 1. Follow the instructions in the Selecting a Megafunction to Customize section, choosing lpm_ram_dp from the storage folder in the Available Megafunction list. See Figure Choose the data output and address bus widths using the How wide should the q output bus be? and How wide should the address input bus be? lists. Any change made is automatically reflected in the symbol graphic. 3. Turn on a clocking method in the Which clocking method do you want to use? section. 4. Optionally, turn on the Create a rden read enable signal option. The rden signal is tied to V CC (active), if no signal is created. See Figure 15. Altera Corporation 13
14 Figure 15. MegaWizard Plug-In Manager - Dual-Port RAM [page 3 of 6] 5. Turn on the options for Which ports should be registered?. Click More Options, to register the ports individually. See Figure 16 on page Optionally, turn on Create one clock enable signal for each clock signal. If using dual clocks, there may be two separate clock enable signals. 1 The Create an aclr asynchronous clear for the registered ports is option is unavailable. In order to enable this option use the altdpram function. 7. Click Next. 14 Altera Corporation
15 Figure 16. MegaWizard Plug-In Manager - Dual-Port RAM [page 4 of 6] 8. Turn on the Yes, use this file for the memory content data option to initialize the memory block with a hexadecimal (Intel-format) file (.hex) or a memory initialization file (.mif) file. See Figure 17. or Turn on the No, leave it blank option to initialize the memory block to all zero. 9. Click Next to see a summary of the files that MegaWizard creates. or Click Finish to complete the process. Altera Corporation 15
16 Figure 17. MegaWizard Plug-In Manager - Dual-Port RAM [page 5of 6] LPM_RAM_DP+ (Bidirectional Dual-Port RAM) Megafunction The LPM_RAM_DP+ is the bidirectional dual-port RAM function and has the following features: Fully parameterized function Capable of simultaneous read and write access to memory cells Capable of registering any combination of ESB inputs LE-based or ESB-based Three clocking modes Single clock Separate clock Asynchronous Clocking Modes Use the clocking method section of the MegaWizard Plug-in Manager interface to select one of the three LPM_RAM_DP+ clocking modes. The three clock modes are as follows: Single Clock In the single clock mode, the read and write operations are synchronous to the same clock. 16 Altera Corporation
17 Separate Clock In the separate clock mode, there are two independent clocks, clock_a and clock_b for port A and port B, respectively. Asynchronous The asynchronous mode requires no clock. The write operation is dependent on the wren signal, but the read operation is independent of wren and can be continuous regardless of the write operation. Instantiating a Bidirectional Dual Port RAM in a Design Use the following steps to create an instance of the lpm_ram_dp+ function: 1. Follow the instructions in the Selecting a Megafunction to Customize section, choosing lpm_ram_dp+ from the storage folder in the Available Megafunction list. 2. Select APEX II for the device family from the Create RAM for which device family? list. 3. Turn on the With two read/write ports option in the How will you be using the dual port ram? section. This option is for the bidirectional dual port RAM configuration. 4. Turn on either the memory size option for As a number of words or As a number of bits in the How do you want to specify the memory size? section. See Figure Click Next. Altera Corporation 17
18 Figure 18. MegaWizard Plug-In Manager - Dual-Port [page 1 of 7] 6. Select How many words of memory?. See Figure Select the width for the output port A from the Read/Write Ports section. 8. Click Next. 18 Altera Corporation
19 Figure 19. MegaWizard Plug-In Manager - Dual-Port RAM [page 2 of 7] 9. Turn on the Single clock option as the clocking method in the Which clocking method do you want to use? section. If using asynchronous mode, turn on No Clock. See Figure Click Next. Altera Corporation 19
20 Figure 20. MegaWizard Plug-In Manager - Dual-Port Ram [page 3 of 7] 11. Check Write input ports and Read output ports to be registered. See Figure Click More Options. 13. Turn on all of the required options in the RAM Port Registers dialog box. 20 Altera Corporation
21 Figure 21. MegaWizard Plug-In Manager - Dual-Port RAM [page 5 of 7] 14. Turn on the Yes, use this file for the memory content data option to initialize the memory block with a hexadecimal (Intel-format) file (.hex) or a memory initialization file (.mif) file. See Figure 22. or Turn on the No, leave it blank option to initialize the memory block to all zeros. 15. Click Next to see a summary of the files that MegaWizard creates. or Click Finish to complete the process. Altera Corporation 21
22 Figure 22. MegaWizard Plug-In Manager - Dual-port RAM [page 6 of 7] LPM_FIFO+ Megafunction The LPM_FIFO+ is a single- or dual-clock FIFO megafunction with the following features: Fully parameterized function Single- or dual-clock modes Simultaneous reads and writes Full, empty, and used words output signals Fully optimized for Altera architecture LE-based or EAB/ESB-based The lpm_fifo+ function is a parameterized, single or dual clock FIFO megafunction that can be used to buffer data between systems communicating at the same or different clock frequencies. The lpm_fifo+ function is actually two functions in one a single clock FIFO (lpm_fifo) and a dual clock FIFO (lpm_fifo_dc). Select which FIFO megafunction to create in the MegaWizard PlugIn Manager interface. 22 Altera Corporation
23 Single Clock Mode In single clock mode, the lpm_fifo+ megafunction instantiates the scfifo megafunction for single clock FIFO functions. The megafunction has a single clock port for writing and reading data to and from the FIFO. Simultaneous reads and writes can be done in the same clock cycle. The parameterization of the lpm_fifo+ megafunction can implement any width/depth combination. The function also has customizable output signals, such as empty/full flags and number of used words outputs. It also gives the choice of an asynchronous or a synchronous clear signal. Either ESBs or LEs can implement the megafunction. However, implementing a large FIFO in LEs can dramatically increase overall LE use. Dual Clock Mode In dual clock mode, the lpm_fifo+ megafunction instantiates the dcfifo megafunction for dual-clock FIFO functions. The megafunction has two independent clock ports used for writing and reading data to and from the FIFO buffer. Simultaneous reads and writes can be done in the same clock cycle. The parameterization of the lpm_fifo+ megafunction can implement any width/depth combination. The function also has customizable output signals, such as empty/full flags and number of used words outputs, that can be synchronized to either the read or write clock. 1 The last three words of the dcfifo may not be available for writing because of the synchronization pipelines between the two clock domains. These pipelines are intended to avoid internal metastability. Because of these pipelines, information available to one clock domain regarding when read and write conditions occur may be temporarily unavailable to the other clock. The wrfull and rdfull ports of an lpm_fifo+ megafunction must go high slightly before the dcfifo is completely full, in order to avoid overshooting the top of the FIFO. This process may cause several words at the end of the FIFO to become unavailable. Depending on the write rate to the FIFO, the wrfull and rdfull ports may go high with three words remaining, with two words remaining, or with one word remaining in the FIFO. However, this process is necessary both to accommodate the clock synchronization and to ensure overflow does not take place. To maintain a specific number of words, specify a number for the LPM_NUMWORDS parameter that is up to three words greater than the amount needed. Altera Corporation 23
24 The synchronization and internal logic in dcfifo may delay the information in the wrempty, wrfull, wrusedw[], rdempty, rdfull, and rdusedw[] ports by one clock cycle of latency. Setup and hold violations on synchronization registers during timing analysis can occur if the rdclock and wrclock signals are unrelated. This is normal behavior for multi-clock designs. Figure 23. FIFO in an ESB Common to Both Dual & Single Clock Modes The read-request port of the lpm_fifo+ megafunction has two configuration modes: legacy synchronous FIFO and show-ahead synchronous FIFO. These modes configure the read-request port to act as either a read request or a read acknowledge. In the default read request (legacy) mode, requested data comes out of the FIFO on the first clock cycle after the read request is asserted. In the read acknowledge (show-ahead) mode, the first piece of data written into the FIFO immediately shows up on its output and reads from the FIFO are acknowledged instead of requested (See Figure 23). 24 Altera Corporation
25 Instantiating the LPM_FIFO+ Megafunction in a Design This section list the steps needed to create an instance of the lpm_fifo+ megafunction in single-clock and in dual-clock mode. Single-Clock FIFO Use the following steps to create an instance of the lpm_fifo+ megafunction in single-clock mode: 1. Follow the instructions in the Selecting a Megafunction to Customize section, choosing lpm_fifo+ from the storage folder in the Available Megafunction list. 2. Select the number of bits for How wide should the FIFO be? and the number of words for How deep should the FIFO be?. See Figure Turn on the Yes, synchronize both reading and writing to clock option. 4. Click Next. Figure 24. MegaWizard Plug-In Manager - LPM_FIFO [page 3 of 8] 5. Turn on the desired options in the Which optional output control signals do you want? section. See Figure Click Next. Altera Corporation 25
26 Figure 25. MegaWizard Plug-In Manager - LPM_FIFO [page 4 of 8] 7. Turn on which rdreq signal mode (legacy synchronous or showahead synchronous) to use in the Which kind of read access do you want with the rdreq signal? section. See Figure Click Next. Figure 26. MegaWizard Plug-In Manager - LPM_FIFO [page 6 of 8] 26 Altera Corporation
27 9. Turn on the Quartus II software optimization (default, speed, or area) to use with the megafunction in the Which type of optimization do you want? section. 10. Optionally, turn on Disable overflow checking and/or Disable underflow checking to disable circuitry protection. 11. Optionally, turn on the Implement FIFO function with logic cells only, even if the device contains EABs or ESBs compiler option. The default is to place the FIFO in ESBs. See Figure Click Next to see a summary of the files that MegaWizard creates. or Click Finish to complete the process. Figure 27. MegaWizard Plug-In Manager - LPM_FIFO [page 7of 8] Dual-Clock FIFO Use the following steps to create an instance of the lpm_fifo megafunction in dual-clock mode: 1. Follow the instructions in the Selecting a Megafunction to Customize section, choosing lpm_fifo from the storage folder in the Available Megafunction list. Altera Corporation 27
28 2. Select the number of bits for How wide should the FIFO be? and the number of words for How deep should the FIFO be?. 3. Turn on No, synchronize reading and writing to rdclock and wrclock, respectively. See Figure Turn on the Yes option to add latency or the No option to not add latency in the Do you want the FIFO to pipeline its output flags? section. 5. Click Next. Figure 28. MegaWizard Plug-In Manager - LPM_FIFO [page 3 of 8] 6. Turn on the required read-side and write-side Which optional output control signals do you want? options. Each of the full, empty or usedw[] signals can be synchronized to either the read or write clock. See Figure If required, turn on the Asynchronous clear. See Figure Click Next. 28 Altera Corporation
29 Figure 29. MegaWizard Plug-In Manager - LPM_FIFO [page 5 of 8] 9. Turn on which rdreq signal mode (legacy synchronous or showahead synchronous) to use in the Which kind of read access do you want with the rdreq signal? section. See Figure Click Next. Figure 30. MegaWizard Plug-In Manager - LPM_FIFO [page 6 of 8] Altera Corporation 29
30 11. Turn on the desired optimization type in the Which type of optimization do you want? section. 12. Optionally, turn on whether you want to disable overflow or underflow checking in the Would you like to disable any circuitry protection? section. 13. Optionally, turn on the Implement FIFO function with logic cells only, even if the device contains EABs or ESBs compiler option. The default is to place the FIFO in ESBs. See Figure 31. Figure 31. MegaWizard Plug-In Manager - LPM_FIFO [page 7of 8] 14. Click Next to see a summary of the files that MegaWizard creates. or Click Finish to complete the process. 30 Altera Corporation
31 LPM_ROM Megafunction The LPM_ROM is a ROM function that has the following features: Fully parameterized function Supports synchronous and asynchronous memory modes Allows control of the address input and ROM output with separate clocks Fully optimized for Altera architecture The parameterized lpm_rom function can implement all ROM functions. The ESB implement these functions in APEX II devices. The lpm_rom megafunction supports both synchronous and asynchronous modes of operation. The address[] input port and/or the q[] output port can be registered and are controlled by the inclock and outclock, inputs respectively. Totally asynchronous memory operations occur when both the inclock and outclock ports are unused. Further, the lpm_rom megafunction provides the optional use of a memory enable signal the memenab port. When the memory is not enabled (memenab is low), the q[] output is high-impedance (See Figure 32). 1 lpm_rom must have a memory initialization file (.mif) or hexadecimal (.hex) file with the same name in the project directory that contains the data written to ROM during configuration. For more information on creating these files see Initialization Files on page 55. Figure 32. ROM Block Diagram Altera Corporation 31
32 Instantiating the LPM_ROM Megafunction in a Design Use the following steps to create an instance of the lpm_rom megafunction in single-clock mode: 1. Follow the instructions in the Selecting a Megafunction to Customize section, choosing lpm_rom from the storage folder in the Available Megafunction list. 2. Specify the size of the ROM by selecting the number of bits in the How wide should the q output bus be? section and the number of bits in the How wide should the address input bus be? section. 3. For synchronous ROM implementation, in the Which ports should be registered? section, turn on the address input port option and/or the q output port option. See Figure Click Next. Figure 33. MegaWizard Plug-In Manager - LPM_ROM [page 1 of 3] 5. To initialize the memory block with a hexadecimal (Intel-format) file (.hex) or a memory initialization file (.mif) file, browse to the file location in the What is the name of the file containing the memory initialization data? section. See Figure Altera Corporation
33 6. Click Next to see a summary of the files that MegaWizard creates. or Click Finish to complete the process. Figure 34. MegaWizard Plug-In Manager - LPM_ROM [page 2 of 3] Altera Corporation 33
34 ESB Timing Diagrams Figures show the timing diagram for different ESB modes, such as single-port, dual-port, bidirectional dual-port RAM and ROM. Single-Port RAM Synchronous write operations into the memory block uses the address[] and data[] port, triggered by the rising edge of inclock while the write enable (we) port is enabled. The outclock port for the read operation is optional. The largest usage of dual-port RAMs is in communications, which includes the exchange of data between processors and systems. Figures show the synchronous and asynchronous timing diagrams of a single-port RAM. Figure 35. Synchronous Read/Write Cycle Timing of a Single-Port RAM (Unregistered Output)) Figure 36. Synchronous Read/Write Block Diagram of a Single-Port RAM (Unregistered Output) 34 Altera Corporation
35 Figure 37. Synchronous Read/Write Cycle Timing of a Single-Port RAM (Registered Output) Figure 38. Synchronous Read/Write Block Diagram of a Single-Port RAM (Registered Output) Altera Corporation 35
36 Figure 39. Asynchronous Read/Write Cycle Timing of a Single-Port RAM Note (1) Note to Figure 39: (1) In asynchronous mode, when we (write enable) is asserted, the address cannot change. Figure 40. Asynchronous Read/Write Block Diagram of a Single-Port RAM Dual-Port RAM Figures show the dual-port RAM read/write configurations and timing diagrams. Read/Write The following situations can occur when simultaneously reading and writing to the same address in dual-port RAM: Unregistered output port 1. The read clock's frequency is greater than 2x the write clock's frequency. The write clock has not written the data at this point; therefore, the old data value is read. 36 Altera Corporation
37 2. Dual-port RAM uses the same clock for reading and writing. The newly written data appears at the output after a delay of t ESBDD after the falling edge of the clock. At slower clock frequencies, the old data value can appear shortly after the rising edge of the clock followed by the newly written data, which appears t ESBDD nanoseconds after the falling edge. 1 Check the data sheet for the value of t ESBDD in the timing model section. Registered output port 3. The read clock is very fast (frequency > 1/t EABDD ). The q output reads the old data value. 4. Dual-port RAM uses the same clock for reading and writing. The q output reads the newly written data value. 5. The read and write clocks are unrelated, and the read clock has a frequency less than 1/t EABDD. The q output reads the newly written data value. Figure 41. Dual-Port RAM Read/Write Cycle Timing in Single Clock Mode (Unregistered Output) Note to Figure 41: (1) If the read and write operations are targeting the same memory location, the newly written data will be available on the output port q[] on the falling edge of the clock. Altera Corporation 37
38 1 When a read occurs to the same address location with a write operations in progress (write not completed), there is a possibility for having unknown output from the ESB. To prevent this potential contention, the read operation should not start until the write operation is completed. For this to occur, the read operation should not be activated for a minimum amount of time specified as the maximum write cycle time in the ESB. This parameter is t ESBSRC and is specified in the data sheet in the timing model section for each device. Figure 42. Dual-Port RAM Read/Write Block Diagram in Single Clock Mode (Unregistered Output) 38 Altera Corporation
39 Figure 43. Dual-Port RAM Read/Write Cycle Timing in Single Clock Mode (Registered Output) Figure 44. Dual-Port RAM Read/Write Block Diagram in Single Clock Mode (Registered Output) Altera Corporation 39
40 Figure 45. Dual-Port RAM Read/Write Cycle Timing in Shared Clock Mode (Registered Output) Notes to Figure 45: (1) If both read and write operations are targeting the same memory location, the present read cycle will result in data that was previously written into that memory location. The newly written data is only present in the next read cycle. (2) rden is deasserted so that the newly written data into 0A is valid on the output port q[]. (3) New data at memory location 0A is not driven out on the output port q[] because the next read cycle is retrieving data from the previous memory location 0A. Figure 46. Dual-Port RAM Read/Write Block Diagram in Shared Clock Mode (Registered Output) 40 Altera Corporation
41 Figure 47. Dual-Port RAM Read/Write Cycle Timing in Separate Clock Mode (Registered Output) Note to Figure 47 (1) During this simultaneous read/write operation the new data is written in memory location 0B at the falling edge of wrclock. Since the output port q[] is registered, this newly written data, 2 is available at the output port q[] only during the next rdclock cycle. Figure 48. Dual-Port RAM Read/Write Block Diagram in Separate Clock Mode (Registered Output) Altera Corporation 41
42 Figure 49. Dual-Port RAM Read/Write Cycle Timing in Separate Clock Mode (Unregistered Output) Note to Figure 49: (1) Since the output port q[] is unregistered, the newly written data at memory location 0B is available at the falling edge of wrclock. Figure 50. Dual-Port RAM Read/Write Block Diagram in Separate Clock Mode (Unregistered Output) 42 Altera Corporation
43 Figure 51. Dual-Port RAM Read/Write Cycle Timing in Asynchronous Clock Mode Note (1) Note to Figure 51: (1) In asynchronous mode, when we (write enable) is asserted, the address cannot be changed. Figure 52. Dual-Port RAM Read/Write Block Diagram in Asynchronous Clock Mode Bidirectional Dual-Port RAM Figures show the bidirectional dual-port RAM read and write operations on both ports A and B. Read/ Write In bidirectional dual-port RAM, each port can read and write. As a result, port A and port B can write at the same time, read at the same time, or read and write alternately. It might happen that both ports write to the same address location at the same time, which causes an invalid data. To prevent this potential write contention, make sure that writes do not occur at the same address simultaneously. Single Clock Mode Only one clock is used for the input, output, write, and read signals. The output is available one clock cycle later because the inputs and outputs are registered. Altera Corporation 43
44 Figure 53. Bidirectional Dual-Port RAM Write & Read Cycle TIming in Single Clock Mode (Inputs & Outputs Registered) Figure 54. Bidirectional Dual-Port RAM Write & Read Block Diagram in Single Clock Mode (Inputs & Outputs Registered) 44 Altera Corporation
45 Figure 55. Bidirectional Dual-Port RAM Write & Read Cycle Timing in Single Clock Mode (Only Inputs Registered) Figure 56. Bidirectional Dual-Port RAM Write & Read in Single Clock Mode (Only Inputs Registered) Altera Corporation 45
46 Double Clock Mode Each port can have a separate clock. The same clock performs writes and reads on each port. See Figures Figure 57. Bidirectional Dual-Port Write & Read Cycle Timing RAM Dual Clock Mode (Inputs & Outputs Registered) Figure 58. Bidirectional Dual-Port RAM Write & Read Block Diagram Dual Clock Mode (Inputs & Outputs Registered) 46 Altera Corporation
47 Asynchronous Bidirectional Dual-Port RAM Figures show the asynchronous bidirectional dual-port RAM timing diagram. Figure 59. Asynchronous Bidirectional Dual-Port RAM Cycle Timing with Simultaneous Write & Read on Ports A & B Notes to Figure 59: (1) Data 6, 7, and 0 is written into address 3. (2) Output port B reads out data 6, 7, and 0. (3) Write enable for port A and B should be high to write or read from memory and should stay low during address transition. Figure 60. Asynchronous Bidirectional Dual-Port RAM Block Diagram with Simultaneous Write & Read on Ports A & B Altera Corporation 47
48 FIFO Figures show the read/write cycle of a single or double clock FIFO. Figure 61. Single-Clock FIFO: Write, Empty Flag, & Simultaneous Read/Write Cycle Waveform (Legacy Synchronous FIFO Mode) Figure 62. Single-Clock FIFO Full Flag Waveform (Legacy Synchronous FIFO Mode) 48 Altera Corporation
49 Figure 63. Single-Clock FIFO Full Flag Waveform (Legacy Synchronous FIFO Mode) Figure 64. Single-Clock FIFO: Read Cycle & Empty Flag (Legacy Synchronous FIFO Mode) Note to Figure 64: (1) There are six clock cycles of latency on the rdempty flag. This number can be changed by changing the delay parameters listed earlier. Altera Corporation 49
50 Figure 65. Dual-Clock FIFO Read Cycle Waveform (Legacy Synchronous FIFO Mode) Note to Figure 65: (1) There are six clock cycles from the first rdclock edge after the data is written to when the data is available to be read. This number can be changed by changing the delay parameters. Also, note that the rdempty flag went high after the second read was done (reading 2). This is due to the relationship between the read an write frequencies. Figure 66. Dual-Clock FIFO Full Flag Waveform (Legacy Synchronous FIFO Mode) Note to Figure 66: (1) In this case, the FIFO is 32 words deep. Note that when the 31st word is written into the FIFO, the wfull flag goes high. For an explanation, please see Dual Clock Mode on page Altera Corporation
51 Figure 67. Dual-Clock FIFO Read-Acknowledge Waveform (Show-Ahead Mode) Note to Figure 67: (1) The first piece of data that is written into the FIFO flows through to the output on the next clock edge of rdclock. In this type of FIFO, the read is acknowledged and not requested. Therefore, even though data 3 is on the q[] port after the second read is done, it still has not been read. Altera Corporation 51
52 ROM Figures show the operation of the lpm_rom function in the following modes Asynchronous Synchronous with q[] output registered Synchronous with address[] and q[] ports registered Figure 68. Read Timing During Asynchronous Memory Operation Note: to Figure 68: (1) During this asynchronous memory operation, the data on the q[] output changes after a certain delay following a change in the address[] input. The MIF file used by this ROM function specifies the data in locations FF and 33 to be FFFF and 3333, respectively. Figure 69. Read Timing During Asynchronous Memory Operation 52 Altera Corporation
53 Figure 70. Read Timing With Registered ROM Output q[] Note: to Figure 70: (1) When the q[] output port is registered, the output register is loaded with the contents of the memory location pointed to by address[] at every rising edge of outclock. Figure 71. Read Timing With Registered ROM Output [q] Altera Corporation 53
54 Figure 72. Read Timing With Registered address[] Input & q[] Output Using The Same Clock Note to Figure 72: (1) The memenab port tri-states the q[] output when it has a logic low level. Although, the memenab port does not affect the address[] input from being registered. After memenab is set to a logic high level, the q[] output register captures the data from the ROM location pointed to by the registered address[] input. Figure 73. Read Timing With Registered address[] Input & q[] Output Using The Same Clock 54 Altera Corporation
55 Initialization Files A memory initialization file (MIF) or hexadecimal file (HEX) specifies the initial value for each memory address. Memory Initialization File An ASCII text file with the extension.mif specifies the initial content of a memory block. These initial values for each address in the.mif file are used during project compilation and/or simulation. Use the Memory Editor in the Quartus II software to create.mif files. Each memory block requires a separate.mif file. A MIF must also specify the memory depth and width values. Optionally, a MIF can specify the radixes used to display and interpret addresses and data values. 1 If multiple values are specified for the same address, only the last value is used. Figure 74 shows a sample.mif file. Figure 74. Sample MIF File DEPTH = 32; % Memory depth and width are required. % WIDTH = 14; % Enter a decimal number. % ADDRESS_RADIX = HEX; % Address and value radixes are required. % DATA_RADIX = HEX; % Enter BIN, DEC, HEX, OCT, or UNS unless otherwise % % specified, radixes = HEX. % Specify values for addresses, which can be a single address or range. CONTENT BEGINS [0..F] : 3FFFF; % Range--Every address from 0 to F = 3FFFF. % 6 : F; % Single address. Address 6 = F. % 8 : F E 5; % Range starting from specific address. % % Addr[8] = F, Addr[9] = E, Addr[A] = 5. % END HEX (Intel-Format) File The Quartus II software can use an ASCII text file with the extension.hex in the Intel-format to store configuration data for one or more Altera devices, to store the initial memory values for a memory block implemented in an Altera device, or to build software project executables. Altera Corporation 55
56 A HEX file can be used as an input file for memory initialization in the Compiler and Simulator. Use the Memory Editor to create a HEX File. The Software mode can use a HEX file as an output file. A software application can be built as a HEX File. Creating a MIF or HEX File To create a (.mif) or (.hex): 1. Choose New (File menu). 2. In the New dialog box, click the Other Files tab. 3. To create a MIF, select Memory Initialization File or to create a HEX File, select Hexadecimal File. 4. Click OK. 5. In the Number of Words & Word Size dialog box, type the number of words in the Number of words box. 6. In the Word size box, type the size of the words. 7. Click OK. Figure 75 shows a sample MIF table. 56 Altera Corporation
57 Figure 75. An 8-bit MIF Table Applications of ESB Memory APEX II ESB memory configurations are suitable for a variety of applications. The following paragraphs suggest possible applications of the different memory configurations. RAM Configurations RAM memory can be used for communication between systems. In these applications, RAM can be partitioned into virtual data-storage areas, or buffers, usually storing at least two data packets. The buffers are shared between the communications controller and the intelligent host that assembles the packets and stores them usually a microprocessor. If the system contains only one processor, the data buffers are not shared and the system needs neither a virtual nor a physical dual-port RAM. Single-Port RAM Single-port RAM can be used in applications that require parallel data transfer because the write and read ports are the same width. Dual-Port RAM Configuration Dual-port RAM has applications in the general areas of wide area networks, storage networks, and wireless infrastructures. Some specific applications can be in switches and routes, RAID directors, host bus adapters, and cellular base stations. Dual-port RAM can be used in applications that require parallel data transfer, because the two independent clock ports allow different access rates for read and write operations. Also, the presence of dual-addressing enables simultaneous read and write operations in the same clock cycle. Altera Corporation 57
58 Bus Width Mismatch A simple dual-port RAM can be used in APEX II devices for read and write width mismatch since RAM cells have independent read and write ports. This feature can be used for serialization or deserialization of some high-speed applications that use ESB blocks. Because the speed of some signals to the ESB may be too high to b used for internal logic, they need to be slowed down. Deserializing the serialized incoming signals is the method used to slow down signals. The ESB s dual-port RAM feature can perform deserialization and serialization because it supports a mismatched bus width configuration on its ports. Bidirectional Dual-Port RAM Because bidirectional dual-port RAM can read or write simultaneously at both ports, it can be used in applications that require quick data access, such as in switches and routers. ROM Configuration ROM can be used to implement all functions that only need to perform read operations. FIFO Configuration Using FIFO is a way to increase data throughput to an I/O interface while minimizing central processing unit (CPU) wait states. FIFO buffers transfer data between the host bus and the peripheral systems. Some common applications using FIFO buffers are SCSI and integrated drive electronics (IDE) interfaces, bus-width conversion applications (e.g., 8-bit to 32-bit conversions), and asynchronous transfer mode (ATM) network interface cards. Conclusion With bidirectional dual-port RAM becoming the desired and preferred choice in the market, the ESBs in APEX II devices have been enhanced to accommodate this new memory structure. Bidirectional dual-port RAM can be used in different applications where the ability to access data simultaneously by two different processes is a requirement. In addition, the ESB in APEX II with its enhanced memory structure is able to divide the ESB into two identical 2K single-port RAM blocks for applications that required more memory blocks. 58 Altera Corporation
59 101 Innovation Drive San Jose, CA (408) Applications Hotline: (800) 800-EPLD Literature Services: Copyright 2002 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. 59 Altera Corporation
On-Chip Memory Implementations
On-Chip Memory Implementations Using Cyclone Memory Blocks March 2003, ver. 1.1 Application Note 252 Introduction Cyclone devices feature embedded memory blocks that can be easily configured to support
More informationUsing TriMatrix Embedded Memory Blocks
Using TriMatrix Embedded Memory Blocks in Stratix & Stratix GX evices November 2002, ver. 2.0 Application Note 203 Introduction TriMatrix Memory Stratix and Stratix GX devices feature the TriMatrix memory
More informationUsing DCFIFO for Data Transfer between Asynchronous Clock Domains
Using DCFIFO for Data Transfer between Asynchronous Clock Domains, version 1.0 Application Note 473 Introduction In the design world, there are very few designs with a single clock domain. With increasingly
More informationlpm_rom Megafunction User Guide
lpm_rom Megafunction User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com Software Version: 4.2 Document Version: 1.0 Document Date: March 2005 Copyright 2005 Altera Corporation.
More informationMAX 10 Embedded Memory User Guide
MAX 10 Embedded Memory User Guide Subscribe UG- M10MEMORY 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents MAX 10 Embedded Memory Overview... 1-1 MAX 10 Embedded Memory Architecture
More informationIntel MAX 10 Embedded Memory User Guide
Intel MAX 10 Embedded Memory User Guide Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Intel MAX 10 Embedded Memory Overview...4 2. Intel MAX 10 Embedded Memory Architecture
More informationMAX 10 Embedded Memory User Guide
MAX 10 Embedded Memory User Guide UG-M10MEMORY 2017.02.21 Subscribe Send Feedback Contents Contents 1 MAX 10 Embedded Memory Overview... 4 2 MAX 10 Embedded Memory Architecture and Features... 5 2.1 MAX
More informationEstimating Nios Resource Usage & Performance
Estimating Nios Resource Usage & Performance in Altera Devices September 2001, ver. 1.0 Application Note 178 Introduction The Excalibur Development Kit, featuring the Nios embedded processor, includes
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 informationNios Soft Core Embedded Processor
Nios Soft Core Embedded Processor June 2000, ver. 1 Data Sheet Features... Preliminary Information Part of Altera s Excalibur TM embedded processor solutions, the Nios TM soft core embedded processor is
More informationZBT SRAM Controller Reference Design
ZBT SRAM Controller Reference Design for APEX II Devices December 2001, ver. 1.0 Application Note 183 Introduction As communication systems require more low-latency, high-bandwidth interfaces for peripheral
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 informationImplementing Double Data Rate I/O Signaling in Stratix & Stratix GX Devices. Introduction. DDR I/O Elements. Input Configuration
Implementing Double Data Rate I/O Signaling in Stratix & Stratix GX Devices November 2002, ver. 2.0 Application Note 212 Introduction Typical I/O architectures transmit a single data word on each positive
More informationEmbedded Memory Blocks in Arria V Devices
Embedded Memory Blocks in Arria V Devices 2 AV-52002 Subscribe The embedded memory blocks in the devices are flexible and designed to provide an optimal amount of small- and large-sized memory arrays to
More informationCyclone II FPGA Family
ES-030405-1.3 Errata Sheet Introduction This errata sheet provides updated information on Cyclone II devices. This document addresses known device issues and includes methods to work around the issues.
More informationE3 Mapper MegaCore Function (E3MAP)
MegaCore Function (E3MAP) March 9, 2001; ver. 1.0 Data Sheet Features Easy-to-use MegaWizard Plug-In generates MegaCore variants Quartus TM II software and OpenCore TM feature allow place-androute, and
More informationIntroduction. Design Hierarchy. FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow
FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow February 2002, ver. 2.0 Application Note 171 Introduction To maximize the benefits of the LogicLock TM block-based design methodology in the
More informationUsing MAX II & MAX 3000A Devices as a Microcontroller I/O Expander
Using MAX II & MAX 3000A Devices as a Microcontroller I/O Expander March 2004, ver 2.0 Application Note 265 Introduction Advantages of Using MAX II & MAX 3000A Devices Many microcontroller and microprocessors
More information2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices
2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices SII52002-4.5 Introduction Stratix II and Stratix II GX devices feature the TriMatrix memory structure, consisting of three sizes
More informationPOS-PHY Level 4 MegaCore Function
POS-PHY Level 4 MegaCore Function November 2004, MegaCore Version 2.2.2 Errata Sheet Introduction This document addresses known errata and documentation changes for version v2.2.2 of the POS-PHY Level
More information3. Memory Blocks in the Cyclone III Device Family
December 2011 CIII51004-2.3 3. Memory Blocks in the Cyclone III Deice Family CIII51004-2.3 The Cyclone III deice family (Cyclone III and Cyclone III LS deices) features embedded memory structures to address
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 information3. Memory Blocks in Cyclone III Devices
3. Memory Blocks in Cyclone III Deices CIII51003-2.0 Introduction Oeriew Cyclone III family deices (Cyclone III and Cyclone III LS deices) feature embedded memory structures to address the on-chip memory
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 informationUsing Verplex Conformal LEC for Formal Verification of Design Functionality
Using Verplex Conformal LEC for Formal Verification of Design Functionality January 2003, ver. 1.0 Application Note 296 Introduction The Altera Quartus II software, version 2.2, easily interfaces with
More informationPOS-PHY Level 4 POS-PHY Level 3 Bridge Reference Design
Level 4 Bridge Reference Design October 2001; ver. 1.02 Application Note 180 General Description This application note describes how the Level 4 Bridge reference design can be used to bridge packet or
More informationDesign Verification Using the SignalTap II Embedded
Design Verification Using the SignalTap II Embedded Logic Analyzer January 2003, ver. 1.0 Application Note 280 Introduction The SignalTap II embedded logic analyzer, available exclusively in the Altera
More informationECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3
Objectives: ECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3 Build Instruction Memory and Data Memory What to hand in: Your implementation source
More informationIntroduction. Synchronous vs. Asynchronous Memory. Converting Memory from Asynchronous to Synchronous for Stratix & Stratix GX Designs
Converting from synchronous to Synchronous for Stratix & Stratix GX esigns November 2002, ver. 2.0 pplication Note 210 Introduction The Stratix TM and Stratix GX device families provide a unique memory
More informationAIRbus Interface. Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width. Functional Description. General Arrangement
AIRbus Interface December 22, 2000; ver. 1.00 Functional Specification 9 Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width of the data bus) Read and write access Four-way
More informationSimple Excalibur System
Excalibur Solutions Simple Excalibur System August 2002, ver. 1.0 Application Note 242 Introduction This application note describes a simple Excalibur system design that consists of software running on
More informationSERDES Transmitter/Receiver (ALTLVDS) Megafunction User Guide
SERDES Transmitter/Receiver (ALTLVDS) Megafunction User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Software Version: 8.1 Document Version: 4.0 Document Date: November 2008 UG-MF9504-4.0
More informationUsing Flexible-LVDS Circuitry in Mercury Devices
Using Flexible-LVDS Circuitry in Mercury Devices November 2002, ver. 1.1 Application Note 186 Introduction With the ever increasing demand for high bandwidth and low power consumption in the telecommunications
More informationTable 1 shows the issues that affect the FIR Compiler v7.1.
May 2007, Version 7.1 Errata Sheet This document addresses known errata and documentation issues for the Altera, v7.1. Errata are functional defects or errors, which may cause an Altera MegaCore function
More informationUsing MAX 3000A Devices as a Microcontroller I/O Expander
Using MAX 3000A Devices as a Microcontroller I/O Expander August 2003, Ver 1.0 Application Note 265 Introduction Advantages of Using MAX 3000A Devices Many microcontrollers and microprocessors limit I/O
More informationUsing Flexible-LVDS I/O Pins in
Using Flexible-LVDS I/O Pins in APEX II Devices August 2002, ver. 1.1 Application Note 167 Introduction Recent expansion in the telecommunications market and growth in Internet use have created a demand
More information4. TriMatrix Embedded Memory Blocks in HardCopy IV Devices
January 2011 HIV51004-2.2 4. TriMatrix Embedded Memory Blocks in HardCopy IV Devices HIV51004-2.2 This chapter describes TriMatrix memory blocks, modes, features, and design considerations in HardCopy
More informationDSP Builder. DSP Builder v6.1 Issues. Error When Directory Pathname is a Network UNC Path
March 2007, Version 6.1 Errata Sheet This document addresses known errata and documentation changes for DSP Builder version 6.1. Errata are functional defects or errors which may cause DSP Builder to deviate
More informationExcalibur Solutions DPRAM Reference Design
Excalibur Solutions DPRAM Reference Design August 22, ver. 2.3 Application Note 173 Introduction The Excalibur devices are excellent system development platforms, offering flexibility, performance, and
More informationDDR & DDR2 SDRAM Controller Compiler
DDR & DDR2 SDRAM Controller Compiler march 2007, Compiler Version 7.0 Errata Sheet This document addresses known errata and documentation issues for the DDR and DDR2 SDRAM Controller Compiler version 7.0.
More informationVideo and Image Processing Suite
Video and Image Processing Suite December 2006, Version 7.0 Errata Sheet This document addresses known errata and documentation issues for the MegaCore functions in the Video and Image Processing Suite,
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 informationBenefits of Embedded RAM in FLEX 10K Devices
Benefits of Embedded RAM in FLEX 1K Devices January 1996, ver. 1 Product Information Bulletin 2 Introduction Driven by the demand to integrate many more digital functions in a single device, custom logic
More informationMatrices in MAX II & MAX 3000A Devices
Crosspoint Switch Matrices in MAX II & MAX 3000A Devices March 200, ver. 2.0 Application Note 29 Introduction With a high level of flexibility, performance, and programmability, you can use crosspoint
More informationWhite Paper. Floating-Point FFT Processor (IEEE 754 Single Precision) Radix 2 Core. Introduction. Parameters & Ports
White Paper Introduction Floating-Point FFT Processor (IEEE 754 Single Precision) Radix 2 Core The floating-point fast fourier transform (FFT) processor calculates FFTs with IEEE 754 single precision (1
More informationSONET/SDH STS-12c/STM-4 Framer MegaCore Function (STS12CFRM)
July 2001; ver. 1.01 SONET/SDH STS-12c/STM-4 Framer MegaCore Function (STS12CFRM) Data Sheet Features Performs synchronous optical network (SONET)/synchronous digital hierarchy (SDH) framing and transport
More informationDDR & DDR2 SDRAM Controller Compiler
DDR & DDR2 SDRAM Controller Compiler August 2007, Compiler Version 7.1 Errata Sheet This document addresses known errata and documentation issues for the DDR and DDR2 SDRAM Controller Compiler version
More informationFIFO Partitioner Function
FIFO Partitioner Function User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com Quartus II Version: 2.2 Document Version: 1.0 Document Date: April 2003 Copyright Copyright
More informationSCFIFO and DCFIFO IP Cores User Guide
SCFIFO and DCFIFO IP Cores User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents... 3 Configuration Methods... 4 Specifications...
More informationFloating Point Inverse (ALTFP_INV) Megafunction User Guide
Floating Point Inverse (ALTFP_INV) Megafunction User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Document Version: 1.0 Document Date: October 2008 Copyright 2008 Altera Corporation. All
More informationSCFIFO and DCFIFO Megafunctions
SCFIFO and DCFIFO Megafunctions UG-MFNALT_FIFO-6.2 User Guide Altera provides FIFO functions through the parameterizable single-clock FIFO (SCFIFO) and dual-clock FIFO (DCFIFO) megafunctions. The FIFO
More informationTable 1 shows the issues that affect the FIR Compiler, v6.1. Table 1. FIR Compiler, v6.1 Issues.
December 2006, Version 6.1 Errata Sheet This document addresses known errata and documentation issues for the Altera FIR Compiler, v6.1. Errata are functional defects or errors, which may cause an Altera
More informationT3 Framer MegaCore Function (T3FRM)
MegaCore Function August 2001; ver. 1.02 Data Sheet Features Achieving optimum performance in the Altera APEX TM 20K device architecture, the multi-featured MegaCore Function meets your innovative design
More informationFPGAs Provide Reconfigurable DSP Solutions
FPGAs Provide Reconfigurable DSP Solutions Razak Mohammedali Product Marketing Engineer Altera Corporation DSP processors are widely used for implementing many DSP applications. Although DSP processors
More informationLab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week
Objectives: Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week Build Register File Build Instruction Memory and Data Memory 1. Overview A combinational circuit neither contains
More informationUsing VCS with the Quartus II Software
Using VCS with the Quartus II Sotware December 2002, ver. 1.0 Application Note 239 Introduction As the design complexity o FPGAs continues to rise, veriication engineers are inding it increasingly diicult
More informationSCFIFO and DCFIFO Megafunctions
SCFIFO and DCFIFO Megafunctions UG-MFNALT_FIFO-8.1 User Guide Altera provides FIFO functions through the parameterizable single-clock FIFO (SCFIFO) and dual-clock FIFO (DCFIFO) megafunctions. The FIFO
More informationActive Serial Memory Interface
Active Serial Memory Interface October 2002, Version 1.0 Data Sheet Introduction Altera Cyclone TM devices can be configured in active serial configuration mode. This mode reads a configuration bitstream
More informationNios Embedded Processor UART Peripheral
Nios Embedded Processor UART Peripheral March 2001, ver. 1.1 Data Sheet General Description The Nios universal asynchronous receiver/transmitter UART implements simple RS-232 asynchronous transmit and
More informationPhase-Locked Loop Reconfiguration (ALTPLL_RECONFIG) Megafunction
Phase-Locked Loop Reconfiguration (ALTPLL_RECONFIG) Megafunction UG-032405-6.0 User Guide This user guide describes the features and behavior of the ALTPLL_RECONFIG megafunction that you can configure
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 informationNios DMA. General Description. Functional Description
Nios DMA January 2003, Version 1.1 Data Sheet General Functional The Nios DMA module is an Altera SOPC Builder library component included in the Nios development kit. The DMA module allows for efficient
More informationSimulating the Reed-Solomon Model
July 2000, ver. 1 Simulating the Reed-Solomon Model with the Visual IP Software User Guide Introduction Altera intellectual property (IP) MegaCore functions are developed and pre-tested by Altera, and
More informationFIFO Partitioner Megafunction
FIFO Partitioner Megafunction User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com Document Version: 1.2 Document Date: August 2005 UG-IPFIFO-1.2 Copyright FIFO Partitioner
More informationImplementing LED Drivers in MAX Devices
Implementing LE rivers in MAX evices ecember 2002, ver. 1.0 Application Note 286 Introduction Commercial LE river Chips iscrete light-emitting diode (LE) driver chips are common on many system boards.
More informationLow Power Design Techniques
Low Power Design Techniques August 2005, ver 1.0 Application Note 401 Introduction This application note provides low-power logic design techniques for Stratix II and Cyclone II devices. These devices
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 informationIntel Cyclone 10 LP Core Fabric and General Purpose I/Os Handbook
Intel Cyclone 10 LP Core Fabric and General Purpose I/Os Handbook Subscribe Latest document on the web: PDF HTML Contents Contents 1. Logic Elements and Logic Array Blocks in Intel Cyclone 10 LP Devices...
More informationExercise 1 In this exercise you will review the DSSS modem design using the Quartus II software.
White Paper DSSS Modem Lab Background The direct sequence spread spectrum (DSSS) digital modem reference design is a hardware design that has been optimized for the Altera APEX DSP development board (starter
More informationSimulating Nios II Embedded Processor Designs
Simulating Nios II Embedded Processor Designs May 2004, ver.1.0 Application Note 351 Introduction The increasing pressure to deliver robust products to market in a timely manner has amplified the importance
More informationRapidIO Physical Layer MegaCore Function
RapidIO Physical Layer MegaCore Function April 2005, MegaCore version 2.2.1 Errata Sheet Introduction This document addresses known errata and documentation changes for version 2.2.1 of the RapidIO Physical
More informationDDR & DDR2 SDRAM Controller Compiler
DDR & DDR2 SDRAM Controller Compiler May 2006, Compiler Version 3.3.1 Errata Sheet This document addresses known errata and documentation issues for the DDR and DDR2 SDRAM Controller Compiler version 3.3.1.
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 informationSimultaneous Multi-Mastering with the Avalon Bus
Simultaneous Multi-Mastering with the Avalon Bus April 2002, ver. 1.1 Application Note 184 Introduction The Excalibur Development Kit, featuring the Nios embedded processor version 2.1 supports an enhanced
More informationImplementing PLL Reconfiguration in Stratix & Stratix GX Devices
December 2005, ver. 2.0 Implementing PLL Reconfiguration in Stratix & Stratix GX Devices Application Note 282 Introduction Phase-locked loops (PLLs) use several divide counters and delay elements to perform
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 informationToolflow for ARM-Based Embedded Processor PLDs
Toolflow for ARM-Based Embedded Processor PLDs December 2000, ver. 1 Application Note Introduction The Excalibur embedded processor devices achieve a new level of system integration from the inclusion
More informationPOS-PHY Level 4 MegaCore Function (POSPHY4)
POS-PHY Level 4 MegaCore Function (POSPHY4) August 2001; ver. 1.00 Data Sheet Introduction Optimized for the Altera APEX TM II device architecture, the POS-PHY level 4 MegaCore function (POSPHY4) interfaces
More informationWhite Paper The Need for a High-Bandwidth Memory Architecture in Programmable Logic Devices
Introduction White Paper The Need for a High-Bandwidth Memory Architecture in Programmable Logic Devices One of the challenges faced by engineers designing communications equipment is that memory devices
More informationSimulating the PCI MegaCore Function Behavioral Models
Simulating the PCI MegaCore Function Behavioral Models August 2001, ver. 1.0 Application Note 169 Introduction Altera intellectual property (IP) MegaCore functions are developed and pre-tested by Altera,
More informationSCFIFO and DCFIFO IP Cores User Guide
2015.11.02 UG-MFNALT_FIFO Subscribe Altera provides FIFO functions through the parameterizable single-clock FIFO (SCFIFO) and dual-clock FIFO (DCFIFO) IP cores. The FIFO functions are mostly applied in
More informationLegacy SDRAM Controller with Avalon Interface
Legacy SDRAM Controller with Avalon Interface January 2003, Version 1.0 Data Sheet Introduction PTF Assignments SDRAM is commonly used in cost-sensitive applications requiring large amounts of memory.
More informationUTOPIA Level 2 Slave MegaCore Function
UTOPIA Level 2 Slave MegaCore Function October 2005, Version 2.5.0 Release Notes These release notes for the UTOPIA Level 2 Slave MegaCore function contain the following information: System Requirements
More informationAN 370: Using the Serial FlashLoader with the Quartus II Software
AN 370: Using the Serial FlashLoader with the Quartus II Software April 2009 AN-370-3.1 Introduction Using the interface, the Altera Serial FlashLoader (SFL) is the first in-system programming solution
More informationAN 610: Implementing Deterministic Latency for CPRI and OBSAI Protocols in Altera Devices
AN 610: Implementing Deterministic Latency for CPRI and OBSAI Protocols in Altera Devices July 2010 AN-610-1.0 This application note describes how to implement deterministic latency for Common Public Radio
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 informationRapidIO MegaCore Function
March 2007, MegaCore Function Version 3.1.1 Errata Sheet This document addresses known errata and documentation issues for the Altera RapidIO MegaCore function version 3.1.1. Errata are functional defects
More informationaltshift_taps Megafunction User Guide
altshift_taps Megafunction User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com Document Version: 1.0 Document Date: September 2004 Copyright 2004 Altera Corporation. All rights
More informationUsing Library Modules in Verilog Designs
Using Library Modules in Verilog Designs This tutorial explains how Altera s library modules can be included in Verilog-based designs, which are implemented by using the Quartus R II software. Contents:
More informationEmbedded Memory (RAM: 1-PORT, RAM: 2-PORT, ROM: 1-PORT, and ROM: 2-PORT) User Guide
Embedded Memory (RAM: 1-PORT, RAM: 2-PORT, ROM: 1-PORT, and ROM: 2-PORT) User Guide Updated for Intel Quartus Prime Design Suite: 17.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents
More informationUsing Library Modules in Verilog Designs. 1 Introduction. For Quartus II 13.0
Using Library Modules in Verilog Designs For Quartus II 13.0 1 Introduction This tutorial explains how Altera s library modules can be included in Verilog-based designs, which are implemented by using
More informationSignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1
SignalTap II with Verilog Designs For Quartus II 13.1 1 Introduction This tutorial explains how to use the SignalTap II feature within Altera s Quartus II software. The SignalTap II Embedded Logic Analyzer
More informationImplementing LED Drivers in MAX and MAX II Devices. Introduction. Commercial LED Driver Chips
Implementing LE rivers in MAX and MAX II evices October 2008 AN-286-2.3 Introduction iscrete LE driver chips are common on many system boards. Altera MAX II, MAX 7000B, MAX 7000A, MAX 3000A, and MAX 7000S
More informationDSP Development Kit, Stratix II Edition
DSP Development Kit, Stratix II Edition August 2005, Development Kit version 1.1.0 Errata Sheet This document addresses known errata and documentation changes the DSP Development Kit, Stratix II Edition
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 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 informationAN 558: Implementing Dynamic Reconfiguration in Arria II Devices
AN 558: Implementing Dynamic Reconfiguration in Arria II Devices AN-558-3.1 Application Note This application note describes how to use the dynamic reconfiguration feature and why you may want use this
More informationImplementing LVDS in Cyclone Devices
Implementing LVDS in Cyclone Devices March 2003, ver. 1.1 Application Note 254 Introduction Preliminary Information From high-speed backplane applications to high-end switch boxes, LVDS is the technology
More informationlpm_compare Megafunction User Guide
lpm_compare Megafunction User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com Document Version: 2.2 Software Version: 7.0 Document Date: March 2007 Copyright 2007 Altera Corporation.
More informationImplementing High-Speed Search Applications with APEX CAM
Implementing High-Speed Search Applications with APEX July 999, ver.. Application Note 9 Introduction Most memory devices store and retrieve data by addressing specific memory locations. For example, a
More information