Advanced Digital Design Using Verilog (KEC-054) Notes - Unit 5
Advanced Digital Design Using Verilog (KEC-054) Notes - Unit 5
Notes – Unit 5
Design Entry: In this step, circuit is designed using either HDL programming/schematic design
(Semi custom designing), or layout designing (Full custom designing).
Functional Simulation: In this step, functional verification of design is done. No timings are
considered.
Logic Synthesis: In this step, design is converted into gate level netlist. This step uses synthesis
library containing target technology information.
Static Timing Analysis: This step is used to test design at a specified frequency, and detect as
well as correct race conditions.
Pre-Layout Simulation: This step involves functional and timing verification of design at a
specified frequency, taking into consideration the logic gate delays.
System Partitioning and Floor-planning: In System partitioning step, design is partitioned into
smaller modules (blocks) using various partitioning algorithms. Floor-planning involves arranging
the circuit blocks on the chip.
Placement and Routing: Placement decides the exact location of cells in a circuit block. In
routing, interconnection between different cells is done.
Post-Layout Simulation: In this step, functionality of the design is verified taking into
consideration the routing delays also.
Physical Verification: Physical verification is a process whereby an integrated circuit layout (IC
layout) design is verified via Electronics Design Automation (EDA) software tools to ensure
correct electrical and logical functionality and manufacturability. Physical Verification involves
design rule check (DRC), layout versus schematic (LVS), and electrical rule check (ERC).
Fab prototype and Testing: In this step, a prototype of the design is prepared and testing is done.
Main objective of testing is to detect physical faults, if any, which may lead to failure of design.
Production: After testing of prototype design, large scale chip production is done in fabrication
labs (also known as foundry). Some well known foundries are TSMC (Taiwan Semiconductor
Manufacturing Company), Intel, Samsung and Texas instruments.
Programmable Logic Devices PLDs are the integrated circuits. They contain an array of
AND gates & another array of OR gates. There are three kinds of PLDs based on the
type of arrays, which has programmable feature.
Here, the inputs of AND gates are not of programmable type. So, we have to generate
2n product terms by using 2n AND gates having n inputs each. We can implement these
product terms by using nx2n decoder. So, this decoder generates ‘n’ min terms.
Here, the inputs of OR gates are programmable. That means, we can program any
number of required product terms, since all the outputs of AND gates are applied as
inputs to each OR gate. Therefore, the outputs of PROM will be in the form of sum of
min terms.
Example
Here, 3 to 8 decoder generates eight min terms. The two programmable OR gates have
the access of all these min terms. But, only the required min terms are programmed in
order to produce the respective Boolean functions by each OR gate. The symbol ‘X’ is
used for programmable connections.
Programmable Array Logic PAL
PAL is a programmable logic device that has Programmable AND array & fixed OR array.
The advantage of PAL is that we can generate only the required product terms of
Boolean function instead of generating all the min terms by using programmable AND
gates. The block diagram of PAL is shown in the following figure.
Here, the inputs of AND gates are programmable. That means each AND gate has both
normal and complemented inputs of variables. So, based on the requirement, we can
program any of those inputs. So, we can generate only the required product terms by
using these AND gates.
Here, the inputs of OR gates are not of programmable type. So, the number of inputs to
each OR gate will be of fixed type. Hence, apply those required product terms to each
OR gate as inputs. Therefore, the outputs of PAL will be in the form of sum of products
form.
Example
Here, the inputs of AND gates are programmable. That means each AND gate has both
normal and complemented inputs of variables. So, based on the requirement, we can
program any of those inputs. So, we can generate only the required product terms by
using these AND gates.
Here, the inputs of OR gates are also programmable. So, we can program any number
of required product terms, since all the outputs of AND gates are applied as inputs to
each OR gate. Therefore, the outputs of PAL will be in the form of sum of products
form.
Example