Rowan-Classes/7th-Semester-Fall-2024/VLSI/homework/homework-1/problem_2.py

30 lines
485 B
Python

import numpy as np
import matplotlib.pyplot as plt
e_0 = 8.85E-14
k_ox = 3.9
e_ox = e_0 * k_ox
mu = 350 # 350 cm^2 / (V*s)
t_ox = 100E-8 # 100A
C_ox = e_ox / t_ox
W = 1.2
L = 0.6
beta = mu * C_ox * W/L
V_t = 0.7
def I_ds(V_gs, V_ds, V_t, beta):
if V_gs < V_t:
return np.zeros_like(V_ds)
V_dsat = V_gs - V_t
return np.where(V_ds < V_dsat, beta * (V_gs - V_t - V_ds/2) * V_ds, beta * (V_gs - V_t)**2 / 2)
V_g = 0.8
V_d1 = 1
V_s1 =