Implementation Methods
Implementation Methods
• PAST METHODS
– Use of standard parts such as logic family chips on a Printed Circuit Board (PCB) or a breadboard for
prototyping
• Benefits include low technology demand and modest performance but modification or bug fix is difficult
– Use of embedded processors to implement a system where the main digital function is implemented
as a computing program (normally called firmware) running on a microcontroller or DSP chip.
• The hardware is readily available and all one needs is the appropriate development system to compile and debug the firmware.
Modification or enhancement presents no problem but performance is usually poor.
C.S. Choy 1
MODERN METHODS
• To obtain the best performance, it is desirable to implement a design in an
integrated circuit. However the cost can be high or even prohibitive and the
turnaround time can be long. The modern methods are to meet these challenges
and make IC technology more accessible to designers who do not have the
knowledge of fabrication processes and design rules, and sophisticated IC design
skill .
– FPGAs or PLDs
• Sell as standard parts but users can program the device just like an EPROM to perform a hardwired digital function
• Since it is a finished product, the design and manufacturing costs are shared by the users. The turnaround time is literally in minutes
– ASIC
• A semi-custom designed IC with logic functions determined by the users
• The physical design of those logic functions are pre-designed by the vendors and they are integrated into an IC with automation tools
• No saving in manufacturing cost but reductions in design cost and time
C.S. Choy 2
SYNCHRONOUS DESIGNS
• A circuit operated in synchronous mode is
often preferred in today’s digital design. A
synchronous design has all operations
governed by a clock signal
clock
STATE
MACHINE
control
feedback signals
• Setup time
– d input must be stable for at least the setup time before the active
clock edge
• Hold time
– d input must be kept stable for at least the hold time after the active
clock edge
• Minimum clock width
– Sufficient time for the flip-flop to respond
STATE MACHINE DESIGN
• Formal Technique
– State Diagram
– State Table
– State Assignment
– Excitation Conditions
• There are other more ad hoc techniques
– Counter
– One-hot shift register
DATA PROCESSING
• Parallel
– Normal realization, operations are performed on the whole data word
• Serial
– A data word is processed bit by bit
• Bit-Slice
– A data word is processed in chunks; an intermediate between parallel
and serial
• Pipelining
– Dividing up the whole process into sub-operations. The pipeline is a
cascaded chain of registers storing intermediate results, and in
between the registers, a sub-operation is realized
PIPELINING EXAMPLE
• 8-bit Adder
DESIGN OF ARITHMETIC UNITS
• Addition is the elementary operation in any arithmetic
manipulation from multiplication to complex signal processing
algorithms. An efficient realization of addition is the key to the
design of arithmetic units.
• The performance of an Adder is defined by the delay in the
carry path. In the worst case, the carry signal has to propagate
through all adder stages, k stages if k is the word length of the
operands.
• There are four approaches to improve carry propagation
– Limit carry propagation
– Detect carry completion
– Speed up carry propagation
– Carry-free
RIPPLE CARRY ADDER
• Parallel
• Serial
A
SUM
B
Cout
Cin
F/F
Ci+1=AiBi+AiCi+BiCi
LIMIT CARRY PROPAGATION
• Residue Number System
Find the residues of a number using different moduli, each residue then forms a
digit of the number
Pi = Ai + Bi Gi = AiBi
• FPGA Implementation
Several bits are grouped into Dedicated fast carry logic
one LUT
PIPELINED ADDERS
• Pipelining can speed up operation by breaking it into smaller sub-
operations. Result of sub-operation is saved in registers and another sub-
operation is then executed in the next cycle and so on
Direct Implementation of pipelined adder FPGA optimized