Transcription of Clocked and Asynchronous FIFO Characterization and …
1 Clocked and Asynchronous FIFOC haracterization and ComparisonHoSuk HanKenneth S. StevensElectrical and Computer EngineeringUniversity of UtahAbstract Heterogeneous blocks, IP reuse, network-on-chipinterconnect, and multi-frequency design are becoming moreprevalent in integrated circuit design. Communication amongstthese blocks typically employs first-in-first-out ( fifo ) bufferingfor flow control. This paper characterizes and evaluates severalcommon designs in order to determine which structure is bestfor various specific applications.
2 Two Clocked and four clocklessasynchronous fifo designs are compared varying capacity,bit width, and structural configurations. The fifo layoutsare characterized in the IBM 65nm 10sf process for latency,throughput, area, and power. First order models are created toaid in CAD for fifo synthesis, modeling, and optimization. Com-parative results show that the Asynchronous designs uniformlyout perform the Clocked designs in nearly every INTRODUCTIONFIFOs are an increasingly important component as designhas become more modular. The choice of which structuredmemory to employ can have significant impact on the power,performance, and cost of a design.
3 The choices are broad andrange from Clocked to Asynchronous designs [1] [6]. Someexcellent work on the properties of FIFOs has been published[7], [8]. Yet a clear understanding of the comparative cost ofdifferent designs in terms of power, throughput, latency, andarea and of the key differences between specific structures is not generally available. This paper reports on a studyperformed for a two fold purpose: to help designers choose thebest fifo for their target design, and to develop the foundationfor an automatic CAD tool for selecting and synthesizing thebest most common Clocked and Asynchronous designs arecompared across a broad range of design metrics.
4 The designsare characterized for buffering capacity, energy per data word,leakage energy, width of the data path, forward and backwardlatency, throughput for a given occupancy, and area. Many ofthe Asynchronous designs have various structural choices, andthese structures are compared and optimized. First-order equa-tions are that allow designs to be compared across arbitraryparameterized ranges are also work evaluates the most common fifo structures. Twoclocked and four Asynchronous fifo classes are Clocked designs are assumed to operate entirely in asingle clock domain.
5 Synchronization costs are ignored inthis analysis if the Asynchronous design is placed in a clockdomain. No status information beyond full at the write portand empty at the read port is 1. Schematic of the linear pipeline controllerThe end goal is to develop a tool to algorithmically evaluatethe merits of various fifo structures and generate a parame-terized synthesis system that will create the most appropriatedesign. The choice can have significant impact. For instance,the best 8 word Asynchronous fifo expends half the energywith a forward latency that is almost a third that of thebest Clocked fifo while achieving nearly identical maximumthroughput.
6 In general, the Asynchronous designs are shownto significantly out perform Clocked designs for nearly everymetric and across nearly the full range of design DESIGN ANDCHARACTERIZATIONThe results reported in this paper are derived from thelayout of designs that have been automatically synthesized andcharacterized. The designs have been physically placed androuted in the IBM 10sf 65nm process technology using theArtisan RVt 12T library. Simulation results use full parasiticextraction from implementations are designed to achieve the goal ofmaking them as comparable as possible.
7 This is accomplishedby employing the same universal subcomponents to constructboth the Asynchronous and Clocked fifo designs. For in-stance, the same Clocked one-hot shift register is used foraddress selection in the Clocked head / tail pointer designas well as the Asynchronous parallel and rectangular , the same pipeline controller, shown in Fig. 1, is usedin all the Asynchronous design and Characterization flow proceed as , a small set of shared circuit templates were are implemented as a behavioral or structural Verilogmodule.
8 The structural modules are mapped to the Artisan65nm static library. There are 10 separate modules, three ofwhich are Asynchronous state machines, the rest consist of Clocked components. The data registers are composed ofbanks of flip-flops for the Clocked head / tail pointer design,and data latches for all other Asynchronous modules consist of either pipelined stageswhich contain a latch bank to store data, or unpipelinedstages that steer the control and data bits. The asynchronousunpipelined modules consist entirely of Clocked elements,such as the one-hot shift register.
9 The pipelined modules havean Asynchronous state machine that controls the clock signal tothe latch bank that stores the data, and performs flow controlbetween buffer stages. The linear pipeline controller circuitof Fig. 1 is a typical example of an Asynchronous finite statemachine (AFSM) controller. The other Asynchronous AFSM designs include the binary toggle and merge components thatbuffer and steer data between three three Asynchronous finite state machine controllerswere synthesized or hand designed, and implemented asstructural Verilog modules mapped to the static Artisan celllibrary.
10 These circuits used a Characterization flow that permitstheir use in Clocked ASIC CAD flows [9]. This character-ization includes formal verification to prove behavioral andtiming correctness. Constraints are employed to ensure thestructure of the cells are not modified by the CAD tools,but that the drive strengths can be correctly optimized forpower and delay by using theset_size_onlycom-mands for these modules. Specific timing in the asynch-ronous modules not understood by the Clocked CAD aredefined withset_max_delay,set_min_delay, andset_data_checkcommands.