started cmos in digitaltechnik
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 16s

This commit is contained in:
alexander
2026-01-30 18:41:47 +01:00
parent 636eeb2b9a
commit 5a8d8dff75
2 changed files with 105 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
#import "../lib/common_rewrite.typ" : * #import "../lib/common_rewrite.typ" : *
#import "@preview/mannot:0.3.1" #import "@preview/mannot:0.3.1"
#import "@preview/cetz:0.4.2" #import "@preview/cetz:0.4.2"
#import "@preview/zap:0.5.0"
#show math.integral: it => math.limits(math.integral) #show math.integral: it => math.limits(math.integral)
#show math.sum: it => math.limits(math.sum) #show math.sum: it => math.limits(math.sum)
@@ -25,6 +26,9 @@
], ],
) )
#let pTypeFill = rgb("#dd5959");
#let nTypeFill = rgb("#5997dd");
#place(top+center, scope: "parent", float: true, heading( #place(top+center, scope: "parent", float: true, heading(
[Digitaltechnik] [Digitaltechnik]
)) ))
@@ -173,18 +177,118 @@
*KDNF:* Kanonische DNF\ *KDNF:* Kanonische DNF\
*KKNF:* Kanonische KNF *KKNF:* Kanonische KNF
*DMF:* Disjunktive #underline("Minimal")-Form: \
$ --> LNot(x_0)x_1 + LNot(x_1)$\
*KMF:* Konjunktive #underline("Minimal")-Form: \
$ --> (LNot(x_0) + x_1) dot LNot(x_1)$
$f(underline(x)) -->$ *KKNF* / *KDNF* mit Boolsche Expansion $f(underline(x)) -->$ *KKNF* / *KDNF* mit Boolsche Expansion
] ]
// Dotierung
#bgBlock(fill: colorRealsierung)[
#table(
columns: (auto, 1fr),
[N-Type],
[
- Dotierung: Phosphor (V)
- Negative Ladgunsträger ($e^-$)
- mehr Elektron als Si
],
[P-Type],
[
- Dotierung: Bor (III)
- Postive Landsträger (Löcher)
- mehr Löcher als Si
]
)
#zap.circuit({
import cetz.draw : *
import zap : *
diode("A", (0,1.7), (3,1.7), fill: black, i: (content: $i_d$, anchor: "south"))
rect((0,0),(1,1), fill: pTypeFill, stroke: none)
rect((2,0),(3,1), fill: nTypeFill, stroke: none)
rect((1,0), (1.5,1), fill: color.lighten(pTypeFill, 50%), stroke: none)
rect((1.5,0), (2,1), fill: color.lighten(nTypeFill, 50%), stroke: none)
line((2, 0), (2, 1), stroke: (dash: "dotted"))
line((1, 0), (1, 1), stroke: (dash: "dotted"))
line((1.5, 0), (1.5, 1), stroke: (dash: "densely-dotted"))
cetz.decorations.brace((2,-0.1),(1,-0.1))
content((1.5, -0.6), "RLZ")
content((2.5, 0.5), "N")
content((0.5, 0.5), "P")
content((1.25, 0.5), "-")
content((1.75, 0.5), "+")
})
#zap.circuit({
import cetz.draw : *
import zap : *
rect((1.5,0),(4-1.5, 0.1), fill: rgb("#535353"), stroke: none)
rect((0,0),(4,-1), fill: pTypeFill, stroke: none)
rect((0.5,-0),(1.5, -0.5), fill: nTypeFill, stroke: none)
rect((4 - 1.5,-0),(4-0.5, -0.5), fill: nTypeFill, stroke: none)
rect((1.5,-0),(2.5, -0.5), fill: none, stroke: (paint: black, dash: "dotted", thickness: 0.06))
<
line((3, 0.3), (3, 0))
line((1, 0.3), (1, 0))
line((2, 0.3), (2, 0.1))
cetz.decorations.brace((2.5,-0.5),(1.5,-0.5))
content((2, -1.3), "Channel")
content((3, -0.25), "N")
content((1, -0.25), "N")
content((0.5, -0.75), "P")
content((3, 0.5), "S")
content((1, 0.5), "D")
content((2, 0.5), "G")
})
#zap.circuit({
import cetz.draw : *
import zap : *
rect((1.5,0),(4-1.5, 0.1), fill: rgb("#535353"), stroke: none)
rect((0,0),(4,-1), fill: nTypeFill, stroke: none)
rect((0.5,-0),(1.5, -0.5), fill: pTypeFill, stroke: none)
rect((4 - 1.5,-0),(4-0.5, -0.5), fill: pTypeFill, stroke: none)
rect((1.5,-0),(2.5, -0.5), fill: none, stroke: (paint: black, dash: "dotted", thickness: 0.06))
line((3, 0.3), (3, 0))
line((1, 0.3), (1, 0))
line((2, 0.3), (2, 0.1))
cetz.decorations.brace((2.5,-0.5),(1.5,-0.5))
content((2, -1.3), "Channel")
content((3, -0.25), "P")
content((1, -0.25), "P")
content((0.5, -0.75), "N")
content((3, 0.5), "S")
content((1, 0.5), "D")
content((2, 0.5), "G")
})
]
// Quine McCluskey
#bgBlock(fill: colorOptimierung)[ #bgBlock(fill: colorOptimierung)[
#subHeading(fill: colorOptimierung)[Quine McCluskey] #subHeading(fill: colorOptimierung)[Quine McCluskey]
] ]
// NMOS/PMOS
#bgBlock(fill: colorRealsierung)[ #bgBlock(fill: colorRealsierung)[
#subHeading(fill: colorRealsierung)[NMOS/PMOS] #subHeading(fill: colorRealsierung)[NMOS/PMOS]
] ]
// CMOS
#bgBlock(fill: colorRealsierung)[ #bgBlock(fill: colorRealsierung)[
#subHeading(fill: colorRealsierung)[CMOS Verzögerung] #subHeading(fill: colorRealsierung)[CMOS Verzögerung]

View File

@@ -804,7 +804,7 @@
columns: (auto, auto, auto, auto), columns: (auto, auto, auto, auto),
inset: 2mm, inset: 2mm,
align: horizon, align: horizon,
table.header([], [*Ein-Tor*], [*Zwei-Tor*], [*Complex AC*]), table.header([], [*Ein-Tor*], [*Zwei-Tor*], [*Reaktive Elemente*]),
[*passiv*\ (nimmt Energie auf)\ $not$aktiv], [*passiv*\ (nimmt Energie auf)\ $not$aktiv],
[$forall (u,i) in cal(F): u dot i >= 0$], [$forall (u,i) in cal(F): u dot i >= 0$],
[ [