Public
Edited
Oct 25, 2021
Insert cell
Insert cell
ind1({ // 4.4e-9 (+-5%)
W: 0.254, // line Width [mm]
H: 0.6, // Dielectric Height [mm]
L: 6.1, // line Length [mm]
}) // Inductance [H]
Insert cell
ind1({ // 8.2e-9
W: 0.254, // line Width [mm]
H: 0.6, // Dielectric Height [mm]
L: 11.4, // line Length [mm]
}) // Inductance [H]
Insert cell
cap2({ // 1.8e-12
E: 4, // dielectric constant
H: 0.6, // Dielectric Height [mm]
T: 1.4 * 0.0254, // [mil] -> [mm]
W: 4, // line Width [mm]
L: 6.4 // line Length [mm]
}) // Capacitance [F]
Insert cell
cap2({E: 4, H: 0.6, T: 1.4 * 0.0254, W: 5, L: 5.1}) // 1.8e-12
Insert cell
cap2({E: 4, H: 0.6, T: 1.4 * 0.0254, W: 4, L: 10.7}) // 3.0e-12
Insert cell
cap2({ // 5.3e-12
E: 4, // dielectric constant
H: 0.6, // Dielectric Height [mm]
T: 1.4 * 0.0254, // [mil] -> [mm]
W: 5, // line Width [mm]
L: 15.1 // line Length [mm]
}) // Capacitance [F]
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
ind1 = desc => {
const W = desc.W / 25.4;
const H = desc.H / 25.4;
const L = desc.L / 25.4;
const WpH = W + H;
const res = 0.00508 * L * (Math.log(2 * L / WpH) + 0.5 + 0.2235 * (WpH / L));
return res * 1e-6;
}
Insert cell
Insert cell
ind2 = desc => {
const W = desc.W / 1000; // width of the trace [mm]
const H = desc.H / 1000; // height of the trace above power plane [mm]
const L = desc.L / 1000; // length [mm]
const mu0 = 4 * Math.PI * 1e-7;
const e0 = 1e-9 / (36 * Math.PI);
const v0 = 1 / Math.sqrt(mu0 * e0);
if (H >= W) {
return ((60 * L) / v0) * Math.log((8 * H) / W + W / (4 * L));
} else {
return ((120 * Math.PI * L) / v0) * (1 / (W / H + 1.393 + 0.667 * Math.log(W / H + 1.444)));
}
}
Insert cell
Insert cell
Insert cell
cap1 = desc => {
const E = desc.E; // dielectric constant of the material betwee trace and power plane
const H = desc.H / 1000; // height of the trace above power plane [mm]
const T = desc.T / 1000; // thikness of trace [mm]
const W = desc.W / 1000; // width of the trace [mm]
const L = desc.L / 1000; // length [mm]
const mu0 = 4 * Math.PI * 1e-7;
const e0 = 1e-9 / (36 * Math.PI);
const v0 = 1 / Math.sqrt(mu0 * e0);
if (H > W) {
return (E * L) / (60 * v0 * Math.log((8 * H) / W + W / (4 * H)));
} else {
return (E * L * (W / H + 1.393 + 0.667 * Math.log(W / H + 1.444))) / (120 * Math.PI * v0);
}
}
Insert cell
Insert cell
cap2 = desc => {
const E = desc.E; // dielectric constant of the material betwee trace and power plane
const H = desc.H / 1000; // height of the trace above power plane [mm]
const T = desc.T / 1000; // thikness of trace [mm]
const W = desc.W / 1000; // width of the trace [mm]
const L = desc.L / 1000; // length [mm]
if (W < H) {
return 'W < H';
}
if (L < H) {
return 'L < H';
}
const Cperef = 26.40 * (E + 1.41) * ((W + L) / Math.log((5.98 * H) / (0.8 * H + T)));
const Ccore = 8.8542 * E * ((W - H) * (L - H) / H);
const C = Cperef + Ccore;
return C * 1e-12;
}
Insert cell
Insert cell
imp1 = desc => {
}
Insert cell
imp1({})
Insert cell
Insert cell
res1 = desc => {
const W = desc.W; // width m]
const T = desc.T; // height [m]
const L = desc.L; // length [m]

const rho = 1.68e-8; // resistivity copper [Ohm / m]
const alpha = 3.9e-3; // copper [Ohm / Ohm / C]
const temp = 22; // temperature in C

const A = T * W; // cross-sectional area
const R = rho * (L / (T * W)) * (1 + alpha * (temp - 25));
return R;
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more