Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

PAMANTASAN NG CABUYAO

COLLEGE OF COMPUTING AND ENGINEERING

COURSE CODE: CPP 110

COURSE DESCRIPTION: INTRODUCTION TO HDL

COURSE INTENDED On the completion of the course, student is expected to be able to do the
LEARNING OUTCOMES: following:

1. The ability to code and simulate any digital function in HDL.


2. Understand library modeling, behavioral code and the differences
between them.
3. Understand the differences between simulator algorithms as well
as Logic verification using HDL software tool
4. Learn good coding techniques per current industrial practices

LEARNING MATERIAL FOR 10


WEEK NUMBER:

I. TITLE: Combinational Circuit

II. OBJECTIVES: By the end of this module you should be able to:

1. Understand Boolean Algebra


2. Know how to create minimized logic equation using K-map.
3. Know how to run a Verilog Circuit Simulation.

III. INTRODUCTION:
Combinational logic circuits implement logical functions. Used for
control, arithmetic, and data steering, combinational circuits are the heart
of digital systems. In this module we introduce combinational logic
circuits and describe a procedure to design these circuits given a
specification.

At one time, before the mid-1980s, such manual synthesis of


combinational circuits was a major part of digital design practice. Today,
however, designers write the specification of logic circuits in a hardware
description language (like Verilog) and the synthesis is performed
automatically by a computer-aided design (CAD) program.
IV. CONTENTS:

Lesson Coverage:

- Combinational Circuit

LECTURE NOTES COMPILATION Page 1 of 8


1st Semester A.Y. 2022-2023
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

INTRODUCTION

Combinational logic circuit generates a set of outputs whose state depends only on the current state of the inputs.
Of course, when an input changes state, sometime is required for an output to reflect this change. However, except
for this delay the outputs do not reflect the history of the circuit.

With a combinational circuit, a given input state will always produce the same output state regardless of the
sequence of previous input states. A circuit where the output depends on previous input states is called a sequential
circuit

Combinational logic circuits are important because their static nature makes them easy to design and analyze. As
we shall see, general sequential circuits are quite complex in comparison. In fact, to make sequential circuits
tractable we usually restrict ourselves to synchronous sequential circuits which use combinational logic to
generate a next state function.

Logic circuits that depend only on their inputs are combinational and not combinatorial. While these two words
sound similar, they mean different things. The word combinatorial refers to the mathematics of counting, not to
logic circuits. To keep them straight, remember that combinational logic circuits combine their inputs to generate
an output.

A valuable property of combinational logic circuits is that they are closed under acyclic composition. That is, if
we connect together a number of combinational logic circuits — connecting the outputs of one to the inputs of
another — and avoid creating any loops — that would be cyclic — the result will be a combinational logic circuit.
Thus we can create large combinational logic circuits by connecting together small combinational logic circuits.

Often we start with a truth table that shows the output value for each input combination.

A minterm is a product term that includes each input of a circuit or its complement. The name minterm derives
from the fact that these four input product terms represent a minimal number of input states (rows of the truth
table), just one.

Expressing a logic function as a sum of minterms is a normal form that is unique for each logic function. While

this form is unique, its not particularly efficient. We can do much better by combining minterms into simpler
product terms that each represent multiple lines of our truth table.

Test Bench

To verify that a Verilog module is correct, we write a test bench. A test bench is a piece of Verilog code that is
used during simulation to instantiate the module to be tested, generate input stimulus, and check the module’s
outputs.

While modules must be coded in a strict synthesizable subset of Verilog, test benches, which are not synthesized,
can use the full Verilog language, including looping constructs. In a typical modern digital design project at least
as much effort goes into design verification (writing test benches) as goes into doing the design itself

LECTURE NOTES COMPILATION Page 2 of 8


1st Semester A.Y. 2022-2023
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

Decoder

In general, a decoder converts symbols from one code to another. When used by itself, however, the term decoder
means a binary to one-hot decoder. That converts a symbol from a binary code (each bit pattern represents a
symbol) to a one-hot code (at most one bit can be high at a time and each bit represents a symbol).

Read Only Memory (ROM)

A read-only memory or ROM is a module that implements a look-up table. It accepts an address as input and
outputs the value stored in the table at that address. The ROM is read-only because the values stored in the table
are

predetermined - hard-wired at the time the ROM is manufactured and cannot be changed. A ROM can implement
an arbitrary logic function by storing the truth table of that function in the ROM.

Read – Write Memories (RAM)

A read-write memory or RWM is like a ROM but also allows the contents of the table to be changed or written.
For historical reasons read-write memories are commonly called RAMs. The use of the term RAM to refer to a
RWM

is almost universal, so we will adopt it as well. Strictly speaking, a RAM is a sequential logic device — it has
state and hence its outputs depend on its input history.

The column “multiplexing” for writes is a bit more involved and will not be discussed further here. Most practical
RAMs also use a much more efficient bit cell than the latch plus tri-state buffer shown here. Most static RAMs
(SRAMs) use a six-transistor storage cell while modern dynamic RAMs (DRAMSs) use a cell composed of a
single transistor and a storage capacitor.

Data Sheets

We often will use a building block, or an entire subsystem, in a larger design without understanding its
implementation. When we use a building block in this manner we rely on the specification of the block. This
specification, often called a data sheet gives enough information to use the block, but omits internal details of
how the block is constructed. A data sheet typically contains:

1. A functional description of the block - what the block does. This should be in sufficient detail as to
completely specify the block’s behavior. For a combinational block, a truth table or equation is often used to
specify the block’s function.

2. A detailed description of the inputs and outputs of the block. A signal by signal description that gives the
signal name, width, direction, and a brief description of the signal.

3. A description of all block parameters, if any.

LECTURE NOTES COMPILATION Page 3 of 8


1st Semester A.Y. 2022-2023
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

4. A description of all of the visible state and registers in the block (for sequential blocks).

5. The synchronous timing of the block. The cycle-level timing of the block.

6. The detailed timing. The timing of input and output signals within a single cycle.

7. Electrical properties of the block: power requirements, power consumed, input and output signal levels,
input loads and output drive levels.

Combinational Circuits (CC) are circuits made up of different types of logic gates. A logic gate is a basic building
block of any electronic circuit. The output of the combinational circuit depends on the values at the input at any
given time. The circuits do not make use of any memory or storage device.

A combinational logic circuit as the name itself indicates that it is the combination of various kinds of logic gates.
The combinational circuit goes with the characteristics of:

• At any instant of time, the output is based only on the levels of current input terminals and not on the past
state inputs.
• These circuits do not need any kind of memory states or clock, so the past inputs show no influence on
the current state of the circuit.
• A combinational circuit can intake ‘n’ number of inputs and delivers only one output.

Either the complicated or simple combinational logic, these can be represented through ‘NAND’, ‘NOT’ or ‘NOR
gates’.

Representation of Combinational Logic Circuits

Here, we discuss the three approaches of representing combinational logic circuits

Logic gates – These are the basic building blocks in the development of combinational logic circuits. NAND,
NR, NOT, NOR, OR, AND are all logic gates.

Boolean algebra – This representation stipulates the association that is between Boolean variables and is used to
design digital circuitry through logic gates. Every digital system is basically designed with logic gates and so
Boolean algebra is the one foremost approach to represent a combinational logic circuit.

Truth table – This method computes the operational values of logical expressions for every combination of
values taken by their logical variables. For every single-bit output in the logic block, a truth table is necessary to
represent the logic. In general, all the output columns are represented in a single table.

For example, an expression that can be represented in the above three approaches as follows:

LECTURE NOTES COMPILATION Page 4 of 8


1st Semester A.Y. 2022-2023
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

Classification of Combinational Logic Circuits

Combinational logic circuits are classified as below

The foremost implementation of the combinational logic circuit is Multiplexer and de-multiplexer. In these, many
numbers of inputs or outputs are on a single line and the logic gates are employed to decode corresponding output
for the specified input.

LECTURE NOTES COMPILATION Page 5 of 8


1st Semester A.Y. 2022-2023
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

Applications of Combinational Logic Circuit

Combinational logic circuits are the basic building blocks of digital systems. They have an extensive variety of
applications. They are used in

• Digital measuring techniques


• Digital processing
• Industrial processing
• Computers
• Calculators
• Digital Communication

Combinational logic circuits as arithmetic and logic circuits have applications as

• Comparators
• Programmable logic devices
• Adders & Subtractors

Combinational logic circuits as data transmission circuits have applications as

• Parallel to serial convertors


• Data routing
• Serial to parallel converters
• Bit Compression
• ADC and DAC
• Encoders & Decoders

Combinational logic circuits as code converter circuits have applications as

• Binary to gray code conversion


• Gray to Binary conversion
• BCD to Excess-3
• Excess-3 to BCD
• Seven segment code

Combinational Logic Circuit Design Procedure

The below steps clearly explain the design procedure of how a combinational logic system is developed

1. Identifying the required number of input and output variables

2. Symbolizing all the identified input and output variables

3. Express the relationship between these variables

4. With the relationship, construct the truth table

5. Derive the Boolean expression for all the outputs

6. Minimize the Boolean expression to reduce the complication

7. Design the logic diagram with the help of Boolean expressions

LECTURE NOTES COMPILATION Page 6 of 8


1st Semester A.Y. 2022-2023
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

To minimize Boolean expressions, various approaches are followed. K-map and Quinne-McCluskey are the most
followed techniques. The above-stated procedure is a streamlined and effective technique. Through this, the
design of circuits seems to be completely reliable.

LECTURE NOTES COMPILATION Page 7 of 8


1st Semester A.Y. 2022-2023
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

V. REFERENCES: Roth, C.H. Jr. And John, L. K. (2018). Digital Systems Design Using VHDL (3rd
ed.). Texas, USA: Cengage Unlimited

Brown, S. and Vranesic, Z. (2009). Fundamentals of Digital Logic with VHDL


Design. (3rd ed.). New York, NY: McGraw-Hill

Online Readings and Guide

Hardware Description Language | VLSI Tutorial | Mepits

VHDL || Electronics Tutorial (electronics-tutorial.net)

Index of /ece232/pdf (umass.edu)

VI. ASSESSMENT TASK:

See Attached file given by the instructor

LECTURE NOTES COMPILATION Page 8 of 8


1st Semester A.Y. 2022-2023

You might also like