Browse papers
A

Section A: Long Answer Questions

Attempt any TWO questions.

3 questions·10 marks each
1long10 marks

Explain weighted and non-weighted codes. Convert decimal 197 into binary, octal, hexadecimal and BCD.

Weighted vs Non-weighted Codes

Weighted codes: Each bit position carries a fixed weight, and the decimal value of a code word is the sum of the weights of the positions holding a 1.

  • Examples: pure binary (weights 8,4,2,18,4,2,1), BCD/8421, 2421, 5421.
  • e.g. BCD 0101=40+21+10+1=50101 = 4{\cdot}0 + 2{\cdot}1 + 1{\cdot}0 + 1 = 5.

Non-weighted codes: No fixed positional weight is assigned, so the value cannot be obtained by a weighted sum. They are used for special properties such as single-bit change or error detection.

  • Examples: Gray code (only one bit changes between successive values), Excess-3 (XS-3), ASCII.

Convert decimal 197

(a) Binary — repeated division by 2:

197=128+64+4+1=110001012197 = 128+64+4+1 = 11000101_2

(b) Octal — group binary in 3s from the right:   011  000  101(305)\;011\;000\;101 \Rightarrow (3\,0\,5)

197=3058197 = 305_8

Check: 364+08+5=192+5=197.3{\cdot}64 + 0{\cdot}8 + 5 = 192+5 = 197.

(c) Hexadecimal — group binary in 4s:   1100  0101(C5)\;1100\;0101 \Rightarrow (C\,5)

197=C516197 = \mathrm{C5}_{16}

Check: 1216+5=192+5=197.12{\cdot}16 + 5 = 192+5 = 197.

(d) BCD — each decimal digit (1, 9, 7) coded in 4-bit 8421:

197=00011  10019  01117=000110010111BCD197 = \underbrace{0001}_{1}\;\underbrace{1001}_{9}\;\underbrace{0111}_{7} = 0001\,1001\,0111_{BCD}

Summary

BaseResult
Binary1100010111000101
Octal305305
HexadecimalC5\mathrm{C5}
BCD0001100101110001\,1001\,0111
number-system
2long10 marks

Minimize the Boolean expression using the Quine-McCluskey method: F(A,B,C,D) = Sum(0,2,3,5,7,8,10,11,14,15).

Quine–McCluskey Minimization

F(A,B,C,D)=m(0,2,3,5,7,8,10,11,14,15)F(A,B,C,D)=\sum m(0,2,3,5,7,8,10,11,14,15)

Step 1 — Group minterms by number of 1s

GroupMintermABCDA\,B\,C\,D
000000
12, 80010, 1000
23, 5, 100011, 0101, 1010
37, 11, 140111, 1011, 1110
4151111

Step 2 — Combine terms differing in one bit (- = dropped bit)

Size-2 (pairs):

  • 0,20000,2 \to 00{-}0  0,8000\;0,8 \to {-}000
  • 2,30012,3 \to 001{-}  2,10010\;2,10 \to {-}010  8,10100\;8,10 \to 10{-}0
  • 3,70113,7 \to 0{-}11  3,11011\;3,11 \to {-}011  5,7011\;5,7 \to 01{-}1  10,11101\;10,11 \to 101{-}  10,14110\;10,14 \to 1{-}10
  • 7,151117,15 \to {-}111  11,15111\;11,15 \to 1{-}11  14,15111\;14,15 \to 111{-}

Size-4 (quads):

  • 2,3,10,11012,3,10,11 \to {-}01{-}
  • 3,7,11,15113,7,11,15 \to {-}{-}11
  • 10,11,14,151110,11,14,15 \to 1{-}1{-}
  • 5,70115,7 \to 01{-}1 stays a pair (cannot combine further)
  • 0,2,8,10000,2,8,10 \to {-}0{-}0

Step 3 — Prime Implicants (terms not absorbed)

PICells coveredExpression
P1P_10,2,8,10 → 00{-}0{-}0BDB'D'
P2P_22,3,10,11 → 01{-}01{-}BCB'C
P3P_33,7,11,15 → 11{-}{-}11CDCD
P4P_410,11,14,15 → 111{-}1{-}ACAC
P5P_55,7 → 01101{-}1ABDA'BD

Step 4 — Prime Implicant Chart / Essential PIs

  • 0 covered only by P1P_1P1=BDP_1=B'D' essential.
  • 5 covered only by P5P_5P5=ABDP_5=A'BD essential.
  • 8 covered only by P1P_1 (confirms P1P_1).
  • Remaining uncovered: 2,3,7,11,14,15. P4=ACP_4=AC covers 10,11,14,15; P3=CDP_3=CD covers 3,7,11,15. Together with P2=BCP_2=B'C covering 2,3 we cover all.

A minimal cover: P1+P5+P2+P3+P4P_1 + P_5 + P_2 + P_3 + P_4, where P2P_2 picks up minterm 2, and P3,P4P_3,P_4 cover 7,14,15 (3,11 shared).

Final Minimized Expression

F=BD+BC+CD+AC+ABD\boxed{F = B'D' + B'C + CD + AC + A'BD}

This is a valid minimal SOP covering all ten minterms. (Equivalent minimal forms exist, e.g. replacing BCB'C by retaining only essential PIs plus the cheapest cover.)

k-map
3long10 marks

What is a counter? Differentiate synchronous and asynchronous counters. Design a 3-bit ripple counter.

Counter

A counter is a sequential circuit, made of flip-flops, that goes through a predetermined sequence of states (counts) in response to clock pulses. An nn-flip-flop counter has up to 2n2^n states (a mod-N counter cycles through NN states).

Synchronous vs Asynchronous Counters

FeatureAsynchronous (Ripple)Synchronous
ClockingOnly first FF gets the external clock; each FF clocks the nextAll FFs share the same common clock
State changeBits change one after another (ripple)All bits change simultaneously
Propagation delayCumulative, adds up across stagesOnly one FF delay
SpeedSlowerFaster
DesignSimpler, fewer gatesMore gates / combinational logic
GlitchesPossible decoding spikesMinimal

Design of a 3-bit Ripple (Asynchronous) Counter

Use three JK flip-flops wired in toggle mode (J=K=1J=K=1), negative-edge triggered.

         +---+        +---+        +---+
CLK ---->|>FF0|  Q0-->|>FF1|  Q1-->|>FF2|
 J=K=1   +---+        +---+        +---+
          Q0           Q1           Q2  (outputs, Q0 = LSB)
  • FF0 is clocked by the external CLK.
  • FF1 is clocked by output Q0Q_0.
  • FF2 is clocked by output Q1Q_1.
  • Each FF has J=K=1J=K=1, so it toggles on every active clock edge it receives.

Count Sequence (mod-8: 0 → 7 → 0)

PulseQ2Q_2Q1Q_1Q0Q_0Decimal
00000
10011
20102
30113
41004
51015
61106
71117
8000(rolls over)

Q0Q_0 toggles every pulse, Q1Q_1 toggles when Q0Q_0 falls 101\to0, and Q2Q_2 toggles when Q1Q_1 falls 101\to0 — giving an up-count 00 to 77.

counters
B

Section B: Short Answer Questions

Attempt any EIGHT questions.

9 questions·5 marks each
4short5 marks

Convert the Boolean expression AB + A'C into standard SOP form.

Standard (Canonical) SOP form of F=AB+ACF = AB + A'C

The variables are A,B,CA,B,C. A canonical SOP expands every term to contain all three variables, by AND-ing each deficient term with (x+x)(x+x') for the missing variable.

Term ABAB (missing CC):

AB=AB(C+C)=ABC+ABCAB = AB(C+C') = ABC + ABC'

Term ACA'C (missing BB):

AC=AC(B+B)=ABC+ABCA'C = A'C(B+B') = A'BC + A'B'C

Combine:

F=ABC+ABC+ABC+ABCF = ABC + ABC' + A'BC + A'B'C

In minterm form (with order A,B,CA,B,C): ABC=m7,  ABC=m6,  ABC=m3,  ABC=m1ABC=m_7,\;ABC'=m_6,\;A'BC=m_3,\;A'B'C=m_1.

F(A,B,C)=m(1,3,6,7)\boxed{F(A,B,C) = \sum m(1,3,6,7)}
boolean-algebra
5short5 marks

Explain the working of a full subtractor with a truth table.

Full Subtractor

A full subtractor subtracts three input bits — the minuend AA, the subtrahend BB, and a borrow-in BinB_{in} from the previous stage — producing a Difference DD and a Borrow-out BoutB_{out}.

Truth Table

AABBBinB_{in}DDBoutB_{out}
00000
00111
01011
01101
10010
10100
11000
11111

Boolean Expressions

D=ABBinD = A \oplus B \oplus B_{in} Bout=AB+ABin+BBin=AB+(AB)BinB_{out} = A'B + A'B_{in} + B\,B_{in} = A'B + (A \oplus B)'\,B_{in}

Working

The difference is 1 when an odd number of inputs are 1 (hence the 3-input XOR). A borrow is generated whenever the bits being subtracted from AA exceed AA — i.e. when A=0A=0 and BB or BinB_{in} is 1, or when both BB and BinB_{in} are 1. It can be built from two half subtractors plus an OR gate, analogous to a full adder.

combinational
6short5 marks

Implement a full adder using two half adders.

Full Adder using Two Half Adders

A half adder adds two bits x,yx,y giving Sum=xySum = x \oplus y and Carry=xyCarry = xy. A full adder adds AA, BB, and carry-in CinC_{in}.

Construction

            HALF ADDER 1            HALF ADDER 2
 A ---+----[ XOR ]---- S1 ----+----[ XOR ]---- SUM
 B ---+----[ AND ]-- C1   Cin-+----[ AND ]-- C2
                       |                  |
                       +------[ OR ]------+---- COUT
  • HA-1 adds AA and BB: S1=ABS_1 = A \oplus B, C1=ABC_1 = A B.
  • HA-2 adds S1S_1 and CinC_{in}: SUM=S1CinSUM = S_1 \oplus C_{in}, C2=S1CinC_2 = S_1 C_{in}.
  • An OR gate combines the two carries: Cout=C1+C2C_{out} = C_1 + C_2.

Resulting Expressions

SUM=(AB)Cin=ABCinSUM = (A \oplus B) \oplus C_{in} = A \oplus B \oplus C_{in} Cout=AB+(AB)CinC_{out} = AB + (A \oplus B)\,C_{in}

These match the standard full-adder truth table, confirming that two half adders and one OR gate implement a full adder.

combinational
7short5 marks

Explain the operation of a 4-to-1 multiplexer.

4-to-1 Multiplexer

A multiplexer (MUX) is a combinational circuit that selects one of several data inputs and routes it to a single output, controlled by select lines. A 4-to-1 MUX has 4 data inputs I0,I1,I2,I3I_0,I_1,I_2,I_3, 2 select lines S1,S0S_1,S_0, and 1 output YY.

Function Table

S1S_1S0S_0Output YY
00I0I_0
01I1I_1
10I2I_2
11I3I_3

Boolean Expression

Y=S1S0I0+S1S0I1+S1S0I2+S1S0I3Y = S_1'S_0'\,I_0 + S_1'S_0\,I_1 + S_1 S_0'\,I_2 + S_1 S_0\,I_3

Operation

The two select bits form a binary address (0–3) that enables exactly one of four AND gates; the selected AND gate passes its data input through, and the outputs of all four AND gates are OR-ed to form YY. Thus the MUX acts as a digitally controlled switch and is widely used for data routing, parallel-to-serial conversion, and implementing logic functions.

multiplexer
8short5 marks

Differentiate between PROM, PAL and PLA.

PROM vs PAL vs PLA

All three are Programmable Logic Devices (PLDs) consisting of an AND array and an OR array; they differ in which arrays are fixed and which are programmable.

FeaturePROMPALPLA
Full nameProgrammable Read-Only MemoryProgrammable Array LogicProgrammable Logic Array
AND arrayFixed (full decoder)ProgrammableProgrammable
OR arrayProgrammableFixedProgrammable
FlexibilityLow (all minterms generated)MediumHigh (most flexible)
Cost / speedCheap, but uses all 2n2^n AND termsFaster, fewer termsMore complex, slower
Product-term sharingNoLimitedYes (terms shared across outputs)
Typical useLook-up tables, code conversionGeneral combinational logicComplex multi-output logic

Summary: PROM = fixed AND + programmable OR; PAL = programmable AND + fixed OR; PLA = programmable AND + programmable OR (most flexible but costliest).

pld
9short5 marks

Explain the working of a master-slave JK flip-flop.

Master–Slave JK Flip-Flop

The master–slave JK flip-flop is built from two clocked JK (or SR) latches in cascade — a master and a slave — to eliminate the race-around problem of a basic JK flip-flop when J=K=1J=K=1.

Structure

  • The master latch is enabled when the clock is HIGH (CLK = 1).
  • The slave latch is driven by the inverted clock, so it is enabled when the clock is LOW (CLK = 0).

Working

  1. CLK = 1: the master responds to the J,KJ,K inputs and updates its output, but the slave is disabled and holds the previous value (output unchanged).
  2. CLK = 0: the master is now locked (cannot change), and the slave copies the master's stored value to the final output QQ.

Because input is read on one clock level and output changes on the other, the output effectively updates on the clock edge and changes only once per clock pulse, preventing the race-around oscillation.

Characteristic Table

JJKKQn+1Q_{n+1}Action
00QnQ_nNo change
010Reset
101Set
11QnQ_n'Toggle

Characteristic equation: Qn+1=JQn+KQnQ_{n+1} = J Q_n' + K' Q_n.

flip-flops
10short5 marks

What is a parity bit? Explain even and odd parity generators.

Parity Bit

A parity bit is an extra bit appended to a data word so that the total number of 1s becomes even or odd, used for single-bit error detection during data transmission/storage.

  • Even parity: the parity bit is chosen so the total number of 1s (data + parity) is even.
  • Odd parity: the parity bit is chosen so the total number of 1s is odd.

Parity Generator

For an nn-bit data word Dn1D0D_{n-1}\dots D_0:

  • Even parity generator: Peven=D0D1Dn1P_{even} = D_0 \oplus D_1 \oplus \dots \oplus D_{n-1} (XOR of all data bits — equals 1 when the data has an odd count of 1s, making the overall count even).
  • Odd parity generator: Podd=D0D1Dn1P_{odd} = \overline{D_0 \oplus D_1 \oplus \dots \oplus D_{n-1}} (the complement, i.e. an XNOR of all bits).

Example (3-bit data 101)

Data has two 1s (even count).

  • Even parity bit =101=0= 1\oplus0\oplus1 = 0 → transmitted word 01010\,101 (two 1s, even).
  • Odd parity bit =0=1= \overline{0} = 1 → transmitted word 11011\,101 (three 1s, odd).

At the receiver a parity checker (XOR/XNOR of all received bits) flags an error if the parity is violated. A single parity bit detects all odd-numbered bit errors but cannot detect even-numbered errors or correct them.

error-detection
11short5 marks

Explain the SISO and SIPO shift registers.

Shift Registers: SISO and SIPO

A shift register is a cascade of flip-flops sharing a common clock, in which data is shifted one position per clock pulse. They are classified by how data enters and leaves.

SISO — Serial-In Serial-Out

  • Data is entered one bit at a time at the input of the first flip-flop and is read out one bit at a time from the last flip-flop.
  • After each clock pulse the bits shift one stage toward the output.
  • For an nn-bit SISO register it takes nn clock pulses to load and nn more to read out the data.
  • Use: time delay, serial data transfer.
Din -->[FF0]-->[FF1]-->[FF2]-->[FF3]--> Dout   (one bit out per clock)
         all flip-flops share CLK

SIPO — Serial-In Parallel-Out

  • Data is entered serially (one bit per clock) but all stored bits are available simultaneously at the parallel outputs Q0,Q1,,Qn1Q_0,Q_1,\dots,Q_{n-1}.
  • After nn clock pulses the nn bits are presented in parallel.
  • Use: serial-to-parallel conversion (e.g. receiving serial data and reading it as a parallel word).
Din -->[FF0]-->[FF1]-->[FF2]-->[FF3]
         |      |      |      |
        Q0     Q1     Q2     Q3   (all outputs read at once)

Key difference: both load data serially, but SISO outputs serially (single line) while SIPO outputs all bits in parallel.

registers
12short5 marks

Write short notes on the characteristic table of a D flip-flop.

D Flip-Flop — Characteristic Table

The D (Data / Delay) flip-flop has a single data input DD and a clock. On the active clock edge the output simply takes the value of DD; otherwise it holds. It has no invalid state, unlike SR.

Characteristic Table

DDQnQ_nQn+1Q_{n+1}
000
010
101
111

This reduces to the simpler form:

DDQn+1Q_{n+1}
00 (Reset)
11 (Set)

Characteristic Equation

Qn+1=DQ_{n+1} = D

The next state equals the input DD, independent of the present state QnQ_n — hence the output is a one-clock delayed copy of the input. The D flip-flop is widely used in registers, data latches, and as the basic storage element in synchronous systems.

flip-flops

Frequently asked questions

Where can I find the BSc CSIT (TU) Digital Logic (BSc CSIT, CSC116) question paper 2077?
The full BSc CSIT (TU) Digital Logic (BSc CSIT, CSC116) 2077 (regular) question paper is available free on Kekkei. You can read every question online and attempt the paper under timed exam conditions.
Does the Digital Logic (BSc CSIT, CSC116) 2077 paper come with solutions?
Yes. Every question on this Digital Logic (BSc CSIT, CSC116) past paper includes a step-by-step solution, plus instant AI feedback when you attempt it on Kekkei.
How many marks is the BSc CSIT (TU) Digital Logic (BSc CSIT, CSC116) 2077 paper?
The BSc CSIT (TU) Digital Logic (BSc CSIT, CSC116) 2077 paper carries 60 full marks and is meant to be completed in 180 minutes, across 12 questions.
Is practising this Digital Logic (BSc CSIT, CSC116) past paper free?
Yes — reading and attempting this Digital Logic (BSc CSIT, CSC116) past paper on Kekkei is completely free.