Professional Documents
Culture Documents
SESSION-1
• CO3: To study PLD structures and design process. Study of different CPLD and
FPGA architectures
Research work: Tunnel FET based Energy Efficient Circuit Design with Enhanced
Hardware security.
Teaching interests: Circuits and Systems for VLSI, Cryptography and hardware security.
• The programming can be done either by the end user or by the manufacturer.
• The PLDs, which are programmed by the manufacturer, are known as mask-
programmable logic devices (MPLDs).
• The PLDs which are programmed by the end user are called field-programmable
logic devices (FPLDs).
• The architecture of PLDs is very regular and fixed. It cannot be changed
by the end user.
• The PLDs have a wide range of applications, and have a low risk and cost
in manufacturing large volume.
• Hence, the PLDs are cheaper. As the PLDs are premanufactured, tested,
and placed in inventory in advance, the design cycle time is very short.
The PLDs are classified into three categories based on the architecture and
programmability as given below:
• Both the outputs and the next state are a function of the inputs and the
present state.
Example
• It has one input variable x, one output variable y, and two
clocked RS flip-flops labeled A and B.
• The time sequence of inputs, outputs, and flip-flop states
may be enumerated in a state table.
• The state table for the circuit is shown in Table. It consists of
three sections labeled present state, next state, and output.
• The next state shows the states of flip-flops after the
application of a clock pulse, and the output section lists the
values of the output variables during the present state.
State Diagram
• The information available in a state table may be represented graphically in
a state diagram.
• The two most obvious cost reductions are reductions in the number of flip-flops and
the number of gates.
• State reduction algorithms are concerned with procedures for reducing the number
of states in a state table while keeping the external input-output requirements
unchanged.
Example
• First step is to prepare a state table from
the state diagram to apply the procedure.
• Identifying equivalent states
• Two states are said to be equivalent if, for each member of the set of
inputs, they give exactly the same output and send the circuit either to
the same state or to an equivalent state.
• When two states are equivalent, one of them can be removed without
altering the input-output relationships
• Removing a state
State repeating can be removed
State Assignment
• The cost of the combinational circuit part of a sequential circuit can be
reduced by using the known simplification methods for combinational
circuits.
• However, there is another factor, known as the state assignment problem,
that comes into play in minimizing the combinational gates.
• State assignment procedures are concerned with methods for assigning
binary values to states in such a way as to reduce the cost of the
combinational circuit that drives the flip-flops.
Flip-flop Excitation Tables
• A characteristic table defines the logical property of the flip-flop and
completely characterizes it
Flip-Flop logic diagrams
• During the design process we usually know the transition from present
state to next state and wish to find the flip-flop input conditions that
will cause the required transition.
• For this reason, we need a table that lists the required inputs for a
given change of state. Such a list is called an excitation table.
Design procedure
1. The word description of the circuit behavior is stated. This may be accompanied by a state diagram, a timing diagram, or
other pertinent information.
2. From the given information about the circuit, obtain the state table.
3. The number of states may be reduced by state reduction methods if the sequential circuit can be characterized by input-
output relationships independent of the number of states.
4. Assign binary values to each state if the state table obtained in step 2 or 3 contains letter symbols.
5. Determine the number of flip-flops needed and assign a letter symbol to each.
7. From the state table, derive the circuit excitation and output tables.
8. Using the map or any other simplification method, derive the circuit output functions and the flip-flop input functions.
assign o = (~s[1] & ~s[0] & i[0]) | (~s[1] & s[0] & i[1]) | (s[1] & ~s[0] & i[2]) | (s[1]
& s[0] & i[3]);
endmodule
Behavioural level modelling
module Mux_4to1(
input [3:0] i,
input [1:0] s,
output reg o
);
always @(s or i)
begin
case (s)
2'b00 : o = i[0];
2'b01 : o = i[1];
2'b10 : o = i[2];
2'b11 : o = i[3];
default : o = 1'bx;
endcase
end
endmodule
AND gate design
module AND_2_behavioral (output reg Y, input A, B);
always @ (A or B) begin
else
Y = 1'b0;
end
endmodule
Full adder design
module RisingEdge_DFlipFlop(D,clk,Q);
input D; // Data input
input clk; // clock input
output Q; // output Q
always @(posedge clk)
begin Q <= D;
end
endmodule
Up counter
module up_counter(input clk, reset, output[3:0] counter );
reg [3:0] counter_up; // up counter
always @(posedge clk or posedge reset)
begin if(reset)
counter_up <= 4'd0;
else
counter_up <= counter_up + 4'd1;
end
assign counter = counter_up;
endmodule
Down counter
module down_counter(input clk, reset, output[3:0] counter );
reg [3:0] counter_down; // down counter
always @(posedge clk or posedge reset)
begin if(reset)
counter_down <= 4‘hf;
else
counter_down <= counter_down - 4'd1;
end
assign counter = counter_down;
endmodule
Up-down counter
module up_down_counter(input clk, reset, up_down, output[3:0] counter );
reg [3:0] counter_up_down; // down counter
always @(posedge clk or posedge reset)
begin
if(reset)
counter_up_down <= 4'h0;
else if(~up_down)
counter_up_down <= counter_up_down + 4'd1;
else
counter_up_down <= counter_up_down - 4'd1;
end
assign counter = counter_up_down;
endmodule
Test bench module updowncounter_testbench();
reg clk, reset,up_down;
wire [3:0] counter;
up_down_counter g1(clk, reset,up_down, counter); initial
begin clk=0;
end
always
#5 clk=~clk;
initial begin reset=1;
up_down =1’b0;
#20;
reset=0;
#200;
up_down=1;
end
endmodule
CO2
Types of ASICs
Full-Custom ASICs: Possibly all logic cells and all mask layers customized
Semi-Custom ASICs: all logic cells are pre-designed and some (possibly all)
mask layers customized
Types of ASICs – Cont’d
• Full-Custom ASICs
• Standard-Cell–Based ASICs
• Gate-Array–Based ASICs
• Channeled Gate Array
• Channel Less Gate Array
• Structured Gate Array
• Programmable Logic Devices
• Field-Programmable Gate Arrays
Types of ASICs – Cont’d
Full-Custom ASICs
Include some (possibly all) customized logic cells
Have all their mask layers customized
Full-custom ASIC design makes sense only
When no suitable existing libraries exist
Existing library cells are not fast enough
The available pre-designed/pre-tested cells consume too much power that a
design can allow
The available logic cells are not compact enough to fit
ASIC technology is new or/and so special that no cell library exits.
Offer highest performance and lowest cost (smallest die size) but at
the expense of increased design time, complexity, higher design cost
and higher risk.
Full-Custom ASICs(HAND HELD)
• All mask layers are customized in a full-custom ASIC
• Generally, the designer lays out all cells by hand
• Some automatic placement and routing may be done
• Critical (timing) paths are usually laid out completely by hand
• Full-custom design offers the highest performance and lowest part cost (smallest
die size) for a given design
• The disadvantages of full-custom design include increased design time,
complexity, design expense, and highest risk
• Microprocessors (strategic silicon) were exclusively full-custom, but designers are
increasingly turning to semicustom ASIC techniques in this area as well
• Other examples of full-custom ICs or ASICs are requirements for high-voltage
(automobile), analog/digital (communications), sensors and actuators, and
memory (DRAM)
Standard-Cell-Based ASICs
• Uses standard cell library as the basic building blocks of chip.
• As compared to full-custom design, cell based design offers much higher productivity
because it uses predesigned cells with layouts.
• Small scale integration logic (NAND, NOR, XOR, AOI, OAI, inverter), Memories and
Processor designs.
Engineering design cost: The cost of designing IC during the chip design
process (Personnel cost, support cost)
• Personnel cost:
Architectural design
Logic capture
Timing verification
• support cost:
Computer costs
Education cost
Prototype manufacturing cost
• The mask cost
• The fixture costs
• Package tooling
• The photo mask cost depends on the number of steps used in the process and precision
required in each step.
• A test fixture consists of a printed wiring for individual die.
• If a custom package is required, it may have to be designed and manufactured.
Recurring cost
• Fabrication cost
• Packaging cost
• Testing cost
Rtotal = Rprocess+Rpackage+Rtest
Fixed cost
• Data sheets
• User manual
• Application notes
Schedule
• It is important to estimate the design time to select a strategy by which
the ICs will be available in right time.
Different Programming Technologies
Antifuse:
• Antifuse is opposite of regular fuse, an anti fuse is normally open circuit
until you force a programming current through it.
• In a poly diffusion antifuse the high current density causes a large power
dissipation in small area, which melts a thin insulating dielectric.
• This forms a thin, permanent, and resistive link.
Static RAM technology
• It is constructed from two-cross coupled inverters.
• The configuration cell drives the gates of other transistors.
• The advantage of SRAM programming technology is the designers can
reuse.
EPROM –Erasable programmable ROM
• For programming EPROM memory, FAMOS (Floating gate avalanche injection MOS)
device will be used.
• When the higher gate voltage is applied to FAMOS device, the threshold voltage of the
device is increased and is programmed.
• Exposing memory to UV rays, electrons in floating gate acquire the energy and
overcome silicon dioxide barrier and move to silicon substrate.
• Part of the memory can not be erased.
Electrically erasable programmable ROM
• For programming EPROM memory, FLOTOX (Floating gate tunnelling
oxide MOS) device will be used.
• Over the drain the floating gate is present, and the oxide thickness is very
low.
• When small positive gate voltage is applied the electrons will implant on
floating gate.
• These electrons can be easily removed easily and can be erased bit by bit.