DSD Lab Manual - 2024
DSD Lab Manual - 2024
LABORATORY MANUAL
DEPARTMENT OF ELECTRICAL & ELECTRONICS ENGINEERING
CERTIFICATE
Education, Manipal for Digital System Design Laboratory [ELE 2141] of Second Year
Date: ……...................................
Signature Signature
Faculty in Charge Student
ELE 2141: DIGITAL SYSTEM DESIGN LAB [ 0 0 3 1 ]
Total contact periods: 30 hours
Course Learning Outcomes: At the end of the course, the students will be able to:
CO1 Test the designed digital circuit using standard ICs
CO2 Demonstrate the functional verification of a digital circuit using HDL
CO3 Create FPGA based digital circuit for a given application
CO4 Function as a team member in lab project to adopt inclusive approach in
engineering practice
Module I: Design, Implement and Test Digital circuits using standard ICs
Module II: Digital System Design using Programmable ASICs
Module III: Group activity – Design and develop FPGA based digital circuit for a given
application (2 weeks)
References:
1. Givone, Digital Principles & Design, TMH 2011.
2. Charles H Roth, Lizy Kurian John, Byeong Kil Lee, Digital Systems Design using Verilog,
Global Engineering Publishers, 2015
3. Ronald J. Tocci, Digital Systems - Principles & Applications, Pearson, 2005.
4. Brown & Vranesic, Fundamentals of Digital Logic with Verilog HDL design, TMH,2012
5. Nexys4 DDR FPGA reference manual. https://digilent.com/reference/_media/nexys4-
ddr:nexys4ddr_rm.pdf
List of Experiments:
Introduction to Digital System Design Laboratory and Familiarization of the equipment’s
1. Familiarization to Verilog HDL and Vivado Design flow environment
2. Combinational circuit design using MSI devices/multiplexers and decoders
3. Combinational circuit design using Verilog HDL
4. Design, Implement and test Asynchronous counters using standard ICs
5. Sequential circuit design using Verilog HDL
6. Design, Implement and test Shift registers using standard ICs
7. Design, Implement and test Finite state machine using standard ICs
8. Finite State machine Modeling using Verilog HDL and Implementation of digital
circuit on FPGA using Vivado Design Suite 2020.1
9. Group activity – Design and develop FPGA based digital circuit for a given
application (2 weeks)
General lab guideline and safety instructions
• Carry out the experiments in such a way that nobody will be injured or hurt.
• Carry out the experiments in such a way that the equipment will not be damaged or destroyed/IC
pins must not be reversed.
• Follow all written and verbal instructions carefully. If you do not understand the instructions, the
handouts and the procedures, ask the instructor or teaching assistant.
• Report any injury (cut, burn etc.) to the teacher immediately, no matter how trivial it seems. First
aid kit is available in the lab
DIGITAL SYSTEM DESIGN LAB
Introduction to Digital System Design Laboratory and Familiarization of the
equipment’s
1. Study of Digital ICs and IC trainer kit
Example: Get familiarized with two input AND gate IC, Troubleshooting with digital ICs
2. Design, Implement and test Half Adder on digital IC trainer kit using gates
Objective: Implement and design half adder and verify the truth table using logic gates.
Theory Overview: A half adder has two inputs for the two bits to be added and two outputs
one from the sum ‘ S’ and other from the carry ‘ c’ into the higher adder position.
Equipment/Components required:
Procedure:
1. Connections are given as per circuit diagram.
2. Connect +5V and GND pins of each chip to the +5V and ground points in IC trainer kit
respectively.
3. Logical inputs are given as per circuit diagram.
4. Observe the output and verify the truth table.
Truth Table:
A B Carry Sum
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
2. Design a circuit which has two switches S1 and S2. The output of the circuit indicated by an
LED. The LED turns off when any one of the switches is closed. If both switches are closed or
both are open LED will be ON. Design the circuit, identify the components, pin numbers,
Implement and test the functionality of the circuit on digital IC trainer kit using NAND gates.
Truth table:
S1 S2 LED
0 0 1
0 1 0
1 0 0
1 1 1
Tutorial-1
Date:
Introduction
Vivado Design Suite: This lab guides you through the design flow using Xilinx Vivado software to
create a simple digital circuit using Verilog HDL. A typical design flow consists of creating model(s),
creating user constraint file(s), creating a Vivado project, importing the created models, assigning
created constraint file(s), optionally running behavioral simulation, synthesizing the design,
implementing the design, generating the bit stream, and finally verifying the functionality in the
hardware by downloading the generated bit stream file. The typical design flow targeting the Nexys4
DDR FPGA board is introduced here. The typical design flow is shown below.
• ZedBoard
• ZYBO
• Nexys 4 DDR
• Basys 3
Nexys4 DDR FPGA board: The Nexys4 DDR board is a complete, ready-to-use digital circuit
development platform based on the latest Artix-7™ Field Programmable Gate Array (FPGA) from
Xilinx®. With its large, high-capacity FPGA (Xilinx part number XC7A100T-1CSG324C), generous
external memories, and collection of USB, Ethernet, and other ports, the Nexys4 DDR can host designs
ranging from introductory combinational circuits to powerful embedded processors. Several built-in
peripherals, including an accelerometer, temperature sensor, MEMs digital microphone, a speaker
amplifier, and several I/O devices allow the Nexys4 DDR to be used for a wide range of designs without
needing any other components.
1. Write, simulate and synthesize the gate level Verilog HDL code for Full adder.
module fulladder_gatelevel(
input cin,
input x,
input y,
output s,
output cout,
inout z1,
inout z2,
inout z3
);
xor(s,x,y,cin);
and(z1,x,y);
and(z2,x,cin);
and(z3,y,cin);
or(cout,z1,z2,z3);
endmodule
2. Write, simulate and synthesize the Verilog HDL code for Full adder using data flow
modeling.
module fulladder_dataflow(
input cin,
input x,
input y,
output s,
output cout
);
assign s = x ^ y ^ cin;
assign cout = (x & y) | (x & cin) | (y & cin);
endmodule
3. Write, simulate and synthesize the Verilog HDL code for Full adder using
behavioural modeling.
module fulladd_behavioral(
input cin,
input x,
input y,
output reg cout,
output reg s);
always@(cin,x,y)
{cout,s}=x+y+cin;
endmodule
4. Write, simulate and synthesize the Verilog HDL code for 4 bit adder. Use
fulladder_gatelevel code as the instances.
module adder4_structural (
input carryin,
input [3:0] X,
input [3:0] Y,
output [3:0] S,
output carryout, inout[3:1]C
);
fulladder_gatelevel stage0 (carryin, X[0], Y[0], S[0], C[1]);
fulladder_gatelevel stage1 (C[1], X[1], Y[1], S[1], C[2]);
fulladder_gatelevel stage2 (C[2], X[2], Y[2], S[2], C[3]);
fulladder_gatelevel stage3 (C[3], X[3], Y[3], S[3], carryout);
endmodule
[Note: The instance fulladder_gatelevel code must be there in the same project]
Write the Inference: Compare the RTL schematic generated for Qn1,2, 3,and 4 in all the
modelling styles and write the inference.
6. Obtain the Boolean function for f (W, X, Y, Z) = ∑m (1, 3, 5, 7, 8, 12, 14). Simulate
the developed logic function using NAND gate instances.
Assignments
1. Write and simulate the Verilog HDL code three bit full subtractor using gate level
modeling
2. Write and simulate the Verilog HDL code for three bit full subtractor using half
subtractors.
Procedure: Getting started with VIVADO Design Suite
This lab comprises five primary steps:
1. Create a new Vivado project
2. Analyze the source files
3. Visualize the Design and Document it .
4. Simulate the Design using Vivado simulator
Note: Students are required to create the folder relevant to their section, and name in the D drive.
(eg: sectionnamestudent1namestudent2name)
Step 1: Create a Vivado project
1-1. Launch Vivado and create a project targeting the xc7a100tcsg324-1 (Nexys4 DDR) device
and using the Verilog HDL.
5. In the Default Part wizard -> Boards -> select Nexys 4DDR -> Next → Finish
6. In the project manager window go to Add sources> select Add or create design
sources -> Next
7. Select create file option in the Add or create design sources wizard
8. In the create source file wizard select file type as Verilog, file name as
fulladder_gatelevel , file location as local to project, click ok
9. Click finish in the add or create design sources wizard
10. In the Define module wizard enter the input output declarations as shown below. Enter
the port names and direction.(If the port is multiple vector signal enter the bus width
also. For example in the case of 4 bit ripple carry adder, the inputs will have a bus width
of 4, hence assign MSB of input as 3 and LSB as 0). Click OK.
11. In the project Manager window go to design sources > double click on
fulladder_gatelevel
1. Go to Flow navigator window >Project Manager> RTL analysis > click open
elaborated design. Save project wizard > Save
2. You get the RTL schematic of the developed code as shown.
3. Close elaborated design window after analyzing the circuit
1-3. Simulation: Launch the Vivado simulator ,simulate and verify the functionality of the design
Conclusion:
In this demonstration, you completed the simulation stages of the FPGA based digital system design
flow using Vivado Design suite Design entry, simulating and synthesizing the design.
[Note: close the existing behavioral simulation strip. Simulate the next program in the same project,
select add sources-> add or create design sources and then continue the step which is mentioned from
step 6 in the procedure.
While simulating the new program, select the program from design sources right click and set as top
module. Then proceed with the simulation steps mentioned in the procedure.
Use same project for all the programs, don’t open new project for each program]
Tutorial 2
Date:
COMBINATIONAL CIRCUIT DESIGN USING MSI DEVICES/MULTIPLEXERS
AND DECODERS
1. Realize the following logical function using two 4:1 multiplexer and residue gates.
F(A,B,C,D) = ∑ (2,3,5,7,11,13). Use D as data input variable.
2. Assume three voice channels A2, A1, A0 has to be decoded using a digital system. The
digital system has two outputs f and g. The output f will be indicated as high when any two or
more voice channels are activated simultaneously, else f is low. The output g will be high when
the signal at A0 is high. Design, implement and test digital system with the given logic using
single 3 to 8 decoder IC and residual gates. (consider A2 as MSB)- Use 74138 IC as 3 to 8
decoder IC.
3. A jet aircraft employs a system for monitoring the rpm, pressure and temperature values of
its engines using sensors that operates as follows:
RPM sensor output = 0 when speed <4800 rpm
Pressure sensor output = 0 when pressure <220 psi
Temperature sensor output = 0 when Temperature < 220oF
The digital circuit that controls a cockpit warning light (assume high output activates warning
light) when (pressure sensor output is 1 or RPM sensor output is 0) and temperature sensor
output is 1. Design the circuit using single 4 to 1 multiplexer (residual gates may be used).
Assignment:
4. Design and test the circuit given in Qn.3 using a)2 to 4 decoders (residual gates may be used
for the design) b) 8 to 1 multiplexer IC.
5. Implement and test a 4 -bit binary to gray code converter using dual 4 to 1 multiplexer ICs
(74153 IC) and residual gates.
6. Realize the following logical function using two 8:1 multiplexer and residue gates.
F(A,B,C,D,E) = ∑(2,3,5,7,11,13,17,19,23,29,31)
Self directed learning component:
7. A lawn sprinkling system has 4 inputs and two outputs sprinkler1 and sprinkler 2 . The sprinkling
system is controlled automatically by certain combinations of the following variables.
Season (S=1 , if summer ; 0 otherwise ); Moisture content of soil (M=1 , if high ; 0 if low) ;
Outside temperature (T=1 , if high ; 0 if low); Outside humidity (H=1, if high ; 0, if low)
S
Sprinkler 1
M Lawn sprinkling
system control
T
Sprinkler 2
H
1. Write and simulate the Verilog HDL code for a 4 to 1 mux using dataflow statements..
a. Using logic equation
b. Using conditional operator
2. Write and simulate Verilog HDL code for 4 to 1 mux using behavioral statements.
a. Use if – else construct
3. Using 4 to 1 mux as the instances simulate a Verilog HDL code for 16 to 1 mux.
4. Write and simulate behavioral modeling of Verilog HDL code for 2 to 4 binary decoder
using case statement. Use the 2 to 4 decoder as the instance simulate a 4 to 16 decoder
circuit.
6. Write a Verilog HDL code to control the rotation of a dc motor as shown in the table.
(Assume the circuit as combinational circuit)
Input Output- Shaft angle(degree)
1110 215
1101 180
1011 90
0111 45
default 0
7. Design a system for an automobile that illuminates a warning light. Warning light is
turned on whenever a person is actually sitting in the driver’s seat, the driver’s seatbelt
is not fastened, and the key is in the ignition. Simulate and test the developed logic
function using data flow modeling of Verilog HDL.
Assignments
1. Suppose a factory has a vat with a sensor that outputs 1 when the vat is empty, a 0
otherwise. The vat also has a pump to empty it, and a control switch to activate the
pump. Devise a digital circuit that turns the pump on when the switch is set to activate
the pump and the vat is not empty. Write the Verilog code to implement the circuit and
simulate the same.
2. Simulate the Verilog HDL code of 4 bit prime number detection circuit using data flow
statement.
3. Write and simulate a Verilog HDL code for 4-bit magnitude comparator.
4. Write and simulate a Verilog HDL code for 4-to 2 encoder.
5. Design a 4- bit adder by using dataflow modeling of Verilog HDL code. Use Arithmetic
operators.
6. Simulate the Verilog HDL code for BCD adder using behavioral statement.
7. Simulate the Verilog HDL code for 4 bit adder/ subtractor using behavioral statement.
8. Implement and test 2- bit binary magnitude comparator and realize it using minimum
number of gates.
8. Write and simulate Verilog HDL code for configurable n to 1 mux.
9. Write and simulate Verilog HDL code for N-bit adder
a. using for loop statement
b. using generate statement
10. Design and simulate a priority encoder using for loop
Tutorial 4
Asynchronous counters
1. Design and test a modulo-8 asynchronous(ripple) up counter using JKFF (Use 74112 IC
for the design).
2. Design and test 2- digit BCD counter in the range 00 - 99 using 74LS90.
3. Design and test 1- digit BCD counter in the range 0-9 using 74LS90 and test it using
seven segment display IC.
Assignment:
4. Implement and test 1-minute counter using decade counter IC (IC 7490)
5. Implement and test 1-minute counter using binary counter IC (IC 7493)
4. Design and test a modulo-5 asynchronous up-counter (count 000-001-010-011-100-000-
001….) using 74LS112 JK flip flop
Tutorial 5
Sequential circuit design using Verilog HDL
1. Write and simulate the Verilog HDL code for the following using behavioral statement.
a. D latch
b. D flip- flop with asynchronous reset.
c. D flip-flop with asynchronous reset and synchronous preset
2. Simulate the Verilog HDL code for 4-bit binary up-down counter with asynchronous
reset using Behavioral statement
3. Simulate the Verilog HDL code for 4-bit shift register with parallel load using
Behavioral statement
4. Write a Verilog HDL code for 4-bit universal shift register with asynchronous reset.
24. Click on Program. In the Td console: Device xc7a100t (JTAG device index = 0) is
programmed will be displayed.
25. If the done led of FPGA board is indicated high then the program is successfully downloaded
on to the target.
26. Change the input pins and check the output leds according to the full adder truth table.
27. To observe the synthesized design: flow navigator> synthesis> click on open synthesized
design.
28. Zoom in and locate the Look Up Table where fulladder is implemented.
29. To observe the schematic of the synthesized design: flow navigator> synthesis> synthesized
design> click on schematic.
30. To see the implemented design on fpga : : flow navigator>click on open implemented design
> Zoom to view the Implemented LUT as given above .
31. To observe how much on chip power is consumed: : flow navigator> implementation> open
implemented design> click on Report power
(Note : Refer Nexys 4 DDR FPGA design constraints for pin numbers)
Assignments
2. Simulate the Verilog HDL code for a) binary up counter with parallel load b) BCD
up/down counter with parallel load using Behavioral statement
3. Simulate the Verilog HDL code for n bit shift register with parallel load using
Behavioral statement
4. Modify Qn. 1 to make a 8-bit wide transparent latch and 8-bit wide edge triggered
register.
5. Write a Verilog HDL code to control the rotation of a dc motor. According to the given
input shaft angle must vary (as shown in the table). (Consider the circuit as sequential
circuit)
Input Output- Shaft angle(degree)
1110 215
1101 180
1011 90
0111 45
default 0
Tutorial 6
Shift Registers
1. Design, Implement and test a circuit that generate the sequence 0-1-2-4-9-3-7-0 using
Universal Shift register IC (74LS194)
2. Design, Implement and test 4-bit Johnson counter using Universal shift register IC.
3. Design, Implement and test 4-bit Ring counter, (which generates the sequence 1000-
0100-0010-0001-…) using D flip flop
Solution:
̅̅̅̅̅ 2
𝑝𝑟𝑒 ̅̅̅̅̅ 3
𝑝𝑟𝑒 ̅̅̅̅̅ 4
𝑝𝑟𝑒
̅̅̅̅̅ 1 Q0
𝑝𝑟𝑒
Q1 Q2 Q3
D D D D
̅̅̅̅
𝑐𝑙𝑟 1 ̅̅̅̅ ̅̅̅̅ 3 ̅̅̅̅
𝑐𝑙𝑟 2 𝑐𝑙𝑟 𝑐𝑙𝑟 4
[ Procedure: Question 3]
1. Connect the clock to Monopulser.
2. Connect all the preset and clear to separate toggle switches.
3. Initially inactivate preset by making Preset1, preset2, preset3, preset4 = 1
4. Clear all the flip flops – clr 1, clr2, clr3 , clr4 = 0
5. Inactivate clear by making clr 1, clr2, clr3 , clr4 = 1
6. Apply preset1= 0, Observe the output Q = 1000
7. Change preset1to logic 1
8. Apply the clock pulse one by one , Observe the output transition 1000 ->0100
->0010->0001->1000… repeats
Note: If the flip flop States are going to unused states due to open circuit ,correct
the circuit, then clear all the flip flops and repeat the procedure]
Assignment:
4. Design and test a circuit that generate the following sequence using D flip flop. The
sequence is 0-8-12-14-15-7-3-1-0-8-12-14 -------.
Tutorial 7
Finite State Machine
Objectives: To design, build and test Finite state machine using Flip-flops
1. Design and test a 2-bit synchronous up-counter which counts the sequence 00->01->10-
>00->01->10….., using D flip flop IC(7474).
2. Design and test a circuit that checks for the sequence 010 continuously in a data sequence
using JKFF IC. Implement the design with Mealy machine.
Assignment:
3. Design and test a 3-bit synchronous sequence generator to generate the sequence (010- 101-
100-011-000-111-010-101-100-----) using D flip flop.
Tutorial-8
Date:
Finite State machine Modeling using Verilog HDL and Implementation of Sequential
circuit on FPGA using Vivado Design Suite 2020.1
1. A digital system has one input x and one output Z. The output Z=1 occurs every time
the input sequence 1010 is detected. Draw the state diagram for the sequence detector
using mealy machine and implement it using Verilog HDL.
2. Draw the state diagram for the sequence detector 101 and 010 using Moore machine
and simulate the Verilog HDL code for it.
Placement, Routing and Implementation of Sequential circuit design on FPGA using Vivado
Design Suite 2020.1
3. Implement a 4 bit binary up counter on Nexys 4 DDR FPGA and display the output on
the seven segment display.
Note:
Assignments
1. Two products are sold from a vending machine, which has two push buttons P1 and P2.
When a button is pressed, the price of the corresponding product is displayed in a 7-
segment display. If no buttons are pressed ‘0’ is displayed, signifying ‘Rs 0’. If only P1
is pressed, ‘2’ is displayed, signifying ‘Rs 2’. If only P2 is pressed, ‘5’ is displayed,
signifying ‘Rs 5’. If both P1 and P2 are pressed, ‘E’ is displayed, signifying ‘Error’.
The names of the segments in 7-segment display, and the glow of the display for ‘0’,
‘2’, ‘5’ and ‘E’ are shown below.
Consider (i) Push Button pressed/not Pressed in an equivalent to logic 1/0 respectively.
A segment glowing / not glowing in the display is equivalent to logic 1/0 respectively.
Implement the circuit nexys 4DDR FPGA.
2. Implement a 4 bit ring counter on Nexys 4 DDR FPGA and display the results on output
LEDs.
3. Implement a Traffic light controller using Verilog HDL with the following
assumptions.
The circuit will be driven by a clock of appropriate frequency. The three light outputs
are Red, Yellow and Green. The light glow cyclically at a fixed rate.
4. A sequential circuit has two inputs, w1 and w2 and an output z. Its function is to
compare the input sequences on the two inputs .If w1=w2 during any four consecutive
cycles, the circuit produces Z=1 otherwise Z=0. Write Verilog code for the FSM
described.
5. Implement 00-99 counter on Nexys4DDR board.
Nexys 4 DDR FPGA design constraints
## Clock signal
#set_property -dict { PACKAGE_PIN E3 IOSTANDARD LVCMOS33 } [get_ports {
CLK100MHZ }]; #IO_L12P_T1_MRCC_35 Sch=clk100mhz
#create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK100MHZ}];
##Switches
## LEDs
Note: The Nexys4 DDR board has eight 7-segment digits. All eight of the digits on the Nexys4
DDR board are connected to the same low-asserted segment pins, referred to as CA, CB,
CC,…,CG. However, each digit has its own enable which is also low-asserted. Error! R
eference source not found.below shows the eight 7-segment displays on the Nexys4 DDR
board. CA is connected to the cathode of the A segment for all eight displays, CB to the cathode
of the B segment for all displays, and so forth. Each digit has an enable signal, corresponding
to the respective bit of the signal AN[7:0]. AN[7:0] is connected via an inverter, to the anode
of all segments for the respective digit.
##Buttons
##Pmod Headers
##Pmod Header JA
##Pmod Header JB
##Pmod Header JC
##Pmod Header JD
##VGA Connector
##Micro SD Connector
##Accelerometer
##Temperature Sensor
##Omnidirectional Microphone
##USB-RS232 Interface
Inputs Output
A B Y
L L H
L H H
H L H
H H L
Inputs Output
A B Y
L L H
L H L
H L L
H H L
Input Output
A Y
L H
H L
Inputs Output
A B C Y
X X L L
X L X L
L X X L
H H H H
Inputs Output
A B C D Y
X X X L L
X X L X L
X L X X L
L X X X L
H H H H H
Inputs Output
A B C Y
X X H L
X H X L
H X X L
L L L H
H=High Logic Level
L=Low Logic Level
X=Either Low or High Logic Level
10) 74LS30 - 8 INPUT NAND GATE:
𝒀 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯
Inputs Output
A through H Y
All inputs H L
One or more inputs L H
Inputs Output
A B Y
L L L
L H H
H L H
H H H
Symbol Description
A, B, C, D BCD inputs
̅̅̅̅̅
RBI Ripple-Blanking Input
LT Lamp-Test Input
̅̅̅̅̅̅̅̅̅̅ Blanking Input or
BI\RBO
Ripple-Blanking Output
𝑎̅ to 𝑔̅ Outputs
13) 7448 BCD TO SEVEN SEGMENT DECODER:
Symbol Description
A, B, C, D BCD inputs
̅̅̅̅̅
RBI Ripple-Blanking Input
̅𝐿𝑇
̅̅̅ Lamp-Test Input
̅̅̅̅̅̅̅̅̅̅ Blanking Input or
BI\RBO
Ripple-Blanking Output
𝑎 to 𝑔 Outputs
Symbol Description
Q True output
̅
Q Complement Output
Clock Clock input
J Data input1
K Data input2
Asynchronous reset
RESET
(Low activated)
GND Ground
VCC Supply Voltage
Inputs Outputs
̅ Operating mode
RESET Clock J K Q Q
L X X X L H Asynchronous reset (Low activated)
H h h 𝑞̅ q Toggle
H l h L H Load 0 (reset)
H h l H L Load 1 (set)
H l l q 𝑞̅ Hold (no change)
H = HIGH voltage level;
h = HIGH voltage level one set-up time prior to the HIGH-to-LOW clock transition;
L = LOW voltage level;
I = LOW voltage level one set-up time prior to the HIGH-to-LOW clock transition;
q = state of referenced output one set-up time prior to the HIGH-to-LOW clock transition;
X = don’t care;
= HIGH-to-LOW clock transition.
15) 7474 DUAL D FLIP-FLOP:
Symbol Description
Q True output
̅
Q Complement Output
CLK Clock input
D Data input
Asynchronous reset
CLR
(active low)
Asynchronous set
PR
(active low)
GND Ground
VCC Supply Voltage
Inputs Outputs
̅ Operating mode
PR CLR CLK D Q Q
L H X X H L Asynchronous set (Low activated)
H L X X L H Asynchronous reset (Low activated)
L L X X H H Note1
H H h H L Load 1 (set)
H H l L H Load 0 (reset)
H H L X q 𝑞̅ Hold (no change)
H = HIGH voltage level;
h = HIGH voltage level one set-up time prior to the LOW-to-HIGH clock transition;
L = LOW voltage level;
I = LOW voltage level one set-up time prior to the LOW-to-HIGH clock transition;
q = state of referenced output one set-up time prior to the LOW-to-HIGH clock transition;
X = don’t care;
= LOW-to-HIGH clock transition.
Note1: This configuration is nonstable; That is, it will not persist when either the preset and\or clear inputs return to
their inactive (HIGH) level.
16) 7478 DUAL J-K FLIP-FLOP WITH PRESET, COMMON CLOCK, AND
COMMON CLEAR:
Symbol Description
Q True output
̅
Q Complement Output
CLK Clock input
J Data input1
K Data input2
Asynchronous reset
CLR
(Low activated)
Asynchronous set
PR
(Low activated)
GND Ground
VCC Supply Voltage
Inputs Outputs
̅ Operating mode
PR CLR Clock J K Q Q
L H X X X H L Asynchronous set (Low activated)
H L X X X L H Asynchronous reset (Low activated)
L L X X X H H Note 1
H H h h 𝑞̅ q Toggle
H H l h L H Load 0 (reset)
H H h l H L Load 1 (set)
H H l l q 𝑞̅ Hold (no change)
H H H X X q 𝑞̅ Hold (no change)
H = HIGH voltage level;
h = HIGH voltage level one set-up time prior to the HIGH-to-LOW clock transition;
L = LOW voltage level;
I = LOW voltage level one set-up time prior to the HIGH-to-LOW clock transition;
q = state of referenced output one set-up time prior to the HIGH-to-LOW clock transition;
X = don’t care;
= HIGH-to-LOW clock transition.
Note1: This configuration is nonstable; That is, it will not persist when either the preset and\or clear inputs return to
their inactive (HIGH) level.
Inputs Output
A B Y
L L L
L H H
H L H
H H L
Symbol Description
̅̅̅̅̅ Clock (Active LOW going edge) Input to divide by
𝐶𝑃0
2 Section
̅̅̅̅̅ Clock (Active LOW going edge) Input to divide by
𝐶𝑃1
5 Section
MR1, MR2 Master Reset (Clear) Inputs
MS1, MS2 Master Set (Preset-9) Inputs
Q0 Output from divide by 2 Section
Q1, Q2, Q3 Outputs from divide by 5 Section
20) 7493 ASYNCHRONOUS BINARY COUNTER:
Symbol Description
Symbol Description
A0-A2 Address inputs
̅̅̅̅
𝐸1, ̅̅̅̅
𝐸2 Enable (Active low) inputs
E3 Enable (Active high) input
𝑂̅0 − 𝑂̅7 Active low outputs
Inputs Outputs
H X X X X X H H H H H H H H
X H X X X X H H H H H H H H
X X L X X X H H H H H H H H
L L H L L L L H H H H H H H
L L H H L L H L H H H H H H
L L H L H L H H L H H H H H
L L H H H L H H H L H H H H
L L H L L H H H H H L H H H
L L H H L H H H H H H L H H
L L H L H H H H H H H H L H
L L H H H H H H H H H H H L
H = HIGH voltage level;
L = LOW voltage level;
X = don’t care
Symbol Description
A0-A2 Address inputs
Enable (Active low)
E
inputs
𝑂̅0 − 𝑂̅3 Active low outputs
Inputs Outputs
E A0 A1 𝑂̅0 𝑂̅1 𝑂̅2 𝑂̅3
H X X H H H H
L L L L H H H H = HIGH voltage level;
L H L H L H H L = LOW voltage level;
X = don’t care
L L H H H L H
L H H H H H L
24) 74147 -10 LINE TO 4 LINE PRIORITY ENCODER:
Note: 74148 provides cascading circuitry (Enable input EI and enable output EO) octal expansion without the need
for external circuitry. GS is the glitch free output.
26) 74151 -8:1 MULTIPLEXER:
Symbol Description
S0-S2 Select inputs
Enable (Active low)
E
input
I0-I7 Multiplexer inputs
Z Multiplexer output
Complementary
𝑍̅
multiplexer output
Symbol Description
S0-S1 Select inputs
Enable (Active low)
𝐸̅
input
I0-I3 Multiplexer inputs
Z Multiplexer output
Symbol Description
A-D Address inputs
̅̅̅̅
𝐺1-𝐺2̅̅̅̅ Strobe (Active low)
inputs
0-15 Active low outputs
Inputs Outputs
̅̅̅
𝐺1 ̅̅̅
𝐺2 D C B A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
L L L L L L L H H H H H H H H H H H H H H H
L L L L L H H L H H H H H H H H H H H H H H
L L L L H L H H L H H H H H H H H H H H H H
L L L L H H H H H L H H H H H H H H H H H H
L L L H L L H H H H L H H H H H H H H H H H
L L L H L H H H H H H L H H H H H H H H H H
L L L H H L H H H H H H L H H H H H H H H H
L L L H H H H H H H H H H L H H H H H H H H
L L H L L L H H H H H H H H L H H H H H H H
L L H L L H H H H H H H H H H L H H H H H H
L L H L H L H H H H H H H H H H L H H H H H
L L H L H H H H H H H H H H H H H L H H H H
L L H H L L H H H H H H H H H H H H L H H H
L L H H L H H H H H H H H H H H H H H L H H
L L H H H L H H H H H H H H H H H H H H L H
L L H H H H H H H H H H H H H H H H H H H L
L H X X X X H H H H H H H H H H H H H H H H
H L X X X X H H H H H H H H H H H H H H H H
H H X X X X H H H H H H H H H H H H H H H H
Symbol Description
A0-A1 Address inputs
Enable (Active low)
𝐸̅
inputs
̅ ̅
𝑂0-𝑂3 Active low outputs
Symbol Description
̅̅̅̅ Parallel Enable (Active low)
𝑃𝐸
inputs
𝑃0 − 𝑃3 Parallel inputs
CEP Count Enable parallel input
CET Count Enable Trickle input
Clock (Active high going
CP
edge) input
Master reset (Active low)
MR
input
𝑄0 − 𝑄3 Parallel outputs
TC Terminal count output
H = HIGH voltage level;
L = LOW voltage level;
X = don’t care
Symbol Description
̅̅̅̅ Parallel Enable (Active low)
𝑃𝐸
inputs
𝑃0 − 𝑃3 Parallel Data inputs
Count Enable parallel input
CEP
(Active low)
̅̅̅̅̅̅ Count Enable Trickle input
𝐶𝐸𝑇
(Active low)
Clock (Active positive going
CP
edge) input
̅ Up-Down Count Control
𝑈/𝐷
Input
𝑄0 − 𝑄3 Parallel outputs
̅̅̅̅
𝑇𝐶 Terminal count output
Symbol Description
𝐷1 − 𝐷4 Data inputs
𝑊𝐴 , 𝑊𝐵 Write Address Inputs
Write Enable
𝐸̅𝑊
(Active LOW) Input
𝑅𝐴 , 𝑅𝐵 Read Address Inputs
Read Enable
𝐸̅𝑅
(Active LOW) Input
𝑄1 − 𝑄4 Outputs
Write Function
Read Function
Symbol Description
𝐴̅0 − 𝐴̅3 Operand (Active LOW) Inputs
𝐵̅0 − 𝐵̅3 Operand (Active LOW) Inputs
𝑆0 − 𝑆3 Function – select inputs
M Mode Control Input
𝐶𝑛 Carry Input
𝐹̅0 − 𝐹̅3 Function (Active LOW) Outputs
A=B Comparator Output
Function Table:
g f VCC a b
f LT542 b
e c
d
dp
e d VCC c dp