Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3
EX.NO:1a DESIGN AND ANALYSIS OF NMOS INVERTER
DATE:
AIM:
To design a NMOS Inverter and to simulate the DC, Transient characteristics and
switching time using Orcad Pspice9.2 tools.
SOFTWARE REQUIRED:
Orcad Pspice9.2
ALGORITHM:1a
STEP3: Select Place-> part and select required components and place in schematic window.
STEP4: Connect the NMOS transistor, resistor, Voltage sources and GND using wires.
STEP 6: Assign constant values for voltage sources and bit values for inputs.
STEP 7: Perform transient, DC and switching analysis and simulate the netlist.
3
(1).DC CHARACTERISTICS:
SCHEMATIC:
V 1
5 V d c
5 .0 0 0 V
R 1
2 0 0 K
0 V
5 .0 0 0 V
V 2 M 1 V
0 V d c
2 .4 9 9 m V
M b re a k N
V
0
P-SPICE NETLIST:
*Libraries:
* Local Libraries:
*From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:.lib
"nom.lib"
*Analysis directives:
(2).TRANSIENT CHARACTERISTICS:
SCHEMATIC:
3
V 1
5 V d c
5 .0 0 0 V
R 1
2 0 0 K
0 V
5 .0 0 0 V
V 2 M 1 V
0 V d c
0 V
V
M b re a k N
P - SPICE NETLIST:
*Libraries:
*Local Libraries :
*From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:.lib
"nom.lib"
*Analysis directives:
* source NMOSINV
M_M1 N00180 N00838 0 0 MbreakN
R_R1 N00180 N00523 200K
V_V2 N00838 0 0Vdc
V_V1 N00523 0 5Vdc
.END
3
3
(3).SWITCHING CHARACTERISTICS:
SCHEMATIC:
P-SPICE NETLIST:
*Libraries:
* Local Libraries :
* From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:.lib
"nom.lib"
*Analysis directives:
.TRAN 0 10us 0
.PROBE V(*) I(*) W(*) D(*) NOISE(*)
.INC ".\nmosinv-SCHEMATIC1.net"
* source NMOSINV
M_M1 N00180 N00838 0 0 MbreakN
R_R1 N00180 N00523 200K
V_V1 N00523 0 5Vdc
U_DSTM2 STIM(1,1) $G_DPWR $G_DGND N00838 IO_STM IO_LEVEL=0
+00
+ +.5uS 1
+REPEAT FOREVER
+ +.5uS 0
+ +.5uS 1
+ ENDREPEAT
.END
3
SIMULATION OUTPUT WAVEFORM:
RESULT:
Thus the NMOS inverter was designed using Orcad Pspice9.2 tools and
its Transient,
3
EX.NO:1b
DESIGN AND ANALYSIS OF CMOS INVERTERS
DATE:
AIM:
To design a CMOS Inverter and to simulate the DC, Transient characteristics and
switching time using Orcad Pspice9.2 tools.
SOFTWARE REQUIRED:
Orcad Pspice9.2
ALGORITHM:
STEP3: Select Place-> part and select required components and place in schematic window.
STEP4: Connect the NMOS transistor, PMOS transistor, Voltage sources and GND using wires.
STEP 6: Assign constant values for voltage sources and bit values for inputs.
STEP 7: Perform transient, DC and switching analysis and simulate the netlist.
1).DC CHARACTERISTICS
3
SCHEMATIC:
P-SPICE NETLIST:
. Libraries:
* Local Libraries :
* From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:
.lib "nom.lib"
*Analysis directives:
.DC LIN V_V2 0 5 1
.PROBE V(*) I(*) W(*) D(*) NOISE(*)
.INC ".\cmos-SCHEMATIC1.net"
**** INCLUDING cmos-SCHEMATIC1.net ****
* source CMOS
M_M1 N00441 N00543 0 0 MbreakN
M_M2 N00145 N00543 N00441 N00145 MbreakP
V_V1 N00145 0 5Vdc
V_V2 N00543 0 5Vdc
3
SIMULATION OUTPUT WAVEFORM:
2).TRANSIENT ANALYSIS:
SCHEMATIC:
P-SPICE NETLIST:
3
*Libraries:
* Local Libraries :
* From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:.lib
"nom.lib"
*Analysis directives:
.PROBE V(*) I(*) W(*) D(*) NOISE(*) .INC ".\cmos-SCHEMATIC1.net"
3).SWITCHING CHARACTERISTICS:
3
SCHEMATIC:
V 1
5 V d c
M 2
5 .0 0 0 V
VM b r e a k P
0 V
2 .4 9 9 m V 5 .0 0 0 V
D S T M 2
C L K
M 1
M b re a k N
P-SPICE NETLIST:
*Libraries:
* Local Libraries:
* From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:.lib
"nom.lib"
*Analysis directives:
.TRAN 0 10us 0
.PROBE V (*) I (*) W (*) D (*) NOISE (*)
.INC ".\cmos-SCHEMATIC1.net"
3
SIMULATION OUTPUT WAVEFORM:
RESULT:
Thus the CMOS inverter was designed using Orcad Pspice9.2 tools and its Transient,
DC and switching characteristics was simulated.
3
EX.NO:2 ESTIMATION OF RESISTANCE, INDUCTANCE AND
CAPACITANCE
DATE:
AIM:
To estimate the resistance, inductance and capacitance values by C programming.
SOFTWARE REQUIRED:
Turbo C++
DESIGN EQUATIONS:
Resistor:
R = Rs *
R1 =
Where
R1 load resistance
RS sheet resistance
l -length of resistor
w width of resistor
t -thickness of resistor
3
Capacitor:
Cg
Cd =
Cgb =
Where
-gate capacitance
-drain capacitance
-gate to bulk capacitance
-permittivity of silicon-di-oxide
-permittivity in free space
-permittivity of silicon
d -depth of capacitance
-oxide thickness
A -area
Inductor:
l = r * (n * n) *u0
Where
r -radius.
n -number of turns.
uo-permeability in free space.
3
ALGORITHM:
STEP 1: Open turbo C++ and create new file.
STEP 2: Type the coding for the calculation of resistance, inductance & capacitance.
STEP 3: Save the file with extension as.cpp.
STEP 4: Compile and run the program.
PROGRAM:
Estimation of resistor:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int Rs=15;int P=6;float t=30*pow(10,-3);
float l,w,R,R1;
R=Rs*(l/w);
printf("The resistance value is:%f",R);
R1=(l/t*l/w);
printf("The value of R1 is:%f",R1);
getch();
}
Estimation of inductor :
#include<stdio.h>
#include<conio.h>
Void main()
{
int n=6,r=10;
float l,uo=1.2/1000000;
l=uo*n*n*r;
printf(inductor value:%f,l);
getch();
}
3
Estimation of capacitor:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float Cg,Cd,Cgb,A=10*pow(10,-2);
float tox=1000*pow(10,-8),e0=8.854*pow(10,-4),esio2=3.9;
float esi=12,d=1.7*pow(10,-3);
Cg=(esio2*e0/tox)*A;
printf("The gate capacitance is:%f",Cg);
Cd=(e0*esi/d)*A;
printf("The depletion capacitance is:%f",Cd);
Cgb=(Cg*Cd/Cg+Cd);
printf("The gate bulk capacitance is:%f",Cgb);
getch();
}
OUTPUT:
RESISTANCE:
INDUCTANCE:
CAPCITANCE:
RESULT:
3
EX.NO:3 DESIGN OF MULTIPLEXER, DECODER
DATE: ANDCOMPARATOR
AIM:
To design a multiplexer, decoder and comparator using VHDL and Verilog.
SOFTWARE REQUIRED:
Xilinx ISE 9.1i.
ALGORITHM:
STEP 1: Open Xilinx ISE 9.1i software.
STEP 2: Create a new project using File New project.
STEP 3: Type the program and save the project.
STEP 4: In synthesis/implementation double click synthesize-XST to check syntax.
STEP 5: Choose behavioral simulation.
STEP 6: In create new sourceTest bench waveform and save the test bench waveform.
STEP 7: In Xilinx ISE SimulatorSimulate Behavioral Model.
STEP 8: Verify the output waveform.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity multiplexer is
Port (i0, i1 : in STD_LOGIC;
i2 : in STD_LOGIC;
i3 : in STD_LOGIC;
i4 : in STD_LOGIC;
i5 : in STD_LOGIC;
i6 : in STD_LOGIC;
i7 : in STD_LOGIC;
i8 : in STD_LOGIC;
i9 : in STD_LOGIC;
i10 : in STD_LOGIC;
i11 : in STD_LOGIC;
i12 : in STD_LOGIC;
i13 : in STD_LOGIC;
i14 : in STD_LOGIC;
i15 : in STD_LOGIC;
s : in STD_LOGIC_VECTOR (3 downto 0);
y : out STD_LOGIC);
end multiplexer;
architecture behavioral of multiplexer is
begin
process(i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,s)
3
begin
case s is
when "0000"=> y<=i0;
when "0001"=> y<=i1;
when "0010"=> y<=i2;
when "0011"=> y<=i3;
when "0100"=> y<=i4;
when "0101"=> y<=i5;
when "0110"=> y<=i6;
when "0111"=> y<= i7;
when "1000"=> y<= i8;
when "1001"=> y<= i9;
when "1010"=> y<= i10;
when "1011"=> y<= i11;
when "1100"=> y<= i12;
when "1101"=> y<= i13;
when "1110"=> y<= i14;
when "1111"=> y<= i15;
when others=>null;
end case;
end process;
end Behavioral;
SIMULATION WAVEFORM:
3
PROGRAM FOR MULTIPLEXER IN VERILOG:
module mux(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, s0, s1, s2, s3, z);
input i0;
input i1;
input i2;
input i3;
input i4;
input i5;
input i6;
input i7;
input i8;
input i9;
input i10;
input i11;
input i12;
input i13;
input i14;
input i15;
input s0;
input s1;
input s2;
input s3;
output z;
reg op;
always@(i0 or i1 or i2 or i3 or i4 or i5 or i6 or i7 or i8 or i9 or i10 or i11 or i12 or i13 or i14 or
i15 or s0 or s1 or s2 or s3)
begin
case({s0,s1,s2,s3})
4'b0000:op<=i0;
4'b0001:op<=i1;
4'b0010:op<=i2;
4'b0011:op<=i3;
4'b0100:op<=i4;
4'b0101:op<=i5;
4'b0110:op<=i6;
4'b0111:op<=i7;
4'b1000:op<=i8;
4'b1001:op<=i9;
4'b1010:op<=i10;
4'b1011:op<=i11;
4'b1100:op<=i12;
4'b1101:op<=i13;
4'b1110:op<=i14;
4'b1111:op<=i15;
default:op<=op;
endcase
3
end
assign z=op;
endmodule
SIMULATION WAVEFORM:
SIMULATION WAVEFORM:
SIMULATION WAVEFORM:
3
l<='1';
else
e<='0';
g<='1';
l<='0';
end if;
end process;
end Behavioral;
SIMULATION WAVEFORM:
SIMULATION WAVEFORM:
RESULT:
Thus the Multiplexers, Decoders and Comparators are designed using VHDL and Verilog and
the output waveforms are verified.
3
EX.NO:4 ANALYTICAL MODELLING AND SIMULATION OF
MOSFET USING NEWTON RAPHSON METHOD
DATE:
AIM:
SOFTWARE REQUIRED:
MATLAB R2009b.
THEORY:
Newton Raphson method is a method for finding successively better
approximations to the roots or zeroes of a real valued function x:f(x)=0. In this method,
the slope (derivative) of the function is calculated at the initial guess value and
projected to the x-axis.The corresponding x-value becomes the new guess value.The
steps are repeated until the answer is obtained to a specified tolerance. If Initial guess at
the root is xi, a tangent can be extended from the point [x i,f(xi)]. The point this tangent
crosses the x axis represents an improved estimate of the root. It is used in many
applications such as artificial intelligence and computer vision to find the non linearity.
It is also called as numerical analysis.
DESIGN EQUATION:
Let x0 be a good estimate of r and let r = x0 + h. Since the true root is
r and h = r x0, the number h measures how far the estimate x0 is from the truth.
Since h is `small,' we can use the linear (tangent line) approximation to conclude
that
0 = f(r) = f(x0 + h) = f(x0) + hf (x0);
and therefore, unless f (x0) is close to 0,
h = - f(x0)/ f (x0)
It follows that
r = x0 + h = x0 f(x0)/ f (x0)
estimate x1 of r is therefore given by
x1 = x0 f(x0)/ f (x0)
3
The next estimate x2 is obtained from x1 in exactly the same way as x1 was obtained
from x0:
x2 = x1 f(x1)/ f (x1)
3
MATLAB CODE:
clc;
clear all;
format long;
syms x;
e = 1e-5; % setting the tolerance value
dx = e + 1;
f = log(2-x) + x^2; % enter your function here;
x = 7; % initially assumed value of x
count = 0; % setting counter to know the no of iterations taken
p = zeros(1,1);
while (abs(dx) > e) % initialising the iteration and continue until the error is less
than tolerance
dx = eval(f/(diff(f))); % calculating dx, diff is used for finding the differentiation
of the fuction
x = x - dx % updating the value of x
count = count + 1; % incrementing the counter
p(count) = x;
drawnow();
plot(abs(p),'r','linewidth',3);
grid;
if (count > 300)
fprintf('Error...! Solution not converging !!! \n'); % printing the error message
break;
end
end
% plot(abs(p));
if (count < 300)
fprintf('The solution = '); %printing the result x
fprintf('\nNumber of iteration taken = %d\n',count);
OUTPUT VALUES:
x = 3.435955076589147 - 0.221238919266887i
x =1.841620360279200 - 0.486957472183211i
x =1.142143257804761 - 0.111858069284186i
x =0.131312877148466 - 0.067228984880217i
x =2.147007040078734 - 0.854391043468283i
x =1.274135317499913 - 0.536259498180818i
x =0.469990337832698 - 0.296519455585065i
x =-0.221699858297857 - 1.065631008629895i
x =0.146463503254323 - 0.818883293583940i
x =0.271776737071754 - 0.844793463436668i
x = 0.268173493274464 - 0.854466836544165i
x =0.268213490583397 - 0.854413796611745i
x =0.268213493174994 - 0.854413795679647i
The solution => x =0.268213493174994 - 0.854413795679647i
Number of iteration taken = 13
OUTPUT WAVEFORM:
3
Thus the potential distribution/fieldThus tThe distribution/field of the
MOSFET using Finite Difference method is modeled and simulated.
AIM:
To model and analyze MOS Capacitor small signal analysis using Matlab R2009b
SOFTWARE REQUIRED:
Matlab R2009b
DESIGIN PARAMETERS:
VTO (VT0 - zero-bias threshold voltage)
KP (MOSFET transconductance)
GAMMA (_ - bulk threshold parameter)
PHI (2|_F| - surface potential)
LAMBDA (_ - channel length modulation)
UO ( - electron mobility)
TOX (tox - gate oxide thickness)
NSUB (NA - bulk doping concentration)
LD (LD - lateral diffusion)
PB (_B bulk junction potential)
CJ (Cj0 - zero-bias bulk junction bottom capacitance per square meter of junction area)
MJ (mj bulk junction bottom grading coefficient)
CJSW (Cjsw - zero-bias bulk junction sidewall capacitance per meter of junction
perimeter)
MJSW (mjsw bulk junction sidewall grading coefficient)
CGBO (Gate-bulk overlap capacitance per meter channel width)
CGDO (Gate-drain overlap capacitance per meter channel width)
CGSO (Gate-source overlap capacitance per meter channel width)
ALGORITHM:
STEP 1: Start the program using Matlab R2009b.
STEP 2: Enter the code and save it.
STEP 3: Run the program.
STEP 4: Enter the number of energy states, length of well (in nm)and step size(in nm).
STEP 5: Observe the output plot.
MATLAB CODE:
T=300;
NA=1E24;
3
ND=0;
Ni=1E16;
dox = 0.001e-6;
es = 11.8;
eo = 3.9;
Vg_min = -10;
Vg_max = 30;
kb=1.38E-23;
q=1.602e-19;
eps0=8.85E-12;
eps_sc=es*eps0;
eps_ox=eo*eps0;
VT=kb*T/q;
const = 2*q*Ni*VT/eps_sc
if NA - ND > 0
fim = -VT*log((NA-ND)/Ni)
else
fim = VT*log((ND-NA)/Ni)
end
fis1= -4*fim
fis2= 4*fim
dfis= (fis2-fis1)/200
for i=1:200
fis = fis1 + i*dfis;
fi(i) = fis;
term = exp(fim/VT)-exp(fis/VT)+exp(-fim/VT)-exp(-fis/VT)+NA*(fim-fis)/Ni/VT;
if fis - fim > 0
field_sc(i) = sqrt(-const*term);
else
field_sc(i) = -sqrt(-const*term);
end
Vg(i)=eps_sc/eps_ox*dox*field_sc(i) + fis-fim;
end
ii=0
for i=1:200
if Vg(i) >= Vg_min
if Vg(i) < Vg_max
ii=ii+1;
Vg1(ii)=Vg(i);
field1(ii)=field_sc(i);
fi1(ii) = fi(i);
end
end
end
figure(1);
plot(fi1/VT-fim/VT,Vg1)
hold on;
surface_pot = -2*fim/VT
a(1) = surface_pot;
b(1) = Vg_min;
3
a(2) = surface_pot;
b(2) = Vg_max;
c(1) = 0
d(1) = Vg_min
c(2) = 0
d(2) = Vg_max
e(1) = fis1/VT
f(1) = 0
e(2) = fis2/VT
f(2) = 0
plot(a,b)
plot(c,d)
plot(e,f)
hold off;
OUTPUT VALUES:
T =300
NA =1.0000e+024
ND =0
Ni =1.0000e+016
dox =1.0000e-009
es =11.8000
eo =3.9000
Vg_min = -10
Vg_max = 30
kb =1.3800e-023
q = 1.6020e-019
eps0 =8.8500e-012
eps_sc =1.0443e-010
eps_ox =3.4515e-011
VT = 0.0258
const =7.9288e+005
fim = -0.4760
fis1 =1.9042
fis2 =-1.9042
dfis =-0.0190
ii =0
surface_pot =36.8414
c =0
d =-10
c =0 0
d =-10 30
e = 73.6827
f =0
e =73.6827 -73.6827
f =0 0
3
C-V CHARACTERISTICS :
RESULT:
Thus the MOS Capacitor small signal analysis is modeled and analysed using
Matlab R2009b.
3
EX.NO:7
SCHRODINGER EQUATION BASED DEVICE MODELLING
DATE:
AIM:
Simulation of Schrodinger equation based on device modeling.
SOFTWARE REQUIRED:
MATLAB R2009b.
THEORY:
The concept of a state vector, and an equation governing its time evolution,
namely the Schrdinger equation, are fundamental postulates of quantum mechanics.
These ideas cannot be derived from any other principle.
In the standard interpretation of quantum mechanics, the wave function is the most
complete description that can be given to a physical system. Solutions to Schrdinger's
equation describe not only molecular, atomic, and subatomic systems, but also
macroscopic systems, possibly even the whole universe.
The equation is derived by partially differentiating the standard wave equation and
substituting the relation between the momentum of the particle and the wavelength of the
wave associated with the particle in De Broglie's hypothesis.
DESIGN EQUATION:
One dimensional time independent Schrodinger equation:
3
is the wave function.
ALGORITHM:
STEP 1: Start the program using Matlab R2009b.
STEP 2: Enter the code and save it.
STEP 3: Run the program.
STEP 4: Enter the number of energy states, length of well (in nm)and step size(in nm).
STEP 5: Observe the output plot.
MATLAB CODE:
clc;
clear;
x0=0;
m=1.1;
sum2=1;
n=input('Enter energy state n: ');
xl=input('Enter length of the well(in nm): ');
while(floor(m)<m)
h=input('Enter stepsize in nm: ');
m=(xl-x0)/h;
if floor(m)<m
warning('Step size is wrong. Enter proper value')
end
end
x=x0:h:xl;
y=zeros(size(x));
y(1)=0;
y(m+1)=0;
y(2)=1;
fori=3:m
y(i) = -(y(i-2)+((-2+(n*n*pi*pi*h*h/(xl*xl)))*y(i-1)));
sum2=sum2+y(i)^2;
end
y=y/sqrt(sum2); %normalization
y2=y.^2; %y2 gives probability density
figure('color','white')
subplot(2,1,1), plot(x,y,'r')
3
xlabel('Distance in nm')
ylabel('wave function')
subplot(2,1,2),plot(x,y2)
xlabel('Distance in nm')
ylabel('probability density')
OUTPUT WAVEFORM:
Enter energy state n: 10
Enter length of the well (in nm): 10
Enter step size in nm: 0.01
0.05
wave function
-0.05
0 1 2 3 4 5 6 7 8 9 10
Distance in nm
-3
x 10
3
probability density
0
0 1 2 3 4 5 6 7 8 9 10
Distance in nm
RESULT:
Thus the Schrodinger equation is simulated based on device modeling.
3
EX.NO:8 MODELLING AND SIMULATION OF NMOS AND CMOS
CIRCUITS USING SPICE
DATE:
AIM:
To model and simulate a NMOS and CMOS using Orcad Pspice9.2 Tools.
SOFTWARE REQUIRED:
Orcad Pspice9.2
THEORY:
(1)TWO-INPUT NOR GATE WITH CMOS LOGIC:
The NOR gate is a digital logic gate that implements logical NOR. It behaves
according to the truth table. A HIGH output (1) results if both the inputs to the gate are LOW
(0); if one or both input is HIGH (1), a LOW output (0) results. NOR is the result of the negation
of the OR operator. It can also be seen as an AND gate with all the inputs inverted.
SYMBOL AND TRUTH TABLE:
3
SYMBOL AND TRUTH TABLE:
Differential Amplifier is the basic building block of every OP AMP and is the basis of
high speed digital logic circuit family, called Emitter Coupled Logic (ECL) and they are
commonly used for analog circuits. The name Differential Amplifier is because of, the
Amplifier will find out the Difference between two input sources connected to the base of
two transistors and amplify the Difference.
ALGORITHM:
STEP3: Select Place-> part and select required components and place in schematic window.
STEP4: Connect the NMOS transistor, PMOS transistor, Voltage sources and GND using
wires.
STEP 6: Assign constant values for voltage sources and bit values for inputs.
STEP 7: Perform transient, DC and switching analysis and simulate the netlist.
3
CMOS CIRCUIT (NOR GATE) IN T-SPICE:
SCHEMATIC DIAGRAM:
V 1
5V dc
O F F T IM E = .5 u S D S T M 2
O N T IM E = .5 u S C LK M 4
D E LA Y =
S TA R TV A L = 1 V
O P P V A L = 1 M b re a k P
5 .1 9 0 m V
M 3
5 .0 0 0 V
O F F T IM E = .5 u S D S T M 1
O N T IM E = .5 u S C LK
D E LA Y = M b re a k P
4 .9 9 8 V
S TA R TV A L = 0 V
O P P V A L = 1
V
0V
7 7 4 .6 n V
M 1 M 2
M b re a k N M b re a k N
2 .4 9 9 m V
P-SPICE NETLIST:
*Libraries:
* Local Libraries :
* From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:
.lib "nom.lib"
*Analysis directives:
.TRAN 0 10us 0
.PROBE V(*) I(*) W(*) D(*) NOISE(*)
.INC ".\nor-SCHEMATIC1.net"
3
**** INCLUDING nor-SCHEMATIC1.net ****
* source NOR
OUTPUT WAVEFORM:
3
CMOS CIRCUIT (NAND GATE) IN T-SPICE:
SCHEMATIC DIAGRAM:
V 1
5 V d c
5 .0 0 0 V
M 3 M 4
M b re a k P M b re a k P
V
O F F T IM E = .5 u S D S T M 1
O N T IM E = .5 u S C L K 5 .0 0 0 V
D E L A Y =
S T A R T V A L = 1
O P P V A L = 1 4 .9 9 8 V
V
V 0 V
O F F T IM E = .5 u S D S T M 2 M 1
O N T IM E = .5 u S C L K
D E L A Y =
S T A R T V A L = 0 M b re a k N
2 .4 9 9 m V
O P P V A L = 1
4 .9 9 5 V
M 2
M b re a k N
3
P-SPICE NETLIST:
*Libraries:
* Local Libraries :
* From [PSPICE NETLIST] section of C:\Program Files\Orcad\PSpice\PSpice.ini file:
.lib "nom.lib"
*Analysis directives:
.TRAN 0 10us 0
.PROBE V(*) I(*) W(*) D(*) NOISE(*)
.INC ".\nand-SCHEMATIC1.net"
* source NAND
M_M1 N00898 N00395 N00360 0 MbreakN
M_M2 N00360 N00495 0 0 MbreakN
M_M3 N00258 N00395 N00898 N00258 MbreakP
M_M4 N00258 N00495 N00898 N00258 MbreakP
V_V1 N00258 0 5Vdc
U_DSTM1 STIM(1,1) $G_DPWR $G_DGND N00395 IO_STM IO_LEVEL=0
+01
+ +.5uS 1
+REPEAT FOREVER
+ +.5uS 1
+ +.5uS 1
+ ENDREPEAT
U_DSTM2 STIM(1,1) $G_DPWR $G_DGND N00495 IO_STM IO_LEVEL=0
+00
+ +.5uS 1
+REPEAT FOREVER
+ +.5uS 0
+ +.5uS 1
+ ENDREPEAT
OUTPUT WAVEFORM:
3
NMOS CIRCUIT (DIFFERENTIAL AMPLIFIER ) IN T-SPICE:
SCHEMATIC DIAGRAM:
P-SPICE NETLIST:
.probe
.option probev
3
.option probei
.option probeq
********* Simulation Settings - Parameters and SPICE Options *********
RResistor_1 Vdd Out R=10k
RResistor_2 Vdd Out R=10k
MNMOS_1 Out N_2 Gnd Gnd NMOS W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p
PD=6.8u
MNMOS_2 Gnd N_3 Out Gnd NMOS W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p
PD=6.8u
VVoltageSource_3 Vdd Gnd DC 5
VVoltageSource_1 N_2 Gnd DC 5
VVoltageSource_2 N_3 Gnd DC 5
ICurrentSource_1 Gnd Gnd DC 5u
OUTPUT WAVEFORM:
3
RESULT:
Thus the CMOS and NMOS circuit is modeled and simulated using Orcad Pspice9.2
Tools.
3
EX.NO:9
DESIGN OF DESIGNING FIR FILTERS
DATE:
AIM:
To design a FIR filter using Xilinx Software.
SOFTWARE REQUIRED:
Xilinx- ISE-9.1i
THEORY:
FIR filters are digital filters with finite impulse response. They are also known as non-
recursive digital filters as they do not have the feedback (a recursive part of a filter), even
though recursive algorithms can be used for FIR filter realization.
The transfer function of FIR filter approaches the ideal as the filter order increases, thus
increasing the complexity and amount of time needed for processing input samples of a signal
being filtered.
Due to its simplicity and efficiency, the window method is most commonly used method
for designing filters. One of the drawbacks of FIR filters is a high order of designed filter. FIR
filters can have linear phase characteristic, which is not like IIR filters.
ALGORITHM:
STEP 1: Open Xilinx ISE 9.1i software.
STEP 2: Create a new project using File New project.
STEP 3: Type the program and save the project.
STEP 4: In synthesis/implementation double click synthesize-XST to check syntax.
STEP 5: Choose behavioral simulation.
STEP 6: In create new sourceTest bench waveform and save the test bench waveform.
STEP 7: In Xilinx ISE SimulatorSimulate Behavioral Model.
STEP 8: Verify the output waveform.
SIMULATION WAVEFORM:
3
IMPLEMENTATION USING FPGA KIT:
3
Double click on synthesis-XST and implement design
3
\
Click finish
3
Select your file
3
Select program
Click ok
Program execution
3
Program succeeded
RESULT:
Thus, the FIR filter is designed and the required output is obtained using Xilinx
Software.