correction last session, i have made a mistake about two digital coding methods. i explained hamming...

18
CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation of Grey code. 0000 0000 0001 0001 0010 0011 0011 0010 0100 0110 0101 0111 0110 0101 0111 0100 1000 1100 1001 1101 1010 1111 1011 1110 1100 1010 1101 1011 1110 1001 111 1000

Upload: naomi-anthony

Post on 28-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

CORRECTION

Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation of Grey code.

0000 0000

0001 0001

0010 0011

0011 0010

0100 0110

0101 0111

0110 0101

0111 0100

1000 1100

1001 1101

1010 1111

1011 1110

1100 1010

1101 1011

1110 1001

111 1000

Page 2: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

COMBINATIONAL CIRCUITS

LOGIC CIRCUITS:1. Combinational

2. Sequential

Combinational logic circuits (circuits without a memory): Combinational switching networks whose outputs depend only on the current inputs.

Sequential logic circuits (circuits with memory): In this kind of network, the outputs depend on the current inputsand the previous inputs. These networks employ storage elementsand logic gates. [Chapters 5 and 9]

Page 3: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

COMBINATIONAL CIRCUITS

Most important standard combinational circuits are:

• Adders• Subtractors• Comparators• Decoders• Encoders• Multiplexers

Available in IC’s as MSI and used asstandard cells in complex VLSI (ASIC)

Page 4: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

ANALYSIS OF COMBINATIONAL LOGIC

CBA

ABC

BCACAB

12 'TF

23 TT

Page 5: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

ANALYSIS OF COMBINATIONAL LOGIC

ABCCABCBABCA

ABCCBBCACABCBA

ABCCBACBCABA

ABCCBABCACAB

ABCTFTTF

''''''

)'''')('''(

))('')('')(''(

)()'(

' 12231

BCACABF 2

Page 6: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

Inputs Outputs

A B C F1 F2

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

INPUTS OUTPUTS

ANALYSIS OF COMBINATIONAL LOGIC

From the truth table can you tell the function of the circuit?

Page 7: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

//Example 4-10//------------------------------------------ //Gate-level description of combinational circuit module analysis (A,B,C,F1,F2); input A,B,C; output F1,F2; wire T1,T2,T3,F2not,E1,E2,E3; or g1 (T1,A,B,C); and g2 (T2,A,B,C); and g3 (E1,A,B); and g4 (E2,A,C); and g5 (E3,B,C); or g6 (F2,E1,E2,E3); not g7 (F2not,F2); and g8 (T3,T1,F2not); or g9 (F1,T2,T3);endmodule

COMBINATIONAL LOGIC - Verilog CODE

Page 8: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

COMBINATIONAL LOGIC - HDL CODE//Stimulus to analyze the circuitmodule test_circuit; reg [2:0]D; *input specified with a 3-bit reg vector D: 0 2 wire F1,F2; *outputs analysis circuit(D[2],D[1],D[0],F1,F2); *D[2]=A, D[1]=B, D[0]=C initial begin D = 3'b000; *D is a 3-bit vector initialized to 000 repeat(7) *The repeat loop gives the 7 binary numbers after 000 #10 D = D + 1'b1; *D is incremented by 1 after 10 ns end initial $monitor ("ABC = %b F1 = %b F2 =%b ",D, F1, F2); *Display truth tableendmodule

Simulation Log:ABC = 000 F1 = 0 F2 = 0ABC = 001 F1 = 1 F2 = 0ABC = 010 F1 = 1 F2 = 0• •

Page 9: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

DESIGN OF COMBINATIONAL LOGIC

1. From the specifications of the circuit, determine the numberof inputs and outputs

2. Derive the truth table that defines the relationship between theinput and the output.

3. Obtain the simplified Boolean function using x-variable K-Map.

4. Draw the logic diagram and verify the correctness of the design.

Page 10: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

DESIGN OF COMBINATIONAL LOGIC

Example: Design a combinational circuit with three inputs and one output. The output is a 1 when the binary value is less than three. The output is 0 otherwise.

x y z F

0 0 0 1

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 0

1 1 1

00 01 11 10

0

1

y

x'''' zxyxF

x

y

z

F

z

y z

Page 11: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

ARITHMETIC LOGIC UNIT (ALU)

ACC

CPU

StorePath

Load Path4

4

4

EN

4

4

Memory CellSelect Lines

2Read/WriteControl BusPC

MUX

4

4

ACC to Data Bus

LoadACC

ALUControlInputs

4

4

Load MAR

Use PC

MemoryAddress

AddressBus

16

DataBus

Instruction Path

DataBus

LoadIR

MAR

ControlUnit

(FSM)

IR

Decoder

ExternalMemory

EN2

EN1Y

ALUB A

BufferEN

4

LegendA, B ALU InputsACC AccumulatorALU Arithmetic and Logic UnitMAR Memory Address RegisterCPU Central Processing UnitFSM Finite State MachineIR Instruction RegisterPC Program Counter

Control SignalBus

+ Devices with Reset/ClockInputs

+

+

+

+

+

Copyright: Tylavsky, Arizona State University

Page 12: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

BINARY ADDER – Half Adder

  A B S C

0 0 0 01 0 1 00 1 1 01 1 0 1

Page 13: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

Inputs Outputs

A B C F1 F2

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

INPUTS OUTPUTS

BINARY ADDER - Full Adder

C

Page 14: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

Full Adder in SOP

Page 15: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

zyxxyzx'yzxy'z'

xyyxzyxxyz

yxyxzyxxyz

yxxyzyxxyz

yxzS

'''

)''()''('

)]')('[()''('

)'''()''('

)(

Note mistake in Fig. 4-6: S should be C

Implementation Full Adder with two half Adders

Page 16: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

CASCADE 4-BIT FULL ADDER

0 1 1 0 Ci

1 0 1 1 Ai

0 0 1 1 Bi

1 1 1 0 Si

0 0 1 1 Ci+1

3 2 1 0 i

Page 17: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

//Gate-level hierarchical description of 4-bit adder // Description of half adder (see Fig 4-5b)module halfadder (S,C,x,y); input x,y; output S,C;//Instantiate primitive gates xor (S,x,y); and (C,x,y);endmodule

//Description of full adder (see Fig 4-8)module fulladder (S,C,x,y,z); input x,y,z; output S,C; wire S1,D1,D2; //Outputs of first XOR and two AND gates //Instantiate the halfadder halfadder HA1 (S1,D1,x,y), HA2 (S,D2,S1,z); or g1(C,D2,D1);endmodule

CASCADE 4-BIT FULL ADDER - HDL CODE 1

Page 18: CORRECTION Last session, I have made a mistake about two digital coding methods. I explained Hamming code as Grey code mistakenly. Here is correct explanation

//Description of 4-bit adder (see Fig 4-9)module _4bit_adder (S,C4,A,B,C0); input [3:0] A,B; input C0; output [3:0] S; output C4; wire C1,C2,C3; //Intermediate carries//Instantiate the fulladder fulladder FA0 (S[0],C1,A[0],B[0],C0), FA1 (S[1],C2,A[1],B[1],C1), FA2 (S[2],C3,A[2],B[2],C2), FA3 (S[3],C4,A[3],B[3],C3);endmodule

CASCADE 4-BIT FULL ADDER - HDL CODE 2