Beruflich Dokumente
Kultur Dokumente
No:
Date :
SOFTWARE REQUIRED:
1) Simulation tool – Tanner EDA v16.0 S-Edit.
2) Simulation tool – Tanner EDA v16.0 T-Spice.
3) Simulation tool – Tanner EDA v16.0 W-Edit.
RESULT:
Thus the source follower was constructed, the frequency response was
plotted and the noise analysis was performed using Tanner EDA tool.
SOFTWARE REQUIRED:
1) Simulation tool – Tanner EDA v16.0 S-Edit.
2) Simulation tool – Tanner EDA v16.0 T-Spice.
3) Simulation tool – Tanner EDA v16.0 W-Edit.
SOLUTION:
1) The first step is to calculate the minimum value of the compensation capacitor Cc,
Cc > 0.22CL 1
Cc > 0.22 × 10pF = 2.2 pF
2) Choose Ccas 3pF. Using the slew-rate specification and Cc calculate I5.
I5 = SR × Cc 2
I5= (10x10-6) × (3x10-12)= 30µA
3) Next calculate (W/L)3 using ICMR requirements (use worst case
thresholds±0.15V).
5
3
(max) | 0 |(max) (min) 2
( ) = 30
( )
( ) ( )
4) Now we can check the value of the mirror pole, P3, to make sure that it is in fact
greater than 10GB. Assume the Cox = 6fF/µm2. The mirror pole can be found as
4
2
√
= -1.25 × 109(rads/sec)
( )
( ) ( ) √ ( ) 6
2 5
5
5 ( ) 2
√
gm6 = 2.2gm2(CL/Cc) and = =√ 7
√
S6 = S4
W
( ) 0
L
(W/L)7= 6
Let us check the Vout(min) specification although the W/L of M7 is so large that this is
probably not necessary. The value of Vout(min) is
(2 5)
Vout(min)=VDS7 (sat) = √( = 0.281V
20 20)
Which is less than required. At this point, the first cut design is complete.
10) Now check to see that the gain specification has been met
AV = ( ) ( )
9
( ) ( )
AV = ( )( )( )
= 3180V/V
)(
CIRCUIT DIAGRAM:
OUTPUT:
RESULT:
Thus Two Stage Operational Amplifier was designed and the functionality is
verified using Tanner EDA tool.
SOFTWARE REQUIRED:
1) Simulation tool – Tanner EDA v16.0 S-Edit.
2) Simulation tool – Tanner EDA v16.0 T-Spice.
3) Simulation tool – Tanner EDA v16.0 W-Edit.
DESIGN:
Nominally, Iout = Iin, and thus we can find the small-signal parameters for thiscurrent
mirror to be
gm4 = √2 ( ) = 0.97mA/V
We also have
0
rds2 = rds4 = = =25KΩ
0
RESULT:
Thus the Cascode current mirror was designed and the functionality was
verified using Tanner EDA tool.
SOFTWARE REQUIRED:
Simulation tool – Active HDL 8.1SP2
ALGORITHM:
1. Create a working library
File → New → Workspace
2. Create a design
File → New → Design
3. Create a file
File → New → Verilog Source
TRUTH – TABLE:
INPUT OUTPUT
a b c
0 0 1
0 1 1
1 0 1
1 1 0
PROGRAM:
module nand2 (c,a,b);
output c;
input a,b;
nand(c,a,b);
endmodule
OUTPUT:
NOR GATE:
SYMBOL:
TRUTH – TABLE:
INPUT OUTPUT
a b c
0 0 1
0 1 0
1 0 0
1 1 0
PROGRAM:
module nor2 (c,a,b);
output c;
input a,b;
nor(c,a,b);
endmodule
OUTPUT:
HALF ADDER:
LOGIC DIAGRAM:
TRUTH – TABLE:
INPUT OUTPUT
a b s c
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
PROGRAM:
module halfadder (c,s,a,b);
output c,s;
input a,b;
xor(s,a,b);
and(c,a,b);
endmodule
OUTPUT:
FULL ADDER:
LOGIC DIAGRAM:
TRUTH – TABLE:
INPUT OUTPUT
cin b a s cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
PROGRAM:
module fulladder (cout,s,a,b,cin);
output cout,s;
input a,b,cin;
wire x1,x2,x3;
xor x0(s,a,b,cin);
and a1(x1,a,b);
and a2(x2,b,cin);
and a3(x3,cin,a);
or o1(cout,x1,x2,x3);
endmodule
OUTPUT:
RESULT:
Thus the universal gates and combinational circuits are designed by using
gate level modeling and the functionality is verified.
SOFTWARE REQUIRED:
Simulation tool – Active HDL 8.1SP2
ALGORITHM:
1. Create a working library
File → New → Workspace
2. Create a design
File → New → Design
3. Create a file
File → New → Verilog Source
TRUTH – TABLE:
INPUT OUTPUT
ctrl in out
0 0 0
0 1 1
1 0 z
1 1 z
PROGRAM:
module pmos1 ( out, in ,ctrl );
output out ;
input in, ctrl ;
pmos(out,in,ctrl);
endmodule
OUTPUT:
NMOS:
SYMBOL:
TRUTH – TABLE:
INPUT OUTPUT
ctrl in out
0 0 z
0 1 z
1 0 0
1 1 1
PROGRAM:
module nmos1 ( out,in,ctrl );
output out ;
input in, ctrl ;
nmos(out,in,ctrl);
endmodule
OUTPUT:
NAND GATE:
LOGIC DIAGRAM:
TRUTH – TABLE:
INPUT OUTPUT
a b y
0 0 1
0 1 1
1 0 1
1 1 0
PROGRAM:
module nand2 ( y, a, b );
output y ;
input a, b ;
wire x;
supply1 pwr;
supply0 gnd;
pmos p1(y,pwr,a);
pmos p2(y,pwr,b);
nmos n1(y,x,a);
nmos n2(x,gnd,b);
endmodule
OUTPUT:
NOR GATE:
LOGIC DIAGRAM:
TRUTH – TABLE:
INPUT OUTPUT
a b y
0 0 1
0 1 0
1 0 0
1 1 0
PROGRAM:
module nor2 ( y, a, b );
output y ;
input a, b ;
wire x;
supply1 pwr;
supply0 gnd;
pmos p1(x,pwr,a);
pmos p2(y,x,b);
nmos n1(y,gnd,a);
nmos n2(y,gnd,b);
endmodule
OUTPUT:
INVERTER:
LOGIC DIAGRAM:
TRUTH – TABLE:
INPUT OUTPUT
in out
0 1
1 0
PROGRAM:
module inverter ( out, in );
output out ;
input in ;
supply1 pwr;
supply0 gnd;
pmos (out, pwr, in);
nmos (out, gnd, in);
endmodule
OUTPUT:
CMOS:
LOGIC DIAGRAM:
TRUTH-TABLE:
INPUT OUTPUT
in pctrl nctrl out
0 0 0 0
0 0 1 0
0 1 0 z
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 Z
1 1 1 1
PROGRAM:
module cmos2 (out, in, nctrl, pctrl );
output out ;
input in, pctrl, nctrl ;
cmos(out, in, nctrl, pctrl);
endmodule
OUTPUT:
RESULT:
Thus the combinational circuits are designed by using switch level modeling
and the functionality is verified.
SOFTWARE REQUIRED:
1. Simulation tool – Active HDL 8.1SP2
2. Synthesis tool – Xilinx ISE 12.1
MODEL:
Example TI C6000 DSP Processor assembly code
MV .L1 A0,A1
MV .L2 B0,B1
MPY .M1 A1,A2,A3
MPY .M2 B1,B2,B3
MPY .M1 A3,A6,A7
MPY .M2 B3,B6,B7
ADD .L1 A7,B7,A8
ADD .L1 A4,A8,A9
CYCLIC DIRECTIONAL FLOWGRAPH:
A0 B0
A2 A1 B1 B2
A6 × × B6
A3 B3
× ×
A7 B7
+ A4
A8
A9
PROGRAM FOR SIMULATION:
module scheduling_algorithm (clk,clear,A0,B0,A2,B2,A4,A6,A9,B6);
reg [7:0]B1,A1;
reg [16:0]B3,A3;
reg [31:0]B7,A7,A8;
output [31:0]A9;
reg [31:0]A9;
input [7:0]A0,B0,A2,B2,A4,A6,B6;
input clk;
input clear;
parameter s0=3'd0,s1=3'd1,s2=3'd2,s3=3'd3,s4=3'd4,s5=3'd5;
reg [2:0]state;
always @(posedge clk)
begin
if(clear)
A9<=0;
else
case(state)
s0:
begin
B1 <= B0;
A1 <= A0;
state = s1;
end
s1:
begin
B3 <= B1[7:0] * B2[7:0];
A3 <= A1[7:0] * A2[7:0];
state = s2;
end
s2:
begin
B7 <= B3[16:0] * B6[7:0];
A7 <= A3[16:0] * A6[7:0];
state= s3;
end
s3:
begin
A8 <= A7 + B7;
state = s4;
end
s4:
begin
A9 <= A4 + A8;
state = s5;
end
default: state=s0;
endcase
end
endmodule
OUTPUT:
UCF FILE:
NET "clk" LOC = P79;
NET "clear" LOC = P21;
NET "A9<0>" LOC = P132;
NET "A9<1>" LOC = P130;
NET "A9<2>" LOC = P124;
NET "A9<3>" LOC = P122;
NET "A9<4>" LOC = P119;
NET "A9<5>" LOC = P116;
NET "A9<6>" LOC = P114;
NET "A9<7>" LOC = P111;
NET "A9<8>" LOC = P106;
NET "A9<9>" LOC = P101;
NET "A9<10>" LOC = P95;
NET "A9<11>" LOC = P93;
NET "A9<12>" LOC = P87;
NET "A9<13>" LOC = P85;
NET "A9<14>" LOC = P81;
NET "A9<15>" LOC = P78;
NET "A9<16>" LOC = P72;
NET "A9<17>" LOC = P68;
NET "A9<18>" LOC = P65;
NET "A9<19>" LOC = P63;
NET "A9<20>" LOC = P61;
NET "A9<21>" LOC = P57;
NET "A9<22>" LOC = P51;
NET "A9<23>" LOC = P46;
NET "A9<24>" LOC = P44;
NET "A9<25>" LOC = P42;
NET "A9<26>" LOC = P39;
NET "A9<27>" LOC = P36;
NET "A9<28>" LOC = P34;
NET "A9<29>" LOC = P28;
NET "A9<30>" LOC = P26;
NET "A9<31>" LOC = P20;
OUTPUT:
Output of this implementation is displayed in FPGA Board output LED’s. For
the given input, the output is 00000000100001111101101100000011.
RESULT:
Thus the ASAP (As Soon As Possible) scheduling algorithm was designed and
it is implemented in FPGA using Xilinx ISE tool.
LOCAL ROUTING:
Local routing is the process of determining theexact patterns that
interconnect sets of terminalsin a given routingarea.
Local routing is opposed to global routing, theprocess of determining through
which routingareas a connection will run without fixing thewiring patterns within
the routing areas.
Local routing is characterized by a number of parameters (each parameter
setting defines a distinct problem type):
* The number of wiring layers,
* The orientation of wire segments in a layer: horizontal, vertical, diagonal or
some combination of these,
* Gridded or gridless routing,
* Presence or absence of obstacles in routing area,
* Stretchable or fixed routing area,
* The constraints on the positions of the terminals: two parallel lines, along a
rectangle, arbitrarily in an area, etc.
* Terminals with a fixed or floating position.
The Lee algorithm is a classical routing technique;it is the basis of many routing
programs.Theone-layer version is presented.
Main points:
* The routing area is a grid of squares.
* A square available for routing is white, onethat is an obstacle is black.
* The goal is to connect all nets.
* A two-point connection is realized by propagating a wave frontfrom the
source terminal outwards until the target terminal is reached.
* The shortest-connection is found by back-tracking from the target to the
source.
* In the case of multi-terminal nets: first two terminals are connected, this
connection is the target for the wave propagation from the third terminal, etc.
* A routed net is an obstacle for the next nets.
Evaluation:
* The algorithm always finds a connection if aconnection exists.
*For two-terminal nets, this connection is theshortest possible; for
multiterminal nets theconnection need not be the shortest
possible(remember: the ‘‘minimal rectilinear Steinertree’’ problem is NP-
complete).
* It can be generalized for multiple layers:wave front expansion in three
dimensions.
* Its time complexity and space complexity isO(n2).
* The quality of its result strongly depends onthe ordering of the nets.
CHANNEL ROUTING:
A channel, also called a two-shore channel, is a routing region boundedby
twoparallel boundaries. For a horizontal channel, fixed terminals are located on
theupper and lower boundaries and floating terminals are allowed on the left and
right(open) ends. The left end may also contain fixed terminals. Thechannel
routingproblem (CRP)is to route a specified net list between two rows of
terminalsacross a two-layer channel. The task of a channel router is to route all the
netssuccessfully in the minimum possible area. Each row ina channel is called a
track. The number of tracks is called the channel width w of the channel. When the
channel length is fixed, the area goal is to minimizechannel width wthe
channelwidth, thechannel width minimization problem.
This section describes channel width minimization problems for
theManhattanrouting model. In order to ensure that two distinct nets are not
shorted,it isnecessary to ensure that no vertical segments overlap and, similarly, no
horizontal segments overlap.
GLOBAL ROUTING:
The purpose of a global router is to decompose a large routing problem into
smalland manageable subproblems (detailed routing). This decomposition is
carriedout by finding a rough path for each net (i.e., sequence of subregions it
passesthrough) in order to reduce chip size, shorten wire length, and evenly
distributethe congestion over routing area. The definition of subregion depends on
whetherthe global router is performed after floorplanning or placement.
In a global routing(i.e., output of a global router), let d(i, j) denote the number
of nets crossingthe border of regions Ri and Rj. Let c(i, j) denote the capacity of the
border ofregions Ri, and Rj (i.e., the maximum number of nets that can cross this
border).An instance of global routing is specified by a collection of regions, a set η
ofmultiterminal nets, and a capacity function C. A k-terminal net is said to
havemultiplicity k . Multiplicity of η is the maximum number of terminals per net,
over all nets in η. The global routing problem (GRP) of an arbitrary instance (η, C) is
tofind a global routing with d(i,j) ≤ c(i, j) for every two adjacent regions Ri, and Rj.
RESULT:
Thus the various routing techniques - local routing, channel routing and
global routing was studied.
SOFTWARE REQUIRED:
1) Simulation tool – Tanner EDA v16.0 S-Edit.
2) Simulation tool – Tanner EDA v16.0 T-Spice.
3) Simulation tool – Tanner EDA v16.0 W-Edit.
Read Operation:
Prior to initiating a read operation, the bit lines areprecharged to VDD. The
read operation is initiated byenabling the word line (WL) and connecting
theprecharged bit lines, BL and BLB, to the internal nodesof the cell. Upon read
access, the bitline voltage VBL remains at the precharge level. Thecomplementary
bit line voltage VBLB is dischargedthrough transistors Q1 and Q5 connected in
series.Effectively, transistors Q1 and Q5 form a voltagedivider whose output is now
no longer at zero volt and isconnected to the input of inverter Q2-Q4 (Figure -
1).Sizing of Q1 and Q5 should ensure that inverter Q2-Q4do not switch causing a
destructive read.
Write Operation:
During write operation one of the bit lines, BL is driven from precharged
value (VDD) to theground potential by a write driver through transistor Q6.If
transistors Q4 and Q6 are properly sized, then the cellis flipped and its data is
effectively overwritten. Astatistical measure of SRAM cell writeability is definedas
write margin. Write margin is defined as theminimum bit line voltage required to
flip the state of anSRAM cell. The write margin value and variation is afunction of the
cell design, SRAM array size andprocess variation. A cell is considered not writeable
ifthe worst-case write margin becomes lower than theground potential. Note that
the write operation is appliedto the node storing a “ ”. This is necessitated by
thenon-destructive read constraint that ensures that a “0”node does not exceed the
switching threshold of inverterQ2-Q4. The function of the pull-up transistors is only
tomaintain the high level on the “ ” storage node andprevent its discharge by the
off-state leakage current ofthe driver transistor during data retention and to
providethe low-to-high transition during overwriting.
OUTPUT:
POWER CONSUMPTION:
VV1 from time 0 to 1e-006
Average power consumed : 7.850260e-007 watts (0.78uW)
Max power : 1.833361e-004 at time 1.13645e-008 (0.18mW)
Min power : 2.924260e-011 at time 1e-009 (29pW)
RESULT:
Thus the conventional SRAM cell (6T) power was estimated using Tanner
EDA tool.
SOFTWARE REQUIRED:
1) Simulation tool – Tanner EDA v16.0 S-Edit.
2) Simulation tool – Tanner EDA v16.0 T-Spice.
3) Simulation tool – Tanner EDA v16.0 W-Edit.
OUTPUT:
VV1 from time 0 to 1e-007
Average power consumed : 5.967543e-008 watts (0.06uW)
Max power : 1.817252e-005 at time 2.05e-008 (0.01mW)
Min power : 1.637509e-011 at time 1e-008 (16.37pW)
RESULT:
Thus the low power SRAM cell was designed and its power consumption was
compared with the conventional 6T SRAM cell using Tanner EDA tool.