Top Banner
Iffat Anjum (Roll : 16) Tabassum Tahrin Trisha (Roll : 32) Bashira Akter Anima (Roll : 48) Tamanna Yasmin (Roll : 49) 1
41
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fpga(field programmable gate array)

Iffat Anjum (Roll : 16)Tabassum Tahrin Trisha (Roll : 32)Bashira Akter Anima (Roll : 48)Tamanna Yasmin (Roll : 49)

1

Page 2: Fpga(field programmable gate array)

Why VLSI?Why VLSI?

Very Large Scale Integration

Integration is a technique that allows to build a system with many more transistors allowing much more computing power to be applied to solve a problem.

Integration improves the design: lower parasitics = higher speed lower power physically smaller

Integration reduces manufacturing cost-(almost) no manual assembly.

2

Page 3: Fpga(field programmable gate array)

What is FPGA?What is FPGA?

Field Programmable Gate Array

FPGA were introduced in 1985 by Xilinx. Very high logic capacity. Consists of an array of programmable logic blocks

surrounded by programmable interconnects. Can be configured by end-users to implement specific

applications. Capacity up to multi-millions logic gates and speed up to

500MHz.

3

Page 4: Fpga(field programmable gate array)

Placement of FPGA in Digital Logic Placement of FPGA in Digital Logic Hierarchy Hierarchy

4

Standard

Logic

Standard

Logic

Logic

ASICASIC

Full custom

ICs

Full custom

ICsCell-Based

ICs

Cell-Based

ICsGate

Arrays

Gate

ArraysProgrammable

Logic Devices

Programmable

Logic Devices

FPGAsCPLDsSPLDs FPICs

Page 5: Fpga(field programmable gate array)

FPGA – A Detailed LookFPGA – A Detailed Look

Based on the principle of functional completeness. In it, functionally complete elements (Logic Blocks) placed in

an interconnect framework. Interconnection framework comprises of wire segments and

switches. Circuits are partitioned to logic block size, mapped and

routed.LE

LE

LE

Interconnectnetwork

LE

LE

LE

5

Page 6: Fpga(field programmable gate array)

Block Diagram of a FPGABlock Diagram of a FPGA

• The FPGA Consists of

• Logic Element(LE)

• I/O Block

• Programmable Interconnect

• The FPGA Consists of

• Logic Element(LE)

• I/O Block

• Programmable Interconnect

6

Page 7: Fpga(field programmable gate array)

FPGA architecture FPGA architecture

There are three primary configurable elements in FPGA :

Configurable Logic Block(CLB)

- implement different functions.

Input/output Block(IOB)

- provides the interface between external pins and internal signal lines.

Programmable Routing Channel

-controls the connections among different blocks.

7

Routing Channel

Page 8: Fpga(field programmable gate array)

Configurable Logic Block(CLB)Configurable Logic Block(CLB)

Implemented in n-input Lookup Table(LUT). A LUT is simply a memory element.

8

Look-Up Table Equivalence

Look-Up Table Equivalence

Page 9: Fpga(field programmable gate array)

Configurable Logic Block(CLB)Configurable Logic Block(CLB)9

Simplified Xilinx CLB

Simplified Xilinx CLB

Page 10: Fpga(field programmable gate array)

Configurable Logic Block(CLB)Configurable Logic Block(CLB)10

1. The Cross Point block:1. The Cross Point block:

Transistors are interconnected.

Logic block is implemented using transistor pair tiles.

Page 11: Fpga(field programmable gate array)

Configurable Logic Block(CLB)Configurable Logic Block(CLB)11

2. Plessey block :. Plessey block :

2-input NAND gate forms basic building block.

Static RAM programming technology.

Page 12: Fpga(field programmable gate array)

3. The Xilinx Logic Block: A SRAM function as a LUT. Address line of SRAM as input. Output of SRAM gives the logic

output.

Configurable Logic Block(CLB)Configurable Logic Block(CLB)12

Page 13: Fpga(field programmable gate array)

Configurable Logic Block(CLB)Configurable Logic Block(CLB)13

4. Actel logic block :4. Actel logic block :

An Actel logic block consists of multiple number of multiplexers and logic gates.

If inputs of a multiplexer are connected to a constant or to a signal, it can be used to implement different logic functions.

Page 14: Fpga(field programmable gate array)

Input/OutputInput/Output Block(IOBBlock(IOB))

Two types of IOBs are there 1)Dedicated for configuration of FPGA 2)User Configurable

Input/Output BlockInput/Output Block An IOB includes input and output registers, control signals,

muxes and clock signals. Unused FPGA inputs should not be left floating. Single-ended and differential operational modes are typically

supported

14

Page 15: Fpga(field programmable gate array)

Input/OutputInput/Output Block(IOBBlock(IOB))

The ring of I/O blocks is used to interface the FPGA device to external components.

15

FPGA I/O block.

FPGA I/O block.

Page 16: Fpga(field programmable gate array)

Programmable Routing ChannelProgrammable Routing Channel

Routing Channel-metallic conductor used to make connection. Three types are there

CLB Routing Channel : runs along each row and columns of CLBs.

IOB Routing Channel : forms CLB array & connects IOB with CLB routing channels.

Global Routing Channel : routes global signals (eg. Clock) with minimum delay.

Programmability in routing channels is obtained by using :(a)connection box and,

(b)switch box

16

Page 17: Fpga(field programmable gate array)

Programmable Routing ChannelProgrammable Routing Channel

Connection Box:

connects channel wires to the i/o pins of CLBs.

Switch Box:

allow wires to switch between vertical and horizontal wires.

Connection Box:

connects channel wires to the i/o pins of CLBs.

Switch Box:

allow wires to switch between vertical and horizontal wires.

Switch box

Connection box

17

Page 18: Fpga(field programmable gate array)

Programmable Routing ChannelProgrammable Routing Channel

Routing channels of CLBs` may be of three types :

Single length lines span through one CLB & provide short connections among CLBs.

Double length line spans two CLBs, offers low routing delay.

Long lines run along entire length or width of the array .

Interconnect Point in both switching and connection box is implemented through 6 Pass Transistors.

18

Page 19: Fpga(field programmable gate array)

Programmable Interconnection PointProgrammable Interconnection Point

D Q

Programmable interconnect points provide the routing paths used to connect the inputs and outputs of IOBs and CLBs into logic networks.

19

Page 20: Fpga(field programmable gate array)

Programmable wiring pathsProgrammable wiring paths

Organized into channels. Many wires per channel.

Connection between wire made at programmable interconnection points.

Must choose: Channels from source to destination. Wires within the channels

20

Page 21: Fpga(field programmable gate array)

FPGA Routing Matrix and Global FPGA Routing Matrix and Global SignalsSignals

21

FPGA signal RoutingFPGA signal Routing

Page 22: Fpga(field programmable gate array)

Choosing a pathChoosing a path22

LE

LE

Page 23: Fpga(field programmable gate array)

FPGA MemoryFPGA Memory

Two primary types of memory within FPGAs. Distributed memory:

Takes advantage of the fact that LUT elements are implementation of SRAM memory blocks.

Block memory:The implementation of dedicated SRAM memory blocks

within the FPGA

23

Page 24: Fpga(field programmable gate array)

FPGA DesignFPGA Design

FPGA manufacturer creates an FPGA fabric; system designer uses this fabric.

FPGA fabric design issues: Study sample user designs. Select interconnect topology. Create logic element

structures. Design circuits, layout.

Major levels of abstraction: Specification Architecture Logic Design Circuit Design Layout

24

Page 25: Fpga(field programmable gate array)

Configuration vs. ProgrammingConfiguration vs. Programming

FPGA configuration: Bits stay at the device they program. A configuration bit controls a switch or a logic bit.

CPU programming: Instructions are fetched from a memory. Instructions select complex operations.

CPUmemory

add r1, r2 IRadd r1, r2

25

Page 26: Fpga(field programmable gate array)

Advantages of FPGAAdvantages of FPGA

Small development overhead. shorter design cycle.

No NRE (non-recurring engineering) costs. Quick time to market.

no manufacturing delay. Reprogrammable. FPGAs reduce inventory.

26

Page 27: Fpga(field programmable gate array)

Disadvantages of FPGADisadvantages of FPGA

Least efficient use of silicon/wiring resources

Limited size options

Limited performance

Not good for high volume applications

If used for prototyping, still may have significant changes

when migrate to higher performance design and package

solution.

27

Page 28: Fpga(field programmable gate array)

A NOVEL DESIGN OF A A NOVEL DESIGN OF A REVERSIBLE FIELD REVERSIBLE FIELD

PROGRAMMABLE GATE ARRAYPROGRAMMABLE GATE ARRAY

28

Page 29: Fpga(field programmable gate array)

Used Reversible GatesUsed Reversible Gates29

FGFGAA

BBAAA BA B⊕

BB TGTGAA

CC

AABB

AB CAB C⊕

BB FRGFRGAA

CC

AA

A’B ACA’B AC⊕

AB A’C AB A’C ⊕

DD ABC DABC D

BBBSPGateBSPGate

AA

CC

AA

AB CAB C

BB

Page 30: Fpga(field programmable gate array)

4 to 1 MUX4 to 1 MUX

Input S0 S1 OutputI0 0 0 I0

I1 0 1 I1

I2 1 0 I2

I3 1 1 I3

The characteristics equation of a 4-to-1 MUX can be written as

Output =I0 S´0S´1 + I1S´0S1+I2 S0S´1 + I3 S0 S1.

30

Page 31: Fpga(field programmable gate array)

DESIGN OF THE PROPOSED DESIGN OF THE PROPOSED REVERSIBLE 4-1 MUXREVERSIBLE 4-1 MUX

Output = I0 S 0S 1 + I1S 0S1+ I2 S0S 1 + I3 S0 S1Output = I0 S 0S 1 + I1S 0S1+ I2 S0S 1 + I3 S0 S1

The first 2 FGs are used to complement the select bits (S0, S1)

BSP gates are used to generate the 3-input AND-ed output

Last 3 FGs are used to combine the AND outputs of BSP gates

31

Page 32: Fpga(field programmable gate array)

ComparisonComparison

4 to 1 MUXCOMPONENTS AND COST

No of gates Garbage Output

Using Existing Gates 11 13

Ours 9 11

32

Page 33: Fpga(field programmable gate array)

D LatchD Latch

Clock D QRising Edge 0 0Rising Edge 1 1Non rising X (Don’t Care) Qprev (No change)

33

The characteristics equation of D latch can be written as,

Q =CD+C’Q

Page 34: Fpga(field programmable gate array)

DESIGN OF THE PROPOSED DESIGN OF THE PROPOSED REVERSIBLE D-LATCHREVERSIBLE D-LATCH

34

The FRG is used to generate the output Q =CD+C’Q

NH gate is used to make the copy and complement of the generated output

Page 35: Fpga(field programmable gate array)

ComparisonComparison

D-Latches COMPONENTS AND COSTNo of gates Garbage Output Quantum Cost

Existing circuit [4]

7 8 48

Existing circuit [5]

11 12 42

Existing circuit [6]

5 3 12

Existing circuit [7]

2 2 10

Proposed 2 2 9

35

Page 36: Fpga(field programmable gate array)

Master Slave FFMaster Slave FF

A master–slave D flip-flop is created by connecting two gated D latches in series, and inverting the enable input to one of them.

It is called master–slave because the second latch in the series only changes in response to a change in the first (master) latch.

36

Page 37: Fpga(field programmable gate array)

DesignDesign ofof thethe P Pproposedproposed R Reversibleeversible WWriterite E Eenableenable M Masteraster S Slavelave FF FF

The FRG is used to generate the desired output of the write enable master slave flip flop.

The first FG is used make the complement of the Clock Pulse(CP).

The D-FFs are used to register the result. The last FG is used to make a copy the output so that it can

be fed back to the FRG.

37

Page 38: Fpga(field programmable gate array)

ComparisonComparison

Write Enable Master Slave FF

COMPONENTS AND COST

No of gates Garbage Output Quantum Cost

Existing circuit [6]

9 9 38

Ours 7 7 25

38

Page 39: Fpga(field programmable gate array)

ConclusionConclusion

Here we presented the design of a first ever proposed reversible logic block of FPGA.

The sequential circuits that are used to realize the FPGA have been improved.

Efficiency of the proposed circuits is clearly highlighted by using comparison here.

The number of gates, number of garbage outputs and quantum cost have been reduced as well.

39

Page 40: Fpga(field programmable gate array)

References

[1] R. Landauer, “Irreversibility and Heat Generation in the Computational Process” , IBM Jo urna l o f Re s e a rch a nd De ve lo pm e nt, vol. 3, pp. 183-191, 1961.

[2] C.H. Bennett, “Logical Reversibility of Computation”, IBM J. o f Re s e a rch a nd De ve lo pm e nt, pp. 525-532, November 1973.

[3] N. Huda, “On the Implementation of Reversible Random Access Memory”, M.Sc. thesis, Session: 2003-04, Department of CSE , University of Dhaka.

[4] H. Thapliyal, Vinod, A.P.,”Design of Reversible Sequential Elements with Feasibility of Transistor Implementation”, Circuits and Systems, 2007. ISCAS 2007. IEEE International Symposium on Volume, Issue , 27-30 May 2007 Page(s):625 – 628

[5] H. M. H. Babu, M. R. Islam, A. R. Chowdhury, and S. M. A. Chowdhury, “Reversible Logic Synthesis for Minimization of Full-Adder Circuit,” IEEE Conference on Digital System Design 2003; 50-4.

[6] H. M. H. Babu, M. R. Islam, A. R. Chowdhury, and S. M. A. Chowdhury, “Synthesis of Full-Adder Circuit Using Reversible Logic,” 17th International Conference on VLSI Design 2004; 757-60.

[7] Richard P. Feynman, “Quantum Mechanical Computers,” Foundations of Physics, vol. 16, no. 6, pp. 507-531, 1986. 

40

Page 41: Fpga(field programmable gate array)

Tha nk Tha nk Yo uYo u

41