Field Programmable Gate Array. Application Note. 16-word by 8-bit FIFO. Introduction. Description

Similar documents
8-bit Microcontroller. Application Note. AVR222: 8-point Moving Average Filter

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

Step Motor Controller. Application Note. AVR360: Step Motor Controller. Theory of Operation. Features. Introduction

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

AT91 ARM Thumb Microcontrollers. Application Note. Interfacing a PC Card to an AT91RM9200-DK. Introduction. Hardware Interface

Tag Tuning/RFID. Application Note. Tag Tuning. Introduction. Antenna Equivalent Circuit

Quick Start Guide. CAN Microcontrollers. ATADAPCAN01 - STK501 CAN Extension. Requirements

8-bit Microcontroller. Application Note. AVR400: Low Cost A/D Converter

8-bit RISC Microcontroller. Application Note. AVR182: Zero Cross Detector

AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

2-wire Serial EEPROM AT24C512

8-bit Microcontroller. Application Note. AVR314: DTMF Generator

How to Calculate the Capacitor of the Reset Input of a C51 Microcontroller 80C51. Application Note. Microcontrollers. Introduction

8-bit Microcontroller. Application Note. AVR415: RC5 IR Remote Control Transmitter. Features. Introduction. Figure 1.

8-bit Microcontroller. Application. Note. AVR204: BCD Arithmetics. Features. Introduction. 16-bit Binary to 5-digit BCD Conversion bin2bcd16

AT89C5131A Starter Kit... Software User Guide

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

256K (32K x 8) OTP EPROM AT27C256R 256K EPROM. Features. Description. Pin Configurations

AVR106: C functions for reading and writing to Flash memory. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

8-bit Microcontroller. Application Note. AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

USB Test Environment ATUSBTEST- SS7400. Summary

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR. 8-bit Microcontroller. Application Note. Features.

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

General Porting Considerations. Memory EEPROM XRAM

AVR32110: Using the AVR32 Timer/Counter. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

ATF15xx Product Family Conversion. Application Note. ATF15xx Product Family Conversion. Introduction

ATF1500AS Device Family. Application Note. In-System Programming of Atmel ATF1500AS Devices on the HP3070. Introduction.

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

USB 2.0 Full-Speed Host/Function Processor AT43USB370. Summary. Features. Overview

AVR245: Code Lock with 4x4 Keypad and I2C LCD. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR. 8-bit Microcontrollers. Application Note. Features.

AT91 ARM Thumb Microcontrollers. AT91SAM CAN Bootloader. AT91SAM CAN Bootloader User Notes. 1. Description. 2. Key Features

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

AVR32100: Using the AVR32 USART. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR120: Characterization and Calibration of the ADC on an AVR. 8-bit Microcontrollers. Application Note. Features. Introduction

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. Migrating from RS-232 to USB Bridge Specification USB Microcontrollers. Doc Control. References. Abbreviations

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR241: Direct driving of LCD display using general IO. 8-bit Microcontrollers. Application Note. Features. Introduction AVR

AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna. Application Note. Features.

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. USB Mass Storage Device Implementation. USB Microcontrollers. References. Abbreviations. Supported Controllers

AVR442: PC Fan Control using ATtiny13. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

2-wire Serial EEPROM AT24C1024. Advance Information

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary

2-Wire Serial EEPROM AT24C32 AT24C64. 2-Wire, 32K Serial E 2 PROM. Features. Description. Pin Configurations. 32K (4096 x 8) 64K (8192 x 8)

8-bit RISC Microcontroller. Application Note. AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface

8-bit Microcontroller. Application Note. AVR461: Quick Start Guide for the Embedded Internet Toolkit. Introduction. System Requirements

8-bit Microcontroller. Application Note. AVR410: RC5 IR Remote Control Receiver

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1510: Xplain training - XMEGA USART. 8-bit Microcontrollers. Application Note. Prerequisites. 1 Introduction

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Two-wire Automotive Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 (1) AT24C16 (2)

DM54161 DM74161 DM74163 Synchronous 4-Bit Counters

Application Note. 8-bit Microcontrollers. AVR272: USB CDC Demonstration UART to USB Bridge

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary. Features. Applications. 1. Description

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Lecture-3 MEMORY: Development of Memory:

8051 Flash Microcontroller. Application Note. A Digital Thermometer Using the Atmel AT89LP2052 Microcontroller

Using Altera MAX Series as Microcontroller I/O Expanders

Asynchronous Counters. Asynchronous Counters

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

54191 DM54191 DM74191 Synchronous Up Down 4-Bit Binary Counter with Mode Control

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

8-bit RISC Microcontroller. Application Note. AVR910: In-System Programming

AVR2004: LC-Balun for AT86RF230. Application Note. Features. 1 Introduction

54LS193 DM54LS193 DM74LS193 Synchronous 4-Bit Up Down Binary Counters with Dual Clock

AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC. 8-bit Microcontrollers. Application Note. Features.

DIP Top View VCC A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3. PLCC Top View VCC A17

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

DM74LS373/DM74LS374 3-STATE Octal D-Type Transparent Latches and Edge-Triggered Flip-Flops

A New Paradigm for Synchronous State Machine Design in Verilog

How To Prevent Power Supply Corruption On An 8Bit Microcontroller From Overheating

Master/Slave Flip Flops

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

54LS169 DM54LS169A DM74LS169A Synchronous 4-Bit Up Down Binary Counter

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR091: Replacing AT90S2313 by ATtiny2313. Features. Introduction

Counters and Decoders

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

Module 3: Floyd, Digital Fundamental

Application Note. 8-bit Microcontrollers. AVR293: USB Composite Device

ASYNCHRONOUS COUNTERS

Digital Multiplexer and Demultiplexer. Features. General Description. Input/Output Connections. When to Use a Multiplexer. Multiplexer 1.

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

Table of Contents. Section 1 Introduction Section 2 Getting Started Section 3 Hardware Description

Transcription:

16-word by 8-bit FIFO Introduction The AT6000 Series field programmable gate array (FPGA) lets the designer implement a synchronous first-in, firstout (FIFO) register buffer with a word width and depth tailored to specific design needs. A 16-word FIFO with each word being eight bits is constructed and analyzed in the AT6005-2 device, and shown to have 15 MHz performance. Figure 1. Architecture of 16 8 FIFO Description Figure 1 shows a functional block diagram of the FIFO architecture. Data on inputs D 0-7 is latched into a particular word register on the rising edge of CLOCK when WRITE is asserted. When READ is asserted, the outputs Q 0-7 are driven by a new word register. The write and read pointers, together with the select decoder logic, determine the particular register or registers that are the Field Programmable Gate Array Application Note Rev. 0473C 09/99 1

target of the write operation and the source of the read operation. Individual read or write operations can be executed every clock cycle when either the READ or WRITE signals are asserted. Simultaneous write and read operations are also possible to any one word register or combination of two registers. If neither the READ or WRITE signals are asserted, the pointers maintain their current address. After a write operation occurs, the write pointer is automatically updated to point to the next word register, and then awaits the next write operation. The read pointer allows the data of a particular word register to be continuously available until the next read operation, after which new data from the next word register is accessed. Essentially, the read pointer points to the last word that was read and the write pointer points to the next word to be written. The RESET, WRESET, and RRESET signals control the initialization of various portions of the FIFO. When RESET is set low, the word registers are immediately cleared. RESET is an asynchronous signal that causes all bits within each word register to be set low. WRESET and RRESET are synchronous initialization signals for the write and read pointers. If WRESET is taken low and then high before the rising edge of CLOCK, the write pointer is set to the first word register. A write operation can then commence on the next rising edge of CLOCK if WRITE is asserted. The RRESET signal controls the read pointer in the exact same manner. Figure 2 shows the operation of the FIFO from the relative timing of the control signals. Figure 2. Relative Timing of FIFO Control Signals 2 FPGA

FPGA A schematic of the word registers is shown in Figure 3. Each bit of the data word is stored in an FDMUX macro, which is a two-to-one multiplexer feeding a D-type flip-flop. If the word register is selected for a write operation, the two-to-one multiplexer chooses D 0-7 as the input to be latched into the D-type flip-flop on the next rising edge of CLOCK. If the word register is not chosen for a write operation, the two-to-one multiplexer recirculates the data value already present in the D-type flip-flop. When a READ operation is initiated, the logic values present at the D-type flipflop outputs are passed through the tri-state output buffers BUFZ onto an internal tri-state bus that ties together the output of every word register. Since the inputs D 0-7 and outputs Q 0-7 enter and exit on different wires, simultaneous write and read operation can occur on the same clock cycle. Incorporated into each word register is a portion of the read and write pointer logic. The write pointer is a controlled shift register that is 16 bits in length. Upon initialization the first bit in the shift register is set to a logical one value, and all other bits are reset low. After a write operation occurs to the first word register, the one is passed to the next bit in the write pointer shift register at the rising edge of CLOCK. This one bit will continue to loop around the shift register whenever WRITE is asserted upon the rising edge of CLOCK. As the one is passed along, it allows a write operation to occur to the word register. The read pointer is implemented in essentially the same manner. In the AT6000 architecture, implementing the write and read pointers as controlled shift registers has several advantages over controlled counter/decoder methods. For example, several 5-bit modular 16 counters together with several 5-bit to 16-bit decoders could be used to implement the read and write pointers in a controlled counter/decoder approach. Although the counters would use far less flipflops, the decoder logic would be five times as large as in the controlled shift register method. More control signals would also have to be bused to every word register since in the controlled counter/decoder method every output bit of the counters must be used as a select control for the decoders of both the read and write pointers. The additional decoder logic and busing necessary for the controlled counter/decoder makes it ostentatiously large. Since every cell in the AT6000 architecture contains a D- type flip-flop, the controlled shift register approach is more efficient than the controlled counter/decoder approach. Figure 3. Modular Word Register Schematic 3

Figure 4 shows the initialization logic along with several word registers. The initialization logic synchronously allows either the write or read pointers to be individually or simultaneously reset to point to the first word register. The word registers can be asynchronously cleared. For this example, 16-word registers are linked together to form a 16-word FIFO, with each word being eight bits in length. The modular construction allows the concatenation of word registers to form a FIFO of any length. The word registers can also be widened as long as the portions of the write and read pointers are maintained on either side. Only one unique register is needed to hold the initialization logic to mark the first word of the FIFO. The performance and utilization statistics for the 16-word by 8-bit FIFO are given in Table 1. This implementation is available in schematic and layout form. Figure 4. Architecture of 16-word x 8-bit FIFO Table 1. 16 x 8 FIFO FIFO Cell Count (1) Minimum Bounding Box (X Y) Cells Per Bit-4 (2) Maximum Speed (3) 16-word by 8-bit 653 20 35 5 66.7 ns/15 MHz Notes: 1. Includes cells used as wires. 2. Amortizes the quantity of cells used for write and read pointers in each 8-bit word register over the cell count for each bit of the register. A 16-bit word register would use 4.5 cells per bit. 3. READ Q 0-7. Worst-case Commercial Operating Conditions: CLK C 0, 70 C, 4.75V. 4 FPGA

Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA 95131 TEL (408) 441-0311 FAX (408) 487-2600 Europe Atmel U.K., Ltd. Coliseum Business Centre Riverside Way Camberley, Surrey GU15 3YL England TEL (44) 1276-686-677 FAX (44) 1276-686-697 Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) 2721-9778 FAX (852) 2722-1369 Japan Atmel Japan K.K. 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 Atmel Operations Atmel Colorado Springs 1150 E. Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL (719) 576-3300 FAX (719) 540-1759 Atmel Rousset Zone Industrielle 13106 Rousset Cedex France TEL (33) 4-4253-6000 FAX (33) 4-4253-6001 Fax-on-Demand North America: 1-(800) 292-8635 International: 1-(408) 441-0732 e-mail literature@atmel.com Web Site http://www.atmel.com BBS 1-(408) 436-4309 Atmel Corporation 1999. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty which is detailed in Atmel s Terms and Conditions located on the Company s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel s products are not authorized for use as critical components in life support devices or systems. Marks bearing and/or are registered trademarks and trademarks of Atmel Corporation. Terms and product names in this document may be trademarks of others. Printed on recycled paper. 0473C 09/99/xM