Initial Commit and Notes from HS24

This commit is contained in:
2025-02-24 08:06:04 +01:00
parent 2475ac9866
commit 1a445ee6fe
898 changed files with 24179 additions and 1 deletions

View File

@@ -0,0 +1,11 @@
\section{Dont Care Zustände (X)}
\subsection{Nicht benutzte Wertekombinationen}
Ab und zu bekommen wir mehr Codierungen als wir nötig haben. Aus diesem Grund verwenden wir Don't Care Zustände.
\dfn{Don't Care Zustände}{
Don't Care Zustände kennzeichnen Codierungen, welche nicht relevant sind für die logische Funktion. Die Codierung wird mit einem $X$ gekennzeichnet. Don't Care Zustände können den Wert 0 oder 1 annehmen.
}
Don't Care Zustände haben vorallem eine grosse Bedeutung für die Bildung von Päckchen. Da Don't Care Zustände den Wert 1 und 0 annehmen können, können grössere Päckchen gebildet werden.

View File

@@ -0,0 +1,16 @@
\section{Was sind Hazards?}
\subsection{Identifizierung und Behandlung}
\dfn{Hazard}{
Ein Hazard ist eine kurzzeitige und unerwünschte Änderung von Signalwerten. \cite{Luisier2024} Diese tritt meistens aufgrund der Zeitverzögerung von Gattern auf.
}
Hazards können aber frühzeitig erkannt und eliminiert werden mit Hilfe des Karnaugh Diagramms. Für Hazards gilt wenn sich Päckchen orthogonal berühren, markieren diese kritische Werteänderungen (statische Hazards). \cite{Luisier2024} Durch ein zusätzliches Päckchen, welches die zwei orthogonal berührenden Min- bzw. Maxtermen in den Päckchen umschliesst kann der Hazard eliminiert werden.
\includegraphics[width=0.3\linewidth]{fig/Fig_37.png} \cite{Luisier2024}
\nt{
Wenn sich Päckchen diagonal berühren entsteht ein funktionaler Hazard. Dieser kann nicht leicht behoben werden.
}

View File

@@ -0,0 +1,151 @@
\section{Karnaugh-Diagramme}
\subsection{Einführung und Regeln}
Karnaugh Diagramme werden zur Vereinfachung von logischen Gleichungen verwendet. Wir haben zwar in Kapitel \ref{sec:verein} und \ref{sec:morgan} eine Methode gelernt, logische Gleichungen zu vereinfachen. Die Karnaugh Diagramme sind eine andere Methode, welche in manchen Fällen schneller ist.
\begin{center}
\begin{tikzpicture}
\matrix (kv) [
matrix of nodes,
nodes in empty cells,
column sep=-\pgflinewidth, row sep=-\pgflinewidth,
nodes = {
rectangle,
draw = black,
text width = 5mm,
text height = 5mm,
align = center
}
]{
$0$ & $1$ & $X$ & \\
& & & \\
& $\textcolor{blue}{1}$ & & \\
& & & \\
};
\path[draw, decorate, decoration=brace] (kv-1-1.north west) -- (kv-1-2.north east) node [midway, above] {$\bar{A}$};
\path[draw, decorate, decoration=brace] (kv-1-3.north west) -- (kv-1-4.north east) node [midway, above] {$A$};
\path[draw, decorate, decoration=brace] (kv-2-1.south west) -- (kv-1-1.north west) node [midway, left] {$\bar{C}$};
\path[draw, decorate, decoration=brace] (kv-4-1.south west) -- (kv-3-1.north west) node [midway, left] {$C$};
\path[draw, decorate, decoration=brace] (kv-2-4.north east) -- (kv-3-4.south east) node [midway, right] {$D$};
\path[draw, decorate, decoration=brace] (kv-1-4.north east) -- (kv-1-4.south east) node [midway, right] {$\bar{D}$};
\path[draw, decorate, decoration=brace] (kv-4-4.north east) -- (kv-4-4.south east) node [midway, right] {$\bar{D}$};
\path[draw, decorate, decoration=brace] (kv-4-3.south east) -- (kv-4-2.south west) node [midway, below] {$B$};
\path[draw, decorate, decoration=brace] (kv-4-1.south east) -- (kv-4-1.south west) node [midway, below] {$\bar{B}$};
\path[draw, decorate, decoration=brace] (kv-4-4.south east) -- (kv-4-4.south west) node [midway, below] {$\bar{B}$};
\end{tikzpicture}
\end{center}
Karnaugh Diagramme können für logische Gleichungen mit mehreren Eingangsvariablen gebildet werden. Grundsätzlich gilt für $n$ Eingangsvariablen hat das Karnaugh Diagram $2 ^n$ Felder. Jedes Feld im Karnaugh Diagramm ist für ein Minterm oder ein Maxterm gedacht. Dabei gilt wie bei der Wahrheitstablle wenn die Ausgangsvariable 1 ist handelt es sich um ein Minterm. Ist die Ausgangsvariable 0, so ist es ein Maxterm.
\\
Das interessante an Karnaugh Diagrammen ist, dass man mit den Min- bzw. Maxtermen "Päckchen" bilden kann. Päckchen können wie folgt gebildet werden.
\begin{enumerate}
\item Päckchen haben eine Grösse von $2 ^{n}$
\item Die Päckchen bestehen entweder nur aus Min- bzw. Maxtermen.
\item Es soll immer das grösstmögliche Päckchen gebildet werden.
\item Päckchen können sich schneiden.
\end{enumerate}
Durch das Bilden von Päckchen können neue Min- bzw. Maxterme gebildet werden, da in Päckchen Variablen in ihrer negierten und nicht negierten Form vorkommen. Diese gleichen sich aus und verschwinden.
\nt{
Karnaugh Diagramme bestehend aus mehreren Eingangsvariablen können "eigenartige" Päckchen haben.
\begin{minipage}{0.5\linewidth}
\includegraphics[width=\textwidth]{fig/Fig_6.png} \cite{Luisier2024}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\includegraphics[width=\textwidth]{fig/Fig_7.png} \cite{Luisier2024}
\end{minipage}
}
\nt{
Karnaugh Diagramme können unendlich viele Eingangsvariablen haben, jedoch beschränken wir uns auf maximal fünf Eingangsvariablen, da Karnaugh Diagramme mit mehr als fünf Eingangsvariablen unübersichtlich wird.
}
Um das Karnaugh Diagramm mit einer Wahrheitstablle auszufüllen, gibt es eine bestimmte Vorgehensweise.
\begin{minipage}{0.5\linewidth}
\begin{center}
\begin{tikzpicture}
\matrix (kv) [
matrix of nodes,
nodes in empty cells,
column sep=-\pgflinewidth, row sep=-\pgflinewidth,
nodes = {
rectangle,
draw = black,
text width = 5mm,
text height = 5mm,
align = center,
text = gray
}
]{
\node[kvbinhead] {}; & \node[kvbinhead] {00}; & \node[kvbinhead] {01}; & \node[kvbinhead] {11}; & \node[kvbinhead] {10}; \\
\node[kvbinhead] {00}; & & & & \\
\node[kvbinhead] {01}; & & & & \\
\node[kvbinhead] {11}; & & & & \\
\node[kvbinhead] {10}; & & & & \\
};
\node[] at ($(kv-1-1.north east) + (-6mm, +2mm)$) {AB};
\node[] at ($(kv-1-1.south west) + (-1mm, +5mm)$) {CD};
\draw[] ($(kv-1-1.north west) + (-3mm, 3mm)$) -- ($(kv-1-1.south east) + (-3.5mm, 3.5mm)$);
\begin{pgfonlayer}{tl3}
\draw[thick, blue, ->, > = stealth] (kv-2-2.center) -- (kv-3-2.center) to[out = 180, in = 180] (kv-5-2.center) -- (kv-4-2.center);
\draw[thick, blue, ->, > = stealth] (kv-2-3.center) -- (kv-3-3.center) to[out = 180, in = 180] (kv-5-3.center) -- (kv-4-3.center);
\draw[thick, blue, ->, > = stealth] (kv-2-5.center) -- (kv-3-5.center) to[out = 180, in = 180] (kv-5-5.center) -- (kv-4-5.center);
\draw[thick, blue, ->, > = stealth] (kv-2-4.center) -- (kv-3-4.center) to[out = 180, in = 180] (kv-5-4.center) -- (kv-4-4.center);
\end{pgfonlayer}
\begin{pgfonlayer}{tl2}
\draw[thick, darkgreen, ->, > = stealth] (kv-4-2.center) -- (kv-2-3.center);
\draw[thick, red, ->, > = stealth] (kv-4-3.center) -- (kv-2-5.center);
\draw[thick, darkgreen, ->, > = stealth] (kv-4-5.center) -- (kv-2-4.center);
\end{pgfonlayer}
\end{tikzpicture}
\end{center}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{center}
\begin{tikzpicture}
\matrix (kv) [
matrix of nodes,
nodes in empty cells,
column sep=-\pgflinewidth, row sep=-\pgflinewidth,
nodes = {
rectangle,
draw = black,
text width = 5mm,
text height = 5mm,
align = center,
text = gray
}
]{
\node[kvbinhead] {}; & \node[kvbinhead] {00}; & \node[kvbinhead] {01}; & \node[kvbinhead] {11}; & \node[kvbinhead] {10}; \\
\node[kvbinhead] {00}; & & & & \\
\node[kvbinhead] {01}; & & & & \\
\node[kvbinhead] {11}; & & & & \\
\node[kvbinhead] {10}; & & & & \\
};
\node[] at ($(kv-1-1.north east) + (-6mm, +2mm)$) {CD};
\node[] at ($(kv-1-1.south west) + (-1mm, +5mm)$) {AB};
\draw[] ($(kv-1-1.north west) + (-3mm, 3mm)$) -- ($(kv-1-1.south east) + (-3.5mm, 3.5mm)$);
\begin{pgfonlayer}{tl3}
\draw[thick, blue, ->, > = stealth] (kv-2-2.center) -- (kv-2-3.center) to[out = 90, in = 90] (kv-2-5.center) -- (kv-2-4.center);
\draw[thick, blue, ->, > = stealth] (kv-3-2.center) -- (kv-3-3.center) to[out = 90, in = 90] (kv-3-5.center) -- (kv-3-4.center);
\draw[thick, blue, ->, > = stealth] (kv-5-2.center) -- (kv-5-3.center) to[out = 90, in = 90] (kv-5-5.center) -- (kv-5-4.center);
\draw[thick, blue, ->, > = stealth] (kv-4-2.center) -- (kv-4-3.center) to[out = 90, in = 90] (kv-4-5.center) -- (kv-4-4.center);
\end{pgfonlayer}
\begin{pgfonlayer}{tl2}
\draw[thick, darkgreen, ->, > = stealth] (kv-2-4.center) -- (kv-3-2.center);
\draw[thick, red, ->, > = stealth] (kv-3-4.center) -- (kv-5-2.center);
\draw[thick, darkgreen, ->, > = stealth] (kv-5-4.center) -- (kv-4-2.center);
\end{pgfonlayer}
\end{tikzpicture}
\end{center}
\end{minipage}

View File

@@ -0,0 +1,5 @@
\chapter{Schaltungssynthese}
\input{kv_diagramm.tex}
\input{dont_care.tex}
\input{hazard.tex}