summaryrefslogtreecommitdiff
path: root/3866/CH5
diff options
context:
space:
mode:
Diffstat (limited to '3866/CH5')
-rw-r--r--3866/CH5/EX5.2/Ex5_2.sce17
-rw-r--r--3866/CH5/EX5.4/Ex5_4.sce12
-rw-r--r--3866/CH5/EX5.5/Ex5_5.sce6
-rw-r--r--3866/CH5/EX5.6/Ex5_6.sce7
-rw-r--r--3866/CH5/EX5.8/Ex5_8.sce13
-rw-r--r--3866/CH5/EX5.9/Ex5_9.sce23
6 files changed, 78 insertions, 0 deletions
diff --git a/3866/CH5/EX5.2/Ex5_2.sce b/3866/CH5/EX5.2/Ex5_2.sce
new file mode 100644
index 000000000..e43dc52ba
--- /dev/null
+++ b/3866/CH5/EX5.2/Ex5_2.sce
@@ -0,0 +1,17 @@
+clc; clear; close;
+
+Wn1=400;//in nm
+Wp1=400;//in nm
+Wn2=200;//in nm
+Wp2=800;//in nm
+Vdd=1.8;//in volts
+Vtp=0.5;//in volts
+Vtn=0.5;//in volts
+Ep=24;//in volts
+En=6;//in volts
+X1=sqrt((Wn1*Ep)/(Wp1*En));
+Vs1=(Vdd+(X1*Vtn)-Vtp)/(1+X1);
+X2=sqrt((Wn2*Ep)/(Wp2*En));
+Vs2=(Vdd+(X2*Vtn)-Vtp)/(1+X2);
+disp(Vs1,'Vs when one input is high and other is varied(in volts)=');
+disp(Vs2,'Vs when both inputs are varied(in volts)=');
diff --git a/3866/CH5/EX5.4/Ex5_4.sce b/3866/CH5/EX5.4/Ex5_4.sce
new file mode 100644
index 000000000..a50162a1b
--- /dev/null
+++ b/3866/CH5/EX5.4/Ex5_4.sce
@@ -0,0 +1,12 @@
+clc; clear; close;
+
+Cl=100*(10^(-15));//in farad
+T=200*(10^(-12));//in seconds
+Reqn=12500;//in_ohms for_nmos_devices
+r=(0.7*Reqn*Cl)/T;
+disp(r,'W/L=');
+Wn=r*100;
+disp(Wn,'Wn for both nmos devices(in nanometer)=');
+Wp=4*Wn;
+disp(Wp,'Wp for both pmos devices(in nanometers)=' );
+//answers vary due to round off error
diff --git a/3866/CH5/EX5.5/Ex5_5.sce b/3866/CH5/EX5.5/Ex5_5.sce
new file mode 100644
index 000000000..2af8bcea9
--- /dev/null
+++ b/3866/CH5/EX5.5/Ex5_5.sce
@@ -0,0 +1,6 @@
+clc; clear; close;
+
+cc=8;//number of clock cycles
+to=4;//number of toggles at output
+a=to*100/(2*cc);
+disp(a, 'activity factor(%)=');
diff --git a/3866/CH5/EX5.6/Ex5_6.sce b/3866/CH5/EX5.6/Ex5_6.sce
new file mode 100644
index 000000000..b9e0bd559
--- /dev/null
+++ b/3866/CH5/EX5.6/Ex5_6.sce
@@ -0,0 +1,7 @@
+clc; clear; close;
+
+C=50*(10^(-15));//in farad
+Vdd=1.8;//in volts
+f=250*10^(6);//in hertz
+P=C*Vdd*Vdd*f;
+disp(P,'dynamic power(in watts)=');
diff --git a/3866/CH5/EX5.8/Ex5_8.sce b/3866/CH5/EX5.8/Ex5_8.sce
new file mode 100644
index 000000000..2d8325aa5
--- /dev/null
+++ b/3866/CH5/EX5.8/Ex5_8.sce
@@ -0,0 +1,13 @@
+clc; clear; close;
+
+Vol=0.1;//in volts
+WL=9;
+uc=430;//in uA/v^2
+en=0.6;//in volts
+Vdd=1.2;//in volts
+Vtn=0.4;//in volts
+Idc=(WL*uc*(Vol*(Vdd-Vtn)-(Vol*Vol)/2))/(1+(Vol/en));
+disp(Idc,'Idc(in micro amperes)=');
+P=Idc*Vdd;
+disp(P,'power dissipated(in microwatts)=');
+//answers vary due to round off error
diff --git a/3866/CH5/EX5.9/Ex5_9.sce b/3866/CH5/EX5.9/Ex5_9.sce
new file mode 100644
index 000000000..9b561ed9f
--- /dev/null
+++ b/3866/CH5/EX5.9/Ex5_9.sce
@@ -0,0 +1,23 @@
+clc; clear; close;
+
+n1=10*(10^6);
+n2=50*(10^6);
+a1=0.1;
+c1=20*(10^(-15));//in F
+Vdd1=1.8;//in volts
+f1=500*(10^6);//in Hz
+a2=0.05;
+c2=10*(10^(-15));//in F
+Vdd2=1.2;//in volts
+f2=1*(10^9);//in Hz
+P1=n1*c1*Vdd1*Vdd1*f1*a1;
+disp(P1,'Case 1 Power(in watts)=');
+P2=n2*c2*Vdd2*Vdd2*f2*a2;
+disp(P2,'Case 2 Power(in watts)=');
+t1=1/f1;
+t2=1/f2;
+EDP1=P1*t1*t1;
+EDP2=P2*t2*t2;
+disp(EDP1,'case 1 EDP(in joule-seconds)=');
+disp(EDP2,'case 2 EDP(in joule-seconds)=');
+disp('Second design has lower energy delay product , so it is better ');