Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sayandeep Nag
sayandeep.nag@gmail.com Lecture 1
Session 1
Course Organization
Session 7
Circuit characterization Resistance estimation Capacitance estimation Switching characteristics
Review of Digital Logic Circuits Design Combinational circuits - Design steps Arithmetic Circuits - Full adder, Serial Adder, Adder/Subtractor, Ripple Carry Chain, Carry Look-Ahead adder, Carry Select Adder, ALU, Parity Generator, Comparator, Multiplier. Generalization of these Principles.
Session 2
PLA, PAL, PLD, CPLD, ROM, FPGA introduction Sequential circuits - Design steps Flip-flops, registers, counters
Session 8
CMOS gate transistor sizing Power dissipation Scaling principles
Session 3
Finite State Machines Introduction to FSMs, capabilities, minimization and transformation of sequential machines Synchronous and asynchronous FSMs
Session 9
CMOS circuit and layout design
Session 4
Session 10
Basic physical design of simple gates CMOS logic gate design CMOS logic structures Clocking strategies
Mealy and Moore machines State assignment of synchronous sequential machines Structure of sequential machines Verification and testing of sequential circuits
Session 5
Review of logic families Different logic families and their comparison Logic levels & Noise margin features Fan-in, Fan-out, Active load, Sinking & Sourcing currents Propagation delay MOS technology and VLSI
Session 11
Memory, registers & System timing aspects 3 transistor memory cell nMOS pseudo static memory cell, Two 4-bit words of RAM array
Session 12
Practical realities and ground rules Performance, Floor plan & Layout I/O pad layout System delays
Session 6
MOS transistor theory Introduction MOS device design equations CMOS inverter DC characteristics Static load MOS inverters Pass transistor, Transmission gate, tristate inverter
Session 1
Course Organization
Session 7
Circuit characterization Resistance estimation Capacitance estimation Switching characteristics
Review of Digital Logic Circuits Design Combinational circuits - Design steps Arithmetic Circuits - Full adder, Serial Adder, Adder/Subtractor, Ripple Carry Chain, Carry Look-Ahead adder, Carry Select Adder, ALU, Parity Generator, Comparator, Multiplier. Generalization of these Principles.
Session 2
PLA, PAL, PLD, CPLD, ROM, FPGA introduction Sequential circuits - Design steps Flip-flops, registers, counters
Session 8
CMOS gate transistor sizing Power dissipation Scaling principles
Session 3
Finite State Machines Introduction to FSMs, capabilities, minimization and transformation of sequential machines Synchronous and asynchronous FSMs
Session 9
CMOS circuit and layout design
Session 4
Session 10
Basic physical design of simple gates CMOS logic gate design CMOS logic structures Clocking strategies
Mealy and Moore machines State assignment of synchronous sequential machines Structure of sequential machines Verification and testing of sequential circuits
Session 5
Review of logic families Different logic families and their comparison Logic levels & Noise margin features Fan-in, Fan-out, Active load, Sinking & Sourcing currents Propagation delay MOS technology and VLSI
Session 11
Memory, registers & System timing aspects 3 transistor memory cell nMOS pseudo static memory cell, Two 4-bit words of RAM array
Session 12
Practical realities and ground rules Performance, Floor plan & Layout I/O pad layout System delays
Session 6
MOS transistor theory Introduction MOS device design equations CMOS inverter DC characteristics Static load MOS inverters Pass transistor, Transmission gate, tristate inverter
Course Organization
Textbook:
Logic Circuits
A combinational circuit consists of logical gates whose outputs at any time are determined from only the present combination of inputs. A sequential circuit employs storage elements in additional to logic gates. Its outputs are a function of the inputs and the state of the storage elements ( a function of previous inputs)
Combinational Circuits
A combinational circuit can be specified with a truth table that lists the output values for each combination of input variables. It can also be described by m Boolean functions, one for each output variable.
Analysis Procedure
Label all gate outputs that are a function of input variables with meaningful arbitrary symbols. Determine the Boolean functions for each gate output. Label the gates that are a function of input variables and previously labeled gates with arbitrary symbols. Find the Boolean functions for these gates .
Step 2 & 3:
T3 = F2 T1 F1 = T3 + T2
Design Procedure
From the specification of the circuit, determine the required number of inputs and outputs and assign a symbol to each.
Derive the truth table that defines the required relationship between inputs/outputs. Obtain the simplified Boolean functions for each output as a function of the input variables. Draw the logical diagram and verify the correctness of the design (manually or by simulation)
Binary Adder-Subtractor
Half adder: A combinational circuit that performs the addition of two bits. Full adder: A combinational circuit that performs the addition of two bits and a previous carry. Binary Adder-Subtractor: A combinational circuit that performs the addition and subtraction with binary numbers.
Half Adder
S = xy + xy C = xy
S = xyz + xyz + xyz + xyz = x(yz + yz) + x(yz + yz) = x(yz) + x(yz) = xyz C = xy + xz + yz = xy + xz(y + y) + yz(x + x) = xy(1 + z + z) + xyz + xyz = xy + (xy) z
Binary Adder
Example
Subscript i:
Augend Addend
3
1 0
2
0 0
1
1 1
0
1 Ai 1 Bi
Binary Adder
Example
Subscript i:
Input Carry Augend Addend
3
1 0
2
0 0
1
1 1 1
0
0 Ci 1 Ai 1 Bi
SUM
Output Carry
0 Si
1 Ci+1
Binary Adder
Example
Subscript i:
Input Carry Augend Addend
3
1 0
2
1 0 0
1
1 1 1
0
0 Ci 1 Ai 1 Bi
SUM
Output Carry
1
1
0 Si
1 Ci+1
Binary Adder
Example
Subscript i:
Input Carry Augend Addend
3
0 1 0
2
1 0 0
1
1 1 1
0
0 Ci 1 Ai 1 Bi
SUM
Output Carry
1
0
1
1
0 Si
1 Ci+1
Binary Adder
Example
Subscript i:
Input Carry Augend Addend
3
0 1 0
2
1 0 0
1
1 1 1
0
0 Ci 1 Ai 1 Bi
SUM
Output Carry
1
0
1
0
1
1
0 Si
1 Ci+1
Binary Adder
Carry Propagation
The total propagation time in an adder is the propagation delay of the carry through the full adder.
Carry Lookahead
C0 = input carry C1 = G0 + P0C0 C2 = G1 + P1C1 = G1 + P1(G0 + P0C0) = G1 + P1G0 + P1P0C0 C3 = G2 + P2C2 = G2 + P2 G1 + P2 P1G0 + P2 P1P0C0
Binary Subtractor
Overflow
Overflow: When the result of an n-digit addition produce n+1 digits. In signed numbers, if the carry into the sign bit position and the carry out of the sign bit position are not equal, an overflow occurred. Carries: +70 +80 +150 01 0 1000110 0 1010000 1 0010110 Carries: 10 -70 1 0111010 -80 1 0110000 -150 0 1101010
Binary Multiplier
Magnitude Comparator
A = A3 A 2 A 1 A 0 B = B3B2B1B0 Ai = Bi if xi = AiBi + AiBi for I = 0, 1, 2, 3 Comparison: (A = B) = x3x2x1x0 (A>B) = A3B3 + x3A2B2 + x3x2A1B1 +x3x2x1A0B0 (A<B) = A3B3 + x3A2B2 + x3x2A1B1 +x3x2x1A0B0
Magnitude Comparator
Decoders
A binary code of n bits is capable of representing up to 2n distinct elements of code information. A n-to-m-line decoder is a combination circuit that converts binary information from n lines to a m<2n unique output lines.
3-to-8 Decoder
3-to-8 Decoder
2-to-4 Decoder
Demultiplexer
Demultiplexer: A circuit that receives information from a single line and directs it to one of possible 2n output lines through n selection lines . A decoder with enable input (e.g., Fig 4.19) can function as a demultiplexer, called decoderdemultiplexer.
Combining Decoders
S = (1, 2, 4, 7) C = (3, 5, 6, 7)
Encoder
Encoder: A digital circuit that generates n-bit binary code corresponding to the input value of the 2n input lines. Can be implemented by OR gates. However, if more than two inputs are active, the output produces an undefined combination. Using an input priority to identify higher significant bit.
Encoder
z = D1 + D3 + D 5 + D7 y = D2 + D3 + D6 + D7 x = D4 + D5 + D6 + D7
Multiplexer
Multiplexer (MUX): A combinational circuit that selects binary information from one of the 2n input lines through n selection lines and directs it to a single output.
Multiplexer
Multiplexer