1 COMP541 COMP541 Combinational Logic Combinational Logic and Design and Design Montek Singh Montek Singh Jan 25, 2007 Jan 25, 2007
1
COMP541COMP541
Combinational Logic Combinational Logic and Designand Design
Montek SinghMontek Singh
Jan 25, 2007Jan 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
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
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
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
6
Design Broken Into ModulesDesign Broken Into Modules
Use 3-input odd functionsUse 3-input odd functions
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
10
Components in DesignComponents in Design RHS shows what must be designedRHS shows what must be designed
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
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
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
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
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
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
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
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
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!
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
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
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
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
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.
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
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
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
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
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
33
Effect of Transport Delay (blue)Effect of Transport Delay (blue) Delay just shifts signal in timeDelay just shifts signal in time
34
Effect of Inertial DelayEffect of Inertial Delay
Blue – Propagation delay time Black – Rejection timeBlue – Propagation delay time Black – Rejection time
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
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
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
38
Next TimeNext Time Basic combinational circuitsBasic combinational circuits
MultiplexerMultiplexer EncodersEncoders DecodersDecoders