EMPTY and FULL Flag Behaviors of the Axcelerator FIFO Controller

Similar documents
IEEE Standard (JTAG) in the Axcelerator Family

Design Techniques for Radiation-Hardened FPGAs

EE178 Spring 2018 Lecture Module 5. Eric Crabill

FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Modeling Latches and Flip-flops

8b10b Macro. v2.0. This data sheet defines the functionality of Version 1.0 of the 8b10b macro.

CprE 281: Digital Logic

Modeling Latches and Flip-flops

DIGITAL ELECTRONICS MCQs

IT T35 Digital system desigm y - ii /s - iii

Digital Fundamentals

ASYNCHRONOUS COUNTER CIRCUITS

Logic Design. Flip Flops, Registers and Counters

First Name Last Name November 10, 2009 CS-343 Exam 2

Chapter 2. Digital Circuits

Counters

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

Asynchronous (Ripple) Counters

Self Restoring Logic (SRL) Cell Targets Space Application Designs

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 220. Experiment 4 - Latches and Flip-Flops

ECE 341. Lecture # 2

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

Switching Circuits & Logic Design, Fall Final Examination (1/13/2012, 3:30pm~5:20pm)

Clock Domain Crossing. Presented by Abramov B. 1

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

Chapter 4. Logic Design

Experiment 8 Introduction to Latches and Flip-Flops and registers

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

LAX_x Logic Analyzer

CSE 352 Laboratory Assignment 3

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

Product Update. JTAG Issues and the Use of RT54SX Devices

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

Digital Fundamentals: A Systems Approach

Synchronizing Multiple ADC08xxxx Giga-Sample ADCs

Using on-chip Test Pattern Compression for Full Scan SoC Designs

EKT 121/4 ELEKTRONIK DIGIT 1

RS flip-flop using NOR gate

Asynchronous counters

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

PRE J. Figure 25.1a J-K flip-flop with Asynchronous Preset and Clear inputs

CHAPTER 4: Logic Circuits

Digital Circuits ECS 371

PGT104 Digital Electronics. PGT104 Digital Electronics

SMPTE-259M/DVB-ASI Scrambler/Controller

NS8050U MICROWIRE PLUSTM Interface

The NOR latch is similar to the NAND latch

ECE321 Electronics I

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

EEE2135 Digital Logic Design Chapter 6. Latches/Flip-Flops and Registers/Counters 서강대학교 전자공학과

Topic D-type Flip-flops. Draw a timing diagram to illustrate the significance of edge

Chapter 5 Flip-Flops and Related Devices

SHA-256 Module Specification

CHAPTER 4: Logic Circuits


Introduction to Microprocessor & Digital Logic

ELCT201: DIGITAL LOGIC DESIGN

AN-822 APPLICATION NOTE

VU Mobile Powered by S NO Group

MC54/74F568 MC54/74F569 4-BIT BIDIRECTIONAL COUNTERS (WITH 3-STATE OUTPUTS) 4-BIT BIDIRECTIONAL COUNTERS (WITH 3-STATE OUTPUTS)

Logic Analyzer Triggering Techniques to Capture Elusive Problems

CHW 261: Logic Design

Digital Blocks Semiconductor IP

DESIGNING AN ECU CPU FOR RADIATION ENVIRONMENT. Matthew G. M. Yee College of Engineering University of Hawai`i at Mānoa Honolulu, HI ABSTRACT

Why FPGAs? FPGA Overview. Why FPGAs?

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

Using the Quartus II Chip Editor

2.6 Reset Design Strategy

Chapter 4: One-Shots, Counters, and Clocks

Chapter 7 Counters and Registers

Logic Analysis Fundamentals

Project 6: Latches and flip-flops

EITF35: Introduction to Structured VLSI Design

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

11. Sequential Elements

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram

BUSES IN COMPUTER ARCHITECTURE

Cell-based ASIC ATC20. Summary

74LVQ374 Low Voltage Octal D-Type Flip-Flop with 3-STATE Outputs

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

Flip-Flops and Related Devices. Wen-Hung Liao, Ph.D. 4/11/2001

SEMESTER ONE EXAMINATIONS 2002

Simulation Mismatches Can Foul Up Test-Pattern Verification

Unit 11. Latches and Flip-Flops

MODEL QUESTIONS WITH ANSWERS THIRD SEMESTER B.TECH DEGREE EXAMINATION DECEMBER CS 203: Switching Theory and Logic Design. Time: 3 Hrs Marks: 100

RS flip-flop using NOR gate

MODULE 3. Combinational & Sequential logic

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

CS3350B Computer Architecture Winter 2015

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

DEDICATED TO EMBEDDED SOLUTIONS

Chapter 2 Clocks and Resets

Transcription:

Application Note AC228 and FULL Flag Behaviors of the Axcelerator FIFO Controller Introduction The purpose of this application note is to specifically illustrate the following two behaviors of the FULL and flags: The Axcelerator and RTAX-S FIFO controller deasserts the flag for two read clock cycles immediately after the deassertion of the signal while the read_clock () pulse is high. The Axcelerator and RTAX-S FIFO controller could falsely assert the FULL and flags if separate clock frequencies are used for and For a complete description of the FIFO and FIFO controller functionality, reference the Axcelerator Family FPGAs datasheet, the RTAX-S RadTolerant FPGAs datasheet and the Axcelerator Family Memory Blocks application note. FIFO Controller The circuit in Figure 1 depicts the FIFO Controller architecture. Table 1 on page 2 lists and describes the FIFO Controller input and output signals. RD [n-1:0] RD WD WD [n-1:0] RA [J:0] RAM WA [J:0] REN WEN PIPE RW[2:0] WW[2:0] DEPTH[3:0] CNT 16 E = AFVAL > FULL WIDTH[2:0] SUB 16 A AEVAL > = CNT 16 E = Figure 1 Simplified Architecture of FIFO Controller March 2005 1 2005 Actel Corporation

and FULL Flag Behaviors of the Axcelerator FIFO Controller Table 1 FIFO Signal Description Signal Direction Description Input Write clock (active either edge). Input Read clock (active either edge). Input FIFO write enable. When this signal is asserted, the WD bus data is latched into the FIFO, and the internal write counters are incremented. Input FIFO read enable. WD [N-1:0] Input Write data bus. The value N is dependent on the RAM configuration and can be 1, 2, 4, 9, 18, or 36. RD [N-1:0] Output Read data bus. The value N is dependent on the RAM configuration and can be 1, 2, 4, 9, 18, or 36. FULL Output Active high signal indicating that the FIFO is FULL. When this signal is set, additional write requests are ignored. Output Active high signal indicating that the FIFO is. AFVAL Input 8-bit input defining the value of the FIFO. Should not be set to all zeros. Output Empty flag indicating that the FIFO is in the empty state. When this signal is asserted, attempts to read the FIFO will be ignored. A Output Active high signal indicating that the FIFO is A. AEVAL Input 8-bit input defining the almost-empty value of the FIFO. PIPE Input Sets the pipe option on or off. Input Active high asynchronous clear. Asserting this signal initializes the FIFO s read and write addresses to '0'. The flags are initialized as well: FULL = '0'; = '0'; = '1'; and A = '1'. DEPTH Input Determines the depth of the FIFO and the number of FIFO blocks to be cascaded. WIDTH Input Determines the width of the data-word / width of the FIFO, and the number of the FIFO blocks to be cascaded. 2

and FULL Flag Behaviors of the Axcelerator FIFO Controller Flag Behavior after Clear This section illustrates the true flag behavior without and with a write operation occurring. F2 F3 00 F2 F3 00 Figure 2 Flag Behavior after Release of During Low Pulse without Write Operation Figure 2 shows the flag remaining high, after the signal is released during the low pulse, indicating that the FIFO is still in the empty state. F2 F3 00 02 Figure 3 Flag Behavior after Release of During High Pulse without Write Operation Figure 3 shows the flag temporarily going low, after the signal is released during the high pulse. The flag remains low for two rising edges of, indicating that the FIFO is not in the empty state even though the WA and RA are still in their initialized states. 3

and FULL Flag Behaviors of the Axcelerator FIFO Controller F2 F3 F4 F5 F6 Figure 4 Flag Behavior after Release of During Low Pulse with Write Operation Figure 4 shows the flag remaining high after the signal is released during the low pulse, indicating that the FIFO is still in the empty state. After three rising edges the flag de-asserts, indicating that the written data is valid and available for reading. F2 F3 F4 F5 F6 F2 F3 00 02 03 04 Figure 5 Flag Behavior after Release of During High Pulse with Write Operation Figure 5 shows the flag de-asserting low, immediately after the signal is released during the high pulse. The flag remains low indicating that the FIFO is not in the empty state even though the WA and RA are still in their initialized states. The written data is actually not valid until the third rising edge. Failure to accommodate this behavior may result in invalid data acquisition. Simulation Libraries Prior to Libero Integrated Design Environment (IDE) and Designer v6.1 Service Pack 1, the Axcelerator and RTAX-S simulation libraries did not accurately reflect the flag silicon behavior. The libraries did not model the flags temporary low period after the release of during the high pulse. These simulation libraries have been corrected in Libero IDE and Designer v6.1 SP1 to reflect the true silicon behavior of the flag. Design Solutions If the design requires an asynchronous release of the signal, the design should only execute a read operation on the third cycle after the release of and after the first write operation. As discussed earlier, the flag low pulse behavior only occurs if the signal is released during the high pulse of the. In order to mask this behavior, a simple active-low Latch or negative-edge flip-flop circuit can be implemented in the design. These solutions may be feasible if the design can allow up to 4

and FULL Flag Behaviors of the Axcelerator FIFO Controller one extra cycle delay on the final release of the signal. A Clock Duplication solution may also be feasible. When implementing these circuits, they should be inserted in the design between the intended signal (called USER_) and the FIFO Controller port (called ). The following solutions are designed for FIFOs configured with rising-edge triggered. The corresponding waveforms result when the write enable () is high. If the FIFO is configured with a that is falling-edge triggered, the solutions must be modified to maintain a balanced polarity. Timing analysis should be performed when implementing these solutions. Latch Solution If the design requires that the be driven by a routed clock resource, the simple active-low Latch circuit in Figure 6 can be implemented as a solution. This Latch circuit, which implements the DLP1A macro, is designed to provide a signal that is latched during the low pulse of the. USER_ READ_CLOCK Figure 6 Latch Solution D PRE Q G DFP1A _TO_FIFO_CONTROLLER F2 F3 F4 F5 F6 USER_ Figure 7 Flag Behavior after Release of During Low Pulse with Latch Solution Figure 7 shows that when the USER_ signal de-asserts during the low pulse, the latch solution adds only a small propagation delay to the signal that routes to the FIFO controller. Note that if the USER_ de-asserts too close to the rising edge of it will not be latched until the next low pulse of, which will delay the signal by half an cycle. 5

and FULL Flag Behaviors of the Axcelerator FIFO Controller F2 F3 F4 F5 F6 USER_ Figure 8 Flag Behavior after Release of During High Pulse with Latch Solution Figure 8 shows that the USER_ signal is not latched in until the low pulse. Note that in both Figure 7 on page 5 and Figure 8 the flag ultimately de-asserts on the third rising edge of after is de-asserted. Flip-Flop Solution If the design requires that the be driven by a hardwired clock resource, the simple negative-edge Flip-Flop circuit in Figure 9 can be implemented as a solution. A flip-flop is needed because a latch clock signal cannot be driven from a hardwired clock resource. This flip-flop circuit, which implements the DFP1A macro, is designed to provide a signal that was captured during the falling edge of the. Note that this Flip-Flop may cause the read data to be valid after four rising edges instead of three. USER_ READ_CLOCK Figure 9 Flip-Flop Solution PRE D Q DFP1A CC CLK _TO_FIFO_CONTROLLER 6

and FULL Flag Behaviors of the Axcelerator FIFO Controller F2 F3 F4 F5 F6 USER_ Figure 10 Flag Behavior after Release of During Low Pulse with Flip-Flop Solution Figure 10 shows that if the USER_ de-asserts during the low pulse, the USER_ is not captured until the next falling edge of. The resulting that drives the FIFO controller is therefore delayed by at least a half cycle of, causing the flag to de-assert after the forth rising edge from the release of USER_. F2 F3 F4 F5 F6 USER_ Figure 11 Flag Behavior after Release of During High Pulse with Flip-Flop Solution Figure 11 shows that the USER_ signal is not captured until the low pulse. Note that in both Figure 10 and Figure 11 the flag ultimately de-asserts on the third rising edge of after is de-asserted. 7

and FULL Flag Behaviors of the Axcelerator FIFO Controller Clock Duplication and Latch Solution This circuit is designed to create a copy of the and use this generated copy to latch in the low level of the signal. This solution can be driven by the routed clock or hardwired clock resource. It implements the D, DB, DLP1A, XOR2, and INV macros. D Q D CLK D Q DB CLK USER_ COPY_OF_READ_CLOCK _TO_FIFO_CONTROLLER PRE DLP1A READ_CLOCK Figure 12 Clock Duplication and Latch Solution F2 F3 F4 F5 F6 COPY_CLOCK USER_ Figure 13 Flag Behavior after Release of During Low Pulse with Copy of and Latch Solution Figure 13 and Figure 14 on page 9 show that the flag de-asserts three rising edges of after the USER_ or de-assert. Note that COPY_CLOCK only drives the clock pin of the latch. It does not drive the FIFO Controller. Therefore, there is a design-dependent skew between and COPY_CLOCK, so if the should de-assert during the clock skew gap when the COPY_CLOCK is low and is still high, the low pulse flag behavior will not be masked. The advantage of using this circuit is that it behaves like the simple Latch Solution without losing the half cycle. FULL and Flag Behavior When Separate and are Used When the and of the FIFO are different in frequency and not in phase, it is possible to observe a false assertion on the FULL and flag. Figure 15 on page 9 shows the flag asserting while the FULL flag is high. After one pulse, the false flag deasserts. Figure 16 on page 10 shows the FULL flag asserting while the flag is high. After one pulse, the false FULL flag deasserts. 8

and FULL Flag Behaviors of the Axcelerator FIFO Controller F2 F3 F4 F5 F6 COPY_CLOCK USER_ Figure 14 Flag Behavior after Release of During High Pulse with the Copy of and Latch Solution. Figure 15 Flag Behavior When and Are Not in Phase 9

and FULL Flag Behaviors of the Axcelerator FIFO Controller Figure 16 FULL Flag Behavior When and Are Not in Phase RTAX-S The RTAX-S family is designed for space applications and is derived from the Axcelerator family. Being a derivative of the Axcelerator family, it has inherited the optional FIFO Controller feature and the FULL and flag behaviors. Therefore, the solutions above may be implemented in the design to achieve the same results. Designs are targeted to RTAX-S FPGAs because they contain core register cells that are triple modular redundant (TMR) and thus protected from single event upsets (SEU). However, the flip-flops in the FIFO Controller circuitry are not triple modular redundant and are susceptible to SEU. It is recommended that the embedded FIFO Controller not be implemented in RTAX-S designs, or only allowed for non-critical data-paths. Rather, a FIFO Controller should be implemented using SEU-protected core logic. Conclusion Due to the FULL and flag assertion issue mentioned above, Actel recommends that the FIFO should be used with a single read and write clock. If separate clocks must be used, care must be taken to handle the false assertion issue. The flag low pulse behavior only occurs if the asynchronous signal transitions from high to low during the high pulse. However, simple solutions can be implemented in the design to mask this behavior. Designs should be upgraded to Libero IDE and Designer v6.1 SP1 or later in order to use simulation libraries that reflect the true flag behavior. 10

and FULL Flag Behaviors of the Axcelerator FIFO Controller List of Changes Previous Version Changes in Current Version (51900094-1/8.05*) Page 51900094-0/3.05* The "FULL and Flag Behavior When Separate and are Used" section on page 8 is new. 8 The "RTAX-S" section on page 10 was updated. 10 Note: *This is the part number located on the last page of the document. Related Documents Application Notes Axcelerator Family Memory Blocks http://www.actel.com/documents/ax_blocks_an.pdf Datasheets Axcelerator Family FPGAs http://www.actel.com/documents/ax_ds.pdf RTAX-S RadTolerant FPGAs http://www.actel.com/documents/rtaxs_ds.pdf 11

Actel and the Actel logo are registered trademarks of Actel Corporation. All other trademarks are the property of their owners. www.actel.com Actel Corporation 2061 Stierlin Court Mountain View, CA 94043-4655 USA Phone 650.318.4200 Fax 650.318.4600 Actel Europe Ltd. Dunlop House, Riverside Way Camberley, Surrey GU15 3YL United Kingdom Phone +44 (0) 1276 4 450 Fax +44 (0) 1276 4 490 Actel Japan www.jp.actel.com EXOS Ebisu Bldg. 4F 1-24-14 Ebisu Shibuya-ku Tokyo 150 Japan Phone +81.03.3445.7671 Fax +81.03.3445.7668 Actel Hong Kong www.actel.com.cn Suite 2114, Two Pacific Place 88 Queensway, Admiralty Hong Kong Phone +852 2185 6460 Fax +852 2185 6488 51900094-1/8.05