summaryrefslogtreecommitdiff
path: root/3866/CH10
diff options
context:
space:
mode:
authorprashantsinalkar2017-10-10 12:27:19 +0530
committerprashantsinalkar2017-10-10 12:27:19 +0530
commit7f60ea012dd2524dae921a2a35adbf7ef21f2bb6 (patch)
treedbb9e3ddb5fc829e7c5c7e6be99b2c4ba356132c /3866/CH10
parentb1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (diff)
downloadScilab-TBC-Uploads-7f60ea012dd2524dae921a2a35adbf7ef21f2bb6.tar.gz
Scilab-TBC-Uploads-7f60ea012dd2524dae921a2a35adbf7ef21f2bb6.tar.bz2
Scilab-TBC-Uploads-7f60ea012dd2524dae921a2a35adbf7ef21f2bb6.zip
initial commit / add all books
Diffstat (limited to '3866/CH10')
-rw-r--r--3866/CH10/EX10.1/Ex10_1.sce5
-rw-r--r--3866/CH10/EX10.2/Ex10_2.sce25
-rw-r--r--3866/CH10/EX10.3/Ex10_3.sce18
-rw-r--r--3866/CH10/EX10.4/Ex10_4.sce25
4 files changed, 73 insertions, 0 deletions
diff --git a/3866/CH10/EX10.1/Ex10_1.sce b/3866/CH10/EX10.1/Ex10_1.sce
new file mode 100644
index 000000000..bce8fdcea
--- /dev/null
+++ b/3866/CH10/EX10.1/Ex10_1.sce
@@ -0,0 +1,5 @@
+clc; clear; close;
+
+mprintf('T1=(R1*C1)+(R1*C2)+(R1*C3)\n\n');//for node 1
+mprintf(' T2=(R1*C1)+(R1*C3)+(R1+R2)*C2\n\n');//for node 2
+mprintf(' T3=(R1*C1)+(R1*C2)+(R1+R3)*C3\n\n');//for node 3
diff --git a/3866/CH10/EX10.2/Ex10_2.sce b/3866/CH10/EX10.2/Ex10_2.sce
new file mode 100644
index 000000000..fa676b449
--- /dev/null
+++ b/3866/CH10/EX10.2/Ex10_2.sce
@@ -0,0 +1,25 @@
+clc; clear; close;
+
+Ceff=1;//in fF/um
+Cint=0.2;//in fF/um
+Cg=2;//in fF/um
+Wn=0.8;//in um
+Wp=0.4;//in um
+Lwire=20;//in um
+reff=12.5/2;//in kiloohm
+rsq=0.054;//in ohm
+Cfan=4*Cg*(Wn+Wp);
+disp(Cfan,'Fanout Capacitance(in fermifarads)=');
+Cself=Ceff*(Wn+Wp);
+disp(Cself,'Self Capacitance(in fermifarads)=');
+Cwire=Cint*Lwire;
+disp(Cwire,'Wire Capacitance(in fermifarads)=');
+Ctot=Cfan+Cself+Cwire;
+disp(Ctot,'Total Capacitance(in fermifarads)=');
+Tdriver=reff*Ctot;
+disp(Tdriver,'total delay without wire resistance(in picoseconds)=');
+Rwire=(rsq*(Lwire/0.2))/1000;
+Tdriver1=reff*(Cself+Cg)+(reff+Rwire)*(Cfan+Cg);
+disp(Rwire,'wire resistance (in kiloohms)=');
+disp(Tdriver1,'total delay with wire resistance(in picoseconds)=');
+disp('Inclusion of wire resistance made no appreciable difference');
diff --git a/3866/CH10/EX10.3/Ex10_3.sce b/3866/CH10/EX10.3/Ex10_3.sce
new file mode 100644
index 000000000..ada1764dc
--- /dev/null
+++ b/3866/CH10/EX10.3/Ex10_3.sce
@@ -0,0 +1,18 @@
+clc; clear; close;
+
+Rint=0.027/0.5;//in ohm/um
+L=20000;//in um
+Cint=0.1;//in fF/um
+Reqn=12500;//in ohms
+Ceff=1;//in fF/um
+W=0.2;//in um
+Rwire=Rint*L;
+Cwire=Cint*L;
+Reff=Reqn/100;
+Cself=Ceff*(3*W)*100;
+Telmore=(Reff*Cwire/2)+(Reff+Rwire)*Cwire/2;
+disp(Rwire,'Wire resistance(in ohms)=');
+disp(Cwire,'Wire capacitance(in fermifarads)=');
+disp(Reff,'Inverter on resistance(in ohms)=');
+disp(Cself,'Inverter output capacitance(in fermifarads)=');
+disp(Telmore*10^(-6),'Resulting elmore delay(in nanoseconds)=');
diff --git a/3866/CH10/EX10.4/Ex10_4.sce b/3866/CH10/EX10.4/Ex10_4.sce
new file mode 100644
index 000000000..329d0b089
--- /dev/null
+++ b/3866/CH10/EX10.4/Ex10_4.sce
@@ -0,0 +1,25 @@
+clc; clear; close;
+
+Rint=0.054;//in ohm/um
+Cint=0.1;//in fF/um
+l=20000;//in um
+Reqn=12500;//in ohm
+Cg=2;//in fF/um
+Ceff=1;//in fF/um
+W=0.2;//in um
+CG=Cg*W;//in fF
+CJ=Ceff*W;//in fF
+B=2;
+N=round(sqrt((Rint*Cint*l*l)/(2*Reqn*(CG+CJ)*(1+B))));
+disp(N,'Number of segments in wire=');
+M=round(sqrt((Reqn*Cint)/(CG*(1+B)*Rint)));
+disp(M,'Buffer size=');
+Reff=round(Reqn/M);
+disp(Reff,'Buffer resistance(in ohms)=');
+Cself=Ceff*(2*W+W)*M;
+disp(Cself,'Buffer output capacitance(in fermifarads)=');
+Cfan=Cg*(2*W+W)*M;
+disp(Cfan,'Buffer input capacitance(in fermifarads)=');
+Telm=7*((Reff*(Cself+(Cint*l/(2*N))))+(Reff+(Rint*l/N))*(((Cint*l/(2*N)))+Cfan));
+disp(Telm*10^(-6),'Total delay(in nanoseconds)=');
+//answers vary due to roundoff error