{ "metadata": { "name": "", "signature": "sha256:bff1848ffe2e7cb414070bb13b6f6033045ec462ace28c686f52affa0971fbc7" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter11:Memory and Advanced\n", "Digital Circuits" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex11.1:pg-1017" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# The problem is solved using Hit and Trial as well as approximation thus no programming is needed hence the example is skipped" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex11.2:pg-1032" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "uC_n=50*10**-6; # u_n*C_ox (A/V**2)\n", "uC_p=20.0*10**-6; # u_p*C_ox (A/V**2)\n", "V_tn0=1.0; # (V)\n", "V_tp0=-1; # (V)\n", "fie_f=0.6/2; # (V)\n", "y=0.5; # (V**1/2)\n", "V_DD=5; # (V)\n", "W_n=4*10.0**-6; # (m)\n", "L_n=2*10.0**-6; # (m)\n", "W_p=10*10**-6; # (m)\n", "L_p=2*10.0**-6; # (m)\n", "W=10*10**-6; # (m)\n", "L=10*10.0**-6; # (m)\n", "C_B=1*10.0**-12; # bit line capacitance (F)\n", "deltaV=0.2; # 0.2 V decrement\n", "WbyL_eq=1/(L_p/W_p+L_n/W_n); # WbyL_eq=(W/L)_eq\n", "# Equivalent transistor will operate in saturation\n", "I=(uC_n*WbyL_eq*(V_DD-V_tn0)**2)/2\n", "r_DS=1/(uC_n*(W_n/L_n)*(V_DD-V_tn0));\n", "v_Q=r_DS*I; # v_Q=r_DS*I\n", "I_5=0.5*10.0**-3; # (A) \n", "deltat=C_B*deltaV/I_5;\n", "print deltat*1e9, \"is The time (ns) required to develop an output voltage of 0.2V\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.4 is The time (ns) required to develop an output voltage of 0.2V\n" ] } ], "prompt_number": 15 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex11.3:pg-1041" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Consider sense-amplifier circuit\n", "uC_n=50*10**-6; #uC_n=u_n*C_ox (A/V**2)\n", "uC_p=20*10**-6; #uC_p=u_p*C_ox (A/V**2)\n", "W_n=12*10**-6; # (m)\n", "L_n=4*10**-6; # (m)\n", "W_p=30*10**-6; # (m)\n", "L_p=4*10**-6; # (m)\n", "v_B=4.5; # (V)\n", "C_B=1*10**-12; # (F)\n", "V_GS=2.5; # (V)\n", "V_t=1; # (V)\n", "deltaV=0.1; # (V)\n", "g_mn=uC_n*(W_n/L_n)*(V_GS-V_t); # (A/V)\n", "g_mp=uC_p*(W_p/L_p)*(V_GS-V_t); # (A/V)\n", "G_m=g_mn+g_mp; # (A/V)\n", "T=C_B/G_m; # (s)\n", "deltat=T*(math.log(v_B/V_GS)-math.log(deltaV));\n", "print round(deltat*1e9,1),\" is The time for v_B to reach 4.5V (s)\"\n", "# The answer in the textbook is slightly different due to approximation" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "6.4 is The time for v_B to reach 4.5V (s)\n" ] } ], "prompt_number": 18 } ], "metadata": {} } ] }