Вы находитесь на странице: 1из 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/266393861

Design,ASIC Implementation and Verification of Synchronous and


Asynchronous FIFO

Conference Paper · July 2012

CITATION READS

1 5,412

2 authors, including:

Dr S Nagakishore Bhavanam
University College of Engineering & Technology, Acharya Nagarjuna University, Guntur
69 PUBLICATIONS   132 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Multi Frequency antennas View project

All content following this page was uploaded by Dr S Nagakishore Bhavanam on 05 October 2014.

The user has requested enhancement of the downloaded file.


Proceedings of International Conference on Innovation in Electronics and Communications Engineering (ICIECE-2012)

Design,ASIC Implementation and Verification of


Synchronous and Asynchronous FIFO
Arun Teja S 1, S Nagakishore B 2, Swetha A 3
1
Guru Nanak Institute of Technology, M.Tech, E.C.E Dept., Ibrahimpatnam, Hyderabad, India
Email: itsmearun69@gmail.com
2, 3
Guru Nanak Institute of Technology, Asst. Prof , E.C.E Dept., Ibrahimpatnam, Hyderabad, India
Email:{ kishorereddy.vlsi@gmail.com, swethavlsi@yahoo.com }

Abstract : synchrous FIFO read and write operations are controlled


by a single clock, whereas in asynchronous FIFO read and
A FIFO is used as a “First In First Out” memory buffer write operations are controlled by individual clocks (i.e
between two asynchronous systems with simultaneous write
read clock and write clock).
and read access to and from the FIFO, these accesses being
independent of one another. In FIFO, the comparator shown in Fig. 1, is used to know
wheather the FIFO is full or empty.
FIFO has an input (write) port and an output (read) port.
Each port has its own associated pointers which points to a
location in the memory, after a FIFO reset both the write and
read pointers will be at the first memory location within the
FIFO. Each write operation will cause the write pointer to
increment to the next location in memory; similarly every
read operation will cause the read pointer to increment to the
next location. FIFO can be either synchronous or
asynchronous.

The basic difference between them is that the entire operation


of synchronous FIFO is entirely dependent on the clock
where as the write operation and read operation of
asynchronous FIFO are asynchronous to each other. The
entire ASIC (Application Specific Integrated Circuit) Flow is
carriedout using Synopsys tools.

Keywords - FIFO, Physical Design (ICC), Simulation (VCS),


Synthesis (DC), Verification (VCS).

I. INTRODUCTION

FIFOs are an increasingly important component as design


has become more modular. The choice of which structured
memory to employ can have significant impact on the
power, performance, and cost of a design. The choices are
broad and range from synchronous to asynchronous
designs. Some excellent work on the properties of FIFOs
has been published. Yet a clear understanding of the
comparative cost of different designs in terms of power,
throughput, latency, and area – and of the key differences
between specific structures– is not generally available.
This paper reports on a study performed for a two fold
purpose: to help designers choose the best FIFO for their
target design, and to develop the foundation for an
Fig.1.Comparator.
automatic CAD tool for selecting and synthesizing the best
structure.
The end goal is to develop synchronous and asynchronous
The most common synchronous and asynchronous designs FIFO in ASIC and to compare the difference between
are compared across a broad range of design metrics. The synchronous and asynchronous FIFO.
designs are characterized for power, timing, throughput II. DESIGN AND CHARACTERIZATION
for a given occupancy, and area.
The results reported in this paper are derived from the
This work evaluates the difference between synchronous layout of designs that have been automatically synthesized
and asynchronous FIFO. The synchronous designs operate and characterized. The implementations are designed to
entirely in a single clock domain, and asynchronous achieve the goal of making them as comparable as
designs may operate at different clock domains. In possible.
38
GNI Hyderabad
Proceedings of International Conference on Innovation in Electronics and Communications Engineering (ICIECE-2012)

This is accomplished by employing the same universal


subcomponents to construct both the asynchronous and
synchronous FIFO designs. For instance, the same
synchronous binary shift register is used for address
selection in the synchronous head / tail pointer design as
well as the asynchronous parallel and rectangular FIFOs.

The design and characterization flow proceed as follows.


First, a small set of shared circuit templates were designed.
Each are implemented as a behavioral or structural Verilog
module. The structural modules are mapped to the Artisan
65nm static library. There are 10 separate modules, three
of which are asynchronous state machines, the rest consist
of “clocked” components. The data registers are composed
of banks of flip-flops for the clocked head / tail pointer
design, and data latches for all other designs.
Fig. 2. Synchronous FIFO schematic view.
This characterization includes formal verification to prove
behavioral and timing correctness. Constraints are In asynchronous FIFO, we use two clocks that is write
employed to ensure the structure of the cells are not clock and read clock, write clock will take care of write
modified by the CAD tools, but that the drive strengths can operation and read clock will take care of read operation as
be correctly optimized for power and delay by using the shown in Fig.3. It means that both wr ite and read
set_size_only commands for these modules. Specific operations are asynchronous to each other. So, it is called
timing in the asynchronous modules not understood by the as asynchronous FIFO.
clocked CAD are defined with set_max_delay,
set_min_delay, and set_data_check commands. These sdc
commands are used by the logic synthesis and place and
route tools. They are employed in a way that ensures that
the asynchronous designs are power and timing optimized
just as the clocked modules.

A custom parameterized TCL script was written to


synthesize the completed FIFO architectures as Verilog
designs. The result of the script is a Verilog register
transfer level (RTL) design. The RTL typically consists of
both structural and behavioral modules.

The Verilog designs are synthesized using Design


Compiler (DC) and then physically placed and routed
using Integrated Circuit Compiler (ICC). The design area
is measured from ICC and then simulated for power and
performance using Verilog Compile Simulator (VCS). Fig. 3. Asynchronous FIFO schematic view.
Results from VCS import delays calculated from parasitic
extraction from the physical layout in ICC using the In this design, both synchronous and asynchronous FIFO
standard delay format (sdf). uses the same conditions as shown in Fig. 4. In FIFO, if
write pointer is equal to read pointer then the FIFO is
One simulation in VCS is designed to measure the power. empty, else if write pointer is not equal to read pointer then
This simulation generates a switching activity information the FIFO is full or it has some data. The FIFO will be full,
file (saif) file that logs the switching activity on every node when it satisfies the condition rptr = {~wptr[2], wptr[1:0] }.
in the design. The saif file is imported into ICC which
generates the power results based on the parasitics and Both synchronous and asynchronous FIFO schematic view
actual activity factors of the nodes from simulation. is generated by using Design Compiler (DC), it is a
The design is verified using Synopsys tool, that is VCS it Synopsys tool used for synthesis.
is a simulation tool.

III. IMPLEMENTATION OF SYNCHRONOUS AND


ASYNCHRONOUS FIFO

In synchronous FIFO, we use only single clock that


controls both write and read operations as shown in the
Fig.2. It means that both write and read operations are
synchronous to each other. So, it is called as synchronous
FIFO. Fig. 4. FIFO full and empty condition.
39
GNI Hyderabad
Proceedings of International Conference on Innovation in Electronics and Communications Engineering (ICIECE-2012)

IV. FIGURES AND REPORTS


Simulation Result of Asynchronous FIFO Top Module:
Top Module for Synchronous FIFO:

Fig. 8. Simulation Result of Asynchronous FIFO.


Fig. 5. Synchronous FIFO Top Module.

Simulation Result of Synchronous FIFO Top Module:


Physical Design Reports for Synchronous FIFO:

Clock Report:
***************************************
Report : clocks
Design : fifo_top_syn
Version: C-2009.06-ICC
Date : Sat Jun 4 00:20:21 2011
***************************************

Attributes:
d - dont_touch_network
f - fix_hold
p - propagated_clock
G - generated_clock

Clock Period Waveform


Attrs Sources
Fig. 6. Simulation Result of Synchronous FIFO.
---------------------------------------
clk 2.00 {0 1}
Top Module for Asynchronous FIFO: f p {clk}
---------------------------------------

Constraint Report:

***************************************
Report : constraint
Design : fifo_top_syn
Version: C-2009.06-ICC
Date : Sat Jun 4 00:18:15 2011

Constraint Cost
--------------------------------
max_transition 0.00 (MET)
max_capacitance 0.00 (MET)
max_delay/setup 0.03 (MET)
critical_range 0.03 (MET)
min_delay/hold 0.00 (MET)
max_dynamic_power 0.00 (MET)
Fig. 7. Asynchronous FIFO Top Module. max_leakage_powe 0.00 (MET)
40
GNI Hyderabad
Proceedings of International Conference on Innovation in Electronics and Communications Engineering (ICIECE-2012)

Layout View of Placed and Routed Asynchronous FIFO:


Physical Design Reports for Asynchronous FIFO:

Clock Report:

***************************************
Report : clocks
Design : fifo_top_asyn
Version: C-2009.06-ICC
Date : Mon May 2 16:52:39 2011
***************************************

Attributes:
d - dont_touch_network
f - fix_hold
p - propagated_clock
G - generated_clock

Clock Period Waveform


Attrs Sources
---------------------------------------
r_clk 2.00 {0 1}
f p {r_clk} Fig. 10. Layout view of synchronous FIFO
w_clk 2.00 {0 1}
f p {w_clk} Verification Report of Synchronous FIFO:
---------------------------------------
Constraint Report:
***************************************
Report : constraint
Design : fifo_top_asyn
Version: C-2009.06-ICC
Date : Mon May 2 16:50:34 2011

Constraint Cost
---------------------------------
max_transition 0.00 (MET)
max_capacitance 0.00 (MET)
max_delay/setup 0.00 (MET)
critical_range 0.00 (MET)
min_delay/hold 0.00 (MET)
max_dynamic_power 0.00 (MET)
max_leakage_power 0.00 (MET)

Layout View of Placed and Routed Synchronous FIFO:

Fig. 9. Layout view of synchronous FIFO Fig. 11.Verification Report of synchronous FIFO

41
GNI Hyderabad
Proceedings of International Conference on Innovation in Electronics and Communications Engineering (ICIECE-2012)

Verification Report of Asynchronous FIFO:

REFERENCES

[1] E. Brunvand, “Low Latency Self-Timed Flow Through FIFOs,” in


16th Conference on Advanced Research in VLSI, UC Santa Cruz,
March 1995, pp. 76–90.
[2] R. W. Apperson, Z. Yu, M. J. Meeuwsen, T. Mohsenin, and B. M.
Bass, “A Scalable Dual-Clock FIFO for Data Transfers Between
Arbitrary and Haltable Clock Domains,” IEEE Transactions on
Very Large Scale Integration, vol. 15, no. 10, pp. 1125–1134, Oct
2007.
[3] Altera Corporation, Single & Dual-Clock FIFO Megafunctions
User Guide, June 2003. [Online]. Available:
http://www.altera.com/literature/ug/ug fifo.pdf
[4] J. Ebergen, “Squaring the FIFO in GasP,” in 7th International
Symposium on Asynchronous Circuits and Systems, March 2001,
pp. 194–205.
[5] I. M. Panades and A. Greiner, “Bi-Synchronous FIFO for
Synchronous Circuit Communication Well Suited for Network-on-
Chip in GALS Architectures,” in 2nd International Symposium on
Networks-on-Chip. ACM/IEEE, April 2008, pp. 139–148.
[6] T. Chelcea and S. M. Nowick, “Low-latency asynchronous FIFO’s
using token rings,” in 6th International Symposium on Advanced
Research in Asynchronous Circuits and Systems (ASYNC 2000).
IEEE, apr 2000, pp. 210–220.
[7] C. E. Molnar, I. W. Jones, W. S. Coates, J. K. Lexau, S. M.
Fairbanks, and I. E. Sutherland, “Two FIFO Ring Performance
Experiments,” Proceedings of the IEEE, vol. 87, no. 2, pp. 297–
307, Feb 1999.
[8] J. T. Yantchev, C. G. Huang, M. B. Josephs, and I. M. Nedelchev,
“Low-latency asynchronous FIFO buffers,” in 2nd Working
Conference on Asynchronous Design Methodologies, May 1995,
pp. 24–31.
[9] K. S. Stevens, Y. Xu, and V. Vij, “Characterization of
Asynchronous Templates for Integration into Clocked CAD
Flows,” in 15th International Symposium on Asynchronous
Circuits and Systems. IEEE, May 2009, pp. 151–161.
[10] J. Cortadella, M. Kishinevsky, and B. Grundmann, “Synthesis of
synchronous elastic architectures,” in Proceedings of the Digital
Automation Conference (DAC06). IEEE, July 2006, pp. 657–662.
[11] J. You, Y. Xu, H. Han, and K. S. Stevens, “Performance
Evaluation of Elastic GALS Interfaces and Network Fabric,”
Electronic Notes in Theoretical Computer Science, vol. 200, no. 1,
pp. 17–32, February 2008, elsevier.
Fig. 12.Verification Report of Asynchronous FIFO [12] L. P. Carloni, K. L. McMillan, and A. L. Sangiovanni-Vincentelli,
“Theory of latency-insensitive design,” IEEE Transactions on
Computer- Aided Design, vol. 20, no. 9, pp. 1059–1076, Sep 2001.
V. CONCLUSION [13] H. M. Jacobson, P. N. Kudva, P. Bose, P. W. Cook, S. E. Schuster,
E. G. Mercer, and C. J. Myers, “Synchronous interlocked
pipelines,” in 8th International Symposium on Asynchronous
The Synchronous & Asynchronous FIFO is operated at a Circuits and Systems, Apr. 2002, pp. 3–12.
frequency of 500MHZ that is its clock period is 2ns. The [14] HoSuk Han, Kenneth S. Stevens, “Clocked and Asynchronous
Design is free from LVS & DRC violations. But the FIFO Characterization and Comparison”, Electrical and Computer
Asynchronous FIFO takes more area & more power, Engineering, University of Utah.
because it requires two clocks. The entire ASIC Flow is
carriedout using Synopsys tools.

ACKNOWLEDGEMENT

I would like to articulate my profound gratitude and


indebtedness to Dr. Srinivasulu Thadisetty, Principal,
GNIT, Prof N. C Pant, Prof. B. Kedarnath, Mr.
Mallikarjun Rapolu, Assoc. Prof., for guiding and
encouraging me in all aspects.

I wish to extend my sincere thanks to Mr. Padmanabam ,


Asst. Prof.,for giving support.

42
GNI Hyderabad

View publication stats

Вам также может понравиться