EEL 5722 FPGA Design Fall 2003 Digit-Serial DSP Functions Part I.

Slides:



Advertisements
Similar presentations
1 ECE 4436ECE 5367 Computer Arithmetic I-II. 2 ECE 4436ECE 5367 Addition concepts 1 bit adder –2 inputs for the operands. –Third input – carry in from.
Advertisements

Introduction So far, we have studied the basic skills of designing combinational and sequential logic using schematic and Verilog-HDL Now, we are going.
Lab 10 : Arithmetic Systems : Adder System Layout: Slide #2 Slide #3 Slide #4 Slide #5 Arithmetic Overflow: 2’s Complement Conversions: 8 Bit Adder/Subtractor.
Datorteknik ArithmeticCircuits bild 1 Computer arithmetic Somet things you should know about digital arithmetic: Principles Architecture Design.
A Survey of Logic Block Architectures For Digital Signal Processing Applications.
DPSD This PPT Credits to : Ms. Elakya - AP / ECE.
Arithmetic Operations and Circuits
Parallel Adder Recap To add two n-bit numbers together, n full-adders should be cascaded. Each full-adder represents a column in the long addition. The.
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
UNIVERSITY OF MASSACHUSETTS Dept
Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H
Lecture 8 Arithmetic Logic Circuits
Combinational Logic Chapter 4.
Distributed Arithmetic: Implementations and Applications
ECE 301 – Digital Electronics
ECE 301 – Digital Electronics
Copyright 2008 Koren ECE666/Koren Part.6a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
Part 2: DESIGN CIRCUIT. LOGIC CIRCUIT DESIGN x y z F F = x + y’z x y z F Truth Table Boolean Function.
Chapter 7 Arithmetic Operations and Circuits Hexadecimal Arithmetic 4 binary bits represent a single hexadecimal digit Addition –Add the digits.
Hardware Design of an Arithmetic Logic Unit (ALU) Felix Noble Mirayma V. Rodriguez Agnes Velez University of Puerto Rico Mayagüez Campus Mayagüez, Puerto.
 Arithmetic circuit  Addition  Subtraction  Division  Multiplication.
CS 105 Digital Logic Design
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Outline Analysis of Combinational Circuits Signed Number Arithmetic
Chapter 6 Digital Arithmetic: Operations and Circuits ECE 221 Intro
Combinational Logic Chapter 4. Digital Circuits Combinational Circuits Logic circuits for digital system Combinational circuits the outputs are.
3-1 Chapter 3 - Arithmetic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles of Computer Architecture.
Logical Circuit Design Week 8: Arithmetic Circuits Mentor Hamiti, MSc Office ,
CS1Q Computer Systems Lecture 9 Simon Gay. Lecture 9CS1Q Computer Systems - Simon Gay2 Addition We want to be able to do arithmetic on computers and therefore.
Abdullah Aldahami ( ) Feb26, Introduction 2. Feedback Switch Logic 3. Arithmetic Logic Unit Architecture a.Ripple-Carry Adder b.Kogge-Stone.
Digital Arithmetic and Arithmetic Circuits
Chapter 8 Problems Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Fall 2004EE 3563 Digital Systems Design EE 3563 Comparators  Comparators determine if two binary inputs are equal  Some will signal greater than/less.
Chapter # 5: Arithmetic Circuits
Chapter 6-1 ALU, Adder and Subtractor
5-1 Programmable and Steering Logic Chapter # 5: Arithmetic Circuits.
Digital Kommunikationselektronik TNE027 Lecture 2 1 FA x n –1 c n c n1- y n1– s n1– FA x 1 c 2 y 1 s 1 c 1 x 0 y 0 s 0 c 0 MSB positionLSB position Ripple-Carry.
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
Logic Gates Logic gates are electronic digital circuit perform logic functions. Commonly expected logic functions are already having the corresponding.
1 Arithmetic Logic Unit ALU. 2 The Bus Concept 3 CPU Building Blocks  Registers (IR, PC, ACC)  Control Unit (CU)  Arithmetic Logic Unit (ALU)
COE 202: Digital Logic Design Combinational Circuits Part 2 KFUPM Courtesy of Dr. Ahmad Almulhem.
Digital Logic. 2 Abstractions in CS (gates) Basic Gate: Inverter IO IO GNDI O Vcc Resister (limits conductivity) Truth Table.
ARITHMETIC MICRO OPERATIONS
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
Universal college of engineering & technology. .By Harsh Patel)
COMP541 Arithmetic Circuits
Combinational Circuits
CS 105 DIGITAL LOGIC DESIGN Chapter 4 Combinational Logic 1.
Topics covered: Arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
MIPS ALU. Building from the adder to ALU ALU – Arithmetic Logic Unit, does the major calculations in the computer, including – Add – And – Or – Sub –
COMP541 Arithmetic Circuits
COMBINATIONAL LOGIC.
1 Fundamentals of Computer Science Combinational Circuits.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
1 Lecture 14 Binary Adders and Subtractors. 2 Overview °Addition and subtraction of binary data is fundamental Need to determine hardware implementation.
Lecture #23: Arithmetic Circuits-1 Arithmetic Circuits (Part I) Randy H. Katz University of California, Berkeley Fall 2005.
MIPS ALU. Exercise – Design a selector? I need a circuit that takes two input bits, a and b, and a selector bit s. The function is that if s=0, f=a. if.
Reconfigurable Computing - Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound,
Topic: N-Bit parallel and Serial adder
Electrical Engineering Engineering the Future Digital Circuits Fundamentals Hands-on Full-Adder Simulation (afternoon)
Logic Design (CE1111 ) Lecture 4 (Chapter 4) Combinational Logic Prepared by Dr. Lamiaa Elshenawy 1.
ETE 204 – Digital Electronics Combinational Logic Design Single-bit and Multiple-bit Adder Circuits [Lecture: 9] Instructor: Sajib Roy Lecturer, ETE,ULAB.
Chapter 6. Digital Arithmetic: Operations and Circuits
ECE 3130 Digital Electronics and Design
CSE Winter 2001 – Arithmetic Unit - 1
Arithmetic Circuits (Part I) Randy H
Digital Logic.
Digital Logic.
Computer Architecture
Presentation transcript:

EEL 5722 FPGA Design Fall 2003 Digit-Serial DSP Functions Part I

Digit-Serial Arithmetic Bit-serial arithmetic architectures process one bit at a time and are suitable for low-speed applications. Bit-parallel arithmetic architectures process one whole word of the input sample in one clock cycle and are ideal for high-speed applications, but they require a great deal of hardware. To avoid the disadvantages of the bit-serial and bit-parallel computation, the concept of digit-serial implementations has been proposed. In DSP applications, it is desirable to combine the area efficiency of a bit-serial architecture with the time efficiency of a corresponding bit-parallel architecture into a single area-efficient and time-efficient digit-serial architecture.

Digit-Serial Arithmetic In a digit-serial arithmetic implementation, the W-bits of a data word are processed in units of the digit-size N in W/N clock cycles. This leads to arithmetic operators that have smaller area than equivalent bit-parallel arithmetic designs and have a larger throughput than equivalent bit-serial arithmetic designs. By considering a range of values for the digit-size, one can search the design space to find the optimum implementation for a given application.

FPGA Implementations Various DSP functions are implemented on XC4000 FPGAs. The design methodology consists of:  Manual design of the architecture of a DSP function.  Schematic capture using the macro library of XC4000.  Placement and routing of the design. Larger digit-serial DSP functions are assembled by performing an automatic place and route of the digit-serial arithmetic macro blocks.

XC4000 FPGA

XC4000 Carry Paths

XC4000 Carry Logic

XC4000 Carry Resources

Use of XC4000 Carry Logic

Performance Evaluation Comparisons use three metrics: area, time, and area x time, where time refers to the data sampling period (for complete words) or the inverse of the throughput. Timing simulation results are obtained from the post-routing annotations of the design by Xilinx Design Manager. The following parameters are used to estimate the area/delay:  T LUT ─ combinational delay (2.7 ns)  T FF ─ flip-flop delay (clock-to-output = 3.0 ns)  T Fast ─ fast-carry logic delay (Bypass carry logic delay = 0.6 ns)  T IR ─ delay incurred in the routing between each CLB (3.0 ns)  W ─ word length  N ─ digit size

Digit-Serial Arithmetic Blocks The basic functions for DSP applications include addition, negation, and storage registers used for delay. These basic functions can be assembled to construct complex structures such as accumulators and multipliers. With a digit-serial DSP architecture, these hardware units can be parameterized by the digit size.

Digit-Serial Adder A digit-serial adder is a circuit that adds two digits along with a previous carry bit and produces the same digit and a new carry bit. The two operands, A and B, are fed one digit at a time into the adder. The carry-out (CO) from the digit-serial adder is fed back into the first full adder during the next clock cycle, when the next digits of the input have arrived. A digit-serial adder with N = 1 corresponds to the bit-serial adder.

Digit-Serial Adder In XC4000, a bit-serial adder requires 1 CLB to generate the sum and load the carry into the FF. The number of CLBs required are the number of bits in the word. A digit-serial adder with N = 2 uses all three LUTs, three of the FFs and one fast-carry logic unit.

Digit-Serial Subtractor To do subtraction, the B input is complemented and a logic 1 is fed into the initial carry in. A digit-serial subtractor implemented on XC4000 FPGA has:

Digit-Serial Adder/Subtractor When the Add input is high, two digits are added with a carry-in, producing a digit sum (S3 – S0) and CO in the N = 4 digit-serial adder/subtractor. When the Add input is low, (B3 – B0) is subtracted from (A3 – A0), producing a digit difference (Out3 – Out0) and CO. The fast-carry logic unit is independent of the LUTs, but it shares some of the same inputs with the LUTs.

Bit-Level Pipelined Digit-Serial Adder The previous digit-serial adder has a feedback loop of the carry bit into the first full adder, and cannot be pipelined at the bit level. The critical path in the conventional N = 4 digit-serial adder is four full-adder delays. As such, the critical path increases with digit size.

Bit-Level Pipelined Digit-Serial Adder The bit-level pipelined digit-serial adder can be implemented by using two carry propagate adders (CPAs), where the carry bit produced by the first CPA is propagated forward and added to the next digit output using the second CPA.

Bit-Level Pipelined Digit-Serial Adder When the current output of the first CPA is 2 N -1, the carry bit obtained from the second CPA is equal to 1 and the carry from the previous digit is 1. In this case, the carry to the next significant digit should be set to 1. The digit from the CPA is fed into an N-input AND gate to check whether it is equal to 2 N -1. This is performed by using an array of AND gates arranged in a tree structure.

Bit-Level Pipelined Digit-Serial Adder The resulting bit and the carry bit obtained in the previous cycle are fed to a two-input AND gate to check whether the current output of the first CPA is 2 N -1 and the carry from the previous digit is 1 simultaneously. The output bit and the carry of the current digit are fed to a two- input OR gate to calculate the correct carry bit to be fed to the second CPA. The adder can be pipelined in four levels, and hence the critical delay can be reduced to (3 Half- adder + XOR delay).

Bit-Level Pipelined Digit-Serial Subtractor A similar approach can be used to pipeline a digit-serial subtractor. The area and delay of a N = 4 pipelined adder/subtractor is: Area = 6.5, Delay = 2T LUT + T FF + T IR.