EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder

Similar documents
CS/EE 6710 Digital VLSI Design CAD Assignment #3 Due Thursday September 21 st, 5:00pm

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

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

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

Integrated Circuit Design ELCT 701 (Winter 2017) Lecture 1: Introduction

Electrical & Computer Engineering ECE 491. Introduction to VLSI. Report 1

CHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING

Project 6: Latches and flip-flops

Design Project: Designing a Viterbi Decoder (PART I)

11. Sequential Elements

Design of a Low Power Four-Bit Binary Counter Using Enhancement Type Mosfet

CHAPTER 4 RESULTS & DISCUSSION

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009

Design and Simulation of a Digital CMOS Synchronous 4-bit Up-Counter with Set and Reset

EECS 427 Discussion 1

ECE321 Electronics I

ECE 555 DESIGN PROJECT Introduction and Phase 1

A Low-Power CMOS Flip-Flop for High Performance Processors

TKK S ASIC-PIIRIEN SUUNNITTELU

Adding Analog and Mixed Signal Concerns to a Digital VLSI Course

ELEC 4609 IC DESIGN TERM PROJECT: DYNAMIC PRSG v1.2

CS3350B Computer Architecture Winter 2015

Combining Dual-Supply, Dual-Threshold and Transistor Sizing for Power Reduction

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

Why FPGAs? FPGA Overview. Why FPGAs?

Based on slides/material by. Topic 14. Testing. Testing. Logic Verification. Recommended Reading:

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

More Digital Circuits

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Lecture 10: Sequential Circuits

CSE 352 Laboratory Assignment 3

Computer Architecture and Organization

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

SA4NCCP 4-BIT FULL SERIAL ADDER

Design and Evaluation of a Low-Power UART-Protocol Deserializer

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2006

LFSR Counter Implementation in CMOS VLSI

A NOVEL DESIGN OF COUNTER USING TSPC D FLIP-FLOP FOR HIGH PERFORMANCE AND LOW POWER VLSI DESIGN APPLICATIONS USING 45NM CMOS TECHNOLOGY

Digital Integrated Circuits EECS 312

CMOS DESIGN OF FLIP-FLOP ON 120nm

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

EEC 118 Lecture #9: Sequential Logic. Rajeevan Amirtharajah University of California, Davis Jeff Parkhurst Intel Corporation

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

ECEN689: Special Topics in High-Speed Links Circuits and Systems Spring 2011

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

6.S084 Tutorial Problems L05 Sequential Circuits

CS61C : Machine Structures

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

Cascadable 4-Bit Comparator

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

Power Reduction Techniques for a Spread Spectrum Based Correlator

Comparative study on low-power high-performance standard-cell flip-flops

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Chapter 5 Sequential Circuits

Digital Integrated Circuits Lecture 19: Design for Testability

ECE 2274 Pre-Lab for Experiment Timer Chip

A Symmetric Differential Clock Generator for Bit-Serial Hardware

Experiment # 4 Counters and Logic Analyzer

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

CS61C : Machine Structures

Introduction to CMOS VLSI Design (E158) Lecture 11: Decoders and Delay Estimation

High Performance Dynamic Hybrid Flip-Flop For Pipeline Stages with Methodical Implanted Logic

Logic Design II (17.342) Spring Lecture Outline

Computer Systems Architecture

Digital Integrated Circuits EECS 312

Lecture 23 Design for Testability (DFT): Full-Scan

Lecture 21: Sequential Circuits. Review: Timing Definitions

CMOS Latches and Flip-Flops

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science SOLUTIONS

Design of a Low Power and Area Efficient Flip Flop With Embedded Logic Module

Lecture 17: Introduction to Design For Testability (DFT) & Manufacturing Test

Design of Fault Coverage Test Pattern Generator Using LFSR

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

Digital Circuits I and II Nov. 17, 1999

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

Performance Driven Reliable Link Design for Network on Chips

Previous Lecture Sequential Circuits. Slide Summary of contents covered in this lecture. (Refer Slide Time: 01:55)

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

Digital Integrated Circuits EECS 312. Review. Remember the ENIAC? IC ENIAC. Trend for one company. First microprocessor

Combinational vs Sequential

EECS 270 Final Exam Spring 2012

A Design for Improved Very Low Power Static Flip Flop Using Two Inverters and Five NORs

EECS 270 Midterm 1 Exam Closed book portion Winter 2017

ASYNCHRONOUS COUNTER CIRCUITS

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

Design and Analysis of Modified Fast Compressors for MAC Unit

Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

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

Unit V Design for Testability

A Power Efficient Flip Flop by using 90nm Technology

Static Timing Analysis for Nanometer Designs

EECS 270 Midterm 2 Exam Closed book portion Fall 2014

A Modified Static Contention Free Single Phase Clocked Flip-flop Design for Low Power Applications

Software Engineering 2DA4. Slides 3: Optimized Implementation of Logic Functions

INF4420 Project Spring Successive Approximation Register (SAR) Analog-to-Digital Converter (ADC)

Chapter 7 Sequential Circuits

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Transcription:

EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder Dept. of Electrical and Computer Engineering University of California, Davis Issued: November 2, 2011 Due: November 16, 2011, 4PM Reading: Rabaey Sections 5.5, 7.1-7.3, and 11 [1]. Reference: Brunvand Chapter 7.6 [2]. OBJECTIVE The objective of this lab is to design, lay out, and verify a pipelined 32 bit adder based on circuits you designed in Lab 4 and Prelab 5. You will measure the average power consumption of the adder over a number of digital test vectors at different clock frequencies and determine the maximum clock frequency at which your design functions correctly. TOOL SETUP No additional setup should be required for this lab. D FLIP-FLOP DESIGN AND SIMULATION Pipelining an arithmetic circuit first requires creating edge-triggered flip-flops and registers to sample input data and intermediate results like carry outputs. Positive Edge-Triggered D Flip-Flop Create a new schematic cell view using the Library Manager for new cell called pdff (for positive edge-triggered D flip-flop). Draw the schematic for the flip-flop as shown in Figure 1 of Prelab 5 with the following modifications: 1. Configure the flip-flop to be positive edge-triggered with inputs D and clk and output Q. 2. Generate clk from clk inside the flip-flop using an additional inverter. 1

3. Choose transistor sizes consistent with previous labs, i.e. use minimum-size inverters and choose transmission gate sizes based on scaling your solution to Prelab 5 to the typical transistor sizes you ve used in previous labs. Part 1 Flip-Flop Layout Create symbol and layout cell views for the flip-flop. It is recommended to match the height of the flip-flop cell to the full adder cells you designed in Lab 3, but you may make the flip-flop cell taller if necessary. Verify your layout is free of DRC and LVS errors. Be prepared to show your schematic, layout, and demonstrate that they are free of errors to the TA for checkoff. Part 2 Flip-Flop Analog Simulation Create a new schematic cell view using the Library Manager for a new cell called lab5 pdff tb. In this schematic, you will instantiate your DUT, as well as additional components for testing it. Instantiate your pdff cell as the DUT. Add two sets of back-to-back stimulus inverters (use invcc 1x) to drive the flip-flop clock and data inputs. Add a fanout-of-4 (FO4) load of invcc 1x cells to the flip-flop Q output. Be sure to instantiate the two supply voltage sources and any other voltage sources you need to supply the data and clock test waveforms. Use analog simulation (i.e., Spectre) to determine the setup time t su, clock-to-q propagation delay t CQ, and hold time t hd for your flip-flop. One way to do this for setup and hold time is to fix the clock waveform as a periodic square wave and create a piecewise linear (PWL) voltage source for the data waveform. Adjust the relative delay between transitions on the data waveform and the positive edge of the clock until the flip-flop output becomes logically incorrect. The smallest delay between clock and data which results in correct operation with data transitioning before the clock and after the clock transition correspond to setup and hold time, respectively. Be sure to check both low-to-high and high-to-low transitions for the data in case there are any asymmetric delays. Show your simulation waveforms to the TA for checkoff and record your simulated values in the summary table. PIPELINED ADDER DESIGN AND SIMULATION In this section, you will design, lay out, and simulate a pipelined 32 bit adder. The adder will be pipelined in 8b segments and follow a ripple-carry architecture, thus the maximum throughput (i.e., maximum clock frequency) will be determined the ripple-carry delay of an 8b adder stage rather than the full 32b carry chain. You would therefore expect the pipelined adder to be able to run at approximately 4 times the frequency of the adder you designed in Lab 4. Figure 1 shows a block diagram of the pipelined adder showing where the pipelining flip-flops and registers need to be inserted to guarantee that all the input and output bits arrive at the correct times to produce a valid result in the final set of registers. To build this adder requires building some subcircuits first. 8b Adder and Register Using the mirror adder cells you created in Lab 3, create a new cell called adder8b. Create both symbol and schematic views. Similarly, using the flip-flop cell you designed above, create symbol and schematic views for an eight bit register cell named preg8. Show your schematics and symbols to the TA for checkoff. 2

Figure 1: Pipelined 32b adder block diagram. Part 3 Pipelined 32b Adder Design Create a new schematic view for a new cell called adder32bpipe and implement the schematic shown in Figure 1. Label the inputs and outputs the same as used for the adder32 cell from Lab 4. This allows you to reuse most of the testbench schematic and test vectors you created for Lab 4 with a minimal amount of extra work. Create a symbol view for the pipelined adder cell by copying the adder32b symbol and adding the clock input clk. It is highly recommended that you finish the adder schematic by the end of the first week to allow one full week for layout and simulation. DO NOT WAIT UNTIL THE LAST MINUTE TO START! You are now ready to lay out the pipelined adder. The goal is to have the layout approximate a rectangular shape rather than the parallelogram implied by the block diagram of Figure 1. This can be done by routing the carry signal diagonally from the carry output of one 8b adder to the carry input of the next 8b adder. A suggested floorplan is shown in Figure 2. The suggested floorplan implies that you may need to make multiple layout views of blocks such as preg8, pdff, and adder8b in order to make all the rows of cells the same height. Do not spend a lot of time optimizing for minimum area - if you need to stretch cells and waste some area to create a rectangular/square design, do so. In this case, the ease of integrating the rectangular design with other circuits is more important than minimizing 3

Figure 2: Pipelined 32b adder floorplan. the total area of the adder. Verify that the final design passes DRC and LVS checks and be able to show the verification results to the TA for checkoff. Part 4 Mixed-Mode Simulation Copy your 32b adder testbench cell from Lab 4 to a new cell named lab5 add32pipe tb. Replace the adder32b DUT with the new pipelined adder DUT adder32bpipe. Modify your testbench by including the clock signal and some inverters to buffer it. Use the same configuration of inverters as the addend and carry inputs because we will want to measure the power (including the clock network power) later. Verify that your pipelined adder works correctly using mixed-mode simulation and a modified version of your Verilog stimulation file that includes the clock stimulus. Clock Issues You may find that your circuit does not work properly the first time. One issue is the clock: you may need to buffer it by using larger inverter cells than inv 1x and invcc 1x. Go ahead and create bigger inverter cells naming them according to our convention. For example, if you need a 64 minimum size inverter running from the V DD supply, name the cell inv 64x. You can also create bigger inverters running from the V CC supply as well. Try to only use two inverter stages total for the clock buffer to simplify your testbench schematic. Timing Issues One potential problem with connecting registers back-to-back without any logic gates in between is hold time violations. Although this is unlikely with the flip-flops you designed above, if you find such violations they can be fixed by inserting back-to-back 4

inverters between the register stages for the A and B inputs and the sum outputs. If you have to change your schematic in this way, you will need to modify your layout as well so that the final simulated working design can pass the LVS check. Maximum Frequency Create a stimulus vector file which exercises the critical path delay of the adder and decrease the clock period (increase the frequency) until the adder fails in mixed-mode simulation. Record your minimum clock period and maximum clock frequency in the table. Be prepared to show your maximum clock frequency simulation waveforms to the TA for checkoff. Power Characterization Simulate your pipelined adder design at five different frequencies between 1MHz and 1GHz using the power characterization stimulus vectors you developed for Lab 4. Record the average power consumption reported by your stimulus vector simulation at each frequency in Table and plot the power vs. frequency. How does the simulated power compare to the model of CMOS dynamic power dissipation from lecture? Checkoff Show your completed schematics, layouts, stimulus file listings, and all waveform plots to the TA for checkoff. Report You must hand in a typewritten report to receive credit for this lab. Your report can be brief, but must include the following sections in addition to the completed summary sheet attached at the end of this lab. The summary sheet will be the cover page of your lab. 1. Overview: Describe in one paragraph the objectives of the lab. State what you were testing and what data you expected to gather as a result of your experiments. 2. Procedure: Briefly document your methodology for acquiring the data you describe in the Overview. Describe how you measured the flip-flop timing parameters, verified the critical path delay of the adder, simulated power supply current and computed the average power. If you needed to buffer the clock signal in the testbench and insert extra delays to deal with timing violations, describe how you did so and how you determined the clock buffer sizes and number of additional inverter delays. Someone reading this section should be able to easily duplicate your results by following the methodology described in this section. 3. Results and Discussion: Describe succinctly the delay and power results captured in the completed summary sheet tables and any accompanying waveform plots and graphs. Do the results make intuitive sense? If not, explain why they might contradict your intuition. 5

Acknowledgments Parts of this lab were inspired by lab exercises developed by Prof. David Money Harris and others at Harvey Mudd College for the class E158: Introduction to CMOS VLSI Design. References [1] J. Rabaey, A. Chandrakasan, and B. Nikolic, Digital Integrated Circuits: A Design Perspective, 2nd ed. Upper Saddle River, New Jersey: Prentice-Hall, Inc., 2003. [2] E. Brunvand, Digital VLSI Chip Design with Cadence and Synopsys CAD Tools, 1st ed. San Francisco: Addison-Wesley, Inc., 2010. 6

EEC 116 Fall 2011 Lab #5 Summary Name: Grading: Part Checkoff TA Initials Date 1 pdff Symbol 1 pdff Schematic 1 pdff Layout 1 pdff DRC 1 pdff LVS 2 Flip-Flop Sim Waveform Plot adder8b Symbol adder8b Schematic preg8b Symbol preg8b Schematic 3 adder32bpipe Symbol 3 adder32bpipe Schematic 3 adder32bpipe Layout 3 adder32bpipe DRC 3 adder32bpipe LVS 4 Max. Frequency Sim Waveform Plot Value 4 Min. Clock Period 4 Max. Clock Frequency Flip-Flop Delay Characteristics: Parameter t su (ps) t CQ (ps) t hd (ps) Value 7

Adder Power Dissipation: Parameter Frequency Power f 0 f 1 f 2 f 3 f 4 8