0% found this document useful (0 votes)
28 views177 pages

Unit1-3 Supplementary Reading Material

Uploaded by

manaspateell
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views177 pages

Unit1-3 Supplementary Reading Material

Uploaded by

manaspateell
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 177

Unit I

Introduction to Hardware and Operating Systems: Introduction to Computing Fundamentals,


Computing Devices and Peripherals, Interfaces and Connectors, Internal Computer Components,
Windows workstation: setup, evaluation, and troubleshooting, Exploring additional desktop and
mobile operating systems

1. WHAT IS COMPUTER?
• The word “computer” is comes from the word “TO COMPUTE” means to calculate.
• A computer is normally considered to be a calculation device which can perform the arithmetic
operations very speedily.
• A computer may be defined as a device which operates upon the data.
• Data can be in the form of numbers, letters, symbols, size etc. And it comes in various shapes
& sizes depending upon the type of computer application.
• A computer can store, process & retrieve data as and when we desired.
• The fact that computer process data is so fundamental that many people have started calling as
“Data Processor”.
• A computer first it gets the Data, does Process on it and then produces Information.

DATA PROCESS INFORMATION

• DEFINATION OF COMPUTER
o A computer is an electronic device which takes input from the user, processes it
and gives the output as per user’s requirement.
o So the main tasks of performed by the computer are:
▪ Input
▪ Process
▪ Output
2. WRITE DOWN THE CHARACTERISTICS OF COMPUTER
Some important characteristics of the computer are as follow:
• Automatic:
o Computers are automatic machines because it works by itself without human
intervention.
o Once it started on a job they carry on until the job is finished.
o Computer cannot start themselves.
o They can works from the instructions which are stored inside the system in the form of
programs which specify how a particular job is to be done.
• Accuracy:
o The accuracy of a computer is very high.
o The degree of accuracy of a particular computer depends upon its design.
o Errors can occur by the computer. But these are due to human weakness, due to
incorrect data, but not due to the technological weakness.
• Speed:
o Computer is a very fact device. It can perform the amount of work in few seconds for
which a human can take an entire year.
o While talking about computer speed we do not talk in terms of seconds and
milliseconds but in microseconds.
o A powerful computer is capable of performing several billion (109) simple arithmetic
operations per second.
• Diligence:
o Unlike human beings, a computer is free from monotony, tiredness & lack of
concentration.
o It can continuously work for hours without creating any error & without grumbling.
o If you give ten million calculations to performed, it will perform with exactly the
same accuracy & speed as the first one.
• Versatility:
o It is one of the most wonderful features about the computer.
o One moment it is preparing the results of a particular examination, the next moment it is
busy with preparing electricity bills and in between it may be helping an office secretary
to trace an important letter in seconds.
• Power of remembering:
o Computer can store and recall any amount of data because of its high storage
capacity of its storage devices.
o Every piece of information can be retained as long as desired by the user and can be
recalled as and when required.
o Even after several years, if the information recalled, it will be as accurate as on the day
when it was filled to the computers.
• No I.Q.
o A computer is not a magical device; it processes no intelligence of its own.
o Its I.Q. is zero.
o It has to be told what to do & in what sequence.
o It cannot take its own decision.

• No Fallings:
o A Computer has no feelings because they are machines.
o Based on our feelings, task, knowledge and experience we often make certain
judgments in our day today life.
o But Computer goes exactly the way which we have given the instructions.
3. EXPLAIN THE DATA PROCESSING CYCLE OF COMPUTER.
• The computer Data Processing is any process that a computer program does to
enter data & summarise, analyse or convert data into useable information.
• The process may be automated & run on a computer.
• It involves recording, analysing, storing, summarising & storing data.
• Because data are most useful when it is well presented & informative. The Data
Processing Cycle:
• Data Processing cycle described all activities which are common to all data processing
systems from manual to electronic systems.
• These activities can be grouped in four functional categories, viz., data input, data processing,
data output and storage, constituting what is known as a data processing cycle.
• The main aim of data processing cycle is to convert the data into meaningful information.
• Data processing system are often referred to as Information System.
• The Information System typically take raw Data as Input to produce Information as Output.

The data processing cycle contains main four functions:


o Data input
o Data process
o Data storage
o Data output
• DATA INPUT
o The term input refers to the activities required to record data.
o It’s a process to entered data in to computer system.
o So before we input any data, it is necessary to check or verify the data context.
• DATA PROCESSING
o The term processing includes the activities like classifying, storing, calculating,
comparing or summarising the data.
o The processing means to use techniques to convert the data into meaningful
information.
• DATA OUTPUT
o It’s a communication function which transmits the information to the outside world.
o After completed the process the data are converted into the meaningful in
o Sometimes the output also includes the decoding activity which converts the
electronically generated information into human readable form.
• DATA STORAGE
o It involves the filling of data & information for future use.
4. EXPLAIN THE CLASSIFICATION OF THE COMPUTER BY DATA PROCESSED
The computers are divided mainly three types on the based on data processed:
1. Analog computers
2. Digital computers
3. Hybrid computers
Analog computers:
• In Analog Computers, data is represented as continuously varying voltage and operate
essentially by measuring rather counting.
• As the data is continuously variable, the results obtained are estimated and not exactly
repeatable.
• It can able to perform multiple tasks simultaneously and also capable to work effectively with
the irrational number. E.g. 1/8 = 0.125 and 1/6=0.1666
• Voltage, temperature and pressure are measured using analog devices like voltmeters,
thermometers and barometers.
Digital Computers
• The digit computer is a machine based on digital technology which represents information by
numerical digit.
• In Digital Computers data is represented as discrete units of electrical pulses. The data is
measured in quantities represented as either the ‘on’ or ‘off’ state.
• Therefore, the results obtained from a digital computer are accurate.
• Virtually all of today’s computers are based on digital computers. Hybrid Computers
• It combines the good features of both analog & digital computers.
• It has a speed of analog computer & accuracy of digital computer.
• Hybrid Computers accept data in analog form and present output also in digitally.
• The data however is processed digitally.
• Therefore, hybrid computers require analog-to-digital and digital-to-analog converters for
output.
5. EXPLAIN THE CLASSIFICATION OF THE COMPUTER BY DATA PROCESSING:
The computers are classified in four types on the based on data processing.
• Micro computer
• Mini computer
• Mainframe computer
• Super computer
Micro Computer:
• Micro computers are the computers with having a microprocessor chip as it central
processing unit.
• Originated in late 1970s.
• First micro computer was built with 8 bit processor.
• Microcomputer is known as personal computer.
• Designed to use by individual whether in the form of pc’s, workstation or notebook
computers.
• Small in size and affordable for general people.
• Ex: IBM PC, IBM PC/XT, IBM PC/AT
Micro Computer:
• Mini computers are originated in 1960s.
• Small mainframes that perform limited tasks.
• Less expensive than mainframe computer.
• Mini computers are Lower mainframe in the terms of processing capabilities.
• Capable of supporting 10 to 100 users simultaneously.
• In 1970s it contains 8 bit or 12 bit processor.
• Gradually the architecture requirement is grown and 16 and 32 bit.
• Minicomputers are invented which are known as supermini computers.
• Ex: IBM AS400
Mainframe Computer:
• A very powerful computer which capable of supporting thousands of user
simultaneously.
• It contains powerful data processing system.
• It is capable to run multiple operating systems.
• It is capable to process 100 million instructions per second.
• Mainframes are very large & expensive computers with having larger internal storage
capacity & high processing speed.
• Mainframes are used in the organization that need to process large number of transaction
online & required a computer system having massive storage & processing capabilities.
• Mainly used to handle bulk of data & information for processing.
• Mainframe system is housed in a central location with several user terminal connected to it.
• Much bigger in size & needs a large rooms with closely humidity &
temperature.
• IBM & DEC are major vendors of mainframes.
• Ex : MEDHA, SPERRY, IBM, DEC, HP, HCL
Super Computer:
• Most powerful & most expensive computer.
• Used for complex scientific application that requires huge processing power.
• Used multiprocessor technology to perform the calculation very speedy.
• They are special purpose computers that are designed to perform some specific task.
• The cost of the super computer is depended on its processing capabilities & configuration.
• The speed of modern computer is measured in gigaflops, teraflops and petaflops.
o Gigaflops= 109 arithmetic operation per second.
o Teraflops=1012 arithmetic operation per second.
o Petaflops=1015 arithmetic operation per second.
• Ex: PARAM , EKA, BLUE GENE/P

6. EXPLAIN THE GENERATION OF THE COMPUTERS.


In Computer language, “Generation” is a set of Technology. It provides a framework for the growth of
the computer technology. There are totally Five Computer Generations till today. Discussed as following.
First Generation:
• Duration: 1942-1955
• Technology: vacuum tube
o Used as a calculating device.
o Performed calculations in milliseconds.
o To bulky in size & complex design.
o Required large room to place it.
o Generates too much heat & burnt.
o Required continuously hardware maintenance.
o Generates much heat so must air-conditioner rooms are required.
o Commercial production is difficult & costly.
o Difficult to configure.
o Limited commercial use.
o ENIAC, EDVAC, EDSAC are example of 1st generation computer.

Second Generation:
• Duration: 1955-1964
• Technology: transistor
o 10 times Smaller in size than 1st generation system.
o Less heat than 1st generation computers.
o Consumed less power than 1st generation system.
o Computers were done calculations in microseconds.
o Air-conditioner is also required.
o Easy to configure than 1st generation computers.
o More reliable in information.
o Wider commercial use.
o Large & fast primary/secondary storage than 1st generation computers.

Third Generation:
• Duration: 1965-1975
• Technology: IC chip
o Smaller in size than 1st & 2nd generation computers.
o Perform more fast calculations than 2nd generation systems.
o Large & fast primary/secondary storage than 2nd generation computers.
o Air –conditioner is required.
o Widely used for commercial applications.
o General purpose computers.
o High level languages like COBOL & FORTAN are allowed to write programs.
o Generate less heat & consumed less power than 2nd generation computer.

Fourth Generation:
• Duration: 1975-1989
• Technology: Microprocessor chip
o Based on LSI & VLSI microprocessor chip.
o Smaller in size.
o Much faster than previous generations.
o Minimum hardware maintenance is required.
o Very reliable as computer to previous generation computers.
o Totally general purpose computer.
o Easy to configure.
o Possible to use network concept to connect the computer together.
o NO requirement of air-conditioners.
o Cheapest in price.

Fifth Generation:
• Duration: 1989 to Present
• Technology: ULSI microprocessor chip
o Much smaller & handy.
o Based on the ULSI chip which contains 100 million electronic components.
o The speed of the operations is increased.
o Consumed less power.
o Air-conditioner is not required.
o More user friendly interface with multi-media features.
o High level languages are allowed to write programs.
o Larger & faster primary/secondary storage than previous generations.
o Notebook computers are the example of 5th generation computers.

7. EXPLAIN THE BLOCK DIAGRAM OF COMPUTER OR EXPLAIN THE


SIMPLE MODEL COMPUTER.
A simple computer system comprises the basic components like Input Devices, CPU
(Central Processing Unit) and Output Devices as under:
• Input Devices:
o The devices which are used to entered data in the computer systems are known as input
devices.
o Keyboard, mouse, scanner, mike, light pen etc are example of input devices. FUNCTION
OF INPUT DEVICES
o Accept the data from the outside worlds.
o Convert that data into computer coded information.
o Supply this data to CPU for further processing.
• Output Devices:
o The devices which display the result generated by the computer are known as output devices.
o Monitor, printer, plotter, speaker etc are the example of output devices.

FUNCTIONS OF OUTPUT DEVICES


o Accept the result form the CPU.
o Convert that result into human readable form.
o Display the result on the output device.

• Memory Unit:
o The data & instruction have to store inside the computer before the actual processing start.
o Same way the result of the computer must be stored before passed to the output devices.
This tasks performed by memory unit.

FUNCTIONS OF MEMORY UNIT


o Store data & instruction received from input devices.
o Store the intermediate results generated by CPU.
o Store the final result generated by CPU.

• Arithmetical & Logical Unit:


o The ALU is the place where actual data & instruction are processed.
o All the calculations are performed & all comparisons are made in ALU.
o Performs all arithmetical & logical operations.
o An arithmetic operation contains basic operations like addition, subtraction, multiplication,
division.
o Logical operations contains comparison such as less than, greater than, less than equal to,
greater than equal to, equal to, not equal to.

• Control Unit:
o It controls the movement of data and program instructions into and out of the CPU, and to
control the operations of the ALU.
o In sort, its main function is to manage all the activities within the computer system.
o Controls the internal parts as well as the external parts related with the computer.
• CPU:
o The Unit where all the processing is done is called as Central Processing Unit.
o It contains many other units under it.
o Main of them are:- Control Unit And ALU (Arithmetic & Logic Unit)

WHAT IS INPUT DEVICES?


• The Input devices are the devices which are used to enter the data in the computer
system.
• Keyboard, mouse, scanner, microphone are the example of input devices. FUNCTIONS
OF INPUT DEVICES:
o Accept the data from the outside worlds.
o Convert that data into computer coded information.
o Supply this data to Central Processing Unit for further processing.

CLASIFICATION OF INPUT DEVICES:

INPUT DEVICES

STANDARD POINTING SPECIAL


INPUT DEVICES INPUT
DEVICE DEVICES

KEYBOARD MOUSE MICROPHONE


TRACK BALL SCANNER
JOYSTICK CAMERA
LIGHT PEN
TOUCH SCREEN

2. EXPLAIN STANDARD INPUT DEVICE: KEYBOARD.


• Keyboard is most commonly used input device.
• It is similar like a type writer which is used to enter data in the computer.
• It contains sets of keys such as alphabets, number & special signs.
• There are two types of keyboard.
o General purpose keyboard
o Special purpose keyboard

GENERAL PURPOSE KEYBOARD:


• Standard keyboard which are used in personal computers.
• It contains enough keys which are used in all types of applications so they are known as
general purpose keyboard.
• Most popular general purpose keyboard contains 101 keys.
• The general purpose keyboard are divided into following parts:
ALPHANUMERAIC KEYPAD
• The centred part of the keyboard is known as alphanumeric keypad.
• It contains alphabets, numbers & special signs such as *,!, @, #, $, %,* etc. NUMERAIC
KEYPAD
• The right most part of the keyboard is known as numeric keypad.
• It contains 0 to 9 numbers & mathematical signs such as +, *, -, /.
• Mainly used for fast data entry in mathematical applications. ARROW
KEYS
• Set of four keys up, down, left & right.
• Used to move the cursor at left & right or up and down on the screen.
• They are referred as “cursor-control” or “cursor-movement” keys. FUNCTION
KEYS
• The first line of the keyboard contains a Set of 12 keys with name f1 to f2 are known as
function keys.
• Used to generate short-cuts in different software package. SPECIAL
KEYS
• There are lots of keys that are used for some specific task describes follows:
• TAB: used for gives multiple spaces or move the cursor to next defined position.
• ENTER: used for generate the output of any command.
• SPACE: used to make one blank space between two words.
• BACKSPACE: used to remove the left-most character at cursor position.
• DELETE: used to remove the right-most character at cursor position.
• HOME: moves the cursor at the beginning of the line.
• END: moves cursor at the end of the line.
• PAGE UP: moves or scroll the screen up or previous page of the current page.
• PAGE DOWN: moves the screen to the next page from the currently displayed page.
• PRINT SCREEN: used to print what is currently displayed on the screen.
• INSERT: used to enter text between two characters.
• ESC: used to negate current command or terminate the execution of the program.
• ALT: used to expand the functionality of keyboard. Basically used to generate shortcuts in
different application.
• CTRL: used to expand the functionality of keyboard. Basically used to generate shortcuts in
different application.
• NUMLOCK: used to on or off the numeric keypad.
• CAPSLOCK: used to type the all inputted text capitally.
SPECIAL PURPOSE KEYBOARD
• Special purpose keyboard is used for special purpose applications which required faster data entry
and rapid interaction with the computer system.
• For example ATM used in banks used special purpose keyboard which contains a few keys.
3. EXPLAIN POINTING DEVICES.

1. MOUSE
• Mouse is Small hand-hold device Input device which is generally used for drawing
purpose.
• It’s a Pointing device.
• It contains two or three buttons
• Left button is used to point out or select any item by clicking.
• Right to generate context menu.
• When user moves mouse across flat surface, the graphic cursor moves on screen.
• Graphic cursor contains verity of symbols such as arrow, wrist, pointing finger etc.
• Depending on application text & graphic cursors are changed.
• The following 5 techniques are used to carry out various operations:
• POINT:
o To move the mouse on top of icon
• C LICK:
o To press & release the left button of mouse at once.
o Used to open any currently selected icon, menu.
• DOUBLE CLICK:
o To press & release the left button of mouse twice.
o Used to open any application or program.
• SIMULTANEOUS-CLICK:
o Press & release left & right button to gather.
o Used in some software package to added some functionality.
• DRAG:
o Press the left button down & moved the mouse on screen.
o Used to move the graphics on screen.
• Many types of mouse are available such as mechanical mouse, optical mouse, serial mouse,
wireless mouse which are used for different purpose.

2. TRACK BALL

• Trackball is a pointing device which is similar to a mouse.


• A ball is placed on the track ball device which is used to move the graphic cursor on the screen.
• It also contains buttons which are used to select a particular item on the screen.
• To move the graphic cursor on screen, the ball is rolled with the fingers or thumb.
• It needs not to move the whole device to move the cursor so it is often attached with some
keyboards.
• Track balls come in various shapes with same functionality.
• Commonly three shapes are used: ABALL, A SQUARE, and A SQUARE.
• In case of ball we need to move it with the help of finger.
• In case of button pushed with finger in desired direction of the cursor movement.
• In case of button press finger to up or down & left or right to move cursor. Advantages of
track ball
• Takes less desk space.
• Takes less arm movements than mouse.
• Doesn’t require any mouse pad & large area to move the mouse.
• Less strain on the wrist.
• Finger trip control which may offer more accuracy than mouse.

3. JOYSTICK
• Joystick is a pointing device which is works on the same principle of track ball.
• It contains a stick which is placed on the spherical ball.
• The stick is used to move the cursor at desired position left or right or backward or forward.
• It also contain button that is clicked to make selection of currently pointed item.
• A joystick is similar to a mouse, except that with a mouse the cursor stops moving as
soon as you stop moving the mouse.
• With a joystick, the pointer continues moving in the direction the joystick is pointing.
• To stop the pointer, you must return the joystick to its upright position.
• Some of the systems using joysticks are
o Aircrafts, UAVs for flight control
o Motorized Wheelchairs as input device
o Microscopes
o Submarines
o Security Systems
o Video Games
• Joysticks are widely used for video games
• Advantages of joystick
• It is very easy to learn to use.
• Very simple design so they can be inexpensive.
• It has a big analogue stick in the middle so it’s easier to control.

4. LIGHT PEN
• Light pen is a pointing device which is used to draw directly draw on the screen.
• It is called light pen because it is similar to a pen & senses light.
• It’s an input device in the form of light-sensitive stick used in conjunction with a CRT display.
• The light pen allows the user to point out or draw any object on the screen.
• The user brings the pen to the desired point on screen and presses the pen button to make
contact.
• It has a switch on its top which allows the user to make contact with screen.
• It is useful for drawing or graphics in the program such as CAD (computer aided design).
• An engineer, architect or fashion designer can draw directly on screen.
• Used in application such as gaming, graphic arts, healthcare applications etc.
• Light pen cannot scratch or damage a screen.
Advantages of light pen;
o Less expensive than touch screen.
o give the user the full range of mouse capabilities, without the use of a pad or any
horizontal surface
o Cannot scratch or damage screen.
o Works on any size screen.

5. TOUCH SCREEN
• Touch screen is a pointing device.
• It is most simple & easiest to learn of all input devices.
• It allows the user to choose from available options by simply touching with their figure to the
desired icon or menu item displayed on the computer screen.
• A touch screen is an electronic visual display that can detect the presence and location of a
touch within the display area.
• The term generally refers to touching the display of the device with a finger or hand.
• Touch screens are common in devices such as computers, tablet computers & Smartphone.
• The touch screen has two main attributes::
o First, it enables one to interact directly with what is displayed.
o Secondly, it lets one do so without requiring any intermediate device that would need to
be held in the hand
• It’s a very easy to operate device which users can use the system without any formal training.
• Uses optical sensors that detect the touch of the finger on screen.
• Sensors communicate the position of touch to the computer which interprets the input made by the
users.
• It contains pressure sensitive monitors which are placed inside the base of computer
screen.
• Pressure sensitive monitors contain sensors to measure the monitor’s weight at many points.
• When user touches the screen, the changes on weights & forces transferred down to sensor
which allows the device to detect the location of the touch.
• This type of monitors required little pressure to transmit the desired input.
• Touch screen are commonly used in following places.
o An airport or railway station.
o Large departmental stores.
o In large museums or zoos to guide visitors to the locations of various attractions.
o Self service check out
o In ATM machines
o In I-phones or PDA’s
o Computer based training
• Any type of touch screen contains Three main components: A touch
screen sensor panel:
o Which sits above the display & generate appropriate voltage according to where
precisely it is touched?
A touch screen controller:
o Processes the signal received from the sensor & translates this touch event data & passed
to pc’s processor via serial or USB interface.
A soft ware driver:
o Provides an interface to the pc’s operating system & which translates the touch event
data into mouse event.
6. DIGITIZER
• An input device.
• Used for converting pictures, map & drawing into digital form.
• Allows one to hand-draw images and graphics, similar to the way one draws images with a
pencil and paper.
• Also be used to capture data or handwritten signatures.
• The device consists of a flat surface upon which the user may "draw" an image using an
attached stylus, a pen-like drawing tool.
• These devices are usually connected via a Serial port.
• Placed on the desk n connected with the computer.
• Digitizer consists of graphic tablets which are associated with a stylus.
• The stylus is like a pen with a button.
• Stylus connected with a tablet and can press down at a point on the tablet to input (x, y) co-
ordinates of point.
• It contains hundreds of copper wires forming a grid that receives electric pulsed.
• When stylus moves on tables the cursor on screen moves simultaneously.
• Allows the user to draw sketches directly.
• Commonly used in CAD by architects & engineers.
• Used in GIS (geographical information system) for digitizing maps.

7. MICROPHONE
• It’s an input device.
• Used to stores the voice data into the computer system.
• Microphones are a type of transducer - a device which converts energy from one form to another.
• Microphones convert sound waves into electrical energy.
• Different types of microphone have different ways of converting energy.
• All the microphones share one common thing: The diaphragm.
• Thin piece of material (such as paper, plastic or aluminium) which vibrates when it is struck by
sound waves.
• When the diaphragm vibrates, it causes other components in the microphone to vibrate.
• These vibrations are converted into an electrical current which becomes the audio signal.
• The microphones are divided in mainly two types The type
of conversion technology they use
o This refers to the technical method the mike uses to convert sound into electricity.
o The most common technologies are dynamic, condenser, ribbon and crystal.
The type of application they are designed for
o Some mikes are designed for general use and others are much specialised purpose.
8. WEB CAMERA
• It’s an input device.
• Used to feeds the image to a computer or computer network often via USB or Wi-Fi.
• Web camera is a hardware camera connected to a computer that allows everyone to
connect to internet to view either pictures or motion video.
• Most Web cameras are embedded to display with laptop computer or connected with USB or Wi-
Fi with a computer.
• Simple web cam. Consists a digital camera attached to your computer typically through USB.
• The camera part of web camera is just a digital camera.
• Web camera comes with software which preset interval & transfer it to another location of
viewing.
• Web camera system allows you to using video also for that you have web camera with high frame
rate.
• Web camera is a digital camera which taking picture over & over & again one after another.
• These images are stored image into the physical memory of camera in built in.
• After capture image & stored in memory it reduced the amount of data need to transmit.
• Web camera software takes image & converts data in jpeg (compressing format).

9. EXPLAIN SCANNER & ITS TYPES.


• Scanners are input devices.
• They are capable of entering information directly into the computer.
• The main advantage of direct entry of information is that users do not have to key the
information.
• And another advantage is that through Scanners you can input Graphical Data into the
computer. This
• Provides faster and more accurate data entry. Important types of scanners
Image scanner:
• It’s an input device, which translates paper documents into an electronic format which can b
stored in a computer.
• The input document may be typed text, pictures, graphics or even handwritten material.
• There are two types of image scanner: Flatbed scanner
o It’s like a zerox machine which consist of box having a glass plate on its top and a lid to
covers the glass plate.
o The document placed inside the glass plate & light source is situated blow glass plate
which moves horizontally from left to write & scanning document line by line.
Handheld scanner
o It contains a set of light emitting diodes encased in small case which can be conveniently
held in hand.
o To scan a document the scanner is slowly dragged on the document.
o The scanner has to be dragged carefully & steadily otherwise the document
cannot scan properly.
o Used when higher accuracy is not required.

10. EXPLAIN THE OPTICAL SCANNERS OMR (OPTICAL MARK READER)

• OMR is a device that is capable of recognised pre-specified type of mark made by pencil or pen.
• The Optical Mark Reader is a device which can detect the presence or absence of a mark on a
paper.
• The OMR recognise the marks by focusing a light on the paper being scanned & detect the
reflected light pattern from mark.
• The present mark is detected due to intensity of light being reflected from the mark.
• Pencil marks made with soft lead pencil reflect the light which allowing the OMR to determine
which response are mark.
• OMR is used in reading answers sheets, questionnaires. ADVANTAGES
• Speedy and accurate to generate result.
• Cheap in cost.
DISADVANTAGE
• Cannot able to read characters.
• Erasing or cancellation is not possible.
• Good quality expensive paper is required.
OCR (OPTICAL CHARACTER READER) DEVICE
• OCR capable of recognizing alphabets & numbers printed on paper.
• It can also capable of recognise shape & identify character directly from source document.
• It is always used with character recognized software.
• It converts bitmap images of character to equivalent ASCII code.
• First it create bitmap image of document & OCR software translate into ASCII code which
computer interprets letter, symbol or number.
• The type of document must be type using OCR fonts.
• The software design to recognised the standard OCR-A(American standard) & OCR- B(European
standard)
ADVANTAGES
• Speedy entered data.
• Accept wide range of font using ordinary mark.
DISADVANTAGE
• Expensive
• Scanned properly only if the characters are standard size.
• Dusty paper cant scanned properly.
MICR (MAGNETIC INK CHARACTER RECOGNITION)
• MICR systems use special ink which can be magnetized, to print characters that can then be read and
decoded by special magnetic devices.
• The common E13B font is used to write these special kinds of cheques.
• E13B font contains 0-9 numbers & 4 symbols.
• Detection of characters is a two step process.
• First MICR Reader-Sorter reads the data on cheques & sorts the cheques for distribution for
further processing.
• The reading station is used to sense and identify the magnetic characters as they pass through.
• Magnetized characters are read by the head. E.g. MICR is used in Banks to cheques the MICR
systems use special ink which can be magnetized, to print characters cheques.
ADVANTAGES
• Speedy data entry.
• Accurate output.
• Folded or roughly handled cheques are also scanned with same accuracy.
DISADVANTAGE
• MICR software is required.
• Limited fonts are used so used in banking industries only.
BCR (BAR CODE READER) DEVICE
• Data can be coded in the form of small lines which are known as Bar Codes.
• Bar codes represent the alphanumeric data by combination of vertical lines which contains
different width & spacing between them.
• Bar Code Reader is a device which are used to recognized bar code data.
• It scanned the barcode image & converted into alphanumeric value & fed to computer.
• It uses laser-beam technology. Laser stroke across the pattern of bar which sensed by light sensitive
decoder & their reflection of light pattern are converted into electrical pulse which converted it into
alphanumeric value.
• Various barcodes are available for different use.
• Most common is UPC (UNIVERSAL PRODUCT CODE).
It contain 10 digit first 5 identify the manufacturer name & remaining identify a specific product.

WHAT IS OUTPUT DEVICE.


• The output devices are the devices which are used to display the result generated by
the computer system.
• Monitor, printer, plotter, speaker are the example of output devices. FUNCTIONS
OF INPUT DEVICES:
o Accept the result from the CPU.
o Convert that result into human readable form.
o Supply this result to output device.
2. EXPLAIN THE VISUAL DISPLAY UNIT OR
EXPLAIN CRT (CATHOD RAY TUBE) MONITER.
• The monitor is the common output device mostly used It is a softcopy output device.
• It can be thought of as a high resolution TV set.
• The monitor can also determine if the display will be colour, black and white, or include
graphical objects (pictures).
• Two types of monitors are used.
o CRT monitors.
o Non CRT monitors.
• Most computer monitors are based on Cathode Ray Tube (CRT) technology.
• The basic operation of these tubes is similar to that in television sets.
• In CRT display CRT is a specialised vacuum tube in which images are produced when
electron beam strikes a phosphor surface.
• CRT monitor contains cathode, control grid, acceleration anode, deflection plates & phosphor
coated screen.
• Cathode: the cathode is heated by filament and produced high speed & large amount of
electrons.
• Control Grid: used to control the brightness of the screen. It controls the number of electrons.
• Accelerating anodes: they are with focusing lens are applied with positive electrons.
• Horizontal deflection plate: moves electron side by side.
• Vertical deflection: moves electrons up & down.
• Screen: contains millions of tiny red, green, blue phosphor dot that glow when struck by
electron beam that travels across screen to create a visible image.
ADVANTAGES OF CRT DISPLAY
• Produce more colours.
• Price is lower than LCD & Plasma.
• High contrast ratio.
• Can easily increase brightness of monitor by reflecting the light.
DISADVANTAGES OF CRT DISPLAY
• High power consumed.
• Heavy to pick up and carry.
• Large space required.

3. EXPLAIN THE NON CRT DISPLAY.

LCD (Liquid Crystal Display)


• In LCD, a liquid crystalline material is sandwiched between two glass or a plastic plates.
• The front plate is transparent and the back plate is reflective.
• There is a coating of thin film on the front plate.
• The coating is transparent and conductive. Its sections (segments) are in the shape of
desired characters.
• LCDs do not emit their own light. Therefore, a light source is to be used.
• LCDs simply change the reflection of available light. Today, most LCDs used are of the type
that produces dark images on a silver background.
Advantages:
• Light weight as compare to CRT.
• Perfectly flat screen.
• Consumed low electricity power.
• Able to generate higher brightness in images.
Disadvantages:
• Fixed resolution that cannot be changed.
• Expensive than CRT display.
• Limited viewing angle.
• Short life.

PDP (Plasma Displays Panel)


• In Plasma Displays, ionized gas is sandwiched between two glass plates.
• A number of parallel wires run horizontally as well as vertically.
• A small amount of current is passed through one horizontal and one vertical wire to cause the gas
to glow at a spot at the intersection of the wires.
• The IBM 581 display employs 960 horizontal and 768 vertical pixel as compared to IBM-PC
colour graphic adapter which is provided with 320 X 200 pixels in medium resolution and 640
X 200 in high resolution.
Advantages:
• Large viewing angle.
• Thinner in width.
• Free standing or can be easily mounted on wall.
• Clear image, brighter viewing angle, better colour quality & high contrast ratio. Disadvantages:
• The plasma displays screens are costly.
• These are available on the selected models of portable computers.
• More electricity than LCD.
• As your plasma get older the brightness get dimmer.

4. WHAT IS PRINTER? EXPLAIN THE TYPES OF PRINTER.


Printer
• The printer is a most commonly used output device.
• It is used to producing the hard copy output.
• It prints characters, symbols & graphics on the paper.
• Printer can be categorised according to the technology used in printer, speed, and approach of
printing, colours, language & the quality of printing.
• Mainly printer can be classified in two types:
o Impact printer
o Non impact printer
IMPACT PRINTER:
• It works on the same mechanism of type-writer.
• It forms a character or image by striking mechanism such as hammer or wheel against to ink
ribbon, leaving an image on paper.
• It is oldest technology and still is in used.
• It can capable to print single character or line at the same time.
• Commonly types of impact printers are dot matrix, daisy wheel, chain, drum printer.
CHARACTERISTICS OF IMPACT PRINTER:
o Physical contact with paper to produce output.
o Low cost
o Very noisy
o Very slow in printing
o Low quality print out
o Stand with dusty or extreme environment NON
IMPACT PRINTER:
• Non impact printer forms characters & images on paper without actually striking the paper.
• Paper & print head come in contact & hence the text or image is formed.
• Ink jet & laser printer are example of non impact printer.
CHARACTERISTICS OF NON IMPACT PRINTER
o Faster than impact printer.
o Ability to change type face automatically.
o High quality output.
o Support transparency.
o More expensive than impact printer.
o Less maintenance than impact printer.
5. EXPLAIN IMPACT PRINTERS.
Dot matrix printer:
• Character printer.
• Capable to print single character at the same time.
• Forms characters & images as a pattern of dots.
• Contains a print head which moves horizontally across paper.
• Uses 5 × 7 matrix to form a character.
• Print by hammering the pins on inked ribbon to leave ink impressions on the paper.
• Able to print 30 to 600 characters per second.
• ADVANTAGES:
o Low cost & easily available.
o Cheap in cost.
o Can make carbon copy of print out.
o Low maintenance cost.
o Work with any type of environment.
• DISADVANTAGES:
o Slow in speed.
o Very noisy.
o Cannot work perfectly in graphics.

DAISY WHEEL PRINTER:


• Character printer.
• Able to print a single character at the same time.
• Contain a metal wheel on which the characters & numbers are raised on the each petal.
• The wheel is rotated very fast when the desired characters arrives at correct position a print
hammer strike to produce output.
• Different type of font face can be used by replacing the daisy wheel.
• Able to print bold letter by striking on specific characters twice or thrice.
• Capable to print 10 to 50 characters per second.
• ADVANTAGES:
o Low cost.
o Can make carbon copy of print out.
o Low maintenance cost.
o Printing quality is similar to a type writer.
o Able to print bold characters.
o Allows using different font-face in same document.
• DISADVANTAGES:
o Very slow in speed.
o Very noisy.
o Cannot print graphics.
DRUM PRINTER:
• It’s a line printer.
• Able to print a line at the same time.
• Consist of a solid cylindrical drum with characters embossed on it in circular band.
• Each band consists of character set which contains 96 characters.
• Drum rotates fastly when desired characters arrives an appropriate hammer stike on ribbon
& character is print on paper.
• Capable to print 300 to 2000 lines per minute.
• ADVANTAGES:
o Low cost than non impact printer.
o Can make carbon copy of print out.
o Low maintenance cost.
o Faster than other impact printer.
o Printing quality is similar to a type writer.
• DISADVANTAGES:
o Very slow in speed.
o Very noisy.
o Large & heavy.
o Cannot print graphics.
o Only prints predefined set of characters.
CHANIN PRINTER:
• It’s a line printer.
• Able to print a line at the same time.
• Consist of a metallic chain on which all characters of character set are embossed.
• Character set contains 48, 64 or 96 characters.
• Characters are embossed several times.
• Chain rotates at high speed when the desired characters in correct position the hammer strikes
& the characters are print on paper.
• Capable to print 400 to 2500 lines per minutes.
• ADVANTAGES:
o Low cost than non impact printer.
o Can make carbon copy of print out.
o Chain can be easily changed.
o Allowed to print different type font.
o Printing quality is similar to a type writer.
• DISADVANTAGES:
o Slower than non impact printer.
o Very noisy.
o Large & heavy.
o Cannot print graphics.
o Only prints predefined set of characters.
7. EXPALAIN NON-IMPACT PRINTERS.
INK-JET PRINTER:
• It’s non-impact printer.
• It’s a character printer.
• Forms characters and all kinds of images by spraying drops of ink on to the paper.
• Print head contains 64 tiny nozzles.
• To print a character the printer the printer selectively heats the appropriate set of nozzle as the
print head moves horizontally.
• Inkjet printer can either colour or monochrome.
• Capable to print 30 to 400 characters per minutes.
• ADVANTAGES:
o High quality output.
o Silent during the operation.
o Able to print graphics.
o Able to print any characters & graphics.
o Able to generate colour & monochrome output.
• DISADVANTAGES:
o Slower than dot matrix printer.
o Cannot make carbon copy of print out.
o Expensive than impact printer.
LASER PRINTER:
• It’s non-impact printer.
• It’s a page printer.
• Three main components laser beam, a multi-sided mirror, a photoconductive drum & toner.
• To print page laser beam is focused on drum by spinning multisided mirror.
• Drum is electric charged.
• Toner which is composed of oppositely charged ink particles, stick to the drum.
• Then toner focused on the paper with heat & pressure to generate output.
• Low speed laser printer can print 4 to 12 page per minute while high speed laser printer Capable
to print 500 to 1000 pages per minutes.
• ADVANTAGES:
o High quality output.
o Very faster in speed.
o Silent during the operation.
o Able to print graphics.
o Able to print any characters & graphics.
o Able to generate colour & monochrome output.
• DISADVANTAGES:
o Very expensive.
o Cannot make carbon copy of print out.

8. WRITE DOWN THE DIFFERENCE BETWEEN IMPACT & NON-IMPACT


PRINTER.

Impact printer Non impact printer


Printing character by striking hammer Printing characters or graphics by spraying
against ink ribbon to produce output ink on paper.
Slow in speed Faster than impact printer
Work with any environment Can’t work with all environment
Less expensive than non impact printer More expensive than impact printer

Noisy during printing Silent during printing


Able to produced carbon copy output Cant able to produced carbon copy output
e.g.: e.g.:
daisy wheel, drum, chain, dot matrix inkjet, laser

9. WHAT IS PLOTTER? EXPLAIN ITS TYPE.


Plotter:
• Plotter is an output device which is capable to producing hardcopy output of graphics.
• Used to producing wide format printing.
• It is an ideal output device for architects, engineers, city planners and other who need to generate
hardcopy output of widely varying in sizes.
• Woks on the same mechanism of human holding pen & moving on paper.
• Contains multiple pens & pencil which can be easily changed out in order to create drawing
of different colours.
• Normally generate output very slowly.
• Mainly two types of plotters are used:
o Drum plotter
o Flatbed

Drum plotter:
• In the case design has to be made is placed over a drum.
• It consist one or more than penholders which are mounted to the drum surface.
• The drum plotter both the paper and the pen move.
• The paper is contained on two rollers and passes over a drum.
• The pen is driven along fixed arm set across the length of the drum.
• It is especially useful for plotting continuous line graph.
• The accuracy of the drum type depends on the paper transport mechanism, which in turn is
dependent on the width of the paper and it can also produce larger drawings.

Flatbed Plotter
• The Flatbed Plotter is generally more expensive and can produce very detailed and accurate
drawings.
• The paper is mounted on a stationary flatbed.
• The pen is mounted on a moveable arm.
• Colour drawing can be produced by some plotters through interchangeable pens.
• Able to draw output in small size as A4 size or can able to generate very large size can be up
to 20ft by 50ft.
• Specially used in the design of cars, ships, aircrafts, buildings, highways etc.
9. WRITE A BRIEF NOTE ON SPEAKER.
• The speaker is output device which is connected to computer’s soundcard.
• The speaker output the sound generated by the sound card.
• Audio data is generated by computer is send to audio card which is located inside
extension slot.
• It can translate data into audio signal which are sending to speaker.
• The speaker can able to produced series of different tones.
Interfaces and Connectors, Internal Computer Components

1. EXPLAIN TYPES OF PROCESSORS. DUAL CORE

• Dual-core refers to a CPU that includes two complete execution cores per physical
processor.
• It has combined two processors and their caches and cache controllers onto a single integrated
circuit (silicon chip )
• Multi-core is similar to dual-core in that it is an expansion to the dual-core technology
which allows for more than two separate processors.
• Dual-core refers to a CPU that includes two complete execution cores per physical
processor.
• It combines two processors and their caches and cache controllers onto a single integrated
circuit (silicon chip).
• It is basically two processors, in most cases, residing reside side-by-side on the same die.
• Dual-core processors are well-suited for multitasking environments because there are two
complete execution cores instead of one.
• Each with an independent interface to the front side bus.
• Since each core has its own cache, the operating system has sufficient resources to handle most
compute intensive tasks in parallel.
ADVANTAGES:
• Performance is faster than single-core processors.
• Able to divide information for processing by multiple units.
• Core processor uses slightly less power than two coupled single-core processors
• Multi-core chips also allow higher performance at lower energy.

CORE 2 DUO
• Core 2 Duo is the name given by Intel to its second batch of dual core processors.
• Desktop PCs with the Intel® Core™2 processor family deliver faster performance, greater energy
efficiency, and more responsive multitasking.
• Intel’s dual core processors were simply 2 Pentium 3 processors that were fabricated in a
single chip.
• As they refined their product more, they decided to differentiate their second set of processors
from the Core Duo and decided to call it Core 2 Duo.
• The difference between dual core processors and the Core 2 Duo processors is just in the
semantics as Core 2 Duo is simply a name given to a more recent family of dual core
processors.
• If we translate this to the single core processors, we can say that Core Duo is Pentium 1
while Core 2 Duo is Pentium 2. But all these are still single core processors.
• We can therefore say that Core 2 Duo is simply a subset of all the dual core processors that
are out in the market today.

Features and benefits


• With an Intel® Core™2 Duo processor you will get performance-rich technologies,
• Intel® multi-core processing provides greater multitasking performance by combining
two independent processor cores in one physical package.
• Execution improves execution time and energy efficiency with more instructions per clock cycle.
• Power Capability enables smarter, more energy-efficient performance.
• Intel® Smart Memory Access improves system performance by optimizing the use of the
available data bandwidth
• Intel® Advanced Smart Cache enables higher performance and more efficient cache
subsystem by optimizing for multi-core processors.

2. EXPLAIN PRIMARY STORAGE DEVICE.

• It’s a temporary storage.


• It consists of some chips.
• The data & instruction are resided in this memory when the CPU executing programs.
• This memory can capable to store & retrieved data very quickly.
• Primary memory is only the memory that is directly access to the CPU.
RAM
• The complete name of RAM is random access memory which is also known as Primary
memory.
• It is called read/write memory because data can be read as well as write in RAM.
• It is called random access because you can directly access any data from RAM if you know row
& column cell.
• The RAM chip is fixed on the mother board & the mother board is designed in such a way that its
memory capacity can be enhanced by adding more RAM chip.
• RAM is a VOLETILE memory.
• RAM chips are of two types:
DRAM:
• Dynamic Random Access Memory is a volatile memory that allows fast access to
data and is ideal for use as the primary store of computer systems.
• However, the information is stored as electrical charges and the charges need to be constantly
refreshed in order for the data to be maintained.

SRAM:
• Static Random Access Memory is also a volatile memory.
• Once data is written into the chip, it is maintained as long as power is supplied to it; it does not
need refreshing.
• However, SRAM is slower than DRAM and it is also more expensive.
ROM
• The complete name of ROM is read only memory.
• The data stored permanently & can’t be altered by the programmer.
• Data stored in RAM chip can be read & used but cannot be changed.
• This memory also known a field storage permanent storage or dead storage.
• It is basically used to store manufacturer programmed & user program.
• Most of the basic operations are carried out by electronic circuits which are known as
micro programs.
• These programs are stored in ROM. For ex. System Boot Loader.
ROM
• The complete name of ROM is read only memory.
• The data stored permanently & can’t be altered by the programmer.
• Data stored in RAM chip can be read & used but cannot be changed.

PROM
• Programmable Read Only Memory is a non-volatile memory which allows the user to
program the chip with a PROM writer.
• The chip can be programmed once, thereafter, it cannot be altered.
EPROM & EEPROM
• Erasable Programmable Read Only Memory and Electrically Erasable Programmable
Read Only Memory chips can be electrically programmed.
• Unlike ROM and PROM chips, EPROM chips can be erased and reprogrammed.
• EXPLAIN FOLLOWING PORTS SERIAL PORT
• Known as asynchronous port or RS-232-C port.
• This type of port is sends & receives data using only two line.
• Therefore this type of port is ideal for connection to the phone circuits which uses 2 data
lines.
• The communication process of data transfer is slower.
• Due to this reason it is not used for printer.
• It has high signal travelling capacity.
PARALLEL PORT
• Known as centronics or printer port.
• It’s a type of socket found on personal computer for connecting various types of computer
devices.
• Normally it is reserved for printer.
• They carry 8 bits at the same time so that communication becomes very faster.
• Due to the faster data communication capability it is used in input & output devices.
• The signal travel capacity is less than serial port.
USB PORT
• It’s a new interface technology which are used to connect computer peripherals such as
keyboard, mouse, scanner, joysticks, printer, web camera etc.
• USB operate at two speeds 1.5 mbps & 12 mbps.
• The speed is depending upon the devices which are attached with the port.
• For example the devices such as mouse, keyboard Use the law band while digital camera use high
speed channel/
• Main advantage is that when devices are attached the appropriate drivers are loaded
automatically.
PS/2 PORT
• Developed by IBM for connecting mouse or keyboard to PC.
• It supports the plug that contains 6 pins.
• Also called mouse port.
3. EXPLAIN FOLLOWING CABLES
Serial Cable
• Serial Cables are typically used for RS-232 communication.
• A serial cable is a cable that can be used to transfer information between two devices using
serial communication.
• The form of connectors depends on the particular serial port used.
• The maximum working length of a cable varies depending on the characteristics of the
transmitters and receivers.
• This cable has short transmission distance because of noise limiting the transmission of high
numbers of bits per second when the cable is more than 15 meters long.
• It is cheap to purchase and is simple to join and connect.
• It is suitable for unbalanced data standards.
• Only one device can be connected to the cable.

Parallel Cable

• On many legacy peripherals, the parallel cable utilized both the 25 pin Sub-D connector and
the 36 pin Centronics connector.
• This was a common printer interface and is still in service in great numbers.
• With the advent of "intelligent" laser and ink jet printers, the IEEE-1284 bi- directional
printer cable was introduced.
• This parallel interface allows for bi-directional communication resulting in speeds up to 10 times
faster than conventional cables.

USB Cable

• To Connecting a USB device to a computer is simple -- you find the USB connector on
the back of your machine and plug the USB connector into it.
• If it's a new device, the operating system auto-detects it and asks for the driver disk.
• If the device has already been installed, the computer activates it and starts talking to it.
• USB devices can be connected and disconnected at any time.

4. SHORT NOTE: GRAPHIC CARDS.


• A graphics card is the component in your computer that handles generating the signals that are
sent to the monitor or "graphics".
• It is responsible for generating all the text and pictures that are displayed on your screen.
• The images you see on your monitor are made of tiny dots called pixels.
• At most common resolution settings, a screen displays over a million pixels, and the computer
has to decide what to do with everyone in order to create an image.
• To do this, it needs a translator -- something to take binary data from the CPU and turn it into
a picture you can see.
• This task is performed by Graphic Card which is built into motherboard.
• A graphics card's job is complex, but its principles and components are easy to understand.
• The CPU, working in conjunction with software applications, sends information about the
image to the graphics card.
• The graphics card decides how to use the pixels on the screen to create the image.
• It then sends that information to the monitor through a cable.
• To make a 3-D image, the graphics card first creates a wire frame out of straight lines. Then, it
rasterizes the image.
• It also adds lighting, texture and colour.
• The graphics card accomplishes this task using four main components:
o A motherboard connection for data and power
o A processor to decide what to do with each pixel on the screen
o Memory to hold information about each pixel and to temporarily store completed
pictures
o A monitor connection so you can see the final result

WRITE A NOTE ON MAGNETIC TAPE


• Sequentially access storage device.
• Most popular storage medium for storage large data.
• Its plastic ribbon which is ½ or ¼ inch wide and 50 to 2400 feet long.
• It is coated with a magnet sable recording material.
• In a magnetic tape data are recorded serially.
• Information is recorded on the tape in the form of tiny invisible magnetized and non magnetized
spots.
• The tape ribbon is itself stored in reels or small cassette.
• Whenever we stored new data on the tape that contains old data the old data are automatically
erased and new data are recorded in the same area.
• In older tape contains 7 tracks and they used 6-bit BCD code format for data recording.
• Modern magnetic tape contains 9 tracks & used 8-bit EBCDIC code format for data
recording.
• There are various types of magnetic tape are used. Most commonly are:
o ½ inch tape reel
o ½ inch tape cartridge
o ¼ inch streamer tape
o 4 mm digital audio tape
Advantages:
• Large or unlimited storage capacity.
• Low cost.
• Light weight and compact in size.
• Copying of data is easy and fast.
• Possible to erase older data n store new data.
Advantages:
• Cannot be accessed directly because it’s a Sequential access device.
• Must be located in dust free environment otherwise it cause errors.
• Data are stored in coded form so cannot interpret or verify directly.

2. WRITE A NOTE ON MAGNETIC TAPE


• Directly access storage device.
• It’s a thin circular plate that is made up with plastic material.
• Plate is coated both side with magnetic material such as iron oxide.
• Information is recorded on the tape in the form of tiny invisible magnetized and non magnetized
spots.
• 8-bit EBCDIC code is used for data recording.
• Like magnetic tapes, magnetic disks are also erased & reuse.
• The disk is divided into number of circles called tracks.
• The tracks are further divided into sectors.
• A sector typically contains 512 bytes.

storage capacity of disk =number of recording surface * number of track per surface *
number of sector per tracks * number of bytes per sectors

TRACK

• Two common types of magnetic disks are used widely.


o Floppy disks
o Hard disks
3. SHORT NOTE: FLOPPY DISK

• Floppy disks were introduced by IBM in 1972.


• floppy disk is a round, flat piece of flexible plastic which is coated with magnetic
oxide.
• It is encased in square plastic cover that gives protection to the disk.
• They are also referred as diskettes.
• The data is read and write in floppy disk is using a device called FLOPPY DISC DRIVE.
• The long lit is provided for the read / writes head to access the disk.
• A hub in the centre is used for mounting the disk drive.
• A hole is used to sense index marking.
• The floppy disks are available in two sizes.
o 5 ¼ inch (1.2 MB)
o 3 ½ inch (1.44 MB)

Advantages:
• Cheap in cost.
• Convenient offline storage for small computer users.
Disadvantages;
• Low storage capacity.
• A floppy disk drive device is required to use read/write data.

4. WRITE A DETAIL NOTE ON HARD DISK


• Hard disks are most popular secondary storage device.
• It supports the direct access of the data.
• It’s a thin magnetic plate which is made of metal n both side coated with magnetic
material.
• The disk is divided in many tracks & the data is store in both side of the disk.
• The disk pack consists of multiple disk plates.
• The disk drive pack has a separate read/write head for each disk surface.
• The disk drive consists of motor to rotate the disk pack about its axis at a speed of about 5400
revolution per minute.
• The drive also has a set of magnetic heads mounted on arms.
• The arm assembly is capable of moving in & out in radial direction.
• The hard disk drive has become the most indispensable secondary storage device in micro-
computers.
• It is fast and speeds of less than 10 (ms) milliseconds are achievable.
• Storage capacity is large and it is not uncommon for micro-computers.

5. SHORT NOTE : CD-ROM


• CD-ROM (Compact Disk – Read Only Memory) is a non-erasable backing store which can
hold large amounts of data.
• It’s a shiny silver colour metal disk of 5 ¼ inch and the storage capacity about 650 megabytes.
• Large volume production is achieved by automated processes similar to that of audio compact
disks.
• Many of today’s micro-computers come with CD-ROM readers and as a result, CD-ROM is
popularly used for distribution of software, digitized graphic images as well as Multi-Media
material.
• Information is written on the disk surface by shining a laser beam.
• As a disk rotates the laser beam traces out a continuous spiral.
• It’s known as WORM (Write Once Read Many) disk technology.
• The data can be read time and again but, once the data is stored, it cannot be erased or
changed.
Advantages:
• Cost per bit is Low.
• Need not have any mechanical read/write heads to read/write data.
• Compact in size.
• Light weight
Disadvantages:
• Read only storage medium.
• Slower access speed than magnetic disk.

6. EXPLAIN IN BRIEF: DVD


• DVD (Digital Versatile Disk) is optical disk storage.
• Basically it is used for storing large amount of data including movies with high video & sound
quality.
• Work on the same principle of CDROM.
• Data is recorded on each layer so that the storage capacity is become large.
• Total capacity of DVD is 8.5 GB
Advantages
• Larger capacity than CD.
Disadvantages:
• Expensive than CD.
• Damaged if not handled properly.

7. EXPLAIN IN BRIEF: ZIP DISK

• It’s a high capacity, removable magnetic disk which can be read or write by ZIP drive.
• It is similar to floppy disk except that much faster & larger capacity.
• Zip disks are available in two size namely 100 megabytes & 250 megabytes. Advantages:
• Easy to use
• Large capacity than floppy disk.
• Faster than floppy disk
• Easy to carry.
Disadvantages:
• Expensive
• Data transfer between drive & computer is slow.

8. SHORT NOTE: PEN DRIVE


• It consists of a small printed circuit board encased in a robust plastic or metal casing.
• It is easy to carry in pocket.
• It uses standard-A type connection which allows it to directly connect with the computer.
• It contains following components:
o Male type-A USB connector-provides an interface to computer.
o USB mass storage controller- provides liner interface to block oriented serial flash
device.
o NAND flash memory chip- stores data.
o Crystal oscillator- controls device data.
ADVANTAGES:
• Portable in size.
• Can easily work with all new operating system.
• More reliable than floppy disk
DISADVANTAGES:
• Expensive than optical disk
• Do not provide protect mechanism.
9. SHORT NOTE: BLUE RAY DISK

• Blue-Ray disk is an optical disc storage media format.


• It was developed by blue-ray disc associations.
• It is mainly used to store high definition video and data.
• It has same dimensions as CD or DVD.
• The violet colored laser is used to read and write the data.
• Because of its shorter wavelength more data can be stored than DVD format.
• Its storage capacity is 50 GB.

Windowsworkstation:setup,evaluation,andtroubleshooting,Exploringadditionaldesktopand mobileoperatingsystems
Introduction
• A computer can only do what a programmer asks it to do.
• To perform a particular task programmer writes a sequence, called the program.
• An instruction command given to the computer to perform a certain specified operation on the
given data.
• Now as we know only human languages and computer knows only machine language, we
need some media through which we can communicate with the computer.
• So we can complete our desired task. That media is Language.
• Languages are tools human can use to communicate with the hardware of a computer
system.
• Each language has a systematic method of using symbols of that language.
• In English, this method is given by the rules of grammar.
• Similarly, the symbols of particular one computer language must also be used as per set of rules
which are known as the “Syntax” of that language, the language which you are using.
• Computer Languages can be classified into three broad categories:

LANGUAGES
MACHINE ASSEMBLY HIGH-LEVEL
LANGUAGE LANGUAGES LANGUAGES

1. WHAT IS MACHINE LANGUAGE?


• Computer programs are written using many different computer Languages but the language
which is understood by the computer without translating program is called machine language.
• Machine language is normally written as string of binary 1s and 0s.

• A machine language instruction has two part format.

OPCODE OPERAND
(OPERATION CODE) (ADDRESS)

• The 1st part is the operation code which tells the computer what function to be performed.
• The 2nd part is the operand which tells the computer where to find & store data to be
manipulated.
• So each instruction tells the computer what operation to perform & the length & location of the
data field which are involved in the operation.
Advantages
• Programs can be executed immediately upon completion because it doesn’t require any
translation.
• Now extra storage space is needed.
• Programmer has complete control over the performance of the hardware. Disadvantage
• Tedious to program
• Difficult to program
• Difficult to modify
• Time consuming to code
• Error prone
• Operation codes have to be memorised
• Assignment of memory is done by programmer
• Time consuming for development
• Programs development are machine dependent
• Preparation of programs was slow and costly.

2. EXPLAIN ASSEMBLY LANGUAGE.

• Assembly language is a language which allows instruction & storage location to be represented
by letters & symbols, instead of number.
• A program written in an assembly language is called assembly language program or symbolic
program.
• Assembly language was introduced in 1952.
• Machine language was tedious to code and errors were expected to arise in bulk.
• To solve these problems mnemonic codes and symbolic addresses were developed.
• It allows using alphanumeric mnemonic codes instead of numeric code for the instructions in
instruction set. For example using ADD instead of 1110 or 14 to add.
• Storage locations are to be represented in the form of alphanumeric addresses instead of
numeric address.
• Format of assembly language is similar to machine language:

MNEMONIC CODE SYMBOLIC ADDRESS

Example of Assembly language instruction:


• This instruction adds value of NUM1 to the AX (Accumulator Register).
• The symbolic language made program writing so much easier for the Programmers but it must
be translated into machine code before being used for operation.
• The translation is actually done by a special translating program. Assembler
• Assembler is a special program (translator) which translates symbolic operation codes into
machine codes, and symbolic address is addressed into an actual machine address.
Advantage
• Easier to use, code and understand.
• Easier to correct error.
• Easier to modify.
• No worry about addresses.
• Easily relocatable.
• Efficiency of machine language.
• Can use Macros (Macro is a bunch of instruction referred as a single name)
Disadvantage
• Machine depended.
• Programs have to be translated before execution.
• Translation of programs takes up time.
• Knowledge of hardware is required.
• Additional storage area needed for the source programs and object code.
Examples of Assembly Language
• Microsoft Assembly Language (MASM), Turbo Assembler

3. WRITE A NOTE ON HIGH LEVEL LANGUAGE.


• The machine language & assembly language requires a good knowledge of internal
structure of computer.
• The both languages are machine dependent & it is difficult to solve error.
• To remove this limitation the high level language are introduced.
• The high level languages machine independent so it can be easily ported & executed on
any computer.
• The high level language programs do not require any knowledge of internal structure of
computer so the programmer concentrate on the logic of problem rather than internal structure
of computer.
• It enables the programmer to write instructions using English words & familiar mathematical
symbols & expression so the program makes easier to code & understand.
• It requires a translator program to convert high level program into machine language.

Compiler
• Compiler is a special program (translator) which translates high level programs into machine
codes.
Advantages:
• Machine independent.
• Easier to learn, use and understand.
• Easier to correct error.
• Easier to maintain.
• Less time & efforts.
• Easily relocatable.
• Program preparation cost is low.
• Few errors.
Disadvantages:
• Less flexible.
• Lower efficiency.
• Require more time & storage space.
4. SHORT NOTE: ASSEMBLER
• A computer can directly execute only machine language programs so the assembly
language program must be converted into its equivalent machine language program before
can be executed.
• This translation is done with the help of a translator program which is known as assembler.
• Assembler is a special program (translator) which translates symbolic operation codes into
machine codes, and symbolic address is addressed into an actual machine address.
Assembly Language Input Assembler Output Machine Language Program

(Source Program) ONE TO ONE CORRESPONDENCE (Object Program)

• As shown in figure that the input to assembler is the assembly language program (source
program) and the output is the machine language program (object program).
• Assembler translates each assembly language instruction into equivalent machine
language instruction.
• There is one to one correspondence between the assembly language instructions of source
program & the machine language instruction of its equivalent object program.
• In case of assembly language program, the computer not only has to run the program but
also must first run assembler program to translate the original assembly language program
into machine language program.
• So the computer has to spend more time in getting desired answer.

5. WRITE A NOTE ON COMPILER


• A computer can directly execute only machine language programs.
• So the high level language program must be converted into its equivalent machine
language program before can be executed.
• This translation is done with the help of a translator program which is known as compiler.
• A compiler is a translator program which translates a high level language program into
equivalent machine language program.
• The process of translating is shown below :
High level Language Program -> Input -> Compiler -> Output -> Machine Language Program
(Source Program) ONE TO MANY CORRESPONDANCE (Object Program)
• As shown above that the input to compiler is the high level language program (source
program) and the output is the machine language program (object program).
• High level language instructions are macro instructions.
• The compiler translates each high level language instruction into set of machine
language instructions rather than a single machine language instruction.
• There is one to many correspondences between high level language instructions of
source program into equivalent object program.
• During the translation the source program is only translates not executed.
• A compiler can translate only those source programs which have written in the
language for which compiler is designed.
• A compiler can also detect & indicates the syntax errors during the compilation
process but cannot able to detect logical errors.

6. WRITE A NOTE ON INTERPRETER.


• An interpreter is another type of translator which is used for translating program
written using high level languages.
• It takes one statement of high level language, translates into machine language &
immediately executes the resulting machine language instructions.
• The main difference between compiler & interpreter is that compiler can
translates the entire code but not involve in execution.
High Level language -----Input-→ Interpreter --- Output----→ Result of
Program (Translates & Executes program
Statements by statement) execution

• As shown in figure that the input to an interpreter is a source program & the
output is the result of an execution program.
• Interpreter translates & executes a high level language program statement-by-
statement.
• A program statement is reinterpreted every time it is encountered during
program execution.
• The main advantage of interpreter is that interpreter makes it easier & faster to
correct programs.
• The main disadvantage is that interpreter is slower than compilers when running a
finished program.
7. WHAT IS OPERATING SYSTEM?
• An operating system is a software program that provides an interface between user
& the computer and manages thousands of applications.
• It’s a collection of system software that co-ordinates between the hardware,
provides a platform for software to run on.
• An operating system is an integrated set of programs that the resources (the CPU,
memory, I/O devices etc) of computer system & provides an interface to the user
to run the machine.
• The main two primary objective of operating system are:
o Making a computer system convenient to use.
o Managing the resources of a computer system
INSTALLATION AND CONFIGURATION OF OPERATING SYSTEM:

Any computer system has an operating system. The user interacts with the machine via
the operating system. An operating system (OS) is the software that provides an
interface between the computer hardware and the application programs or users. An
operating system is responsible for the management and coordination of activities and
sharing of the resources in computer. The OS acts as a host for application programs
that are run on the machine. As a host, one of the purposes of an OS is to handle the
details of the operation of computer hardware. OS offers a number of services to
application programs and users. Users may also interact with the OS by commands or
using a graphical user interface (GUI). There are various types of operating systems,
but all of them essentially perform the same functions. This Unit gives an overview of
operating systems. Common OS include Microsoft Windows, Mac OS X, and Linux.
The installation process of Microsoft Windows 10 and Ubuntu Linux operating system
is illustrated in this Unit. This will enable the students to gain fundamental knowledge
and skills required to install and configure Windows 10 and Ubuntu Linux operating
systems

A computer cannot perform any tasks on its own. In any computing process, both the
hardware and software work together to accomplish a task. This applies to all the
computing devices, including basic calculators, watches, mobile devices, and any other
gadgets which use hardware components as well as integrated software components.
Different files which are interrelated and accomplish a certain set of tasks make up the
operating system. These files are system level files which do scheduling, interrupting,
data transferring, managing the flow of data, and are a low level software component of
the computer itself. The standard definition of an operating system would be—an
operating system is a set of program files which control the resources of the Unit 2.indd
67 09-Oct-19 9:59:33 AM 68 Installation Technician— Computing and Peripherals
computer system and allows the communication of hardware components of a
computer to the software components of the computer system. An operating system is
one of the essential and important software installed in every computer. A computer is
useless without an operating system. The operating system is like a resource manager.
It controls and manages all the computer resources including hardware and software.
Computer system mainly has four types of resources. These are CPU or processor,
main memory or RAM, secondary storage, and the input output devices.

BOOTING PROCESS OF OPERATING SYSTEM:

When you start the computer, it is observed that some initial text information is
displayed on the screen. This is displayed by the firmware. The booting instructions are
stored in ROM (read-only memory). Then the booting process starts. After booting, an
operating system gets loaded in the main memory (RAM) of the computer. Let us
understand the complete booting process.
• When you power on the computer, the CPU (central processing unit) activates the
BIOS (basic input output system).
• The first program activated is POST (power on self test). Using the CMOS
(complementary metal oxide semiconductor) memory it checks all the hardware and
confirms that they are functioning properly.
• After that it reads the MBR (master boot record) in boot drive in accordance with the
firmware ‘bootstrap loader’ which is provided by the computer manufacturer.
• Then the computer loads in the operating system in boot drive to the RAM.
• Once this is performed, the operating system takes over the control of the computer
and displays a user interface to the user.

FUNCTION OF OPERATING SYSTEM

1) PROCESS MANAGEMENT
o The process management of OS taking care about the creation & deletion of
user & system process, providing mechanism for process synchronization &
process communication.
2) MEMORY MANAGEMENT
o The memory management of OS taking care about the allocation &
deallocation of memory space to the various programs in need of this
resource.
3) FILE MANAGEMENT
o The file management of OS is taking care about the file related activities
such as creation, storing, retrieving, naming, sharing & organization of
files.
4) SECURITY
o The security model of OS protects the resources & information of a
computer system against destruction & unauthorized access.
5) COMMAND INTERPRETATION
o This model taking care of interpreting user commands & directing the
system resources to handle the requests.

8. WHAT IS BATCH OPERATING SYSTEM.

• In Batch operating system, data is collected over a period of time and the
processing of the data is deferred to a later time.
• This approach was used very commonly in the past when punch cards served as data
storage media and is used as input into the computer system for processing.
• In batch processing, the data have first to be captured, normally as a form of
source documents, like time cards, or alternatively, by RJE (Remote Job Entry)
where data is gathered through remote terminals.
• The data will then be transmitted to the computer or the source document will be
physically transported to the data centre where transcription (conversion of source
document data into machine readable form) is performed.
• The data is processed by the computer and the resulting output is given to the users.
• Batch processing is suitable in application where there are large amounts of data and
when the turnaround times are not critical.
• As data are transcribed into machine readable form before submitting for processing, the
speed of processing is therefore determined by the computer and not by the operator.
• Payroll processing is suitable for batch processing as it is only performed on a
regular basis. ( for example every month)
ADVANTAGES:
• Less complicated.
• After input process is over, while processing is going on, user can attend other jobs.
DISADVANTAGES:
• Long turnaround time.
• Access to one is not possible.
• Difficult to provide priority scheduling.
• Not convenient for program development.

9. EXPLAIN REALTIME OPERATING SYSTEM.


• Real-Time systems are always on-line but on-line systems need not be real-time
systems.
• However, further constraints are placed in terms of response time and
availability of the system.
• By definition, a real time system receive data and process it quickly enough to
produce output which can be used to control or affect the outcome of an ongoing
activity of process.
• In general, real-time systems handle small volumes of data at any one time and the
turnaround time is critical.
• Feedback is essential in real-time systems so that processing can keep pace with
external factors.
• Most real-time systems are used in mission critical application like process
control and therefore, reliability and availability is of paramount importance.
• Missile guidance systems are examples of real-time systems.
• Control signals are sent to the fins of the missile to correct any deviations.
Advantages
• Error messages are immediate
• Source documents are available at the time the error occurs.
• Faster than on-line
systems. Disadvantages
• Direct access devices have to be used.
• Elaborate controls and backup procedures to guard against unwarranted access to the
system.
• Control checks are difficult since updating occurs at the time of processing.
10. EXPLAIN TIME SHARING OPERATING SYSTEM
• Time-sharing is a mechanism that allows the many users to use a computer system
in such a way that each user is given the impression that they use their own system.
• It has many user terminals simultaneously connected to the same computer.
• Using these terminals multiple users can simultaneously work on the system.
• The multiprogramming feature allows multiple programs to simultaneously
reside in the memory.
• The special scheduling algorithm used in a time-sharing system.
• In this very short period of CPU time allocates to each user process.
• When the CPU is allocated to user process, the process will use CPU until the
allocate time slice is expires or the execution process is over during this time
period.
Features:
o The processing time is divided among various programs in time slices.
o Each program is given control of CPU only for time slice turn by turn.
Advantages:
o Reduce CPU idle time
o Provides advantages of quick response time.
o Offers good computing facility to small users.

11. EXPLAIN: MULTIPROGRAMMING OPERATING SYSTEM


• Multiprogramming is the name given to the interleaved execution of two or
more different & independent programs by the same computer.
• In this more than one program in main memory at a same time.

• In multiprogramming operating system two or more programs are resides in the main
memory and it execute them concurrently.
• In this operating system the CPU can allocate time to several programs instead of
remaining idle when one program is busy with I/O operations the another program is
ready to utilize the CPU.
ADVANTAGES:
• Many programs can run simultaneously.
• Time is not wasted.
• Maximum use of
resources.
DISADVANTAGES:
• Required large memory.
• Required memory protection.
• Job of resources management & memory management increases.

12. EXPLAIN: MULTIPROCESSING OPERATING SYSTEM


• It is the type of operating system that makes the use of more than one CPU.
• The term multiprocessing describe interconnected two or more CPUs that have an
ability to execute several programs simultaneously.
• In such system, instruction from different independent programs can be
processed at same instant of time by different CPU.

ADVANTAGES:
• It improves the performance of computer.
• Less turnaround time.
• In case of failure of one CPU other can take over without any loss.

DISADVANTAGES:
• Large main memory required.
• Expensive
• Design of the system makes time consuming process.
13. EXPLAIN TYPES OF SOFTWARE PACKAGES
• The software is set of programs, procedure and associated documents which
describe the programs and how they are used.
• On the base of task performed by software it can be divided in following tasks.
• WORD PROCESSING SOFTWARE :
o It enables you to make use of computer system for creating, editing, and
viewing, formatting, storing, retrieving & printing documents.
• SPREAD SHEET SOFTWARE:
o Spreadsheet software is a numeric data analysis tool, which allows us to
create kinds of computerized ledger.
o Provides a predefined sheet which contains rows and columns.

• DATABASE SOFTWARE
o A database is a collection of related data stored & treated as a unit for
information retrieval purpose.
o Database software is a set of one or more programs which enables us to
create a database, maintain it, and organize it.
• GRAPHICS SOFTWARE:
o Graphic software enables you to use a computer system for creating,
editing, viewing, storing, retrieving and printing designs, drawings,
pictures, graphs.
• PERSONAL ASSITANCE SOFTWARE:
o It allows you to use personal computers for storing & retrieving your
personal information & planning & managing schedules, contacts,
inventory & important items.
• PRESENTATION SOFTWARE:
o It allows you to provide the tools which help you to develop a presentation on
specific subject.
• ANIMATION/VIDEO/SOUND PACKAGE:
o Provides the different kinds of application that allows you to generate
animation, watching or creating videos, playing or producing sound data.

14. EXPLAIN: ONLINE OPERATING SYSTEM


• In an On-Line system, the terminal used by the operator is connected to the main
computer so that the operator can interact with the computer in a conversational mode.
• It is used in applications requiring fast response from the computer.
• There are some benefits by allowing users to communicate with the computer on-
line.
• Error checking can be performed by the computer when data entry is carried out.
• The operator can be informed of the error so that immediate correction can be made.
• On-Line queries can be performed to allow immediate retrieval of information.
• The nature of on-line systems allows centralization of information, fast data
retrieval immediate file updates and improved customer services.
• Limited validation checks at the terminal increases the accuracy of input.
• However, the cost of implementation such a system is much more than the batch
system.
• Furthermore, as the terminals may be located remotely from the main computer site,
security aspects of implementation must receive special considerations.
• Aspects which should be incorporated are
o Security of access to facilities
o Security of data files
o Audit trial – maintaining a record of all actions that have been carried out to
any data.

15. Windows Workstation Setup

1. Windows Workstation Setup

Setting up a Windows workstation involves installing the operating system, configuring system
settings, and installing essential software. Here's how:

a) Pre-Installation Steps

• System Requirements: Ensure the hardware meets the minimum specifications:


o Processor: 1 GHz or faster, 64-bit.
o RAM: 4 GB or more.
o Storage: 64 GB or more.
o Display: 800x600 resolution or higher.

b) Installation

• Install Windows:
o Insert the installation media (USB/DVD) and boot the PC.
o Select language preferences and click Install Now.
o Choose the version of Windows you want (e.g., Windows 10 or Windows 11).
o Accept the license terms, select Custom installation, and format the disk if necessary.
o Wait for Windows to install and restart the system.

c) First-Time Setup

• Set up user account: Create a local or Microsoft account.


• Set privacy settings: Choose what information Windows can collect.
• Install Drivers: Install necessary drivers for your hardware, like video, audio, and network
drivers.

d) Install Software
• Essential software: Install productivity tools like Microsoft Office, web browsers (e.g.,
Chrome, Firefox), security software (antivirus), and other utilities.
• Windows Updates: Always check for and install the latest updates after installation to keep
your system secure.

2. Windows Workstation Evaluation

Evaluating a Windows workstation involves assessing its performance, usability, and security. Key
areas to check:

a) Performance Evaluation

• Task Manager: Use the Task Manager (Ctrl + Shift + Esc) to check CPU, memory, disk, and
network usage.
• System Information: Open System Information (msinfo32) to view detailed hardware and
software configurations.
• Windows Performance Monitor: Use the built-in Performance Monitor to track system metrics
over time.

b) Usability Evaluation

• User Interface: Check if the desktop, start menu, and taskbar are responsive and easy to use.
• Hardware Compatibility: Test the peripherals like printers, USB devices, and monitors for
proper function.

c) Security Evaluation

• Windows Defender: Ensure that Windows Defender Antivirus is active and regularly updated.
• Firewall: Check if the Windows Firewall is enabled.
• Update Status: Make sure the system is up to date with the latest security patches.

3. Troubleshooting Common Windows Issues

Troubleshooting involves diagnosing and resolving issues with Windows workstations. Here are
common issues and their fixes:

a) System Running Slow

• Check Startup Programs: Use Task Manager to disable unnecessary startup programs.
• Disk Cleanup: Run Disk Cleanup (cleanmgr) to remove temporary files and system files.
• Defragmentation: For HDDs, use Defragment and Optimize Drives tool to optimize
performance (not needed for SSDs).

b) Application Crashes

• Update Software: Ensure the software and Windows are up to date.


• Reinstall the Program: If an app continues to crash, try uninstalling and reinstalling it.
• Event Viewer: Use Event Viewer to look for error messages related to the app crashes
(eventvwr.msc).
c) Network Issues

• Check Network Adapter: Use Network Troubleshooter (Settings > Update & Security >
Troubleshoot > Internet Connections).
• Reset Network: Reset network settings by running netsh winsock reset in Command Prompt
(admin).
• Check IP Configuration: Use ipconfig /all to check if the computer has a valid IP address.

d) Windows Won’t Start

• Safe Mode: Try starting Windows in Safe Mode (press F8 or Shift + F8 during startup) to
troubleshoot without loading unnecessary services.
• Startup Repair: Use Windows Recovery Environment (WinRE) to run Startup Repair.
• System Restore: If a recent change caused the issue, use System Restore to revert the system to
a previous working state.

e) Driver Issues

• Update Drivers: Go to Device Manager (devmgmt.msc) to check if any drivers have issues
(yellow triangle) and update them.
• Rollback Drivers: If a recent driver update caused issues, use Rollback Driver in Device
Manager.

f) Windows Update Problems

• Windows Update Troubleshooter: Run the built-in Windows Update Troubleshooter.


• Reset Windows Update Components: Use the command net stop wuauserv and net start
wuauserv to restart the Windows Update service.

g) Blue Screen of Death (BSOD)

• Check Error Code: BSOD typically shows an error code (e.g., 0x0000007E). Look it up for
more details.
• Driver Conflicts: Update or uninstall recent drivers that might be causing the BSOD.
• Memory Test: Use Windows Memory Diagnostic (mdsched.exe) to check for faulty RAM.

Summary

• Setup: Install the OS, configure hardware and software, and update.
• Evaluation: Assess performance, usability, and security.
• Troubleshooting: Diagnose issues with common tools like Task Manager, Event Viewer, and
Device Manager.

By following these basic steps, you can set up, evaluate, and troubleshoot a Windows workstation
effectively.
Sample questions:
1. Which of the following is NOT considered a peripheral device?
a) Monitor
b) Printer
c) CPU
d) Keyboard

2. What is the primary function of the system bus in a computer?


a) Manage network connections
b) Transfer data between different components
c) Control external devices
d) Power the CPU

3. Which type of memory is directly accessible by the CPU?


a) Hard Drive
b) RAM
c) ROM
d) SSD

4. In Windows, which of the following is NOT a valid troubleshooting option when a system
fails to boot?
a) Safe Mode
b) Disk Cleanup
c) System Restore
d) Startup Repair

5. Which interface is primarily used to connect external storage devices such as hard drives to a
computer?
a) HDMI
b) USB
c) VGA
d) Ethernet

6. Which of the following describes the function of an operating system?


a) It manages hardware resources and provides services for application software.
b) It protects the computer from malware and viruses.
c) It serves as an internal storage device.
d) It handles the physical connection between computer components.

7. What is the purpose of a device driver?


a) To increase the system's memory capacity
b) To allow hardware components to communicate with the operating system
c) To enhance the performance of the CPU
d) To manage network connections

8. Which of the following operating systems is most commonly used on mobile devices?
a) Windows
b) macOS
c) Linux
d) Android

9. Which of these connectors is primarily used for high-definition video output?


a) USB
b) HDMI
c) PS/2
d) SATA

10. Which command in Windows can be used to check and repair file system errors?
a) ipconfig
b) chkdsk
c) ping
d) defrag

ANSWERS:
1. Answer: c) CPU
2. Answer: b) Transfer data between different components
3. Answer: b) RAM
4. Answer: b) Disk Cleanup
5. Answer: b) USB
6. Answer: a) It manages hardware resources and provides services for application software.
7. Answer: b) To allow hardware components to communicate with the operating system
8. Answer: d) Android
9. Answer: b) HDMI
10. Answer: b) chkdsk
UNIT – II
Digital Systems : Introduction to Digital Systems: Digital Systems, Digital System Description,
Digital Electronics Systems, Processor Specification, Examples of programs, Combinational
Circuits I: Combinational Circuits, Boolean Algebra, NAND NOR XOR and TRI-States,
Functional and structural specification, VerilUOC_Desktop tools: Introduction to
VerilUOC_Desktop (I). Logisim and VerilCirc, Introduction to VerilUOC_Desktop (II).
BoolMin and VerilChart, combinational Circuits II: Synthesis tools, propagation time, other
logic blocks, programming language structures, structure specification,
Digital System
Arithmetic components, and Introduction to VHDL, Large multiprocessors (Directory Protocols)
Many number systems are in use in digital technology. The most common are the decimal, binary,
octal, and hexadecimal systems. The decimal system is clearly the most familiar to us because it
is a tool that we use every day. Examining some of its characteristics will help us to better
understand the other systems. In the next few pages we shall introduce four numerical
representation systems that are used in the digital system. There are other systems, which we will
look at briefly.

• Decimal
• Binary
• Octal
• Hexadecimal
Decimal System
The decimal system is composed of 10 numerals or symbols. These 10 symbols are 0, 1, 2, 3, 4, 5, 6,
7, 8,
9. Using these symbols as digits of a number, we can express any quantity. The decimal system
is also called the base-10 system because it has 10 digits.

Decimal Examples 3.1410, 5210 , 102410 , 6400010

Binary System
In the binary system, there are only two symbols or possible digit values, 0 and 1. This base-2
system can be used to represent any quantity that can be represented in decimal or other base
system. In digital systems the information that is being processed is usually presented in binary
form. Binary quantities can be represented by any device that has only two operating states or
possible conditions.
E.g. A switch is only open or closed. We arbitrarily (as we define them) let an open switch
represent binary 0 and a closed switch represent binary 1. Thus we can represent any binary
number by using series of switches.
Octal System
The octal number system has a base of eight, meaning that it has eight possible
digits:0,1,2,3,4,5,6,7.
Octal to Decimal Conversion
2378 = 2 x (82) + 3 x (81) + 7 x (80) = 15910
24.68 = 2 x (81) + 4 x (80) + 6 x (8-1) = 20.7510
11.18 = 1 x (81) + 1 x (80) + 1 x (8-1) = 9.12510
12.38 = 1 x (81) + 2 x (80) + 3 x (8-1) = 10.37510
Hexadecimal System
The hexadecimal system uses base 16. Thus, it has 16 possible digit symbols. It uses the digits 0
through 9 plus the letters A, B, C, D, E, and F as the 16 digit symbols.

Hexadecimal to Decimal Conversion


24.616 = 2 x (161) + 4 x (160) + 6 x (16-1) = 36.37510
11.116 = 1 x (161) + 1 x (160) + 1 x (16-1) = 17.062510
12.316 = 1 x (161) + 2 x (160) + 3 x (16-1) = 18.187510

Code Conversion
Converting from one code form to another code form is called code conversion, like converting
from binary to decimal or converting from hexadecimal to decimal.
Binary-To-Decimal Conversion
Any binary number can be converted to its decimal equivalent simply by summing together the
weights of the various positions in the binary number which contain a 1.e.g.
110112=24+23+01+21+20=16+8+0+2+1=2710

Octal-To-Binary Conversion
Each Octal digit is represented by three binary digits.
Example: 4 7 28= (100) (111) (010)2 = 100 111 0102

Octal-To-Hexadecimal Hexadecimal-To-Octal Conversion


• Convert Octal (Hexadecimal) to Binary first.
• Regroup the binary number by three bits per group starting from LSB if Octal is required.

• Regroup the binary number by four bits per group starting from LSB if Hexadecimal is
required.
Arithmetic Operation using 1’s and 2’s Complement
1’s Complement
The 1’s complement of a binary number is defined as the value obtained by inverting all the bits
in the binary representation of the number (swapping 0’s for 1’s and vice versa). The 1’s
complement of the number then behaves like the negative of the original number in some
arithmetic operations.
Example: 1’s complement of 10111 is 01000.

2’s Complement
To get 2’s complement of a binary number we add one (1) to the 1’s complement of that same
binary number.

Example: 2’s complement of 10111 is; 1’s complement of 10111 + 1

=> 01000 + 1 = 01001

Arithmetic Operation
1. Using 1’s complement:
Example1: Subtract 134 from 168.
168-134 = 168 + (-134)
Binary representation of 168= 1010 1000
Binary representation of 134= 1000 0110
Binary representation of -134= 0111 1001
[Because 1’s complement represents the negative magnitude of a binary number] 168 + (-
134)= 1010 1000
+ 0111 1001
10010 0001
As a carry bit is present, 1 will be added to the result and it represents that the result is positive.
0010 0001 + 1 = 0010 0010
Decimal representation of 0010 0010 is 34. 168-
134=34; hence the result is correct.
Example2: Subtract 168 from 134.
134-168 = 134 + (-168)
Binary representation of 134= 1000 0110
Binary representation of 168= 1010 1000
Binary representation of -168= 0101 0111
[Because 1’s complement represents the negative magnitude of a binary number]
134 + (-168)= 1000 0110
+ 0101 0111
1101 1101
As a carry bit is absent, 1’s complement of this value will be the final result and absence of carry
bit represents that the result is negative.
1’s complement of 1101 1101 = 0010 0010
Decimal representation of 0010 0010 is 34. As carry bit is absent the result is negative i.e -34 134 -
168= -34; hence the result is correct.
2. Using 2’s complement:
Example 1: Subtract 96 from 118.
118-96 = 118 + (-96)
Binary representation of 118= 0111 0110
Binary representation of 96= 0110 0000
Here 2’s complement represents the negative magnitude of a binary number. Hence 2’s
complement of 96 represents -96.
So -96= 1001 1111
118 + (-96) = 0111 0110
+ 1001 1111
10001 0101
As a carry bit is present, 1 will be added to the result and presents of carry bit represents that the
result is positive.
0001 0101+ 1= 0001 0110
Decimal representation of 0001 0110 is 22. As carry bit is present the result is positive. Example 2:
Subtract 118 from 96.
118-96 = 96 + (-118)
Binary representation of 96= 0110 0000
Binary representation of 118= 0111 0110
Here 2’s complement represents the negative magnitude of a binary number. Hence 2’s
complement of 118 represents -118.
So -118= 1000 1010
96 + (-118) = 0110 0000
+ 1000 1010
1110 1010
As a carry bit is absent, 2’s complement of this value will be the final result and absence of carry
bit represents that the result is negative.
2’s complement of 1110 1010 = 0001 0110
Decimal representation of 0001 0110 is 34. As carry bit is absent the result is negative i.e -34.
Binary Codes
Binary codes are codes which are represented in binary system with modification from the original
ones. Below we will be seeing the following:
• Weighted Binary Systems
• Non Weighted Codes
Weighted Binary Systems
Weighted binary codes are those which obey the positional weighting principles, each position of
the number represents a specific weight. The binary counting sequence is an example.
8421 Code/BCD Code
The BCD (Binary Coded Decimal) is a straight assignment of the binary equivalent. It is possible
to assign weights to the binary bits according to their positions. The weights in the
BCD code are 8,4,2,1.
Example: The bit assignment 1001, can be seen by its weights to represent the decimal 9 because:
1x8+0x4+0x2+1x1 = 9
2421 Code
This is a weighted code, its weights are 2, 4, 2 and 1. A decimal number is represented in 4- bit
form and the total four bits weight is 2 + 4 + 2 + 1 = 9. Hence the 2421 code represents the decimal
numbers from 0 to 9.
5211 Code
This is a weighted code, its weights are 5, 2, 1 and 1. A decimal number is represented in 4- bit
form and the total four bits weight is 5 + 2 + 1 + 1 = 9. Hence the 5211 code represents the decimal
numbers from 0 to 9.
Reflective Code
A code is said to be reflective when code for 9 is complement for the code for 0, and so is for 8
and 1 codes, 7 and 2, 6 and 3, 5 and 4. Codes 2421, 5211, and excess-3 are reflective, whereas the
8421 code is not.
Excess-3 Code
Excess-3 is a non-weighted code used to express decimal numbers. The code derives its name from
the fact that each binary code is the corresponding 8421 code plus 0011(3).
Example: representation of 7 in Excess-3 code is :-
BCD code of 7 = 0111
Excess-3 code of 7 = BCD + 0011 = 1010
Gray Code
The gray code belongs to a class of codes called minimum change codes, in which only one bit in
the code changes when moving from one code to the next. The Gray code is non weighted code,
as the position of bit does not contain any weight. The gray code is are reflective digital code which
has the special property that any two subsequent numbers codes differ by only one bit. This is also
called a unit-distance code. In digital Gray code has got a special place.
Example: Write the Gray code of 7.
Step-1 BCD code of 7 = 0111
Step-2 Keep the MSB of BCD same and then add it with the next digit. Ignore the carry bit in each
case.
(0111)2 = (0100)G

+ + +
0 1 1 1 = 0100

Error Detecting and Correction Codes


For reliable transmission and storage of digital data, error detection and correction is required.
Below are a few examples of codes which permit error detection and error correction after
detection.
Error Detecting Codes
When data is transmitted from one point to another, like in wireless transmission, or it is just stored,
like in hard disks and memories, there are chances that data may get corrupted. To detect these
data errors, we use special codes, which are error detection codes.
Parity
In parity codes, every data byte, or nibble (according to how user wants to use it) is checked if
they have even number of ones or even number of zeros. Based on this information an additional
bit is appended to the original data. Thus if we consider 8-bit data, adding the parity bit will make
it 9 bit long.
At the receiver side, once again parity is calculated and matched with the received parity
(bit 9), and if they match, data is ok, otherwise data is corrupt.
There are two types of parity:

• Even parity: Checks if there is an even number of ones; if so, parity bit is zero. When the
number of ones is odd then parity bit is set to 1.
• Odd Parity: Checks if there is an odd number of ones; if so, parity bit is zero. When number
of ones is even then parity bit is set to 1.
Error-Correcting Codes
Error correcting codes not only detect errors, but also correct them. This is used normally
in Satellite communication, where turn-around delay is very high as is the probability
of data getting corrupt.
ECC (Error correcting codes) are used also in memories, networking, Hard disk, CDROM,
DVD etc. Normally in networking chips (ASIC), we have 2 Error detection bits and 1
Error correction bit.
Hamming Code
Hamming code adds a minimum number of bits to the data transmitted in a noisy channel, to be
able to correct every possible one-bit error. It can detect (not correct) two bits errors and cannot
distinguish between 1-bit and 2-bits inconsistencies. It can't – in general – detect 3(or more)-bits
errors The idea is that the failed bit position in an n-bit string (which we'll call X) can be
represented in binary with log2 (n) bits, hence we'll try to get it adding just log2(n) bits.
ASCII Code
ASCII stands for American Standard Code for Information Interchange. It has become a world
standard alphanumeric code for microcomputers and computers. It is a 7-bit code representing 27
= 128 different characters. These characters represent 26 upper case letters
(A to Z), 26 lowercase letters (a to z), 10 numbers (0 to 9), 33 special characters and symbols and
33 control characters.
Boolean algebra and Logic Gates
The English mathematician George Boole (1815-1864) sought to give symbolic form to Aristotle’s
system of logic. Boole wrote a treatise on the subject in 1854, titled an Investigation of the Laws
of Thought, on Which Are Founded the Mathematical Theories of Logic and Probabilities, which
codified several rules of relationship between Mathematical quantities limited to one of two
possible values: true or false, 1 or 0. His Mathematical system became known as Boolean algebra.
All arithmetic operations performed with Boolean quantities have but one of two possible
Outcomes: either 1 or 0. There is no such thing as 2 or -1 or 1/2 in the Boolean
world.
It is a world in which all other possibilities are invalid by fiat. As one might guess, this is not the
kind of math you want to use when balancing a check book or calculating current through a resistor.
However, Claude Shannon of MIT fame recognized how Boolean algebra could be applied to on-
and-off circuits, where all signals are characterized as either high (1) or low (0). His1938
thesis, titled A Symbolic Analysis of Relay and Switching Circuits, put Boole’s theoretical work
to use in a way Boole never could have imagined, giving us a Powerful mathematical tool for
designing and analysing digital circuits.

Like normal algebra, Boolean algebra uses alphabetical letters to denote variables.

Unlike normal algebra, though, Boolean variables are always CAPITAL letters, never
lowercase.
Boolean Arithmetic
Let us begin our exploration of Boolean algebra by adding numbers together:
0+0=0
0+1=1
1+0=1
1+1=1
The first three sums make perfect sense to anyone familiar with elementary addition.
The Last sum, though, is quite possibly responsible for more confusion than any other
Single statement in digital electronics, because it seems to run contrary to the basic principles of
mathematics. Well, it does contradict principles of addition for real numbers, but not for Boolean
numbers. Remember that in the world of Boolean algebra, there are only two possible values for
any quantity and for any arithmetic operation: 1 or 0. There is no such thing as 2 within the
scope of Boolean values. Since the sum 1 + 1 certainly isn’t 0, it must be 1 by process of
elimination.
Principle of Duality
It states that every algebraic expression is deducible from the postulates of Boolean algebra and it
remains valid if the operators & identity elements are interchanged. If the inputs of a NOR gate
are inverted, we get a AND equivalent circuit. Similarly, when the inputs of a NAND gate are
inverted, we get an OR equivalent circuit. This property is called duality.
Theorems of Boolean algebra and Identities
The theorems of Boolean algebra can be used to simplify many a complex Boolean expression and
also to transform the given expression into a more useful and meaningful equivalent expression.
The theorems are presented as pairs, with the two theorems in a given pair being the dual of each
other. These theorems can be very easily verified by the method of ‘perfect induction’. According
to this method, the validity of the expression is tested for all possible combinations of values of
the variables involved. Also, since the validity of the theorem is based on its being true for all
possible combinations of values of variables, there is no reason why a variable cannot be replaced
with its complement, or vice versa, without disturbing the validity. Another important point is that,
if a given expression is valid, its dual will also be valid.

Theorem 1 (Operations with ‘0’ and ‘1’)


(a) 0.X = 0 and (b) 1+X= 1
Where X is not necessarily a single variable – it could be a term or even a large expression.
Theorem 1(a) can be proved by substituting all possible values of X, that is, 0 and 1, into
the given expression and checking whether the LHS equals the RHS:
• For X = 0, LHS = 0.X = 0.0 = 0 = RHS.
• For X= 1, LHS = 0.1 = 0 = RHS.
Thus, 0.X =0 irrespective of the value of X, and hence the proof.
Theorem 1(b) can be proved in a similar manner. In general, according to theorem 1, 0. (Boolean
expression) = 0 and 1+ (Boolean expression) =1.
1. For example: 0. (A.B + B.C +C.D) = 0 and 1+ (A.B+B.C +C.D) = 1, where A, B and C are
Boolean variables.

Theorem 2 (Operations with ‘0’ and ‘1’)


(a) 1.X = X and (b) 0+X = X
where X could be a variable, a term or even a large expression.
According to this theorem, ANDing a Boolean expression to ‘1’ or ORing ‘0’ to it makes no
difference to the expression:
For X = 0, LHS = 1.0 = 0 = RHS.
For X = 1, LHS = 1.1 = 1 = RHS.
Also,
1. (Boolean expression) = Boolean expression and 0 + (Boolean expression) = Boolean expression.
For example,
1.(A+B.C + C.D) = 0+(A+B.C +C.D) = A+B.C +C.D
Theorem 3 (Idempotent or Identity Laws)
(a) X.X.X……X = X and (b) X+X+X +···+X = X
Theorems 3(a) and (b) are known by the name of idempotent laws, also known as identity laws.
Theorem 3(a) is a direct outcome of an AND gate operation, whereas theorem 3(b) represents an
OR gate operation when all the inputs of the gate have been tied together. The scope of idempotent
laws can be expanded further by considering X to be a term or an expression. For example, let us
apply idempotent laws to simplify the following Boolean expression:

Theorem 4 (Complementation Law)


(a) X_X = 0 and (b) X+X = 1
According to this theorem, in general, any Boolean expression when ANDed to its complement
yields a ‘0’ and when ORed to its complement yields a ‘1’, irrespective of the complexity of the
expression:

Hence, theorem 4(a) is proved. Since theorem 4(b) is the dual of theorem 4(a), its proof is implied.
The example below further illustrates the application of complementation laws:

Theorem 5 (Commutative property)


Mathematical identity, called a property or a law describes how differing variables relate
to each other in a system of numbers. One of these properties is known as the commutative
property, and it applies equally to addition and multiplication.
In essence, the commutative property tells us we can reverse the order of variables that are either
added together or multiplied together without changing the truth of the expression:
Commutative property of addition
A+B=B+A
Commutative property of multiplication
AB = BA
Theorem 6 (Associative Property)
The Associative Property, again applying equally well to addition and multiplication.
This property tells us we can associate groups of added or multiplied variables together with
parentheses without altering the truth of the equations.
Associative property of addition
A + (B + C) = (A + B) + C
Associative property of multiplication
A (BC) = (AB) C
Theorem 7 (Distributive Property)
The Distributive Property, illustrating how to expand a Boolean expression formed by the product
of a sum, and in reverse shows us how terms may be factored out of Boolean sums-of-products:
Distributive property
A (B + C) = AB + AC
Theorem 8 (Absorption Law or Redundancy Law)
(a) X+X.Y = X and (b) X.(X+Y) = X
The proof of absorption law is straightforward:
X+X.Y = X. (1+Y) = X.1 = X
Theorem 8(b) is the dual of theorem 8(a) and hence stands proved.
The crux of this simplification theorem is that, if a smaller term appears in a larger term, then the
larger term is redundant. The following examples further illustrate the underlying concept:

De-Morgan’s First Theorem


It States that the complement of the sum of the variables is equal to the product of the complement
of each variable. This theorem may be expressed by the following Boolean expression.

A B A.B
De-Morgan’s Second Theorem
It states that the complement of the product of variables is equal to the sum of Complements of
each individual variables . Boolean expression for this theorem is

A.B A B
Boolean Function
Boolean functions are represented in various forms. The two popular forms are truth tables and
Venn diagram. Truth tables represent functions in a tabular form, while Venn diagram provide a
graphic representation. In addition, there are two algebraic representation known as the standard
form or canonical form.
Example: Truth table for Z= AB’ + A’C + A’B’C
There are three variables present in the equation; A, B, C. Hence, there will be 23 = 8
combinations of values. These eight combinations are shown in the first three columns of the truth
table. These combinations corresponds to binary numbers 000 through 111.
To evaluate Z in the example function, knowing the values for A,B,C at each row of the truth
table, we should first generate the values for A’ and B’ and then generate the values of AB’, A’C
and A’B’C by ANDing the values in the appropriate columns for each row. Finally, we should
derive the values of Z by ORing the values in the last three columns for each row. Note that
evaluating A’B’C corresponds to ANDing A’ and B’ values, followed by ANDing the value of C.

Complete Logic Sets


The basic logic gates are NOT, AND and OR. The complex logic functions like NAND, NOR,
XOR, XNOR are crested by using these basic logic gates. The last two are not standard terms; they
stand for ‘inverter’ and ‘buffer’, respectively. The symbols for these gates and their corresponding
Boolean expressions are given in Fig. 2.
All of the logical gate functions, as well as the Boolean relations discussed in the next section,
follow from the truth tables for the AND and OR gates. A complete set of logic operations is one
that allows us to create every possible logic function using only those in the set.
Basic Logic Operations
Boolean algebra is based on a set of logic operations that define basic functions. They are
performed using one or more input variables and they result in a single output bit.
NOT Operation
Because they are allowed to possess only one of two possible values, either 1 or 0, each and every
variable has a complement: the opposite of its value. For example, if variable A has a value
of 0, then the complement of A has a value of 1. Boolean notation uses a bar above the variable
character to denote complementation, like this:
If: A=0, then: Ā=1 If: A=1,then: Ā=0

In written form, the complement of A denoted as A-not or A-bar . Sometimes a

prime symbol is used to represent complementation. For example, A‘would be the


complement of A, much the same as using a prime symbol to denote differentiation in calculus
rather than the fractional notation dot. Usually, though, the bar symbol finds more wide spread
use than the prime symbol, for reasons that will become more apparent later in this chapter.
Truth Table:

A Ā
0 1
1 0
Symbol:

A Ā

OR Operation
Let us consider there are two input bits, A and B. each of two bits can assume a value of 0 or 1. So
22=4 possible combinations can occur. This can be listed as AB= 00, 01, 10, 11.
A OR B can be restated as A + B. We usually employ the symbol “+” to denote OR operation.
A OR B = A + B
Example: If A=1, B=1 then,
A OR B = A + B = 1
Truth Table:
A B A+B
0 0 0
0 1 1
1 0 1
1 1 1
Symbol

A
A+B
B

AND Operation
This operation detects the situation where all of the inputs are equal to 1 for this case. For two
inputs A and B, we define the AND logic by writing
A AND B = A.B
If both A=1 and B=1, then
A AND B = 1
else
A AND B = 0
Truth Table:
A B A.B
0 0 0
0 1 0
1 0 0
1 1 1
Symbol

AB
A.B
Universal Logic Gates
NAND Logic Gate
The name NAND is the shorten form of NOT-AND and means the output is defined as the
complement of the AND gate. With the inputs A and B, the NAND operation is denoted as
This is equivalent to the statement A.B .

If either input is 0, then


A.B =1
else

Truth Table: A.B =0


A B
A.B
0 0 1
0 1 1
1 0 1
1 1 0

Symbol:
AB
A.B

NOR Logic Gate


The name NOR is the shorten form of NOT-OR and means the output is defined as the complement
of the OR gate. With the inputs A and B, the NOR operation is denoted as
to the statement A B . This is equivalent

If either input is 0, then


A B =1

Else

A B =0
Truth table
A B A B
0 0 1
0 1 0
1 0 0
1 1 0

Symbol:

Algebraic Reduction
One common problem in combinational logic design is reduction of a logic expression to the
“simplest” possible form; “simplest” usually means that we want to implement the function using
the smallest no of gates. The reduction is accomplished by applying the basic identities in a step-
by-step manner. Some basic rules are summarized in table given below to aid in the task.

OR Identities AND Identities


A+0=A A.0=0
A+1=1 A.1=A
A+A=A A.A=A
A+Ā=1 A.Ā=0
-
A A
A+B=B+A A.B=B.A
A+(B+C)=(A+B)+C A.(B.C)=(A.B).C
A.(B+C)=A.B+A.C A+(B.C)=(A+B).(A+C)

( A B) A.B ( A.B) A B
A+A.B=A
A A.B A B

Combinational Logic Design


Specifying the problem
Combinational logic deals with networks that use logic gates to combine the input variables as
needed to produce logic functions. In combinational circuits the value of the input depends on the
current values of the inputs. To design a combinational logic network, we usually start with a
specified set of inputs to produce output.
Canonical form of Boolean Expression

Product-of-Sums Expressions
A product-of-sums expression contains the product of different terms, with each term being either
a single literal or a sum of more than one literal. It can be obtained from the truth table by
considering those input combinations that produce a logic ‘0’ at the output. Each such input
combination gives a term, and the product of all such terms gives the expression.

Different terms are obtained by taking the sum of the corresponding literals. Here‘0’ and ‘1’
respectively mean the un-complemented and complemented variables, unlike sum-of products
expressions where ‘0’ and ‘1’ respectively mean complemented and un-complemented variables.

Since each term in the case of the product-of-sums expression is going to be the sum of literals,
this implies that it is going to be implemented using an OR operation. Now, an OR gate produces
a logic ‘0’only when all its inputs are in the logic ‘0’state, which means that the first term
corresponding to the second row of the truth table will be A+B+C. The product-of-sums Boolean
expression for this truth table is given by transforming the given product-of-sums expression into
an equivalent sum-of-products expression is a straight forward process. Multiplying out the given
expression and carrying out the obvious simplification provides the equivalent sum-of-products
expression:

F (x, y) (x y).(x y)

Sum of Products expression


A given sum-of-products expression can be transformed into an equivalent product-of sums
expression by (a) taking the dual of the given expression, (b) multiplying out different terms to get
the sum-of products form, (c) removing redundancy and (d) taking a dual to get the equivalent
product-of-sums expression. As an illustration, let us find the equivalent product of sums
expression of the sum-of products expression
Extracting Canonical Forms
Let us investigate this relationship by means of a specific case where we start with the function
table shown below. The input variables are A, B, C and the output function is f(A, B, C).

A B C f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
From the table output f can be represented as
f= f1+f2+f3+f4
where,

f1= ABC

f2 =
ABC
f3 =
ABC
f4=
ABC
ABC + ABC + ABC
Hence the complete expression
will be

f= ABC +
Minterms and Maxterms
A minterm is the product of N distinct literals where each literal occurs exactly any Boolean
expression may be expressed in terms of either minterms or maxterms. To do this we must first
define the concept of a literal. A literal is a single variable within a term which may or may not be
complemented. For an expression with N variables, minterms and maxterms are defined as follows
• once.
• A maxterm is the sum of N distinct literals where each literal occurs exactly once.

The Exclusive-OR and Equivalence Operation


By definition, the X-OR gate provides an output that is identical to that of the OR gate except for
the case where both inputs are 1; the XOR output is 0 in this case. The name “exclusive- OR”
arises from this exception in that the output is a 1 when only a single input is 1 exclusively, that
is, by itself.

A B A B
0 0 0
0 1 1
1 0 1
1 1 0
Symbol:

The logical description of the gate can be extracted from the function table. The two cases that
results in a 1 at the output are AB=01 and AB=10, so the function is given by

A B A.B A.B
The complement of the XOR function is the exclusive NOR (XNOR) operation; which
can be
de
A nB . The function is given by
o
t
e A B A.B A.B
d

a
s
By reading off the SOP terms where the output is 1, this shows that it is only possible when bot
the inputs are same; i.e A=B. Because of this property, the XNOR is also referredto as the
“equivalence function”.
Function Table:

A B
A B
0 0 1
0 1 0
1 0 0
1 1 1
Symbol:

Karnaugh Map
Maurice Karnaugh, a telecommunications engineer, developed the Karnaugh map at Bell Labs in
1953 while designing digital logic based telephone switching circuits. Karnaugh maps reduce logic
functions more quickly and easily compared to Boolean algebra. By reduce we mean simplify,
reducing the number of gates and inputs. We like to simplify logic to a lowest cost form to save
costs by elimination of components. We define lowest cost as being the lowest number of gates
with the lowest number of inputs per gate. A Karnaugh map is a graphical representation of the
logic system. It can be drawn directly from either minterm (sum-of-products) or maxterm (product-
of-sums) Boolean expressions. Drawing a Karnaugh map from the truth table involves an
additional step of writing the minterm or maxterm expression depending upon whether it is desired
to have a minimized sum-of products or a minimized product of-sums expression.
Construction of a Karnaugh Map
An n-variable Karnaugh map has 2n squares, and each possible input is allotted a square. In the
case of a minterm Karnaugh map, ‘1’ is placed in all those squares for which the output is ‘1’ and
‘0’ is placed in all those squares for which the output is ‘0’. 0s are omitted for simplicity. An ‘X‘
is placed in squares corresponding to ‘don‘t care conditions. In the case of a maxterms Karnaugh
map, a ‘1’ is placed in all those squares for which the output is ‘0’, and a ‘0’ is placed for input
entries corresponding to a ‘1’ output. Again, 0s are omitted for simplicity, and an ‘X‘ is placed in
squares corresponding to ‘don’t care’ conditions. The choice of terms identifying different rows
and columns of a Karnaugh map is not unique for a given number of variables. The only condition
to be satisfied is that the designation of adjacent rows and adjacent columns should be the same
except for one of the literals being complemented. Also, the extreme rows and extreme columns
are consider adjacent. Some of the possible designation styles for two, three and four variable
minterm Karnaugh maps are shown in the figure below.
The style of row identification need not be the same as that of column identification as long as it
meets the basic requirement with respect to adjacent terms. It is, however, accepted practice to
adopt a uniform style of row and column identification. Also, the style shown in the figure below
is more commonly used. A similar discussion applies for maxterms Karnaugh maps. Having drawn
the Karnaugh map, the next step is to form groups of 1s as per the following guidelines:
➢ Each square containing a ‘1’ must be considered at least once, although it can be considered
as often as desired.

➢ The objective should be to account for all the marked squares in the minimum number of
groups.
➢ The number of squares in a group must always be a power of 2, i.e. groups can have 1, 2,
4, 8, 16, squares.
➢ Each group should be as large as possible, which means that a square should not be
accounted for by itself if it can be accounted for by a group of two squares; a group of two
squares should not be made if the involved squares can be included in a group of four
squares and so on.
➢ ‘Don’t care‘entries can be used in accounting for all of 1-squares to make optimum groups.
They are marked ‘X’ in the corresponding squares. It is, however, not necessary to account
for all ‘don’t care’ entries. Only such entries that can be used to advantage should be used.
Two Variable K-Map

Three Variable K-Map


Four Variable K-Map
Concept of logic components
Modern digital networks can be quite complicated, consisting of millions of logic gates. To design
large system, we use the hierarchical approach where the network is broken down into smaller
logic components that perform useful functions. The components themselves may be classified as
basic components for system building even though they consist of smaller components or basic
logic gates.
Binary Adder
Half-Adder
A half-adder is an arithmetic circuit block that can be used to add two bits. Such a circuit thus has
two inputs that represent the two bits to be added and two outputs, with one producing the SUM
output and the other producing the CARRY. Figure shows the truth table of a half-adder, showing
all possible input combinations and the corresponding outputs. The Boolean expressions for the
SUM and CARRY outputs are given by the equations below

An examination of the two expressions tells that there is no scope for further simplification. While
the first one representing the SUM output is that of an EX-OR gate, the second one representing
the CARRY output is that of an AND gate. However, these two expressions can certainly be
represented in different forms using various laws and theorems of Boolean algebra to illustrate the
flexibility that the designer has in hardware implementing as simple a combinational function as
that of a half-adder.

Although the simplest way to hardware-implement a half-adder would be to use a two input EX-
OR gate for the SUM output and a two-input AND gate for the CARRY output, as shown in Fig.
it could also be implemented by using an appropriate arrangement of either NAND or NOR gates.
Full Adder
A full adder circuit is an arithmetic circuit block that can be used to add three bits to produce a
SUM and a CARRY output. Such a building block becomes a necessity when it comes to adding
binary numbers with a large number of bits. The full adder circuit overcomes the limitation of the
half-adder, which can be used to add two bits only. Let us recall the procedure for adding larger
binary numbers. We begin with the addition of LSBs of the two numbers. We record the sum under
the LSB column and take the carry, if any, forward to the next higher column bits. As a result,
when we add the next adjacent higher column bits, we would be required to add three bits if there
were a carry from the previous addition. We have a similar situation for the other higher column
bits. Also until we reach the MSB. A full adder is therefore essential for the hardware
implementation of an adder circuit capable of adding larger binary numbers. A half-adder can be
used for addition of LSBs only.
Figure shows the truth table of a full adder circuit showing all possible input combinations and
corresponding outputs. In order to arrive at the logic circuit for hardware implementation of a full
adder, we will firstly write the Boolean expressions for the two output variables, that is, the SUM
and CARRY outputs, in terms of input variables. These expressions are then simplified by using
any of the simplification techniques described in the previous chapter. The Boolean expressions
for the two output variables are given in Equation below for the SUM output (S) and in above
Equation for the CARRY output (Cout):

Boolean expression above can be implemented with a two-input EX-OR gate provided that one of
the inputs is Cin and the other input is the output of another two-input EX-OR gate with A and B
as its inputs. Similarly, Boolean expression above can be implemented by ORing two minterms.
One of them is the AND output of A and B. The other is also the output of an AND gate whose
inputs are Cin and the output of an EX-OR operation on A and B. The whole idea of writing the
Boolean expressions in this modified form was to demonstrate the use of a half-adder circuit in
building a full adder. Figure shows logic implementation of Equations above.

Subtractor and Multiplier


Half-Subtractor
We will study the use of adder circuits for subtraction operations in the following pages. Before
we do that, we will briefly look at the counterparts of half-adder and full adder circuits in the half-
subtractor and full subtractor for direct implementation of subtraction operations using logic gates.

A half-subtractor is a combinational circuit that can be used to subtract one binary digit from
another to produce a DIFFERENCE output and a BORROW output. The BORROW output here
specifies whether a ‘1’ has been borrowed to perform the subtraction. The truth table of a half-
subtractor, as shown in Fig. explains this further. The Boolean expressions for the two outputs are
given by the equations

Full-Subtractor
A full subtractor performs subtraction operation on two bits, a minuend and a subtrahend, and also
takes into consideration whether a ‘1‘ has already been borrowed by the previous adjacent lower
minuend bit or not. As a result, there are three bits to be handled at the input of a full subtractor,
namely the two bits to be subtracted and a borrow bit designated as Bin .There are two outputs,
namely the DIFFERENCE output D and the BORROW output Bo. The BORROW output bit tells
whether the minuend bit needs to borrow a ‘1’ from the next possible higher minuend bit. Figure
shows the truth table of a full subtractor. The Boolean expressions for the two output variables are
given by the equations

Binary Multiplier
Multiplication of binary numbers is usually implemented in microprocessors and microcomputers
by using repeated addition and shift operations. Since the binary adders are designed to add only
two binary numbers at a time, instead of adding all the partial products at the end, they are added
two at a time and their sum is accumulated in a register called the accumulator register. Also, when
the multiplier bit is ‘0’, that very partial product is ignored, as an all ‘0’ line does not affect the
final result. The basic hardware arrangement of such a binary multiplier would comprise shift
registers for the multiplicand and multiplier bits, an accumulator register for storing partial
products, a binary parallel adder and a clock pulse generator to time various operations.

Binary multipliers are also available in IC form. Some of the popular type numbers in the TTL
family include 74261 which is a 2 × 4 bit multiplier (a four-bit multiplicand designated

asB0, B1, B2, B3 and B4, and a two-bit multiplier designated as M0, M1 and M2.The MSBs

B4 and M2 are used to represent signs. 74284 and 74285 are 4 × 4 bit multipliers. They can be
used together to perform high-speed multiplication of two four-bit numbers. Figure shows the
arrangement. The result of multiplication is often required to be stored in a register. The size of
this register (accumulator) depends upon the number of bits in the result, which at the most can be
equal to the sum of the number of bits in the multiplier and multiplicand. Some multipliers ICs
have an in-built register.
Magnitude comparator
A magnitude comparator is a combinational circuit that compares two given numbers and
determines whether one is equal to, less than or greater than the other. The output is in the form of
three binary variables representing the conditions A = B,A>B and A<B, if A and B are the two
numbers being compared. Depending upon the relative magnitude of the two numbers, the relevant
output changes state. If the two numbers, let us say, are four-bit binary numbers and are designated
as (A3 A2 A1 A0) and (B3 B2 B1 B0), the two numbers will be equal if all pairs of significant
digits are equal, that is, A3= B3, A2 = B2, A1= B1 and A0 =B0. In order to determine whether A
is greater than or less than B we inspect the relative magnitude of pairs of significant digits, starting
from the most significant position. The comparison is done by successively comparing the next
adjacent lower pair of digits if the digits of the pair under examination are equal. The comparison
continues until a pair of unequal digits is reached. In the pair of unequal digits, if Ai = 1 and Bi =
0, then A > B, and if Ai = 0, Bi= 1 then A < B. If X, Y and Z are three variables respectively
representing the A =B, A > B and A < B conditions, then the Boolean expression representing
these conditions are given by the equations
Let us examine equations .x3 will be ‘1’ only when both A3 and B3 are equal. Similarly, conditions
for x2, x1 and x0 to be ‘1’ respectively are equal A2 and B2, equal A1 and B1 and equal A0 and
B0. ANDing of x3, x2, x1 and x0 ensures that X will be ‘1’ when x3, x2, x1 and x0 are in the logic
‘1’ state. Thus, X = 1 means that A = B. On similar lines, it can be visualized that equations and
respectively represent A> B and A < B conditions. Figure shows the logic diagram of a four-bit
magnitude comparator.
Magnitude comparators are available in IC form. For example, 7485 is a four bit magnitude
comparator of the TTL logic family. IC 4585 is a similar device in the CMOS family. 7485 and
4585 have the same pin connection diagram and functional table. The logic circuit inside these
devices determines whether one four-bit number, binary or BCD, is less than, equal to or greater
than a second four-bit number. It can perform comparison of straight binary and straight BCD (8-
4-2-1) codes. These devices can be cascaded together to perform operations on larger bit numbers
without the help of any external gates. This is facilitated by three additional inputs called cascading
or expansion inputs available on the IC. These cascading inputs are also designated as A = B, A >
B and A <B inputs. Cascading of individual magnitude comparators of the type 7485 or 4585 is
discussed in the following paragraphs. IC 74AS885 is another common magnitude comparator.
The device is an eight bit magnitude comparator belonging to the advanced Schottky TTL family.
It can perform high-speed arithmetic or logic comparisons on two eight-bit binary or 2‘s
complement numbers and produces two fully decoded decisions at the output about one number
being either greater than or less than the other. More than one of these devices can also be
connected in a cascade arrangement to perform comparison of numbers of longer lengths.
Decoders and Encoders
The previous section began by discussing an application: Given 2n data signals, the problem is to
select, under the control of n select inputs, sequences of these 2n data signals to send out serially
on a communications link. The reverse operation on the receiving end of the communications link
is to receive data serially on a single line and to convey it to one of 2noutput lines. This again is
controlled by a set of control inputs. It is this application that needs only one input line; other
applications may require more than one. We will now investigate such a generalized circuit.
Conceivably, there might be a combinational circuit that accepts n inputs (not necessarily 1, but a
small number) and causes data to be routed to one of many, say up to 2n, outputs. Such circuits
have the generic name decoder. Semantically, at least, if something is to be decoded, it must have
previously been encoded, the reverse operation from decoding. Like a multiplexer, an encoding
circuit must accept data from a large number of input lines and convert it to data on a smaller
number of output lines (not necessarily just one). This section will discuss a number of
implementations of decoders and encoders.
n-to-2n-Line Decoder
In the demultiplexer circuit in Figure, suppose the data input line is removed. (Draw the circuit for
yourself.) Each AND gate now has only n (in this case three) inputs, and there are 2n (in this case
eight) outputs. Since there isn’t a data input line to control, what used to be control inputs no longer
serve that function. Instead, they are the data inputs to be decoded.

This circuit is an example of what is called an n-to-2n-line decoder. Each output represents a
minterm. Output k is 1 whenever the combination of the input variable values is the binary
equivalent of decimal k. Now suppose that the data input line from the demultiplexer in Figure 16
is not removed but retained and viewed as an enable input. The decoder now operates only when
the enable x is 1. Viewed conversely, an n-to-2n-line decoder with an enable input can also be
used as a demultiplexer, where the enable becomes the serial data input and the data inputs of the
decoder become the control inputs of thedemultiplexer.7 Decoders of the type just described are
available as integrated circuits (MSI);n = 3 and n = 4 are quite common. There is no theoretical
reason why n can’t be increased to higher values. Since, however, there will always be practical
limitations on the fan-in (the number of inputs that a physical gate can support), decoders of higher
order are often designed using lower-order decoders interconnected with a network of other gates.

Encoder
An encoder is a combinational circuit that performs the inverse operation of a decoder. If a device
output code has fewer bits than the input code has, the device is usually called an encoder. e.g. 2n-
to-n, priority encoders. The simplest encoder is a 2n-to-n binary encoder, where it has only one of
2n inputs =1 and the output is the n-bit binary number corresponding to the active input.

Priority Encoder
A priority encoder is a practical form of an encoder. The encoders available in IC form are all
priority encoders. In this type of encoder, a priority is assigned to each input so that, when more
than one input is simultaneously active, the input with the highest priority is encoded. We will
illustrate the concept of priority encoding with the help of an example.

Let us assume that the octal to-binary encoder described in the previous paragraph has an input
priority for higher-order digits. Let us also assume that input lines D2, D4 and D7 are all
simultaneously in logic ‘1’ state. In that case, only D7 will be encoded and the output will be111.

The truth table of such a priority encoder will then be modified to what is shown above in truth
table. Looking at the last row of the table, it implies that, if D7 = 1, then, irrespective of the logic
status of other inputs, the output is 111 as D7 will only be encoded. As another example, Fig.
shows the logic symbol and truth table of a 10-line decimal to four-line BCD encoder providing
priority encoding for higher-order digits, with digit 9 having the highest priority. In the functional
table shown, the input line with highest priority having a LOW on it is encoded irrespective of the
logic status of the other input lines.
MULTIPLEXERS
Data generated in one location is to be used in another location; a method is needed to transmit it
from one location to another through some communications channel. The data is available, in
parallel, on many different lines but must be transmitted over a single communications link.

A mechanism is needed to select which of the many data lines to activate sequentially at any one
time so that the data this line carries can be transmitted at that time. This process is called
multiplexing. An example is the multiplexing of conversations on the telephone system. A number
of telephone conversations are alternately switched onto the telephone line many times per second.
Because of the nature of the human auditory system, listeners cannot detect that what they are
hearing is chopped up and that other people’s conversations are interspersed with their own in the
transmission process. Needed at the other end of the communications link is a device that will
undo the multiplexing: a demultiplexer. Such a device must accept the incoming serial data and
direct it in parallel to one of many output lines. The interspersed snatches of telephone
conversations, for example, must be sent to the correct listeners.

A digital multiplexer is a circuit with 2n data input lines and one output line. It must also have a
way of determining the specific data input line to be selected at any one time.

This is done with n other input lines, called the select or selector inputs, whose function is to select
one of the 2n data inputs for connection to the output. A circuit for n = 3 is shown in Figure below.
The n selector lines have 2n = 8 combinations of values that constitute binary select numbers
Demultiplexers
The demultiplexer shown there is a single-input, multiple-output circuit. However, in addition to
the data input, there must be other inputs to control the transmission of the data to the appropriate
data output line at any given time. Such a demultiplexer circuit having eight output lines is shown
in Figure 16a. It is instructive to compare this demultiplexer circuit with the multiplexer circuit in
Figure 13. For the same number of control (select) inputs, there are the same number of AND
gates. But now each AND gate output is a circuit output. Rather than each gate having its own
separate data input, the single data line now forms one of the inputs to each AND gate, the other
AND inputs being control inputs.
Synchronous Sequential logic
Latches
The following 3 figures are equivalent representations of a simple circuit. In general these are
called flip-flops. Specially, these examples are called SR (set-rese) flip-flops, or SR latches.
S R Q
S R Q
1 0 0 1 1 0
0 1 1 0 0 1
0 1 0 1 Prev. Prev.
value value
1 0 1 0 0 0

The state described by the last row is clearly problematic, since Q and Q should not be the same
value. Thus the S=R=1 inputs should be avoided.
From the truth table, we can develop a sequence such as the following:
R=0, S=1 => Q=1 (Set)
R=0, S=0 => Q=1 (Q=1 state retained) R=1, S=0 => Q=0 (Reset)
R=0, S=0 => Q=0 (Q= 0 state retained)
In alternative language, the first operation “writes” a true state into one bit of memory. It can
subsequently be “read” until it is erased by the reset operation of the third line.
Flip Flops
The flip-flop is an important element of such circuits. It has the interesting property of an SR Flip-
flop has two inputs: S for setting and R for Resetting the flip- flop : It can be set to a state which
is retained until explicitly reset.

R-S Flip-Flop
A flip-flop, as stated earlier, is a bistable circuit. Both of its output states are stable. The circuit
remains in a particular output state indefinitely until something is done to change that output status.
Referring to the bistable multivibrator circuit discussed earlier, these two states were those of the
output transistor in saturation (representing a LOW output) and in cut-off (representing a HIGH
output). If the LOW and HIGH outputs are respectively regarded as ‘0’ and ‘1’, then the output
can either be a ‘0’ or a ‘1’. Since either a ‘0’ or a ‘1’ can be held indefinitely until the circuit is
appropriately triggered to go to the other state, the circuit is said to have memory. It is capable of
storing one binary digit or one bit of digital information. Also, if we recall the functioning of the
bistable multivibrator circuit, we find that, when one of the transistors was in saturation, the other
was in cut-off. This implies that, if we had taken outputs from the collectors of both transistors,
then the two outputs would be complementary.
J-K Flip-Flop
A J-K flip-flop behaves in the same fashion as an R-S flip-flop except for one of the entries in the
function table. In the case of an R-S flip-flop, the input combination S =R = 1 (in the case of a flip-
flop with active HIGH inputs) and the input combination S = R= 0 (in the case of a flip-flop with
active LOW inputs) are prohibited. In the case of a J-K flip-flop with active HIGH inputs, the
output of the flip-flop toggles, that is, it goes to the other state, for J = K = 1 . The output toggles
for J = K = 0 in the case of the flip-flop having active LOW inputs. Thus, a J-K flip-flop overcomes
the problem of a forbidden input combination of the R-S flip-flop. Figures below respectively
show the circuit symbol of level-triggered J-K flip-flops with active HIGH and active LOW inputs,
along with their function tables.
The characteristic tables for a J-K flip-flop with active HIGH J and K inputs and a J-K flip-flop
with active LOW J and K inputs are respectively shown in Figs (a) and (b). The corresponding
Karnaugh maps are shown in Fig below for the characteristics table of Fig and in below for the
characteristic table below. The characteristic equations for the Karnaugh maps of below figure is
shown next FIG

FIG a. JK flip flop with active high inputs, b. JK flip flop with active low inputs
Toggle Flip-Flop (T Flip-Flop)
The output of a toggle flip-flop, also called a T flip-flop, changes state every time it is triggered at
its T input, called the toggle input. That is, the output becomes ‘1’ if it was
‘0’and ‘0’ if it was ‘1’. Positive edge-triggered and negative edge-triggered T flip-flops, along with
their function tables. If we consider the T input as active when HIGH, the characteristic table of
such a flip-flop is shown in Fig. If the T input were active when LOW, then the characteristic table
would be as shown in Fig. The Karnaugh maps for the characteristic tables of Figs shown
respectively. The characteristic equations as written from the Karnaugh maps are as follows:

Qn 1 T.Qn T.Qn

T(t) Q(t+T)
0 Q(t)
1
Q(t)

D Flip-Flop
A D flip-flop, also called a delay flip-flop, can be used to provide temporary storage of one bit of
information. Figure shows the circuit symbol and function table of a negative edge-triggered D
flip-flop. When the clock is active, the data bit (0 or 1) present at the D input is transferred to the
output. In the D flip-flop of Fig the data transfer from D input to Q output occurs on the negative-
going (HIGH-to-LOW) transition of the clock input. The D input can acquire new status.
Analysis of Clocked Sequential circuits
The analysis of a synchronous sequential circuit is the process of determining the functional
relation that exists between its output, its inputs and its internal state. The contents of all the flip-
flops in the circuit combined determine the internal state of the circuit. Thus, the circuit contains
n flip-flops, it can be in one of the 2n states. Knowing the present state of the circuit and the input
values at any time t, we should be able to derive its next state (i.e. the state at time t+1) and the
output produced by the circuit at t.
A sequential circuit can be described completely by a state table that is very similar to the one
shown for flip-flops. For a circuit with n flip-flops, there will be 2n rows in the state table. If
there are m inputs to the circuit then there will be 2m no of columns. In the intersection of each
row and column the next state and the output information will be recorded.
A state diagram is a graphical representation of state table, in which each state is represented as a
circle and the state transitions are represented as arrows. Analysing a sequential circuit thus
corresponds to generating the state table and state diagram for the circuit. The state table and state
diagram can be used to determine the output sequence generated by the circuit for a given input
sequence if the initial condition is known. Usually the power-up circuits are used to the appropriate
state when the power is turned on.
(a) Sequential circuit analysis (b) Transition table (c) State diagram
Counters
In digital logic and computing, a counter is a device which stores (and sometimes displays) the
number of times a particular event or process has occurred, often in relationship to a clock signal.
In practice, there are two types of counters:
➢ up counters which increase (increment) in value
➢ down counters which decrease (decrement) in value
Counters Types
In electronics, counters can be implemented quite easily using register-type circuits such as the
flip-flop, and a wide variety of designs exist, e.g:

➢ Asynchronous (ripple) counters


➢ Synchronous counters
➢ Johnson counters
➢ Decade counters
➢ Up-Down counters
➢ Ring counters
Each is useful for different applications. Usually, counter circuits are digital in nature, and count
in binary, or sometimes binary coded decimal. Many types of counter circuit are available as digital
building blocks, for example a number of chips in the 4000 series implement different counters.
Asynchronous (ripple) counters
The simplest counter circuit is a single D-type flip flop, with its D (data) input fed from its own
inverted output. This circuit can store one bit, and hence can count from zero to one before it
overflows (starts over from 0). This counter will increment once for every clock cycle and takes
two clock cycles to overflow, so every cycle it will alternate between a transition from 0 to 1 and
a transition from 1 to 0. Notice that this creates a new clock with a 50% duty cycle at exactly half
the frequency of the input clock. If this output is then used as the clock signal for a similarly
arranged D flip flop (remembering to invert the output to the input), you will get another 1 bit
counter that counts half as fast. Putting them together yields a two bit counter:

Decade counters
Decade counters are a kind of counter that counts in tens rather than having a binary representation.
Each output will go high in turn, starting over after ten outputs have occurred. This type of circuit
finds applications in multiplexers and demultiplexers, or wherever a scanning type of behaviour is
useful. Similar counters with different numbers of outputs are also common.
Ring or Up-Down Counters
It is a combination of up counter and down counter, counting in straight binary sequence. There is
an up-down selector. If this value is kept high, counter increments binary value and if the value is
low, then counter starts decrementing the count. The Down counters are made by using the
complemented output to act as the clock for the next flip-flop in the case of Asynchronous
counters. An Up counter is constructed by linking the Q out of the J-K Flip flop and putting it into
a Negative Edge Triggered Clock input. A Down Counter is constructed by taking the Q output
and putting it into a Positive Edge Triggered input Ring Counters a ring counter is a counter that
counts up and when it reaches the last number that is designed to count up to, it will reset itself
back to the first number. For example, a ring counter that is designed using 3 JK Flip Flops will
count starting from 001 to 010 to 100 and back to 001. It will repeat itself in a 'Ring' shape and
thus the name Ring Counter is given.

State Diagram
In addition to graphical symbols, tables or equations, flip-flops can also be represented graphically
by a state diagram. In this diagram, a state is represented by a circle, and the transition between
states is indicated by directed lines (or arcs) connecting the circles. An example of a state diagram
is shown in Figure 3 below.

The binary number inside each circle identifies the state the circle represents. The directed lines
are labelled with two binary numbers separated by a slash (/). The input value that causes the state
transition is labelled first. The number after the slash symbol / gives the value of the output. For
example, the directed line from state 00 to 01 is labelled 1/0, meaning that, if the sequential circuit
is in a present state and the input is 1, then the next state is 01 and the output is 0. If it is in a present
state 00 and the input is 0, it will remain in that state. A directed line connecting a circle with itself
indicates that no change of state occurs. The state diagram provides exactly the same information
as the state table and is obtained directly from the state table.
Shift register
In digital circuits a shift register is a group of flip flops set up in a linear fashion which have their
inputs and outputs connected together in such a way that the data is shifted down the line when the
circuit is activated.

Memory & Programmable logic


The important common element of the memories we will study is that they are random access
memories, or RAM. This means that each bit of information can be individually stored or retrieved
| with a valid input address. This is to be contrasted with sequential memories in which bits must
be stored or retrieved in a particular sequence, for example with data storage on magnetic tape.
Unfortunately the term RAM has come to have a more specific meaning: A memory for which bits
can both be easily stored or retrieved (“written to" or “read from").

Classification of memories
Random Access Memory (RAM)
In general, refers to random access memory. All of the devices we are considering to be
“memories" (RAM, ROM, etc.) are random access. The term RAM has also come to mean memory
which can be both easily written to and read from.

RAM has three basic building blocks, namely an array of memory cells arranged in rows and
columns with each memory cell capable of storing either a ‘0’ or a ‘1’, an address decoder and a
read/write control logic. Depending upon the nature of the memory cell used, there are two types
of RAM, namely static RAM (SRAM) and dynamic RAM (DRAM). In SRAM, the memory cell
is essentially a latch and can store data indefinitely as long as the DC power is supplied. DRAM
on the other hand, has a memory cell that stores data in the form of charge on a capacitor.
Therefore, DRAM cannot retain data for long and hence needs to be refreshed periodically. SRAM
has a higher speed of operation than DRAM but has a smaller storage capacity.
Static RAM
These essentially are arrays of flip-flops. They can be fabricated in ICs as large arrays of tint flip-
flops.) “SRAM" is intrinsically somewhat faster than dynamic RAM.

Dynamic RAM.
Uses capacitor arrays. Charge put on a capacitor will produce a HIGH bit if its voltage V = Q=C
exceeds the threshold for the logic standard in use. Since the charge will “leak" through the
resistance of the connections in times of order 1 msec, the stored in formation must be continuously
refreshed (hence the term “dynamic"). Dynamic RAM can be fabricated with more bits per unit
area in an IC than static RAM. Hence, it is usually the technology of choice for most large-scale
IC memories.

Read-only memory.
Information cannot be easily stored. The idea is that bits are initially stored and are never changed
thereafter. As an example, it is generally prudent for the instructions used to initialize a computer
upon initial power-up to be stored in ROM. The following terms refer to versions of ROM for
which the stored bits can be over-written, but not easily.

Programmable ROM.
Bits can be set on a programming bench by burning fusible links, or equivalent. This technology
is also used for programmable array logic (PALs), which we will briefly discuss in class.

ROM Organization
A circuit for implementing one or more switching functions of several variables was described in
the preceding section and illustrated in Figure 20. The components of the circuit are

• An n ×2n decoder, with n input lines and 2n output lines


• One or more OR gates, whose outputs are the circuit outputs
• An interconnection network between decoder outputs and OR gate inputs
The decoder is an MSI circuit, consisting of 2n n-input AND gates, that produces all the minterms
of n variables. It achieves some economy of implementation, because the same decoder can be
used for any application involving the same number of variables. What is special to any application
is the number of OR gates and the specific outputs of the decoder that become inputs to those OR
gates. Whatever else can be done to result in a general-purpose circuit would be most welcome.
The most general-purpose approach is to include the maximum number of OR gates, with
provision to interconnect all 2n outputs of the decoder with the inputs to every one of the OR gates.
Then, for any given application, two things would have to be done:

• The number of OR gates used would be fewer than the maximum number, the others
remaining unused.
• Not every decoder output would be connected to all OR gate inputs. This scheme would
be terribly wasteful and doesn’t sound like a good idea. Instead, suppose a smaller number, m, is
selected for the number of OR gates to be included, and an interconnection network is set up to
interconnect the 2n decoder outputs to the m OR gate inputs. Such a structure is illustrate in
above figure. It is an LSI combinational circuit with n inputs and m outputs that, for reasons that
will become clear shortly, is called a read-only memory (ROM).
A ROM consists of two parts:
• An n ×2n decoder
• A 2n × m array of switching devices that form interconnections between the 2n lines from the
decoder and the m output lines the 2n output lines from the decoder are called the word lines.
Each of the 2n combinations that constitute the inputs to the interconnection array corresponds to
a minterm and specifies an address. The memory consists of those connections that are actually
made in the connection matrix between the word lines and the output lines. Once made, the
connections in the memory array are permanent. So this memory is not one whose contents can be
changed readily from time to time; we write into this memory but once. However, it is possible to
read the information already stored (the connections actually made) as often as desired, by
applying input words and observing the output words. That’s why the circuit is called read-only
memory. Before you continue reading, think of two possible ways in which to fabricate a ROM so
that one set of connections can be made and another set left unconnected. Continue reading after
you have thought about it.
A ROM can be almost completely fabricated except that none of the connections are made. Such
a ROM is said to be blank. Forming the connections for a particular application is called
programming the ROM. In the process of programming the ROM, a mask is produced to cover
those connections that are not to be made. For this reason, the blank form of the ROM is called
mask programmable.

Programmable Logic Array


A programmable logic array is a kind of programmable logic devices (PLDs) used to implement
combinational logic circuits. The PLA has a set of programmable OR gate planes, which can then
be conditionally complemented to produce an output. It has 2n AND gates for n input and for m
outputs from PLA, there should be m OR gates. This layout allows for a larger number of logic
functions to be synthesized in the sum of products canonical form.

PLA differs from programmable array logic devices in that both AND and OR gate planes are
programmable.
Programmable Array Logic
The PAL device is a special case of PLA which has a programmable AND array and affixed OR
array. The basic structure of Rom is same as PLA. It is cheap compared to PLA as only the AND
array is programmable. It is also easy to program a PAL compared to PLA as only AND must be
programmed.

The figure below shows a segment of an un-programmed PAL. The input buffer with non-inverted
and inverted outputs is used, since each PAL must drive many AND Gates inputs. When the PAL
is programmed, the fusible links (F1, F2, F3…F8) are selectively blown to leave the desired
connections to the AND Gate inputs. Connections to the AND Gate inputs in a PAL are represented
by Xs, as shown here:

Digital Integrated logic Circuits


Logic families can be classified broadly according to the technologies they are built with. In earlier
days we had vast number of these technologies, as you can see in the list below.

RTL : Resistor Transistor Logic.

DTL : Diode Transistor Logic.

TTL : Transistor Transistor Logic.

ECL : Emitter coupled logic.

MOS : Metal Oxide Semiconductor Logic (PMOS and NMOS).

CMOS : Complementary Metal Oxide Semiconductor Logic.


Resistor Transistor Logic.
In RTL (resistor transistor logic), all the logic are implemented using resistors and transistors. One
basic thing about the transistor (NPN), is that HIGH at input causes output to be LOW (i.e. like an
inverter). Below is the example of a few RTL logic circuits.

A basic circuit of an RTL NOR gate consists of two transistors Q1 andQ2, connected as the figure
above. When either input X or Y is driven HIGH, the corresponding transistor goes to saturation
and output Z is pulled to LOW.

Diode Transistor Logic


In DTL (Diode transistor logic), all the logic is implemented using diodes and transistors. A basic
circuit in the DTL logic family is as shown in the figure below. Each input is associated with one
diode. The diodes and the 4.7K resistor form an AND gate. If input X, Y or Z is low, the
corresponding diode conducts current, through the 4.7K resistor.

Thus there is no current through the diodes connected in series to transistor base. Hence the
transistor does not conduct, thus remains in cut-off, and output out is high. If all the inputs X,Y,Z
are driven high, the diodes in series conduct, driving the transistor into saturation. Thus output out
is Low.
Transistor Transistor Logic
In Transistor Transistor logic or just TTL, logic gates are built only around transistors. TTL was
developed in 1965. Through the years basic TTL has been improved to meet performance
requirements. There are many versions or families of TTL.

➢ Standard TTL

➢ High Speed TTL

➢ Low Power TTL

➢ Schhottky TTL

As such all TTL families have three configurations for outputs.

➢ Totem - Pole output.

➢ Open Collector Output.

➢ Tristate Output.

Before we discuss the output stage let's look at the input stage, which is used with almost all
versions of TTL. This consists of an input transistor and a phase splitter transistor. Input stage
consists of a multi emitter transistor as shown in the figure below. When any input is driven low,
the emitter base junction is forward biased and input transistor conducts. This in turn drives the
phase splitter transistor into cut-off.
Metal Oxide Semiconductor Logic (PMOS and NMOS)
MOS or Metal Oxide Semiconductor logic uses nmos and pmos to implement logic gates. One needs to
know the operation of FET and MOS transistors to understand the operation of MOS logic circuits transistor
does not conduct, and thus output is HIGH. But when input is HIGH,NMOS transistor conducts and thus
output is LOW.

Complementary Metal Oxide Semiconductor Logic


CMOS or Complementary Metal Oxide Semiconductor logic is built using both NMOS and PMOS. Below
is the basic CMOS inverter circuit, which follows these rules: NMOS conducts when its input is
HIGH.PMOS conducts when its input is LOW. So when input is HIGH, NMOS conducts, and thus output is
LOW; when input is LOW PMOS conducts and thus output is HIGH.

VerilUOC_Desktop
VerilUOC_Desktop is a sort of tool located within the digital system virtual machine that you have installed in
your computer. It consists of four tools, Logism, VerilCirc, BoolMin, and VerilChart.
• Logisim is a tool to design circuits and enter the schematics.
• VerilCirc is a tool that checks whether the circuit designed with Logisim is the right one.
• BoolMin is the tool we'll use to grade those assignments whose answer is a Boolean expression.
• VerilChart is a tool to enter and check Time Charts.
As we know VerilUOC_Desktop is inside the DigitalSystem virtual machine. So the first thing we have to do
is to launch VirtualBox and start the virtual machine. To run VirtualBox in Windows, just double-click the
VirtualBox icon in your desktop. In OS X, double-click the VirtualBox icon in the Applications folder, and in
Linux, you should use a terminal to run the command virtualbox.
Visit and follow instructions for install of VerilUOC. LINK
https://crsrdigitalsystems.eu-central-1.linodeobjects.com/coursera/DigitalSystems/v2/Manuals/lista_Eng.htm
DOWNLOAD VIRTUAL MACHINE. Link is LINK
https://crsrdigitalsystems.eu-central-
1.linodeobjects.com/coursera/DigitalSystems/v2/VirtualMachine/DigitalSystemsVM.7z
THREE THINGS TO KEEP IN MIND WHILE MAKING CIRCUITS
• Add components such as logic gates, plexers, etc.

• Add Input and Output pins

• Draw Connection lines

You can change language of the interface from


FILE > Preferences > English
• You can change number of inputs to circuits from left hand pane

• You can use CTRL+ D for duplicating components

• You can change facing property in left hand pane for change of component orientation

• Your labels are case-sensitive

In this screen you can see the VerilUOC_Desktop icon. (NOTE: As indicated in the installation manual of the
virtual machine, you should never update neither the virtual machine, nor VirtualBox.
VerilCIRC:
This tool allows to design a circuit and to automatically validate if the behaviour of the circuit corresponds to
the specification of the exercise.
This manual describes:

• How to start VerilCIRC.


• The utilisation of VerilCIRC to verify circuits.

VerilCIRC Example

This page shows an example of utilisation of VerilCIRC:

• We access to the tool VerilCIRC, such as it is explained in Utilisation of VerilCIRC.

• Create the following circuit in LogiSim that corresponds to a two-input AND gate with the
inputs in1 and in2 and the output output.
• After drawing the circuit, go to VerilCIRC using the menu "Simulate"->"Verification" or selecting the
window of VerilCIRC on the task bar (if it is already opened). We select the circuit "and2" and press the button
"Verify" (a double-click on the exercise also starts the verification process). If we have designed the circuit
properly, the following message will be prompt.
• If it is not correct, description of the error will be prompt. We can modify the circuit to see different
errors (The types of errors are described in Output messages). Suppose the following change to the circuit:
• If we verify the circuit with the circuit "and2", we can see that it appears in the tab "Verification" a
vector of bits that when assigned to the inputs, the value of a output is wrong. Using LogiSim, the vector can
be assigned to the inputs to analize the erroneous behaviour.

• Besides, the application incorporates a visualization with time charts from version 1.10 to analyse
quickly which output has the error. The outputs are represented in two categories:
o In the case of single bit outputs, two lines are drawn. The discontinuous line corresponds to the
correct value.
o In the case of multi bit outputs, two values inside the hexagons are drawn that represent the
period of time that obtains this value. The second value corresponds to the correct value.
BoolMin:

BoolMin is a design tool to verify the answers to the weekly exercises related with Boolean functions and
expressions. In these exercises the student is asked to compute a Boolean expression from:

• An initial Boolean expression given in the exercise statement,


• A digital circuit, or
• A functional description of a combinational circuit expressed in pseudocode or in some hardware
description language.

The answer to the exercise can be:

• An equivalent Boolean expression, or


• A minimum equivalent Boolean expression.

BoolMin computes the cost of the resulting expression in terms of the number of 2-input AND and OR
operations. INV operations are not computed.

In this documentation, we explain how to access BoolMin and how to use it to answer the course exercises.

Boolean Expression Syntax in BoolMin


Boolean expressions must be entered in BoolMin accordingly to the following syntax:

• Variables: Only 1 character is allowed. The syntax is not case-sensitive.


• Boolean operations: Only AND, OR and NOT Boolean operators are permitted.
• The symbol for the AND operator is &, for the OR operator is + and for the INV operator is !.
• Parentheses are used to prioritize the operations.
• Symbols 0 and 1 only can be used to express that the resulting Boolean expression is ‘0’ or ‘1’. In any
other case, the use of these symbols is not allowed.
• Blanks are ignored.
• When BoolMin detects that the entered Boolean expression and the initial one are not equivalent, it
returns a set of values of the variables that, applied to the problem statement, and applied to the expression
entered by the student, produces different values.
• Example: The message of the figure is telling us that when (a,b,c,d)=(1,0,1,1) the entered expression is
evaluated as 1, while the initial element would be evaluated as 0.

Check the results you get when applying this set of values to the intermediate expressions that you have
obtained while doing the exercise. The first point in which you get an evaluation different form that obtained
applying these values to the initial element (0 in this case) will probably indicate you the location of the error.

• Use of BoolMin

To Access BoolMin enter to VerlUOC_Desktop and click on:

Simulate -> Verify

and, in the emerging window, click on the BoolMin tab.


In the central area you can see a table with the exercises identifiers, the number of responses submitted (Tries),
and the number of correct and incorrect answers.

Let’s assume we have performed one of this exercises and we want to check if the expression we got is the
correct one. We have to:

1. Click on the exercise identifier. The panel PDF Description will display the problem statement. If the
exercise statement includes a Boolean expression, it will appear in the Description panel, written accordingly
to BoolMin syntax (see next section).

2. Enter the answer in the box at the bottom. The Boolean expression must follow a special syntax explained in
the next section.

3. Save the expression in a file by clicking Save.

4. Click Verify to check the result.

5. The result of the verification appears in the Verification panel. If the result is wrong, a message indicating
the causes of the error is displayed. When possible, the message includes a set of values of the variables that,
applied to the problem statement, and applied to the expression entered by the student, produces different
results.

In addition, BoolMin returns a 4 uppercase letters code that must be entered into the Coursera quiz answer box.

Next figures summarize this process.

VerilChart?

VerilChart is a tool to support the analysis of circuits and finite state machines using time charts. This tool
allows to fill up the time chart of a circuit or a finite state machines and to automatically validate the solution.

To avoid the distribution of different applications, VerilChart has been integrated inside VerilUOC. Therefore,
no additional installation is required.

This manual describes:

• The utilisation of VerilChart to verify time charts.

Utilisation of VerilChart

To access to the tool, the process is the same we used for VerilCIRC:

• Access to the menu “Simulate”->”Verification” of VerilUOC.

• At this moment, if there is a new version of the program, VerilUOC will offer to download it.
Depending on the network speed, it can take some time to download. Notice that, the new version does not
delete the old one. The new program will be copied at the same folder of the old one and the older version will
be saved in a folder called 'backupVerilUOC'.

• It
will appear
the

verification tools window. To access to VerilChart, select the tab with the same name.

The interface is separated in two parts.

o The left part serves to select the exercise that wants to be validated. His utilisation is identical to
VerilCIRC.In this screen, the user is able to choose the enrolled course (it will only appear 'MOOC' that
corresponds to this course). For this course, the exercises are grouped by the modules of the course. For each
module, the next table shows the list of exercises that can be verified with a small description. For each circuit,
the table summarizes the number of tries and the number of times that the exercise has been verified correctly
and with errors. Notice that, the correct tries are counted only once..

o The inferior button allows to hide the table of exercises to see more clearly the description
of the exercise and the result of the verification.
o The right part serves to solve the exercise and it is divided as follows:
1. Edition of the time chart: The outputs of the time chart can be edited for each time unit . The inferior
buttons allow to perform the next operations:

o This button adds values in single bit outputs (values 0 or 1)

o This button adds values on signals of bigger size (the numerical value of the output is
asked). Notice that in case that the output represents the value of a state, instead of asking the numerical value,
the name of the state will be asked.

o This button deletes any type of value (lines, hexagons and states).

o This additional functionality allows to print the time chart in image format.
2. The tool also allows the user to define the degree of verification of the exercise:
o By transition: In case of error, the first transition where an error has been produced is prompt.
o By output: In case of error, the output where the first error has been detected is prompt.

Sometimes, some of these options are disabled. Depending of the type of exercise (e.g. exam), the team of
professors may decide to disable some degrees of verification. In this case, the user will have to perform the
exercise without this extra clues.

3. Finally, the exercises can be saved in file format and can be loaded by the tool anytime
VerilChart Example

This page shows the verification of an exercise using VerilChart.

• First we access to VerilChart, such as it is explained in Utilisation of VerilChart.


• Suppose that we want to solve the exercise "m4ex4" that we will be able to find inside the module
"Test" of our course.

• This exercise asks to perform the time chart of a flip-flop


• As we can see, the time chart already provides the value of the inputs and the initial value of the flip-
flop.
• The following step is to edit the time chart. The e signal is one bit. Therefore, we will use the

button as it is explained in Time chart edition to enter the values of the signal. Suppose that we enter the
wrong values as we shown in the next figure where there is an error between the transition 3 and 4.
To verify the time chart, press the button "Verify". VerilCHART will ask to save the exercise in a file. We
select the name of the file and press "OK". In the Verification tab will see the following wrong answer:

If we want to know in which output there is an error (in this case, the time chart only has an output, but a time
chart may have multiple outputs), we can select the option of verification "By output". Now if we press again
the button to verify, we will see the output where there is the error.

We can also know the transition where there is the error by selecting the option "By transition". Now, if we
press the button "verify", VerilCHART shows the erroneous transition.

These options are very useful, but we recommend not to use it by default.
To solve the error, change the value between the transition 3 and 4 to 0. Now, if we perform the verification,
we will see that the solution is correct.

Synthesis Tools for Combinational Circuits

Synthesis tools are software tools used to translate high-level hardware descriptions (typically written in HDL
like VHDL or Verilog) into gate-level representations that can be implemented on physical hardware such as
FPGAs or ASICs.

Key tools include:

• Synopsys Design Compiler


• Cadence Genus
• Xilinx Vivado
• Intel Quartus

These tools typically handle:

• Optimization: Minimizing area, delay, or power consumption.


• Mapping: Converting the abstract design into specific logic gates or FPGA primitives.
• Verification: Ensuring that the logic behaves as expected after synthesis.

2. Propagation Time (Delay)

Propagation time (or delay) refers to the time it takes for a signal to propagate through a logic gate or a circuit
from input to output. It is crucial to consider delay when designing high-speed combinational circuits, as it can
impact the overall performance of the system.

Types of delay:

• Gate delay: The inherent delay in a logic gate due to its physical properties.
• Wire delay: The delay due to the physical routing of signals between gates.
• Setup and Hold Time: Constraints that ensure signals are stable for reliable operation.

3. Other Logic Blocks

In addition to simple AND, OR, NOT gates, combinational circuits may use more complex logic blocks such
as:
• Multiplexers (MUX): A combinational circuit that selects one of many inputs based on a control signal.
• Encoders/Decoders: Convert data between different binary representations.
• Priority Encoders: Encodes a set of inputs into a binary value, with priority assigned to certain inputs.
• Arithmetic Logic Units (ALUs): Perform arithmetic operations (addition, subtraction, etc.).
• Adders/Subtractors: Implement binary addition (e.g., ripple carry adder, carry-lookahead adder).

4. Programming Language Structures (VHDL/Verilog)

HDLs like VHDL (VHSIC Hardware Description Language) and Verilog allow designers to model the
behavior and structure of digital systems at various levels of abstraction.

Key constructs in VHDL:

• Entity: Describes the interface (inputs/outputs) of the component.


• Architecture: Describes the internal structure or behavior of the entity.
• Process: Describes sequential execution within the architecture.
• Signal: Represents a wire or variable used to pass information between components.

Example of a simple 2-input AND gate in VHDL:

vhdl
Copy code
entity AND_gate is
port ( A, B : in bit;
Y : out bit);
end entity;

architecture behavior of AND_gate is


begin
Y <= A and B;
end architecture;

5. Structure Specification

Structure specification in VHDL refers to how components are interconnected to form a larger system. This
can include:

• Hierarchical design: Breaking down a large system into smaller, reusable components.
• Structural modeling: Describing the system in terms of its components and how they are interconnected.

Example: A 4-bit adder can be structured by combining multiple 1-bit full adders.

vhdl
Copy code
architecture behavioral of Adder_4bit is
component FullAdder
port (A, B, Cin : in bit;
Sum, Cout : out bit);
end component;

signal C : bit_vector(4 downto 0); -- Carry signals


begin
FA0: FullAdder port map (A(0), B(0), Cin, Sum(0), C(0));
FA1: FullAdder port map (A(1), B(1), C(0), Sum(1), C(1));
FA2: FullAdder port map (A(2), B(2), C(1), Sum(2), C(2));
FA3: FullAdder port map (A(3), B(3), C(2), Sum(3), Cout);
end behavioral;

6. Arithmetic Components

Arithmetic components are fundamental for implementing various mathematical operations in digital circuits.
Some common arithmetic components include:

• Adders:
o Ripple Carry Adder: Simple but slower, where each bit's carry-out is passed to the next bit.
o Carry-Lookahead Adder: Faster than ripple carry by reducing carry propagation time.
o Manchester Carry Chain: An efficient carry propagation method.
• Subtractors:
o Binary Subtractors: Implement subtraction using a complement-based method (e.g., two's
complement).
o Subtract and borrow circuits are built similarly to adders but require additional logic for borrow
propagation.
• Multipliers:
o Array Multiplier: A simple multiplier that uses a 2D grid of AND and adder circuits.
o Booth’s Algorithm: Optimizes multiplication, particularly with signed numbers.
o Wallace Tree Multiplier: A fast multiplier that uses a tree structure to reduce the number of
adders.
• Dividers:
o Restoring Divider: A simple algorithm based on repeated subtraction.
o Non-Restoring Divider: More efficient than restoring division.

Introduction to VHDL: Lexicon, syntax and structure


What HDLs are?
• High level abstraction languages oriented to describe/model Hardware
• Write formal, non ambiguous models instead of using natural language or drawings
• Understandable by computers and humans
• Like programming languages but to model H/W instead of developing S/W.

What HDLs are used for?


• First of all to model hardware independently of its technological implementation
• To simulate HDL models against specifications
• To synthesize HDL models into different implementation technologies

Which are the main HDLs?


• VHDL: VHSIC Hardware Description Language (Std. IEEE 1076 since 1987)
• Verilog: Cadence simulation language (1985) moved to public HDL (Std. IEEE 1364 since
1995)
• C/C++/SystemC/SystemVerilog: higher abstraction languages used to specify Hw/Sw systems
at functional level
Basics on VHDL Lexical & Syntax

VHDL (VHSIC Hardware Description Language) is a strongly typed, case-insensitive language used for
describing the behavior and structure of digital systems. Like all programming languages, VHDL has specific
lexical rules and syntax for writing code.

VHDL Lexical Components

• Keywords: Reserved words in VHDL that cannot be used as identifiers. Examples include entity,
architecture, process, if, end, etc.
• Identifiers: Names given to variables, signals, components, and other entities. An identifier must start
with a letter and can include letters, numbers, and underscores. VHDL is case-insensitive.
• Comments: Comments are written after two dashes (--), and they go until the end of the line. Example:

• Literals: Constants used directly in expressions. Examples:


o Integer: 5
o Bit: '1', '0'
o Bit vector: "1010"
o String: "Hello"
• Operators: Arithmetic, logical, and relational operators used to perform operations in VHDL. Examples:
o Arithmetic: +, -, *, /
o Logical: and, or, not
o Relational: =, /=, <, <=, >, >=

VHDL Syntax

• Statements: VHDL uses a statement-based structure where statements are separated by semicolons (;).

signal a : std_logic;

a <= '1';

Block Structure: VHDL code is organized into blocks, which are typically entity, architecture, and process.

2. VHDL Design Units

VHDL designs are organized into several units, each serving a different purpose. The most commonly used
design units are:

Entity

An entity defines the interface of a component. It specifies the input and output ports and their types but
doesn't define the functionality.

entity AND_gate is

port (A, B : in std_logic;

Y : out std_logic);

end AND_gate;

• Ports: Defined inside the port block, specifying input (in), output (out), or inout (inout) signal types.

Architecture

An architecture defines the internal implementation of the entity, such as how signals are processed or how
components are connected.
Sample questions:
1. What is the primary purpose of using Boolean algebra in digital system design?
A) To represent continuous signals
B) To facilitate the simplification of logic circuits
C) To design analog circuits
D) To improve signal propagation time

2. Which of the following statements is true about combinational circuits?


A) They have memory elements and store state information.
B) Their output depends solely on the current inputs, not past inputs.
C) They are primarily used to design sequential circuits.
D) Their output depends on both current and past inputs.

3. In a processor specification, which of the following aspects is typically NOT specified?


A) Data word size
B) Number of instruction pipelines
C) Maximum operating voltage
D) Instruction set architecture

Note*: C) Maximum operating voltage because it's about the processor's power needs, not its core design.
Options A, B, and D relate directly to how the processor works and performs.

4. What is the main function of a tri-state buffer in digital circuits?


A) To perform arithmetic operations
B) To control data flow by allowing three possible states: 0, 1, and high impedance
C) To reduce power consumption in logic gates
D) To increase propagation delay in circuits

5. Which of the following tools from VerilUOC_Desktop is specifically used for digital circuit visualization and
simulation?
A) BoolMin
B) Logisim
C) VerilChart
D) VHDL Simulator

6. Which of the following is an essential feature of VHDL (VHSIC Hardware Description Language)?
A) VHDL is used only for simulating analog circuits.
B) It allows both functional and structural modeling of digital circuits.
C) It does not support concurrency.
D) It cannot be synthesized into hardware.

7. In combinational circuits, which component is most commonly used to minimize propagation delay?
A) Multiplexers
B) Arithmetic Logic Units (ALUs)
C) Buffers
D) Carry-lookahead adders

8. What is the primary function of directory protocols in large multiprocessor systems?


A) To manage cache coherence in a distributed system
B) To schedule tasks in a single-core processor
C) To increase memory size without adding additional hardware
D) To allocate processing power to real-time tasks
9. Which of the following arithmetic components is most commonly used in a combinational circuit to perform
binary addition?
A) D flip-flop
B) XOR gate
C) Full adder
D) Multiplexer

10. In the context of VerilUOC_Desktop tools, which of the following best describes the purpose of BoolMin?
A) To simulate large multiprocessor systems
B) To generate minimized Boolean expressions for logic circuit design
C) To visualize VHDL programs
D) To model and simulate propagation delay in circuits

ANSWERS:
1. B) To facilitate the simplification of logic circuits
2. B) Their output depends solely on the current inputs, not past inputs.
3. C) Maximum operating voltage
4. B) To control data flow by allowing three possible states: 0, 1, and high impedance
5. B) Logisim
6. B) It allows both functional and structural modeling of digital circuits.
7. D) Carry-lookahead adders
8. A) To manage cache coherence in a distributed system
9. C) Full adder
10. B) To generate minimized Boolean expressions for logic circuit design
Unit-III
Sequential Circuits: Sequential Circuits I: Sequential Circuits, Latches, and flip-flops, Explicit
Functional Description, Synthesis from the table and an example of synthesis, Combinational blocks,
Sequential blocks, Sequential Circuits II: Registers, Counters, Memories, sequential blocks, Finite
State Machines, and their examples, Sequential implementation of algorithms, Instructions control
complete circuits, Implementation of digital systems: Physical implementation, implementation
strategies, and synthesis tools, test and design methods, Multiprocessor interconnect-I,
Multiprocessor interconnect-II

I. Sequential Circuits

Digital circuits are classified into two major categories namely, combinational circuits and sequential circuits.

A sequential circuit is a type of digital logic circuit whose output depends on present inputs as well as past
operation of the circuit.

What is a Sequential Circuit?

A sequential circuit is a logic circuit that consists of a memory element to store history of past operation of the
circuit. Therefore, the output of a sequential circuit depends on present inputs as well as past outputs of the
circuit.

The block diagram of a typical sequential circuit is shown in the following figure −

Here, it can be seen that a sequential circuit is basically a combination of a combinational circuit and a memory
element. The combinational circuit performs the logical operations specified, while the memory element
records the history of operation of the circuit. This history is then used to perform various logical operations in
future.

The sequential circuits are named so because they use a series of latest and previous inputs to determine the
new output.

Main Components of Sequential Circuit


A sequential circuit consists of several different digital components to process and hold information in the
system. Here are some key components of a sequential circuit explained −

1. Logic Gates

The logic gates like AND, OR, NOT, etc. are used to implement the data processing mechanism of the
sequential circuits. These logic gates are basically interconnected in a specific manner to implement
combinational circuits to perform logical operations on input data.

2. Memory Element

In sequential circuits, the memory element is another crucial component that holds history of circuit operation.
Generally, flip-flops are used as the memory element in sequential circuits.

In sequential circuits, a feedback path is provided between the output and the input that transfers information
from output end to the memory element and from memory element to the input end.

All these components are interconnected together to design a sequential circuit that can perform complex
operations and store state information in the memory element.

Types of Sequential Circuits

Based on structure, operation, and applications, the sequential circuits are classified into the following two
types −

• Asynchronous Sequential Circuit


• Synchronous Sequential Circuit

Asynchrnous Sequential Circuit

A type of sequential circuit whose operation does not depend on the clock signals is known as an asynchronous
sequential circuit. This type of sequential circuits operates using the input pulses that means their state changes
with the change in the input pulses.

The main components of the asynchronous sequential circuits include un-clocked flip flops and combinational
logic circuits. The block diagram of a typical asynchronous sequential circuit is shown in the following figure.

From this diagram, it is clear that an asynchronous sequential circuit is similar to a combinational logic circuit
with a feedback mechanism.
Asynchronous sequential circuits are mainly used in applications where the clock signals are not available or
practical to use. For example, in conditions when speed of the task execution is important.

Asynchronous sequential circuits are relatively difficult to design and sometimes they produce uncertain output.

The ripple counter is a common example of asynchronous sequential circuit.

Synchronous Sequential Circuit

A synchronous sequential circuit is a type of sequential circuit in which all the memory elements are
synchronized by a common clock signal. Hence, synchronous sequential circuits take a clock signal along with
input signals.

In synchronous sequential circuits, the duration of the output pulse is equivalent to the duration of the clock
pulse applied. Below is the block diagram of a typical synchronous sequential circuit −

In this figure, it can be seen that the memory element of the sequential circuit is synchronized by a clock signal.

The major disadvantage of the synchronous sequential circuits is that their operation is quite slow. This is
because, every time the circuit has to wait for a clock pulse for the operation to take place. However, the most
significant advantage of synchronous sequential circuits is that they have a reliable and predictable operation.

Some common examples of synchronous sequential circuits include counters, registers, memory units, control
units, etc.

Sequential Circuits vs. Combinational Circuits

Given below is a list of some of the main advantages of using sequential circuits over combinational logic
circuits −

• Sequential circuits can retain the operation history which is important in various applications like data
storage, feedback control systems, etc.
• Sequential circuits exhibit dynamic behavior and can execute complex operation in real time.
• Sequential circuits comprise a feedback mechanism which improves the stability and optimizes the
system performance.
• Synchronous sequential circuits use a common clock signal for synchronization that ensures reliable
operation of the circuit.
• Sequential circuits can perform more complex operations using simpler circuit designs than
combinational circuits. Hence, their hardware complexity is lesser.
Disadvantages of Sequential Circuits

Sequential circuits do have several disadvantages too. Some of the key disadvantages of using sequential
circuits are listed below −

• Sequential circuits have higher propagation delay because the input signal passes through multiple
stages of logic circuits and memory elements.
• Sequential circuits are relatively complicated and time taking process to design and analyze.
• Sequential circuits require a proper synchronization and clock distribution to work as intended.
• As compared to combinational circuits, sequential circuits consume relatively more power due to
complex design and use of additional components like clock and memory element.

Applications of Sequential Circuits

Sequential circuits are used in a wide range of applications in the field of digital electronics.The following are
some common examples of applications of sequential circuits −

• Sequential circuits are used in digital counters employed in applications like frequency division, event
counting, time keeping, and more.
• Sequential circuits are also used in digital memory devices like flip-flops, registers, etc. to store and
retrieve data.
• Sequential circuits are used to design control circuits in digital systems.
• Sequential circuits play an important role in sequential logic and state-based data processing operations.
• Sequential circuits are also used in automation systems to control the operation of machines based on
predefined logics.
• In communication systems, sequential circuits are used to implement communication protocols and data
transmission standards.

II. Latches

A latch is an asynchronous sequential circuit whose output changes immediately with the change in the applied
input. A latch is used to store 1 bit information in a digital system, so it is considered as the most elementary
memory element.

What is a Latch?

In digital electronics, a latch is an asynchronous sequential circuit that can store 1-bit information. It is used as
the fundamental memory element in digital circuits. A latch can have two stable states namely, set and reset.
The set state is denoted by the logic 1 and the

reset state is represented by the logic 0. Due to these two stable states, a latch is also known as a bistable-
multivibrator. The state of a latch toggles according to the applied input.

The most important thing to be noted about latches is that they do not have a clock signal for synchronization.
That is why they are called asynchronous sequential circuits.

The logic gates are the fundamental building blocks of latches. Since there is no synchronization and clock
signal used. Hence, the latches operate immediately on the application of input signals.

Characteristics of Latches

Some key characteristics of latches are −


• Latches can store 1-bit of digital information that can be represented using either logic 0 or logic 1.
Thus, the latches are mainly used as memory elements in digital circuits.
• Latches have a feedback mechanism that allows them to maintain their current state as it is until the next
input is applied.
• The operation of latches is completely controlled by applied inputs that means the output of the latches
updates based on the change in the input signals.

Types of Latches

The following are the main types of latches that used in digital circuits and systems −

• SR Latch
• JK Latch
• D Latch
• T Latch

1. SR Latch

The SR latch is a type of latch which has two input lines designated as S and R. Where, S represents the Set
input and R represents the Reset input. Thus, it is also known as Set-Reset

Latch.

The SR latch has two stable states namely Set state (S) and Reset state (R). The block diagram of the SR latch
is shown in the following figure.

In the case of SR latch, the S input sets the output Q to 1 and Q' to 0. On the other hand, the R input sets the
output Q to 0 and Q' to 1. In case, when both S and R inputs are high, the latch is said to be in forbidden state.

The complete operation of the SR latch for different input combinations is described in the following truth
table −

Inputs Outputs
Comment
S R Q Q'
0 0 Q Q' No change
0 1 0 1 Reset state
1 0 1 0 Set state
1 1 X X Forbidden state
The SR latch can be implemented by connecting two NOR gates in a cross-coupled manner as shown in the
following figure.

JK Latch

The JK latch is another type of latch which has two inputs namely, J and K. Here, the input J is similar to S
input and the input K is similar to R input in an SR latch.

The operation of the JK latch is similar to that of the SR latch but it does not have the forbidden state. Instead,
it has a toggle state in which the outputs Q and Q' swap their states when both inputs J and K are 1.

Therefor, the JK latch is mainly designed to overcome the problem of forbidden state in the SR latch.

The block diagram of the JK latch is shown in the following figure −

The truth table given below describes the operation of the JK latch for different input combinations −

Inputs Outputs
Comment
J K Q Q'
0 0 Q Q' No change
0 1 0 1 Reset state
1 0 1 0 Set state
1 1 Q' Q Toggle state

From this truth table, it is clear that the problem of forbidden state is addressed by implementing the toggle
state.

The logic circuit of the JK latch consists of a combination of two NOR gates and two AND gates as shown in
the following figure.
D Latch

The D Latch, also known as Data latch or transparent latch, is a type of bistable multivibrator which has two
input signals namely, D (Data) input and E (Enable) input.

The output Q of the D latch is same as the input applied at the D input line as long as the E input is high. When
the E input goes low, the output of the D latch is held as it is until the new input is applied to the D input.

The block diagram of the D latch is shown in the following figure.

The truth table given below explains the operation of the D latch −

Inputs Outputs
Comment
D E Q Q'
0 0 Q Q' No change
0 1 0 1 Reset state
1 0 Q Q' No change
1 1 1 0 Set state

The logic circuit diagram of the D latch is depicted in the following figure −
T Latch

T latch is a type of latch that toggles its output state (Q) when a logic 1 is applied to its input line. Hence, it is
also known as toggle latch.

The T latch is implemented by connecting the J and K inputs of the JK latch together as shown in the following
block diagram.

The truth table describing the operation of the T latch is shown below −

Input Present State Next State


T Q Q' Q Q'
0 0 1 0 1
0 1 0 1 0
1 0 1 1 0
1 1 0 0 1

The logic circuit diagram of the T latch is shown in the following figure −
Applications of Latches

The latches find several applications in the field of digital electronics. They are most elementary storage
components used to store one bit of information in digital systems.

Some of the common applications of latches are listed here −

• Latches are used as 1-bit memory element in digital systems.


• Latches are used to design digital registers which are employed for storage and manipulation of data in
microprocessors and microcontrollers.
• Latches are used to design flip-flops which are basically the synchronized latches.
• Latches are also used in communication systems for temporary data storage or buffering purposes.

III. Flip-Flops
The flip-flops are basically the circuits that maintain a certain state unless and until directed by the input for
changing that state. We can construct a basic flip-flop using four-NOR and four-NAND gates.

What are Flip-Flops?


The flip-flops are basically the circuits that maintain a certain state unless and until directed by the input for
changing that state. We can construct a basic flip-flop using four-NOR and four-NAND gates.

Types of Flip-Flops
The flip-flops are of the following types:
1. S-R Flip Flop
2. J-K Flip Flop
3. T Flip Flop
4. D Flip Flop
Below, you can find the logic diagrams along with the truth tables of all the various types of flip-flops:
S-R Flip Flop
J-K Flip Flop

T Flip Flop
D Flip Flop

Conversion for Flip-Flops

Converting Flip-Flops
Here are the steps that one must use to convert one given flip-flop to another one. Let us assume that we have
the required flip-flops that are to be constructed using the sub-flip-flops:
1. Drawing of the truth of the required flip-flop.
2. Writing of the corresponding outputs of those sub-flip-flops that are to be used from the given excitation
table.
3. Drawing of the K-Maps using the required inputs of the flip-flops and then obtaining the excitation functions
for the inputs of the sub-flip-flops.
4. Construction of the logic diagram in accordance with the functions that we have obtained.

Conversion of SR to JK Flip-Flop
Excitation Functions

Conversion of SR to D FlipFlop

Excitation Functions
R = D‘
S=D
Applications of Flip-Flops

You can find the various applications of the flip-flops below:

• Frequency dividers
• Counters
• Storage registers
• Shift registers
• Data storage
• Bounce elimination switch
• Latch
• Data transfer
• Memory
• Registers

IV. Explicit Functional Description in Digital Design


In digital design, an Explicit Functional Description refers to a clear and detailed specification of how a digital
system or component operates, which includes its input-output behavior, logic functions and the conditions
under which these operations occur. It describes the system’s functionality in a manner that is both
understandable and executable by design tools (such as hardware description languages like VHDL or
Verilog).
A good explicit functional description serves as the bridge between system-level requirements (high-level
specifications) and the actual hardware design (low-level implementation). It outlines what the system does,
how it does it, and when the system will perform specific actions.
Key Elements of Explicit Functional Description
1. Inputs and Outputs
- Clearly define all the inputs and outputs of the system or module.
- Inputs can be signals, data, or control lines, and outputs are the results or actions generated by the system.
Example:
- Input: Clock signal (clk), Reset (rst), Data (data_in)
- Output: Result (result_out), Flag (flag)
2. Signal and Data Types
- Specify the data types, sizes, and ranges of inputs and outputs.
Example:
- Inputs might be 8-bit wide (`data_in[7:0]`), while outputs could be 4-bit wide (`result_out[3:0]`).
3. Functional Behavior
- Describe the function or operations that the design performs in response to various inputs.
- This includes logical, arithmetic, or state-machine operations.
- Example:
- If `rst = 1`, the system resets to a default state.
- If `clk` transitions, the system performs a calculation: `result_out = data_in + 5`.
4. Control Logic
- Define how control signals affect the operation of the system.
- Control signals can initiate or stop processes, direct the flow of data, or trigger certain functions.
Example:
- When `enable` is high (`enable = 1`), the system performs a function; otherwise, it remains idle.
5. Timing and Sequence of Operations
- Specify any time-related constraints and sequencing of operations (often critical in synchronous designs).
Example:
- The system responds to inputs on the rising edge of the clock signal (`posedge clk`).
- The reset signal overrides all other inputs immediately, causing the system to revert to an initial state.
6. State Machines and Sequential Logic
- If the design involves state machines or sequential circuits, provide an explicit description of the states,
transitions, and the conditions for those transitions.
Example: A finite state machine (FSM) with states like `IDLE`, `PROCESSING`, and `COMPLETE`,
transitioning based on inputs like `start`, `done`, and `error`.
7. Combinational Logic
- For purely combinational designs, describe how the output is derived based on the combination of input
signals, typically using Boolean algebra or truth tables.
Example:
- Output (`out`) = A AND B OR C (`out = (A & B) | C`).
8. Error Handling
- Explicitly state how the design handles errors or exceptional conditions.
- Example: If an invalid input is detected, an error flag is set: `error_flag = 1`.

Examples of Explicit Functional Descriptions


1. 4-bit Adder (Combinational Logic Example)
- Inputs: `A[3:0]`, `B[3:0]` (4-bit inputs)
- Output: `S[3:0]` (4-bit sum)
- Operation: The output sum `S = A + B`
- Boolean equation: `S[3:0] = A[3:0] + B[3:0]`
2. Simple FSM (Finite State Machine Example)
- States: `IDLE`, `RUN`, `DONE`
- Inputs: `start`, `reset`
- Output: `done_flag`
State Diagram Description:
- In `IDLE` state:
- If `start = 1`, transition to `RUN` state.
- If `reset = 1`, stay in `IDLE`.
- In `RUN` state:
- When operation is complete, set `done_flag = 1`, and transition to `DONE`.
- In `DONE` state:
- After a reset, transition back to `IDLE`.

Benefits of Explicit Functional Description


Clarity: Makes the design easy to understand, review, and modify.
Verification: Enables better testing and verification of the design, as the expected behavior is well defined.
Optimization: Helps with optimization as the specific functions and constraints of the design are clearly
outlined.
Synthesis: Provides a detailed specification that can be directly synthesized into hardware or verified using
simulation tools.
V. Synthesis from the Table in Digital Systems

In digital design, synthesis refers to the process of translating a high-level design description (such as a truth
table, Boolean expression, or hardware description language like VHDL or Verilog) into a gate-level netlist.
This netlist represents the actual digital components (gates, flip-flops, multiplexers, etc.) that will be used to
implement the system in hardware.

A truth table is a key tool for synthesizing combinational logic. It provides a comprehensive mapping of all
possible input combinations to their corresponding output values. From the truth table, the synthesis tool (or
manual synthesis process) will derive a Boolean expression or circuit implementation that realizes the desired
logic.

Steps for Synthesis from a Truth Table

1. Create the Truth Table: The first step is to create a truth table based on the system's input and output
specifications. This table lists all possible combinations of inputs and the corresponding output for each
combination.
2. Simplify the Boolean Expression: Once you have the truth table, the next step is to derive the Boolean
equation for the system. This is typically done by identifying the rows where the output is 1 (for sum-of-
products) or 0 (for product-of-sums), and then simplifying the Boolean expression using Boolean algebra or
Karnaugh maps (K-maps).
3. Generate Logic Gates: Once the Boolean expression is derived and simplified, you can synthesize the
logic by converting the Boolean expression into an actual gate-level representation. This involves translating
logical operations into standard logic gates (AND, OR, NOT, NAND, NOR, etc.).
4. Translate to Hardware Description Language (HDL) or Gate-Level Circuit: The simplified Boolean
expression is then translated into a hardware description (HDL like Verilog/VHDL), which can be used to
generate a gate-level netlist or directly synthesized into a digital circuit.

Example of Synthesis from a Truth Table

Consider a simple 2-input logic function where the inputs are A and B, and the output is Y.

Step 2: Derive the Boolean Expression

From the truth table, observe that the output Y is 1 when either:

• A = 0 and B = 1
• A = 1 and B = 0
We can express these conditions as the sum of products (SOP):

• When A = 0 and B = 1, the product is NOT A AND B → (¬A ∧ B)


• When A = 1 and B = 0, the product is A AND NOT B → (A ∧ ¬B)

The Boolean expression for the output Y is:

Y=(¬A∧B)∨(A∧¬B)Y = (¬A ∧ B) ∨ (A ∧ ¬B)Y=(¬A∧B)∨(A∧¬B)

This is the XOR (exclusive OR) function, which is the simplified Boolean expression for this truth table.

Step 3: Logic Gates (Gate-Level Representation)

The Boolean expression Y=(¬A∧B)∨(A∧¬B)Y = (¬A ∧ B) ∨ (A ∧ ¬B)Y=(¬A∧B)∨(A∧¬B) can be realized


with basic logic gates:

• NOT gates to generate ¬A and ¬B.


• AND gates to implement the two terms: (¬A ∧ B) and (A ∧ ¬B).
• OR gate to combine the results of the AND gates.

Step 4: Translate to HDL

The Boolean expression can also be written in a hardware description language like Verilog:

module xor_gate (

input A, B, // Inputs

output Y // Output

);

assign Y = ( ~A & B ) | ( A & ~B ); // XOR operation

endmodule

VI. Combinational Blocks

Combinational logic refers to circuits where the output is solely dependent on the current inputs, and there is
no memory or feedback. These types of circuits do not have any state or history; the output is a direct function
of the present input values. Combinational logic is fundamental in digital design, where the primary task is to
implement various logical functions and arithmetic operations.

Key Characteristics of Combinational Circuits

• No Memory or State: The output depends only on the current input values.
• Instantaneous Output: The output will change immediately as the inputs change (ignoring propagation
delays).
• No Feedback: There are no feedback loops or internal state retention; inputs do not depend on past
states.

Common Combinational Blocks in Digital Circuits


Combinational blocks can perform a variety of tasks, ranging from simple logical operations to complex
arithmetic computations.

1. Logic Gates

Logic gates are the fundamental building blocks of digital circuits. These gates perform basic logical
operations.

AND Gate: Output is 1 only if all inputs are 1.

Example: Y = A AND B

OR Gate: Output is 1 if at least one input is 1.

Example: Y = A OR B

NOT Gate: Inverts the input (output is the opposite of the input).

Example: Y = NOT A

NAND Gate: Output is 1 unless all inputs are 1 (inverse of AND).

Example: Y = A NAND B

NOR Gate: Output is 1 only when all inputs are 0 (inverse of OR).

Example: Y = A NOR B

XOR Gate (Exclusive OR): Output is 1 when inputs are different.

Example: Y = A XOR B

XNOR Gate (Exclusive NOR): Output is 1 when inputs are the same (inverse of XOR).

Example: Y = A XNOR B

2. Multiplexers (MUX)

A Multiplexer is a combinational circuit that selects one of many inputs based on the values of the select lines
and outputs the selected input. It works like a digital switch, directing one of the inputs to the output.

2-to-1 MUX: Selects between two inputs (I0, I1) based on a select line (S).
3. Demultiplexers (DEMUX)

A Demultiplexer performs the inverse operation of a multiplexer. It takes a single input and directs it to one of
several output lines based on the values of the select lines.
VII. Sequential
Blocks

In digital circuits, sequential circuits are those whose output depends not only on the current input but also on
the previous inputs or states. This is because sequential circuits have memory elements that store the past state
of the system. The presence of these memory elements (like flip-flops, latches, registers) means that sequential
circuits can store information and exhibit time-dependent behavior.

Key Characteristics of Sequential Circuits

• State-Dependent: The output depends on both the current inputs and the previous state(s) of the system.
• Memory Elements: These circuits contain components that store information, such as flip-flops or
latches.
• Clocked or Unclocked: Sequential circuits can be either synchronous (clock-driven) or asynchronous
(unclocked).
• Time Dependency: The system has memory, meaning it can "remember" past states, and output may
change in response to the clock or other signals.

Components of Sequential Circuits

1. Memory Elements:
o Flip-Flops: The basic building blocks of sequential circuits. These store a single bit of data and
change state based on clock signals or input conditions.
o Latches: Similar to flip-flops but operate asynchronously or with simpler control signals. They
are typically level-sensitive (hold data when the control signal is active).
2. Combinational Logic: In sequential circuits, combinational logic blocks process the current inputs and
the current state to generate the next state and the output. The output depends on both the input and the state.
3. Clock: Synchronous sequential circuits use a clock to control the timing of changes in the state. The
circuit only updates its state on a specific clock edge (rising or falling).

Types of Sequential Circuits


Sequential circuits can be broadly classified into two categories:

1. Synchronous Sequential Circuits:


o These circuits use a clock signal to synchronize changes in state and output.
o Flip-flops (like D flip-flops, JK flip-flops, T flip-flops) are the primary memory elements used in
synchronous circuits.
2. Asynchronous Sequential Circuits:
o These circuits do not rely on a clock signal. Instead, they are triggered by input signals, and the
output changes based on the sequence of inputs.
o These circuits are typically more complex to design and are less commonly used in modern
digital designs due to potential issues like timing hazards and race conditions.

Common Sequential Blocks in Digital Circuits


VIII. Counters in Digital Logic

A Counter is a device which stores (and sometimes displays) the number of times a particular event or process
has occurred, often in relationship to a clock signal. Counters are used in digital electronics for counting
purpose, they can count specific event happening in the circuit. For example, in UP counter a counter increases
count for every rising edge of clock. Not only counting, a counter can follow the certain sequence based on our
design like any random sequence 0,1,3,2… .They can also be designed with the help of flip flops. They are
used as frequency dividers where the frequency of given pulse waveform is divided. Counters are sequential
circuit that count the number of pulses can be either in binary code or BCD form. The main properties of a
counter are timing , sequencing , and counting. Counter works in two modes
• Up counter
• Down counter

Counter Classification
Counters are broadly divided into two categories

1. Asynchronous counter
2. Synchronous counter

Asynchronous Counter
In asynchronous counter we don’t use universal clock, only first flip flop is driven by main clock and the clock
input of rest of the following flip flop is driven by output of previous flip flops. We can understand it by
following diagram-
It is evident from timing diagram that Q0 is changing as soon as the rising edge of clock pulse is encountered,
Q1 is changing when rising edge of Q0 is encountered(because Q0 is like clock pulse for second flip flop) and
so on. In this way ripples are generated through Q0,Q1,Q2,Q3 hence it is also called RIPPLE counter and
serial counter. A ripple counter is a cascaded arrangement of flip flops where the output of one flip flop drives
the clock input of the following flip flop

Synchronous Counter
Unlike the asynchronous counter, synchronous counter has one global clock which drives each flip flop so
output changes in parallel. The one advantage of synchronous counter over asynchronous counter is, it can
operate on higher frequency than asynchronous counter as it does not have cumulative delay because of same
clock is given to each flip flop. It is also called as parallel counter.

Synchronous counter circuit


Timing diagram synchronous counter

From circuit diagram we see that Q0 bit gives response to each falling edge of clock while Q1 is dependent on
Q0, Q2 is dependent on Q1 and Q0 , Q3 is dependent on Q2,Q1 and Q0.

Decade Counter
A decade counter counts ten different states and then reset to its initial states. A simple decade counter will
count from 0 to 9 but we can also make the decade counters which can go through any ten states between 0
to 15(for 4 bit counter).

Clock
Q3 Q2 Q1 Q0
pulse

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

10 0 0 0 0
Truth table for simple decade counter

Decade counter circuit diagram

We see from circuit diagram that we have used nand gate for Q3 and Q1 and feeding this to clear input line
because binary representation of 10 is—
1010
And we see Q3 and Q1 are 1 here, if we give NAND of these two bits to clear input then counter will be
clear at 10 and again start from beginning.
Important point: Number of flip flops used in counter are always greater than equal to (log2 n) where
n=number of states in counter.

Ripple Counter in Digital Logic

Ripple counter is a cascaded arrangement of flip-flops where the output of one flip-flop drives the clock input
of the following flip-flop. The number of flip flops in the cascaded arrangement depends upon the number of
different logic states that it goes through before it repeats the sequence a parameter known as the modulus of
the counter. A n-bit ripple counter can count up to 2n states. It is also known as MOD n counter. It is known as
ripple counter because of the way the clock pulse ripples its way through the flip-flops. Some of the features of
ripple counter are:
• It is an asynchronous counter.
• Different flip-flops are used with a different clock pulse.
• All the flip-flops are used in toggle mode.
• Only one flip-flop is applied with an external clock pulse and another flip-flop clock is obtained from
the output of the previous flip-flop.
• The flip-flop applied with an external clock pulse act as LSB (Least Significant Bit) in the counting
sequence.

A counter may be an up counter that counts upwards or can be a down counter that counts downwards or can
do both i.e.count up as well as count downwards depending on the input control. The sequence of counting
usually gets repeated after a limit. When counting up, for the n-bit counter the count sequence goes from 000,
001, 010, … 110, 111, 000, 001, … etc. When counting down the count sequence goes in the opposite manner:
111, 110, … 010, 001, 000, 111, 110, … etc.
A 3-bit Ripple counter using a JK flip-flop is as follows:
In the circuit shown in the above figure, Q0(LSB) will toggle for every clock pulse because JK flip-flop works
in toggle mode when both J and K are applied 1, 1, or high input. The following counter will toggle when the
previous one changes from 1 to 0.
Truth Table is as follows:

The 3-bit ripple counter used in the circuit above has eight different states, each one of which represents a
count value. Similarly, a counter having n flip-flops can have a maximum of 2 to the power n states. The
number of states that a counter owns is known as its mod (modulo) number. Hence a 3-bit counter is a mod-8
counter. A mod-n counter may also be described as a divide-by-n counter. This is because the most significant
flip-flop (the furthest flip-flop from the original clock pulse) produces one pulse for every n pulses at the clock
input of the least significant flip-flop (the one triggers by the clock pulse). Thus, the above counter is an
example of a divide-by-4 counter.

Timing diagram
Let us assume that the clock is negative edge triggered so the above the counter will act as an up counter
because the clock is negative edge triggered and output is taken from Q.

Counters are used very frequently to divide clock frequencies and their uses mainly involve digital clocks and
in multiplexing. The widely known example of the counter is parallel to serial data conversion logic.

Advantages of Ripple Counter in Digital Logic


• Can be easily designed by T flip-flop or D flip-flop.
• Can be used in low speed circuits & divide by n-counters.
• Used as Truncated counters to design any mode number counters (i.e. Mod 4, Mod 3)

Disadvantages of Ripple Counter in Digital Logic


• Extra flip-flop are needed to do resynchronization.
• To count the sequence of truncated counters, additional feedback logic is needed.
• Propagation delay of asynchronous counters is very large, while counting the large number of bits.
• Counting errors may occur due to propagation delay for high clock frequencies.

Ring Counter in Digital Logic

A ring counter is a typical application of the Shift register. The ring counter is almost the same as the shift
counter. The only change is that the output of the last flip-flop is connected to the input of the first flip-flop in
the case of the ring counter but in the case of the shift register it is taken as output. Except for this, all the other
things are the same.

No. of states in Ring counter = No. of flip-flop used


So, for designing a 4-bit Ring counter we need 4 flip-flops.

In this diagram,
we can see that the clock pulse (CLK) is applied to all the flip-flops simultaneously. Therefore, it is a
Synchronous Counter. Also, here we use Overriding input (ORI) for each flip-flop. Preset (PR) and Clear
(CLR) are used as ORI. When PR is 0, then the output is 1. And when CLR is 0, then the output is 0. Both PR
and CLR are active low signal that always works in value 0.
PR = 0, Q = 1
CLR = 0, Q = 0

These two values are always fixed. They are independent of the value of input D and the Clock pulse
(CLK). Working – Here, ORI is connected to Preset (PR) in FF-0 and it is connected to Clear (CLR) in FF-1,
FF-2, and FF-3. Thus, output Q = 1 is generated at FF-0, and the rest of the flip-flop generates output Q = 0.
This output Q = 1 at FF-0 is known as Pre-set 1 which is used to form the ring in the Ring Counter.
This Preseted 1 is generated by making ORI low and that time Clock (CLK) becomes don’t care. After that
ORI is made to high and apply low clock pulse signal as the Clock (CLK) is negative edge triggered. After that,
at each clock pulse, the preseted 1 is shifted to the next flip-flop and thus forms a Ring. From the above table,
we can say that there are 4 states in a 4-bit Ring Counter.
4 states are:
1000
0100
0010
0001
In this way can design a 4-bit Ring Counter using four D flip-flops.

Types of Ring Counter: There are two types of Ring Counter:

Straight Ring Counter: It is also known as One hot Counter. In this counter, the output of the last flip-flop is
connected to the input of the first flip-flop. The main point of this Counter is that it circulates a single one (or
zero) bit around the ring.

Here, we use Preset (PR) in the first flip-flop and Clock (CLK) for the last three flip-flops.

Twisted Ring Counter – It is also known as a switch-tail ring counter, walking ring counter, or Johnson
counter. It connects the complement of the output of the last shift register to the input of the first register and
circulates a stream of ones followed by zeros around the
ring.

Here, we use Clock (CLK) for all the flip-flops. In the Twisted Ring Counter, the number of states = 2 X the
number of flip-flops.

IX. General Purpose Registers

A register serves as a quick memory for accepting, storing, and sending data and instructions that the CPU will
need right away. A register is a collection of flip-flops, Single bit digital data is stored using flip-flops. By
combining many flip-flops, the storage capacity can be extended to accommodate a huge number of bits. We
must utilize an n-bit register with n flip flops if we wish to store an n-bit word.
The gates govern the flow of information, i.e., when and how the information is sent into a register, whereas
the flip-flops store the binary information.

Working of Registers:

When we provide the system with input, that input is stored in registers, and when the system returns results
after processing, those results are also drawn from the registers. so that the CPU can use them to process the
data that the user provides.
Registers are performed based on three operations:
• Fetch: The Fetch Operation is used to retrieve user-provided instructions that have been stored in the
main memory. Registers are used to fetch these instructions.
• Decode: The Decode Operation is used to interpret the Instructions, which means that the CPU will
determine which Operation has to be carried out on the Instructions after the Instructions have been decoded.
• Execute: The CPU manages the Execute Operation. The results that the CPU generates are then stored in
the memory before being presented on the user screen.

Types of Registers:
• Status and control registers.
• General-purpose data registers.
• Special purpose register.
Status and Control Register:
Status and Control registers report and allow modification of the state of the processor and of the program
being executed.

General-Purpose Data Registers:

General purpose registers are extra registers that are present in the CPU and are utilized anytime data or a
memory location is required. These registers are used for storing operands and pointers. These are mainly used
for holding the following:
• Operands for logical and arithmetic operations
• Operands for address calculation
• Memory pointers
There are 3 types of General-purpose data registers they are:
Data registers: Data registers consists of four 32-bit data registers, which are used for arithmetic, logical and
other operations. Data registers are again classified into 4 types they are:
• AX: This is known as the accumulator register. Its 16 bits are split into two 8-bit registers, AH and AL,
allowing it to execute 8-bit instructions as well. In 8086 microprocessors, it is used in the arithmetic, logic, and
data transfer instructions. One of the numbers involved in manipulation and division must be in AX or AL.
• BX: This is called a Base register. It has 16 bits and is split into two registers with 8 bits each, BH and
BL. An address register is the BX register. It typically includes a data pointer for indirect addressing that is
based, based indexed, or register-based.
• CX: This is known as the Count register. Its 16 bits are split into two 8-bit registers, CH and CL,
allowing it to execute 8-bit instructions as well. This acts as a counter for loops. It facilitates the development
of program loops. Shift/rotate instructions and string manipulation both allow the use of the count register as a
counter.
• DX: This is known as the Data register. Its 16 bits are split into two 8-bit registers, DH and DL so that it
can execute 8-bit instructions as well. In I/O operations, the data register can be used as a port number. It is
also applied to division and multiplication.

Pointer registers: The pointer registers consist of 16-bit left sections (SP, and BP) and 32-bit ESP and EBP
registers.
• SP: This is known as a Stack pointer used to point the program stack. For accessing the stack segment, it
works with SS. It has a 16-bit size. It designates the item at the top of the stack. The stack pointer will be
(FFFE)H if the stack is empty. The stack segment is relative to its offset address.
• BP: This is known as the Base pointer used to point data in the stack segments. We can utilize BP to
access data in the other segments, unlike SP. It has a 16-bit size. It mostly serves as a way to access parameters
given via the stack. The stack segment is relative to its offset address.

Index registers: The 16-bit rightmost bits of the 32-bit ESI and EDI index registers. SI and DI are sometimes
employed in addition and sometimes in subtraction as well as for indexed addressing.
• SI: This source index register is used to identify memory addresses in the data segment that DS is
addressing. Therefore, it is simple to access successive memory locations when we increment the contents of
SI. It has a 16-bit size. Relative to the data segment, it has an offset.
• DI: The function of this destination index register is identical to that of SI. String operations are a
subclass of instructions that employ DI to access the memory addresses specified by ES. It is generally used as
a Destination index for string operations.

Special Purpose Registers:


To store machine state data and change state configuration, special purpose registers are employed. In other
words, it is also defined as the CPU has a number of registers that are used to carry out instruction execution
these registers are called special purpose registers. Special purpose registers are of 8 types they are cs, ds, ss, es,
fs, and gs registers come under segment registers. These registers hold up to six segment selectors.
• CS (Code Segment register): A 16-bit register called a code segment (CS) holds the address of a 64 KB
section together with CPU instructions. All accesses to instructions referred to by an instruction pointer (IP)
register are made by the CPU using the CS segment. Direct changes to CS registration are not possible. When
using the far jump, far call, and far return instructions, the CS register is automatically updated.
• DS (Data Segment register): A 64KB segment of program data is addressed using a 16-bit register
called the data segment. The processor by default believes that the data segment contains all information
referred to by the general registers (AX, BX, CX, and DX) and index registers (SI, DI). POP and LDS
commands can be used to directly alter the DS register.
• SS (Stack Segment register): A 16-bit register called a stack segment holds the address of a 64KB
segment with a software stack. The CPU by default believes that the stack segment contains all information
referred to by the stack pointer (SP) and base pointer (BP) registers. POP instruction allows for direct
modification of the SS register.
• ES (Extra Segment register): A 16-bit register called extra segment holds the address of a 64KB
segment, typically holding program data. In string manipulation instructions, the CPU defaults to assuming
that the DI register refers to the ES segment. POP and LES commands can be used to directly update the ES
register.
• FS (File Segment register): FS registers don’t have a purpose that is predetermined by the CPU; instead,
the OS that runs them gives them a purpose. On Windows processes, FS is used to point to the thread
information block (TIB).
• GS (Graphics Segment register): The GS register is used in Windows 64-bit to point to operating
system-defined structures. OS kernels frequently use GS to access thread-specific memory. The GS register is
employed by Windows to control thread-specific memory. In order to access CPU-specific memory, the Linux
kernel employs GS. A pointer to a thread local storage, or TLS, is frequently used as GS.
• IP (Instruction Pointer register): The registers CS and IP are used by the 8086 to access instructions.
The segment number of the following instruction is stored in the CS register, while the offset is stored in the IP
register. Every time an instruction is executed, IP is modified to point to the upcoming instruction. The IP
cannot be directly modified by an instruction, unlike other registers; an instruction may not have the IP as its
operand.
• Flag register: The status register for an x86 CPU houses its current state, and it is called the FLAGS
register. The flag bits’ size and significance vary depending on the architecture. It often includes information
about current CPU operation limitations as well as the outcome of mathematical operations. Some of these
limitations might forbid the execution of a particular class of “privileged” instructions and stop some interrupts
from triggering. Other status flags may override memory mapping and specify the response the CPU should
have in the event of an arithmetic overrun.
Shift Registers in Digital Logic

Flip flops can be used to store a single bit of binary data (1 or 0). However, in order to store multiple bits of
data, we need multiple flip-flops. N flip flops are to be connected in order to store n bits of data. A Register is a
device that is used to store such information. It is a group of flip-flops connected in series used to store
multiple bits of data. The information stored within these registers can be transferred with the help of shift
registers.
Shift Register is a group of flip flops used to store multiple bits of data. The bits stored in such registers can be
made to move within the registers and in/out of the registers by applying clock pulses. An n-bit shift register
can be formed by connecting n flip-flops where each flip-flop stores a single bit of data. The registers which
will shift the bits to the left are called “Shift left registers”. The registers which will shift the bits to the right
are called “Shift right registers”. Shift registers are basically of following types.

Types of Shift Registers


• Serial In Serial Out shift register
• Serial In parallel Out shift register
• Parallel In Serial Out shift register
• Parallel In parallel Out shift register
• Bidirectional Shift Register
• Universal Shift Register
• Shift Register Counter

Serial-In Serial-Out Shift Register (SISO)

The shift register, which allows serial input (one bit after the other through a single data line) and produces a
serial output is known as a Serial-In Serial-Out shift register. Since there is only one output, the data leaves the
shift register one bit at a time in a serial pattern, thus the name Serial-In Serial-Out Shift Register. The logic
circuit given below shows a serial-in serial-out shift register. The circuit consists of four D flip-flops which are
connected in a serial manner. All these flip-flops are synchronous with each other since the same clock signal
is applied to each flip-flop.

Serial-In Serial-Out Shift Register (SISO)

The above circuit is an example of a shift right register, taking the serial data input from the left side of the flip
flop. The main use of a SISO is to act as a delay element.

Serial-In Parallel-Out Shift Register (SIPO)


The shift register, which allows serial input (one bit after the other through a single data line) and produces a
parallel output is known as the Serial-In Parallel-Out shift register. The logic circuit given below shows a
serial-in-parallel-out shift register. The circuit consists of four D flip-flops which are connected. The clear
(CLR) signal is connected in addition to the clock signal to all 4 flip flops in order to RESET them. The output
of the first flip-flop is connected to the input of the next flip flop and so on. All these flip-flops are
synchronous with each other since the same clock signal is applied to each flip-flop.

Serial-In Parallel-Out shift Register (SIPO)

The above circuit is an example of a shift right register, taking the serial data input from the left side of the
flip-flop and producing a parallel output. They are used in communication lines where demultiplexing of a data
line into several parallel lines is required because the main use of the SIPO register is to convert serial data into
parallel data.

Parallel-In Serial-Out Shift Register (PISO)


The shift register, which allows parallel input (data is given separately to each flip flop and in a simultaneous
manner) and produces a serial output is known as a Parallel-In Serial-Out shift register. The logic circuit given
below shows a parallel-in-serial-out shift register. The circuit consists of four D flip-flops which are connected.
The clock input is directly connected to all the flip-flops but the input data is connected individually to each
flip-flop through a multiplexer at the input of every flip-flop. The output of the previous flip-flop and parallel
data input are connected to the input of the MUX and the output of MUX is connected to the next flip-flop. All
these flip-flops are synchronous with each other since the same clock signal is applied to each flip-flop.

Parallel-In Serial-Out Shift Register (PISO)

A Parallel in Serial Out (PISO) shift register is used to convert parallel data to serial data.

Parallel-In Parallel-Out Shift Register (PIPO)


The shift register, which allows parallel input (data is given separately to each flip flop and in a simultaneous
manner) and also produces a parallel output is known as Parallel-In parallel-Out shift register. The logic circuit
given below shows a parallel-in-parallel-out shift register. The circuit consists of four D flip-flops which are
connected. The clear (CLR) signal and clock signals are connected to all 4 flip-flops. In this type of register,
there are no interconnections between the individual flip-flops since no serial shifting of the data is required.
Data is given as input separately for each flip flop and in the same way, output is also collected individually
from each flip flop.

Parallel-In Parallel-Out Shift Register (PIPO)

A Parallel in Parallel out (PIPO) shift register is used as a temporary storage device and like SISO Shift
register it acts as a delay element.

Bidirectional Shift Register


If we shift a binary number to the left by one position, it is equivalent to multiplying the number by 2 and if we
shift a binary number to the right by one position, it is equivalent to dividing the number by 2. To perform
these operations we need a register which can shift the data in either direction. Bidirectional shift registers are
the registers that are capable of shifting the data either right or left depending on the mode selected. If the
mode selected is 1(high), the data will be shifted toward the right direction and if the mode selected is 0(low),
the data will be shifted towards the left direction. The logic circuit given below shows a Bidirectional shift
register. The circuit consists of four D flip-flops which are connected. The input data is connected at two ends
of the circuit and depending on the mode selected only one gate is in the active state.

Bidirectional Shift Register

Universal Shift Register


Universal Shift Register is a type of register that contains the both right shift and the left shift. It has also
parallel load capabilities. Generally, these types of registers are taken as memory elements in computers. But,
the problem with this type of register is that it shifts only in one direction. In simple words, you mean that the
universal shift register is a combination of the bidirectional shift register and the unidirectional shift register.
Universal Shift Register

N-bit universal shift register consists of flip-flops and multiplexers. Both are N in size. In this, all the n
multiplexers share the same select lines and this select input selects the suitable input for flip-flops.

Shift Register Counter


Shift Register Counters are the shift registers in which the outputs are connected back to the inputs in order to
produce particular sequences. There are basically two types:
• Ring Counter
• Johnson Counter

Ring Counter

A ring counter is basically a shift register counter in which the output of the first flip-flop is connected to the
next flip-flop and so on and the output of the last flip-flop is again fed back to the input of the first flip-flop,
thus the name ring counter. The data pattern within the shift register will circulate as long as clock pulses are
applied. The logic circuit given below shows a Ring Counter.

Ring Counter Truth Table

The circuit consists of four D flip-flops which are connected. Since the circuit consists of four flip-flops the
data pattern will repeat after every four clock pulses as shown in the truth table. A Ring counter is generally
used because it is self-decoding. No extra decoding circuit is needed to determine what state the counter is in.
Ring Counter

Johnson Counter

A Johnson counter is basically a shift register counter in which the output of the first flip flop is connected to
the next flip flop and so on and the inverted output of the last flip flop is again fed back to the input of the first
flip flop. They are also known as twisted ring counters. The logic circuit given below shows a Johnson Counter.
The circuit consists of four D flip-flops which are connected.

Johnson Counter Truth Table

An n-stage Johnson counter yields a count sequence of 2n different states, thus also known as a mod-2n
counter. Since the circuit consists of four flip-flops the data pattern will repeat every eight clock pulses as
shown in the truth table. The main advantage of the Johnson counter is that it only needs n number of flip-flops
compared to the ring counter to circulate a given data to generate a sequence of 2n states.

Johnson Counter
Applications of Shift Registers
• The shift registers are used for temporary data storage.
• The shift registers are also used for data transfer and data manipulation.
• The serial-in serial-out and parallel-in parallel-out shift registers are used to produce time delay to
digital circuits.
• The serial-in parallel-out shift register is used to convert serial data into parallel data thus they are used
in communication lines where demultiplexing of a data line into several parallel lines is required.
• A Parallel in Serial out shift register is used to convert parallel data to serial data.

X. Computer Memory

Computer memory is just like the human brain. It is used to store data/information and instructions. It is a data
storage unit or a data storage device where data is to be processed and instructions required for processing are
stored. It can store both the input and output can be stored here.

Characteristics of Computer Memory


• It is faster computer memory as compared to secondary memory.
• It is semiconductor memories.
• It is usually a volatile memory, and main memory of the computer.
• A computer system cannot run without primary memory.

Types of Computer Memory


In general, computer memory is of three types:
• Primary memory
• Secondary memory
• Cache memory

1. Primary Memory
It is also known as the main memory of the computer system. It is used to store data and programs or
instructions during computer operations. It uses semiconductor technology and hence is commonly called
semiconductor memory.
Primary memory is of two types:
RAM (Random Access Memory): It is a volatile memory. Volatile memory stores information based on the
power supply. If the power supply fails/ interrupted/stopped, all the data and information on this memory will
be lost. RAM is used for booting up or start the computer. It temporarily stores programs/data which has to be
executed by the processor. RAM is of two types:
o S RAM (Static RAM): S RAM uses transistors and the circuits of this memory are capable of
retaining their state as long as the power is applied. This memory consists of the number of flip flops with each
flip flop storing 1 bit. It has less access time and hence, it is faster.
o D RAM (Dynamic RAM): D RAM uses capacitors and transistors and stores the data as a charge
on the capacitors. They contain thousands of memory cells. It needs refreshing of charge on capacitor after a
few milliseconds. This memory is slower than S RAM.

ROM (Read Only Memory): It is a non-volatile memory. Non-volatile memory stores information even when
there is a power supply failed/ interrupted/stopped. ROM is used to store information that is used to operate the
system. As its name refers to read-only memory, we can only read the programs and data that is stored on it. It
contains some electronic fuses that can be programmed for a piece of specific information. The information
stored in the ROM in binary format. It is also known as permanent memory.

ROM is of four types:


o MROM(Masked ROM): Hard-wired devices with a pre-programmed collection of data or
instructions were the first ROMs. Masked ROMs are a type of low-cost ROM that works in this way.
o PROM (Programmable Read Only Memory): This read-only memory is modifiable once by the
user. The user purchases a blank PROM and uses a PROM program to put the required contents into the
PROM. Its content can’t be erased once written.
o EPROM (Erasable Programmable Read Only Memory): EPROM is an extension to PROM
where you can erase the content of ROM by exposing it to Ultraviolet rays for nearly 40 minutes.
o EEPROM (Electrically Erasable Programmable Read Only Memory): Here the written contents
can be erased electrically. You can delete and reprogramme EEPROM up to 10,000 times. Erasing and
programming take very little time, i.e., nearly 4 -10 ms(milliseconds). Any area in an EEPROM can be wiped
and programmed selectively.

2. Secondary Memory
It is also known as auxiliary memory and backup memory. It is a non-volatile memory and used to store a large
amount of data or information. The data or information stored in secondary memory is permanent, and it is
slower than primary memory. A CPU cannot access secondary memory directly. The data/information from the
auxiliary memory is first transferred to the main memory, and then the CPU can access it.

Characteristics of Secondary Memory


• It is a slow memory but reusable.
• It is a reliable and non-volatile memory.
• It is cheaper than primary memory.
• The storage capacity of secondary memory is large.
• A computer system can run without secondary memory.
• In secondary memory, data is stored permanently even when the power is off.

Types of Secondary Memory

1. Magnetic Tapes: Magnetic tape is a long, narrow strip of plastic film with a thin, magnetic coating on it that
is used for magnetic recording. Bits are recorded on tape as magnetic patches called RECORDS that run along
many tracks. Typically, 7 or 9 bits are recorded concurrently. Each track has one read/write head, which allows
data to be recorded and read as a sequence of characters. It can be stopped, started moving forward or
backward, or rewound.

2. Magnetic Disks: A magnetic disk is a circular metal or a plastic plate and these plates are coated with
magnetic material. The disc is used on both sides. Bits are stored in magnetized surfaces in locations called
tracks that run in concentric rings. Sectors are typically used to break tracks into pieces.

Hard discs are discs that are permanently attached and cannot be removed by a single user.

3. Optical Disks: It’s a laser-based storage medium that can be written to and read. It is reasonably priced and
has a long lifespan. The optical disc can be taken out of the computer by occasional users.

Types of Optical Disks


CD – ROM
• It’s called compact disk. Only read from memory.
• Information is written to the disc by using a controlled laser beam to burn pits on the disc surface.
• It has a highly reflecting surface, which is usually aluminium.
• The diameter of the disc is 5.25 inches.
• 16000 tracks per inch is the track density.
• The capacity of a CD-ROM is 600 MB, with each sector storing 2048 bytes of data.
• The data transfer rate is about 4800KB/sec. & the new access time is around 80 milliseconds.

WORM-(WRITE ONCE READ MANY)


• A user can only write data once.
• The information is written on the disc using a laser beam.
• It is possible to read the written data as many times as desired.
• They keep lasting records of information but access time is high.
• It is possible to rewrite updated or new data to another part of the disc.
• Data that has already been written cannot be changed.
• Usual size – 5.25 inch or 3.5 inch diameter.
• The usual capacity of 5.25 inch disk is 650 MB,5.2GB etc.

DVDs
• The term “DVD” stands for “Digital Versatile/Video Disc,” and there are two sorts of DVDs:
o DVDR (writable)
o DVDRW (Re-Writable)
• DVD-ROMS (Digital Versatile Discs): These are read-only memory (ROM) discs that can be used in a
variety of ways. When compared to CD-ROMs, they can store a lot more data. It has a thick polycarbonate
plastic layer that serves as a foundation for the other layers. It’s an optical memory that can read and write
data.
• DVD-R: DVD-R is a writable optical disc that can be used just once. It’s a DVD that can be recorded.
It’s a lot like WORM. DVD-ROMs have capacities ranging from 4.7 to 17 GB. The capacity of 3.5 inch disk is
1.3 GB.

3. Cache Memory
It is a type of high-speed semiconductor memory that can help the CPU run faster. Between the CPU and the
main memory, it serves as a buffer. It is used to store the data and programs that the CPU uses the most
frequently.

Advantages of Cache Memory


• It is faster than the main memory.
• When compared to the main memory, it takes less time to access it.
• It keeps the programs that can be run in a short amount of time.
• It stores data in temporary use.

Disadvantages of Cache Memory


• Because of the semiconductors used, it is very expensive.
• The size of the cache (amount of data it can store) is usually small.

XI. Finite State Machines

Finite State Machines are the fundamental building blocks of various digital and computing systems. They
provide a systematic approach to model the behavior of sequential circuits. They also help to control various
processes in digital systems.
A Finite State Machine (FSM) is a mathematical model that is used to explain and understand the behavior of a
digital system. More specifically, it is a structured and systematic model that helps to understand the behavior
of a sequential circuit that exists in a finite number of states at a given point of time.

In more simple words, a synchronous sequential circuit is also called as Finite State Machine FSM, if it has a
finite number of states.

The transition of these finite states takes place based on the internal or external inputs that results in the
predictable and systematic changes in the behavior of the system.

Components of a Finite State Machine

A typical finite state machine consists of the following main components −

Finite States

The finite states are nothing but the distinct modes or conditions in the given system. Each of these finite states
represents a specific behavior. In digital system representation, these finite states are generally represented
through symbols or labels.

State Transitions

In terms of finite state machines, the state transition can be defined as the change from one state to another.
This change in state or state transition takes placed based on some specific inputs or conditions. These state
transitions are generally triggered by events which are associated with some rules or conditions and determine
the next state of the system.

State Diagram

The state transition and the behavior of a finite state machine can be represented in a graphical form that is
known as state diagram of the finite state machine.

Inputs

The inputs to the finite state machines are the external signals that trigger the state transitions in the system.
These inputs are to be entered into the finite state machine by using sensors, user input devices like mic,
keyboard, etc.

Outputs

The results produced by the system as per the inputs and current states are known as outputs. These outputs of
the system can be used to trigger events, control actuators, or to provide feedback to the external environment.

Types of Finite State Machine

There are two types of finite state machines namely,

• Mealy State Machine


• Moore State Machine

Let us now discuss these two types of finite state machines in detail.

Mealy State Machine


A Finite State Machine is said to be a Mealy state machine, if its outputs depend on both present inputs &
presen states. The block diagram of the Mealy state machine is shown in the following figure −

As shown in the figure, there are two main parts presents in the Mealy state machine. Those are combinational
logic circuit and memory element. The memory element is useful to provide some part of previous outputs and
present states as inputs to the combinational logic circuit.

Based on the present inputs and present states, the Mealy state machine produces outputs. Therefore, the
outputs will be valid only at positive or negative transition of the clock signal.

The state diagram of Mealy state machine is shown in the following figure.

In the above figure, there are three states, namely A, B and C. These states are labelled inside the circles and
each circle corresponds to one state. State transitions between these states are represented with directed lines.
Here, 0 / 0, 1 / 0 and 1 / 1 denote the input / output. In the above figure, there are two state transitions from
each state based on the value of input.

In general, the number of states required in Mealy state machine is less than or equal to the number of states
required in Moore state machine. There is an equivalent Moore state machine for each Mealy state machine.

Moore State Machine

A Finite State Machine is said to be a Moore state machine, if its outputs depend only on the present states.

The block diagram of the Moore state machine is shown in the following figure −
As shown in above figure, there are two parts presents in a Moore state machine. Those are combinational
logic and memory. In this case, the present inputs and present states determine the next states. So, based on
next states, Moore state machine produces the outputs. Therefore, the outputs will be valid only after transition
of the state.

The state diagram of Moore state machine is shown in the following figure −

In the above figure, there are four states, namely A, B, C, and D. These states and the respective outputs are
labelled inside the circles. Here, only the input value is labeled on each transition. In the above figure, there are
two transitions from each state based on the value of input.

In general, the number of states required in Moore state machine is more than or equal to the number of states
required in Mealy state machine. There is an equivalent Mealy state machine for each Moore state machine. So,
based on the requirement we can use one of them.

Advantages of Finite State Machine

The Finite State Machines have several advantages in the field of digital electronics. All these advantages
make them a crucial tool for modeling and implementing various digital systems.

• Finite state machines provide a simple and systematic way to model and understand the behavior of
digital systems with discrete finite states and transitions between them.
• Finite state machines support modular designs that help to breakdown the complex digital systems into
smaller components. Each component of the finite state machine can represent a specific task of the entire
system. This allows for easier design, testing, and maintenance.
• Finite state machines provide ease in terms of scalability that allows for addition of new states and
transitions, and logics to the existing system without altering its fundamental structure or operation. This
becomes essential when the system requirement evolve or expand.
• Fundamentally, finite state machines have a deterministic or predictable behavior. That means, we can
easily determine the next state of the system from its current state and the inputs. This predictable behavior
helps us to ensure the reliable and consistent operation of the system. It also makes the finite state machines
best suited for real-time and safety-critical applications.
• Finite state machines are considered highly efficient in terms of both hardware and software
implementations, as they require minimal hardware and software resources such as logic gates, memory, and
other processing resources.
• Finite state machines support parallelism. This technology allows the occurrence of multiple states and
state transitions simultaneously within the system. It also optimizes the performance and improves the
responsiveness of the system.
• Finite state machines are versatile tools in the field of digital electronics and computer science, as they
find their applications in various fields such as digital system design, control system design, software
development, development of artificial intelligence, etc.

Applications of Finite State Machine


In the field of digital electronics and computer science, the finite state machines are used in various
applications due to their ability to model sequential logic systems effectively. Here are some examples of
applications of finite state machines −

• Finite state machines are commonly used in designing and implementation of different types of
sequential logic circuits, such as digital counters, timers, control units, etc.
• Finite state machines are used in digital control systems to control and regulate the behavior of complex
automated systems, like robots, industrial control and automation systems, etc.
• Finite state machines are used in the implementation of communication protocols like network protocols
and state-based digital systems like data transmission and protocol converters.
• Finite state machines are also used in the field of software development to model and define the
behavior of state-based systems in applications, to create user interfaces, to implement game mechanics, and to
develop workflow management systems.

XII. Examples of Finite State Machines (FSMs)

Finite State Machines (FSMs) are widely used in digital systems for controlling sequences of operations based
on inputs and states.
Sequential implementation of algorithms:

The sequential implementation of algorithms is a fundamental approach in computer science and engineering,
where instructions are executed one after the other in a predefined order. This method is foundational to
traditional computing models and underpins the design of central processing units (CPUs), programming
languages, and algorithmic problem-solving. Unlike parallel or distributed implementations, sequential
execution processes a single operation at a time, making it straightforward to implement and debug.
Characteristics of Sequential Implementation
1. Linear Execution Flow: Algorithms in sequential implementation are executed step-by-step. Each
instruction must complete before the next one begins.
2. Deterministic Behavior: The outcome of sequential algorithms is predictable and repeatable because
operations follow a strict order.
3. Single Processor Utilization: Only one processor or core is used, and resources are not shared among
multiple threads or processes.
4. Ease of Debugging: The simplicity of execution order reduces complexity, making it easier to identify
and correct errors.
Steps in Sequential Implementation
1. Algorithm Design: The algorithm is designed to break down the problem into discrete, ordered steps.
2. Translation into Code: The algorithm is implemented in a programming language using constructs like
loops, conditionals, and function calls.
3. Execution on a Single Core: The program runs on a processor that executes one instruction at a time.
4. Result Validation: The output is checked for correctness by comparing it with expected results.
Advantages
• Simplicity: Sequential algorithms are easier to understand and implement compared to parallel
implementations.
• Low Overhead: No need for synchronization mechanisms or inter-process communication.
• Deterministic Output: Sequential implementations avoid race conditions, ensuring consistent results.
Limitations
• Performance Bottleneck: Sequential execution can be slow for large-scale computations as it does not
leverage multiple cores or processors.
• Inefficient for Concurrency: It cannot handle tasks that benefit from parallelism, such as real-time
systems or massive data processing.
Applications
Sequential implementation is well-suited for tasks where simplicity and determinism are priorities, such as:
• Small-scale or computationally inexpensive algorithms.
• Tasks requiring strict order, like simulations or control systems.
• Educational settings for teaching algorithm fundamentals.

Instructions Control Complete Circuits


In computer architecture, instructions control complete circuits by dictating how data flows and operations are
performed within a computing system. Instructions are commands executed by a processor, forming the basis
for communication between software and hardware. These instructions enable the control and coordination of
the various components in a circuit, such as arithmetic logic units (ALUs), registers, memory, and input/output
devices, to perform desired tasks.

The Role of Instructions in Circuit Control


1. Instruction Encoding: Each instruction is encoded as a binary pattern understood by the processor's
control unit. This encoding determines the operation to be performed, the data to use, and the destination of
results.
2. Instruction Fetch and Decode: The processor retrieves the instruction from memory (fetch) and
interprets its meaning (decode). During decoding, the control signals necessary to activate specific circuit
components are generated.
3. Control Signals: Control signals, generated by the processor's control unit, orchestrate the behavior of
various hardware components. For example, they might enable reading from a memory address, loading data
into a register, or triggering an addition operation in the ALU.

Execution Cycle
Instructions are executed in cycles typically consisting of the following steps:
1. Fetch: The instruction is retrieved from memory.
2. Decode: The control unit deciphers the instruction and generates appropriate control signals.
3. Execute: The hardware components perform the operation specified by the instruction, such as an
arithmetic calculation or memory access.
4. Write-Back: The results are stored in the designated location, such as a register or memory.
Instruction Types and Circuit Control
1. Data Transfer Instructions: These control circuits responsible for moving data between memory,
registers, and I/O devices.
o Example: MOV instruction moves data from one register to another.
2. Arithmetic and Logic Instructions: These trigger the ALU to perform calculations or logical operations.
o Example: ADD instruction adds two values and stores the result.
3. Control Flow Instructions: These modify the sequence of instruction execution, such as branches or
loops.
o Example: JMP changes the program counter to a new address.
4. I/O Instructions: These manage data exchange between the processor and peripherals.
o Example: IN or OUT instructions control I/O circuits.

Implementation of Digital Systems: Physical Implementation, Implementation Strategies, and Synthesis Tools

The implementation of digital systems involves translating a high-level design or specification into a functional
hardware system. This process requires careful planning and execution across various stages, ensuring that the
final system meets the desired functionality, performance, and cost objectives. It includes physical
implementation, implementation strategies, and the use of synthesis tools, each playing a crucial role in the
realization of the system.

1. Physical Implementation
The physical implementation of a digital system transforms an abstract design, such as a hardware description
language (HDL) representation, into a tangible hardware entity. This stage involves mapping the system onto
physical components such as transistors, gates, and interconnects on an integrated circuit (IC).
1. Stages of Physical Implementation:
o Partitioning: Dividing the design into smaller, manageable blocks or modules.
o Placement: Assigning physical locations to the components of the design within the IC.
o Routing: Establishing connections between these components using wires.
o Layout Design: Creating a geometric representation of the design, defining the placement of
components, interconnections, and layers.
o Fabrication: Using the layout to manufacture the IC through semiconductor fabrication
processes.
2. Physical Design Considerations:
o Performance: Ensuring that the system meets timing constraints, such as setup and hold times.
o Power Efficiency: Minimizing power consumption through techniques like low-power design
and efficient routing.
o Area Optimization: Reducing the chip area to lower manufacturing costs and improve density.
o Thermal Management: Ensuring heat dissipation through design techniques that prevent thermal
hotspots.
3. Tools for Physical Implementation: Tools like Cadence Virtuoso, Synopsys IC Compiler, and Mentor
Graphics Calibre are used for tasks such as placement, routing, and verification of the physical design.

2. Implementation Strategies
Digital system implementation can follow different strategies depending on the application requirements,
design complexity, and available resources. The primary implementation strategies include:
1. Full-Custom Design:
o In full-custom design, every aspect of the digital system is meticulously crafted, including the
individual logic gates and interconnections.
o Advantages:
▪ Optimal performance, power efficiency, and area utilization.
▪ Best suited for high-performance applications like microprocessors and GPUs.
o Challenges:
▪ Extremely time-consuming and resource-intensive.
▪ High cost of design and fabrication.
2. Semi-Custom Design:
o Semi-custom designs use pre-designed components, such as standard cells or intellectual
property (IP) blocks, to simplify the design process.
o Advantages:
▪ Balances performance and development effort.
▪ Faster time-to-market compared to full-custom designs.
o Examples: Application-Specific Integrated Circuits (ASICs).
3. Programmable Logic Devices (PLDs):
o PLDs like Field-Programmable Gate Arrays (FPGAs) offer flexibility by allowing designs to be
programmed after fabrication.
o Advantages:
▪ Rapid prototyping and reconfigurability.
▪ No need for custom fabrication, reducing initial costs.
o Challenges:
▪ Lower performance and higher power consumption compared to ASICs.
4. System-on-Chip (SoC):
o An SoC integrates various components, such as processors, memory, and peripherals, onto a
single chip.
o Advantages:
▪ High integration and compactness.
▪ Widely used in consumer electronics and mobile devices.
5. Hardware-Software Co-Design:
o This approach involves designing hardware and software in tandem to optimize the overall
system performance.
o Advantages:
▪ Efficient partitioning of tasks between hardware and software.
▪ Flexibility in balancing performance and programmability.

3. Synthesis Tools
Synthesis tools play a crucial role in the digital system design process by automating the translation of high-
level design descriptions into lower-level hardware representations. These tools enhance productivity and
ensure that the design meets specific requirements.
1. Role of Synthesis Tools:
o Translate behavioral descriptions (e.g., Verilog, VHDL) into gate-level representations.
o Optimize the design for performance, power, and area.
o Generate netlists for physical implementation.
2. Types of Synthesis:
o Logic Synthesis:
▪ Converts a register-transfer level (RTL) description into a gate-level netlist.
▪ Tools like Synopsys Design Compiler and Cadence Genus are commonly used.
o High-Level Synthesis (HLS):
▪ Automates the transformation of algorithms written in high-level languages (e.g., C/C++)
into RTL code.
▪ Tools like Xilinx Vivado HLS and Intel High-Level Synthesis Compiler are popular.
o Physical Synthesis:
▪ Maps gate-level designs onto physical components, considering timing, area, and power
constraints.
3. Key Features of Synthesis Tools:
o Optimization:
▪ Synthesis tools optimize the design for timing, ensuring that the critical path meets the
clock cycle requirements.
▪ They minimize area and power consumption through advanced algorithms.
o Constraint Handling:
▪ Designers can specify constraints like clock frequency, setup time, and power budgets,
which the tools use to guide optimization.
o Error Detection:
▪ Tools perform checks to identify errors such as logic conflicts, timing violations, and
unconnected components.
4. Verification and Validation:
o Synthesis tools integrate with verification platforms to ensure that the generated design matches
the original specification.
o Formal verification techniques are often employed to guarantee correctness.

Integrated Design Flow


The implementation of digital systems is not a linear process but an iterative flow, where synthesis, physical
design, and verification steps are revisited multiple times. The typical design flow includes:
1. Specification and Modeling:
o High-level requirements are translated into an initial design model using languages like Verilog
or VHDL.
2. Synthesis:
o The model is synthesized into a gate-level netlist, optimized for performance and constraints.
3. Simulation and Verification:
o Simulations ensure functional correctness at each stage of abstraction.
4. Physical Design:
o The netlist is mapped onto a physical layout, and design rule checks (DRC) and layout-versus-
schematic (LVS) checks validate the implementation.
5. Fabrication and Testing:
o The design is fabricated onto a chip, and post-fabrication testing ensures functionality.

Challenges and Future Trends


1. Challenges:
o Increasing Complexity: Modern systems integrate billions of transistors, making design and
verification challenging.
o Power Efficiency: Power constraints in portable devices necessitate innovative low-power design
techniques.
o Time-to-Market Pressure: Reducing development time without compromising quality is a critical
challenge.
2. Future Trends:
o Advanced Synthesis Techniques:
▪ Machine learning-based synthesis tools are emerging, offering better optimization and
design predictions.
o 3D Integration:
▪ 3D ICs stack multiple layers of circuits, providing greater density and performance.
o Quantum Computing:
▪ As quantum computing develops, new tools and strategies will be required to implement
and synthesize quantum circuits.

Test and Design Methods:

1. Design Methods for Digital Systems


Design methods for digital systems provide a structured approach to the creation of hardware that meets
specific requirements. These methods emphasize efficiency, modularity, and reliability while considering
constraints such as area, power, and performance.
1.1 Specification and Modeling
• Functional Specification: This is the starting point where system requirements are translated into
functional descriptions. Tools like Unified Modeling Language (UML) or high-level programming languages
like SystemC are used for abstraction.
• Behavioral Modeling: Behavioral models describe what the system should do without specifying how.
This stage uses hardware description languages (HDLs) like Verilog and VHDL to model at the Register
Transfer Level (RTL).
1.2 Modularity and Hierarchical Design
• Modular design involves breaking the system into smaller, reusable blocks or components. This reduces
complexity and facilitates debugging and testing.
• Hierarchical design structures these modules into layers, enabling clear abstraction and better scalability.
1.3 Design for Manufacturability (DFM)
• DFM ensures that the design can be efficiently manufactured while maintaining performance and
reliability. It includes techniques to minimize fabrication defects and ensure yield optimization.
1.4 Design for Testability (DFT)
• DFT is a critical aspect that makes the system easier to test. It introduces structures and techniques such
as:
o Scan Chains: These allow for easy testing of sequential circuits by connecting flip-flops in a
chain to control and observe their states.
o Built-In Self-Test (BIST): BIST incorporates testing mechanisms within the hardware to verify
its own operation during runtime.
o Boundary Scan: Standardized in IEEE 1149.1, this technique provides a way to test interconnects
between integrated circuits (ICs).
1.5 Low-Power Design
• To address energy constraints, especially in portable devices, techniques like clock gating, power gating,
and voltage scaling are employed to reduce power consumption.
1.6 Verification during Design
• Verification ensures that the system behaves as intended at each design stage. Common methods
include:
o Simulation: Tools like ModelSim and QuestaSim allow designers to simulate and verify HDL
designs at different abstraction levels.
o Formal Verification: Mathematical techniques prove the correctness of algorithms and ensure
compliance with specifications.

2. Testing Methods for Digital Systems


Testing ensures that the implemented digital system meets its functional, performance, and reliability
requirements. Testing methods can be broadly classified into pre-silicon and post-silicon testing.
2.1 Pre-Silicon Testing
Pre-silicon testing occurs during the design phase, before physical implementation. This stage uses simulation,
emulation, and static analysis to catch errors early in the process.
1. Functional Testing
o Functional testing verifies that the system's outputs align with expected results for a given set of
inputs.
o Techniques:
▪ Simulation: Testbenches are created to mimic real-world input scenarios.
▪ Assertion-Based Verification (ABV): Assertions are embedded in the HDL to check for
specific conditions during simulation.
2. Static Timing Analysis (STA)
o STA ensures that the design meets timing constraints without requiring dynamic simulation.
Tools like Synopsys PrimeTime analyze the critical paths to identify potential timing violations.
3. Emulation
o Emulation uses programmable devices like Field-Programmable Gate Arrays (FPGAs) to mimic
the design and test its functionality under near-real conditions.
4. Coverage Analysis
o Coverage metrics such as code coverage, branch coverage, and functional coverage ensure that
the testing suite exercises all parts of the design.

2.2 Post-Silicon Testing


Post-silicon testing verifies the functionality and reliability of the fabricated hardware. It involves rigorous
testing to detect manufacturing defects and validate performance under operational conditions.
1. Manufacturing Testing
o Conducted immediately after fabrication, this step checks for defects like open or short circuits.
o Techniques:
▪ Scan Testing: Inputs are scanned into the system, and outputs are observed to detect
faults.
▪ Built-In Self-Test (BIST): The system runs pre-programmed test patterns to identify
faults.
2. Functional and Performance Testing
o Real-world scenarios are tested to ensure the hardware operates as intended under normal
conditions.
o Stress testing is performed to determine the limits of performance and reliability.
3. Fault Detection and Diagnosis
o Techniques like Automated Test Equipment (ATE) and Logic Analyzers are used to detect and
diagnose faults in the system.
4. Burn-In Testing
o Burn-in testing subjects the system to elevated temperatures and voltages to identify early-life
failures caused by manufacturing defects.

2.3 Fault Models


Fault models represent the types of errors that can occur in a digital system. These models guide the
development of effective test strategies.
1. Stuck-at Fault Model
o Assumes that a node in a circuit is stuck at a logical '0' or '1', simulating common manufacturing
defects.
2. Delay Fault Model
o Models timing issues where signals fail to propagate within the expected time frame, causing
errors in high-speed designs.
3. Bridging Fault Model
o Represents short circuits between two or more nodes, leading to incorrect logic levels.
4. Open Fault Model
o Models open circuits where a connection is missing, causing a loss of signal.

3. Advanced Testing Techniques


Modern digital systems are increasingly complex, requiring sophisticated testing techniques to ensure quality
and reliability.
3.1 Automatic Test Pattern Generation (ATPG)
• ATPG tools generate optimized test patterns to detect faults efficiently, reducing test time and cost.
3.2 Built-In Self-Test (BIST)
• BIST enables the system to test itself using embedded test patterns and logic, reducing the dependency
on external testing equipment.
3.3 Fault Tolerance and Error Correction
• Fault-tolerant designs incorporate redundancy to continue operating correctly in the presence of certain
faults.
• Error detection and correction codes (e.g., Hamming codes) are used in memory systems to ensure data
integrity.
3.4 Online Testing
• Online testing techniques monitor the system during operation to detect and correct faults in real time.
Examples include watchdog timers and runtime error detection.

4. Test Metrics and Optimization


Testing methods are evaluated based on several metrics:
• Fault Coverage: Percentage of detectable faults covered by the test suite.
• Test Time: Duration required to test the system.
• Test Cost: Includes equipment, time, and resources.
• Yield Impact: Effectiveness of tests in improving manufacturing yield.
Optimization focuses on balancing test coverage with time and cost, using techniques like adaptive testing,
where test patterns are dynamically adjusted based on prior results.

5. Challenges and Future Trends


Challenges in Testing
• Increasing Complexity: Modern systems feature billions of transistors, making exhaustive testing
impractical.
• Miniaturization: Smaller transistor sizes lead to increased susceptibility to manufacturing defects and
soft errors.
• Power and Performance Trade-offs: Testing low-power designs requires ensuring minimal power
consumption without compromising functionality.
Future Trends
1. Machine Learning in Testing:
o Machine learning algorithms predict fault-prone areas and optimize test patterns.
2. 3D IC Testing:
o Advanced techniques are emerging for 3D integrated circuits, which present unique challenges in
accessibility and fault detection.
3. Quantum Computing Testing:
o As quantum computers become viable, new fault models and testing methods are being
developed.
4. Automation and AI:
o Automated testing environments are leveraging artificial intelligence to reduce human
intervention and improve accuracy.

Multiprocessor Interconnects: A Comprehensive Overview


In modern computer architecture, multiprocessor systems have become essential for handling complex
computations and large-scale data processing. These systems rely on multiprocessor interconnects to facilitate
communication between processors, memory modules, and peripheral devices. Efficient interconnect design is
critical for ensuring high performance, scalability, and fault tolerance. This discussion covers the foundational
aspects of multiprocessor interconnects, their architectural designs, performance factors, and emerging trends.

1. Introduction to Multiprocessor Interconnects


Multiprocessor systems comprise multiple processing units working together to execute tasks in parallel.
Communication between these units is managed by the interconnect, which plays a central role in data
exchange and synchronization. The two primary types of multiprocessor systems are:
1. Shared Memory Systems: Processors communicate by reading and writing to a common memory.
2. Distributed Memory Systems: Processors maintain separate memory modules and communicate via
message passing.
The interconnect is tasked with managing data flow in both system types, dictating performance in terms
of latency, bandwidth, and scalability.

2. Types of Interconnects
Interconnects are broadly classified into shared and point-to-point configurations, with several variants in each
category:
2.1 Shared Bus Interconnects
A shared bus allows multiple processors to connect to a single communication medium. While cost-effective
and easy to implement, this topology faces bandwidth limitations and contention as the number of processors
increases.
• Advantages:
o Simple design and low cost.
o Well-suited for small systems.
• Challenges:
o Scalability is limited due to bus contention.
o Increased latency as more processors are added.
2.2 Crossbar Interconnects
A crossbar switch provides direct connections between processors and memory modules. Each input
(processor) can connect to any output (memory), enabling high parallelism.
• Advantages:
o High throughput and low latency.
o Suitable for high-performance systems.
• Challenges:
o Expensive due to the need for numerous switches.
o Complexity grows quadratically with the number of processors and memory modules.
2.3 Multistage Interconnect Networks (MINs)
MINs use a series of switching stages to connect processors and memory modules. Examples include
the Omega Network and Butterfly Network.
• Advantages:
o Reduced hardware complexity compared to crossbars.
o Moderate scalability with efficient routing algorithms.
• Challenges:
o Contention at switches can degrade performance.
o Requires careful mapping of processor-memory connections.
2.4 Point-to-Point Interconnects
These interconnects establish direct links between processors and other components, forming complex network
topologies like mesh, hypercube, and torus.
• Mesh Networks:
o Processors are arranged in a grid structure.
o Provides scalability but increases communication delays for distant nodes.
• Hypercube Networks:
o Connect processors in a binary n-dimensional cube.
o Offers efficient routing with logarithmic distance scaling.
• Torus Networks:
o Extend the mesh topology by connecting edge nodes, reducing latency for distant
communications.

3. Design and Performance Considerations


3.1 Latency and Bandwidth
Latency measures the time taken for a message to traverse the interconnect, while bandwidth quantifies the
data transfer rate. Minimizing latency and maximizing bandwidth are primary goals in interconnect design.
• Low-Latency Designs:
o Use direct or shorter routing paths.
o Employ fast switching technologies.
• High-Bandwidth Systems:
o Utilize wider communication channels or higher clock frequencies.
o Leverage parallelism to handle multiple transactions simultaneously.
3.2 Scalability
As the number of processors in a system increases, the interconnect must scale without significant degradation
in performance. Distributed topologies, like meshes and hypercubes, excel in scalability but require careful
management of latency and routing overhead.
3.3 Fault Tolerance
Interconnects must remain operational in the presence of hardware failures. Techniques such as redundant
pathways, error-correcting codes (ECC), and dynamic rerouting improve system reliability.
3.4 Power Efficiency
Power consumption is a critical constraint, particularly in systems with many processors. Techniques like low-
power signaling, clock gating, and voltage scaling help reduce interconnect energy usage.

4. Multiprocessor Interconnects-I: Shared-Memory Systems


In shared-memory architectures, the interconnect enables all processors to access a common memory pool.
Two critical issues are cache coherence and memory consistency:
• Cache Coherence: Ensures that multiple copies of the same memory location in different caches are
consistent.
o Protocols like MESI (Modified, Exclusive, Shared, Invalid) are used to manage coherence.
• Memory Consistency Models: Define the order in which memory operations appear to processors.
Examples include Sequential Consistency and Relaxed Consistency Models.
The interconnect topology must support fast and coherent memory access while minimizing contention and
bottlenecks.

5. Multiprocessor Interconnects-II: Distributed-Memory Systems


In distributed-memory systems, processors communicate by sending and receiving messages. The interconnect
must support efficient routing and message delivery, often involving:
• Dynamic Routing Algorithms: Adapt routing paths based on network congestion and failures.
• Packet Switching: Transmit data as packets, which can take independent routes to their destination.
These systems benefit from scalable interconnects like hypercubes and torus networks, which balance
performance and cost.

6. Emerging Trends in Interconnect Design


6.1 Networks-on-Chip (NoC)
In multicore processors, on-chip interconnects use NoC architectures to connect cores efficiently. NoCs offer
high performance with scalable topologies like mesh or tree networks.
6.2 Optical Interconnects
Optical technologies promise low-latency, high-bandwidth communication. They are especially suited for
large-scale systems where electrical interconnects face bandwidth and power limitations.
6.3 Machine Learning for Optimization
AI techniques are increasingly used to optimize routing, predict traffic patterns, and manage power efficiency
dynamically.
6.4 Quantum Interconnects
In quantum computing systems, specialized interconnects handle entangled qubits and quantum data transfer,
paving the way for highly parallel quantum systems.

7. Challenges in Multiprocessor Interconnects


Despite advancements, several challenges persist:
1. Complexity: Designing efficient interconnects for large systems remains intricate.
2. Cost: High-performance interconnects like crossbars are expensive.
3. Scalability: Ensuring low latency and high bandwidth in large systems is challenging.
4. Power Consumption: Energy-efficient interconnects are critical for sustainable computing.
Sample questions:
1. What is the key difference between combinational and sequential circuits?
A) Sequential circuits depend only on current inputs.
B) Sequential circuits have memory elements that store past inputs.
C) Combinational circuits use flip-flops to store data.
D) Sequential circuits are always faster than combinational circuits.

2. Which of the following is true about a flip-flop in digital circuits?


A) It is a combinational logic element.
B) It is used to store a single bit of information.
C) It operates without any clock signal.
D) It cannot be used in registers.

3. In a finite state machine (FSM), the transition between states is determined by:
A) The current state only
B) The current state and inputs
C) The clock signal only
D) The outputs of the FSM

4. Which of the following sequential circuits is used to count the number of pulses in a signal?
A) Counter
B) Multiplexer
C) Decoder
D) Register

5. What is the primary function of a register in a sequential circuit?


A) To perform arithmetic operations
B) To store multiple bits of data
C) To reduce signal delay
D) To decode binary data into control signals

6. In a synchronous sequential circuit, the changes in the state occur:


A) Independently of a clock signal
B) Only when the inputs change
C) On the edge of the clock signal
D) After a specified time delay

7. How many flip-flops are required to implement a 4-bit counter?


A) 1
B) 2
C) 3
D) 4

8. **Which of the following statements is true about Finite State Machines (FSMs)?
A) An FSM can have infinite states.
B) An FSM’s output depends only on the current state.
C) FSMs can be used to model both combinational and sequential circuits.
D) An FSM’s output can depend on both current state and inputs.

9. In the physical implementation of digital systems, synthesis tools are used to:
A) Simulate the behavior of sequential circuits
B) Optimize the design and map it onto physical hardware
C) Generate test cases for verification
D) Visualize the flow of data between components

10. In a multiprocessor interconnect, what is the primary purpose of the interconnect architecture?
A) To control the execution of individual instructions
B) To manage cache coherence between processors
C) To facilitate communication between processors and memory
D) To increase the number of instructions processed per second

ANSWERS:
1. B) Sequential circuits have memory elements that store past inputs.
2. B) It is used to store a single bit of information.
3. B) The current state and inputs
4. A) Counter
5. B) To store multiple bits of data
6. C) On the edge of the clock signal
7. D) 4
8. D) An FSM’s output can depend on both current state and inputs.
9. B) Optimize the design and map it onto physical hardware
10. C) To facilitate communication between processors and memory
Sample Numerical questions:
1. How many address bits are needed to select all memory locations in the 16K × 1 RAM?
a. 14
b. 16
c. 10
d. 12

2. A 64-bit word consists of ________.


a. 4 bytes
b. 8 bytes
c. 10 bytes
d. 12 bytes

3. How many 2K × 8 ROM chips would be required to build a 16K × 8 memory system?
a. 2
b. 4
c. 8
d. 16
4. How many 2K × 8 ROM chips would be required to build a 16K × 8 memory system?
a. 3192
b. 1024
c. 4096
d. 2048
5. Calculate the A-B, A= 101001102 and B=110011002
a. 11011010
b. 00100110
c. 10100110
d. 10110000
6. Consider a 4-bit up counter with terminal count output TC. The frequency of input Clock, CK1 is equal to
128KHz. What is the frequency of output Clock, CK2 = TC?
a. 16 Khz
b. 1KHz
c. 8 KHz
d. 4 kHz
7. How many 256-word, 4 bits per word, memory blocks are necessary to implement a 256-word, 64 bits per
word, memory bank?
a. 8 blocks
b. 16 blocks
c. 32 blocks
d. 64 blocks
8. A 4-bit binary up counter has an input clock frequency of 20 kHz. Calculate the frequency of the most
significant bit.
a. 1.25 kHz
b. 2.50 kHz
c. 1.75 kHz
d. 5 kHz
9. Suppose that a certain semiconductor memory chip has a capacity of 8K × 8. How many bytes could be
stored in this device?
a. 8,000
b. 64,000
c. 65,536
d. 8,192
10. Calculate the address bits required for a 4096-bit memory organized as a 512 × 8 memory.
a. 2
b. 4
c. 8
d. 9
11. Consider the setoff 5-veriable functions f(e,d,c,b,a). Note that the order of variable is : e,d,c,b,a. What
cube is represented by 1x01x?
a. a.c.d
b. a.c.d
c. e.c.b
d. b.e
12. How many 256-word, 4 bits per word, memory blocks are necessary to implement a 1024-word, 4 bits per
word memory bank?
a. 2
b. 4
c. 8
d. 16

Answer:
1. a
2. b
3. c
4. d
5. a
6. c
Hint: CK2= CK1/16, 16 for 4-bits = 8 Khz
7. b
Hint: Memory Block=256 words x 4 bits =1024 bits/block
Memory bank= 256 words x 64 bits =16384 bits
No. of Blocks = Memory bank/Memory blocks =16384/1024 =16 blocks
8. a
Hint:
The most significant bit (MSB) of a binary counter toggle at half the frequency of the complete count
cycle, fCK=20/2=10 kHz
No. of States for MSB is 24-1=8
fMSB= fCK/No. of States
fMSB=10/8 =1.25 kHz
9. d
Hint: 8K×8 bits=(8×1024) bytes=8192 bytes
10. d
11. c
12. b

You might also like