Top Banner
1 COMP541 COMP541 Combinational Logic Combinational Logic and Design and Design Montek Singh Montek Singh Jan 25, 2007 Jan 25, 2007
38

1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

Dec 20, 2015

Download

Documents

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: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

1

COMP541COMP541

Combinational Logic Combinational Logic and Designand Design

Montek SinghMontek Singh

Jan 25, 2007Jan 25, 2007

Page 2: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

2

TopicsTopics What we didn’t cover last timeWhat we didn’t cover last time

Other gates, standard formsOther gates, standard forms

Combinational Design (Ch. 3)Combinational Design (Ch. 3) Real DevicesReal Devices

Logic Families, Actual ICs, Gate delaysLogic Families, Actual ICs, Gate delays

Propagation delayPropagation delay

Page 3: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

3

Combinational Logic DesignCombinational Logic Design Ch. 3 takes us to hierarchical designCh. 3 takes us to hierarchical design Like you’d use for a program of sizeLike you’d use for a program of size

Page 4: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

4

Design HierarchyDesign Hierarchy Just like with large program, to design a large Just like with large program, to design a large

chip need hierarchychip need hierarchy Divide and ConquerDivide and Conquer

To create, test, and also to understandTo create, test, and also to understand

BlockBlock is equivalent to object is equivalent to object

Page 5: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

5

ExampleExample 9-input odd func (parity for byte)9-input odd func (parity for byte) Block for schematic is box with labelsBlock for schematic is box with labels

Page 6: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

6

Design Broken Into ModulesDesign Broken Into Modules

Use 3-input odd functionsUse 3-input odd functions

Page 7: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

7

Each Module uses XOREach Module uses XOR

Page 8: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

8

Use NAND to Implement XORUse NAND to Implement XOR In case there’s no XOR, for exampleIn case there’s no XOR, for example

Page 9: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

9

Design Design HierarchHierarchyy

Page 10: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

10

Components in DesignComponents in Design RHS shows what must be designedRHS shows what must be designed

Page 11: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

11

Reuse is CommonReuse is Common Certainly forced because of availability of parts (chips)Certainly forced because of availability of parts (chips) Also the design cycle was very longAlso the design cycle was very long Now more flexibility with programmable logicNow more flexibility with programmable logic

But still reuse from libraries or intellectual property (IP)But still reuse from libraries or intellectual property (IP) Example: buy a PCI designExample: buy a PCI design Open source, see Open source, see www.opencores.orgwww.opencores.org

Note the many logic blocks available in Xilinx libraryNote the many logic blocks available in Xilinx library

Page 12: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

12

Flow of CAD SystemFlow of CAD System

NetlistNetlist is is description of description of connectionsconnections

Generic Gates

Replaces Generic Gates

with ones available in Technology

Library

Page 13: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

13

Technology MappingTechnology Mapping Full customFull custom

Pixel-Planes chips (machines in lobby)Pixel-Planes chips (machines in lobby) Memories, CPUs, etcMemories, CPUs, etc

Standard cellStandard cell Library of cellsLibrary of cells Engineer determined interconnectionEngineer determined interconnection

Gate arraysGate arrays Small circuits with interconnectSmall circuits with interconnect

Page 14: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

14

Hierarchy Example – 4-bit Hierarchy Example – 4-bit EqualityEquality Example 3-4 in bookExample 3-4 in book

Input: 2 vectors A(3:0) and B(3:0)Input: 2 vectors A(3:0) and B(3:0) Output: One bit, E, which is 1 if A and B are Output: One bit, E, which is 1 if A and B are

bitwise equal, 0 otherwisebitwise equal, 0 otherwise

Page 15: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

15

DesignDesign Hierarchical design seems a good approachHierarchical design seems a good approach One module/bitOne module/bit Final module for EFinal module for E

Page 16: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

16

Design for MX moduleDesign for MX module Logic function in book isLogic function in book is

I’d call this “not E”, but…I’d call this “not E”, but… Can implement asCan implement as

i i i i iE AB AB

Page 17: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

17

Design for ME moduleDesign for ME module Final E is 1 only if all intermediate values are 0Final E is 1 only if all intermediate values are 0 SoSo

And a design isAnd a design is

0 1 2 3E E E E E

Page 18: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

18

Hierarchical VerilogHierarchical Verilog We already saw example of We already saw example of instantiationinstantiation when when

we used AND and OR gateswe used AND and OR gates

Just use module name and an identifier for the Just use module name and an identifier for the particular instanceparticular instance

Page 19: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

19

Vector of Wires (Bus)Vector of Wires (Bus) Denotes a set of wiresDenotes a set of wiresinput [1:0] S;input [1:0] S;

Syntax is [Syntax is [a: ba: b] where a is high-order] where a is high-order So this could be “[0:1] S”So this could be “[0:1] S” Order will matter when we make assignments with Order will matter when we make assignments with

values bigger than one bitvalues bigger than one bit Or when we connect sets of wiresOr when we connect sets of wires

NOTE: THIS IS NOT AN ARRAY!NOTE: THIS IS NOT AN ARRAY!

Page 20: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

21

Next slides document designNext slides document design Just for your notesJust for your notes

Page 21: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

22

MXMX

module mx(A, B, E);module mx(A, B, E);input A, B;input A, B;output E;output E;

assign E = (~A & B) | (A & ~B);assign E = (~A & B) | (A & ~B);

endmoduleendmodule

Page 22: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

23

MEME

module me(E, Ei);module me(E, Ei);input [3:0] Ei;input [3:0] Ei;output E;output E;

assign E = ~(Ei[0] | Ei[1] | Ei[2] | Ei[3]);assign E = ~(Ei[0] | Ei[1] | Ei[2] | Ei[3]);

endmoduleendmodule

Page 23: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

24

Top LevelTop Levelmodule top(A, B, E);module top(A, B, E);

input [3:0] A;input [3:0] A;input [3:0] B;input [3:0] B;output E;output E;

wire [3:0] Ei;wire [3:0] Ei;

mx m0(A[0], B[0], Ei[0]);mx m0(A[0], B[0], Ei[0]);mx m1(A[1], B[1], Ei[1]);mx m1(A[1], B[1], Ei[1]);mx m2(A[2], B[2], Ei[2]);mx m2(A[2], B[2], Ei[2]);mx m3(A[3], B[3], Ei[3]);mx m3(A[3], B[3], Ei[3]);

me me0(E, Ei);me me0(E, Ei);

endmoduleendmodule

Page 24: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

25

Integrated CircuitIntegrated Circuit Known as IC or chipKnown as IC or chip Silicon containing circuitSilicon containing circuit

Later in semester we’ll examine design and Later in semester we’ll examine design and constructionconstruction

Maybe processesMaybe processes

Packaged in ceramic or plasticPackaged in ceramic or plastic From 4-6 pins to hundredsFrom 4-6 pins to hundreds

Pins wired to pads on chipPins wired to pads on chip

Page 25: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

26

BondingBonding

Page 26: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

27

Levels of IntegrationLevels of Integration SSISSI

Individual gatesIndividual gates MSIMSI

Things like counters, single-block adders, etc.Things like counters, single-block adders, etc. Like stuff we’ll be doing nextLike stuff we’ll be doing next

LSILSI VLSIVLSI

Larger circuits, like the FPGA, Pentium, etc.Larger circuits, like the FPGA, Pentium, etc.

Page 27: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

28

Logic FamiliesLogic Families RTL, DTL earliestRTL, DTL earliest TTL was used 70s, 80sTTL was used 70s, 80s

Still available and used occasionallyStill available and used occasionally 7400 series logic, refined over generations7400 series logic, refined over generations

CMOSCMOS Was low speed, low noiseWas low speed, low noise Now fast and is most commonNow fast and is most common

BiCMOS and GaAsBiCMOS and GaAs SpeedSpeed

Page 28: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

29

CatalogsCatalogs Catalog pages describe chipsCatalog pages describe chips Look atLook at

http://focus.ti.com/lit/ds/scas014c/scas014c.pdfhttp://focus.ti.com/lit/ds/scas014c/scas014c.pdf

SpecificationsSpecifications PinoutsPinouts Packages/DimensionsPackages/Dimensions Electrical characteristicsElectrical characteristics

Page 29: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

30

Electrical CharacteristicsElectrical Characteristics Fan in – max number of inputs to a gateFan in – max number of inputs to a gate Fan out – how many standard loads it can drive (load usually 1)Fan out – how many standard loads it can drive (load usually 1) Voltage – often 1.8v, 3.3v or 5v are commonVoltage – often 1.8v, 3.3v or 5v are common Noise margin – how much electrical noise it can tolerateNoise margin – how much electrical noise it can tolerate Power dissipation – how much power chip needsPower dissipation – how much power chip needs

TTL highTTL high Some CMOS low (but look at heat sink on a Pentium)Some CMOS low (but look at heat sink on a Pentium)

Propagation delay – nextPropagation delay – next

Page 30: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

31

Propagation DelayPropagation Delay Max of high-to-low and low-to-highMax of high-to-low and low-to-high Maximum and typical givenMaximum and typical given

Page 31: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

32

DelaysDelays Transport delay = “pure” delayTransport delay = “pure” delay

Output after a specified timeOutput after a specified time

Inertial delayInertial delay No effect if input occurs for time that is too short No effect if input occurs for time that is too short

(can’t overcome inertia) – smaller than transport (can’t overcome inertia) – smaller than transport delay timedelay time

Page 32: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

33

Effect of Transport Delay (blue)Effect of Transport Delay (blue) Delay just shifts signal in timeDelay just shifts signal in time

Page 33: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

34

Effect of Inertial DelayEffect of Inertial Delay

Blue – Propagation delay time Black – Rejection timeBlue – Propagation delay time Black – Rejection time

Page 34: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

35

Fan Out and DelayFan Out and Delay Practical fan out of CMOS limited by Practical fan out of CMOS limited by

capacitance of input gatescapacitance of input gates More gates driven, longer time for signal to More gates driven, longer time for signal to

changechange So delay time for CMOS affected by fan outSo delay time for CMOS affected by fan out Wire delay also very importantWire delay also very important

And routing delays in FPGAAnd routing delays in FPGA

Page 35: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

36

Example using ISEExample using ISE Look at Lab 1 (tomorrow)Look at Lab 1 (tomorrow)

Synthesis report timing predictionSynthesis report timing prediction Text-based Post Place & Route timing reportText-based Post Place & Route timing report View routed designView routed design

To see where components and I/O buffers are locatedTo see where components and I/O buffers are located

Page 36: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

37

TodayToday Design paradigmDesign paradigm

Hierarchical designHierarchical design

Talked about real devicesTalked about real devices Propagation delaysPropagation delays

First look at how fast your circuits First look at how fast your circuits couldcould work work

Page 37: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

38

Next TimeNext Time Basic combinational circuitsBasic combinational circuits

MultiplexerMultiplexer EncodersEncoders DecodersDecoders

Page 38: 1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.

39

ReadRead Chapter 4Chapter 4

Sections 3, 4, 5Sections 3, 4, 5 Section 4-8 covers VerilogSection 4-8 covers Verilog