uni

University stuff
git clone git://git.margiolis.net/uni.git
Log | Files | Refs | README | LICENSE

dl2.tex (14749B)


      1 \documentclass{article}
      2 \usepackage[utf8]{inputenc}
      3 \usepackage[greek,english]{babel}
      4 \usepackage{alphabeta}
      5 \usepackage{fancyhdr}
      6 \usepackage{listings}
      7 \usepackage{mathtools}
      8 \usepackage{siunitx}
      9 \usepackage{xcolor}
     10 \usepackage{graphicx}
     11 \usepackage{pgfplots}
     12 \usepackage[export]{adjustbox}
     13 \usepackage{biblatex}
     14 \addbibresource{dl2-citations.bib}
     15 
     16 %\pagestyle{fancy}
     17 %\renewcommand\headrulewidth{0pt}
     18 %\fancyhead{}
     19 %\fancyfoot{}
     20 %\fancyfoot[R]{\thepage}
     21 
     22 \title{Εργαστηριακή Εργασία 2 - Αθροιστές-Αφαιρέτες}
     23 \author{Χρήστος Μαργιώλης - 19390133 \\ Τμήμα 8}
     24 \date{Ιούνιος 2020}
     25 
     26 \begin{document}
     27 
     28 \begin{figure}[t!]
     29     \centering
     30     \includegraphics[scale=0.3, center]{./res/Logo_University_of_West_Attica.png}
     31     \Large
     32     \textbf{Πανεπιστήμιο Δυτικής Αττικής} \\
     33     \large
     34     Τμήμα Μηχανικών Πληροφορικής και Ηλεκτρονικών Υπολογιστών \\
     35     Ψηφιακή Σχεδίαση
     36 \end{figure}
     37 \begin{figure}[b]
     38     \centering
     39     \includegraphics[scale=1]{./res/19390133.jpeg}
     40 \end{figure}
     41 
     42 \begin{titlepage}
     43 \maketitle
     44 \end{titlepage}
     45 
     46 \renewcommand{\contentsname}{Περιεχόμενα}
     47 \tableofcontents
     48 
     49 \renewcommand{\abstractname}{Εισαγωγή}
     50 \begin{abstract}
     51 	Το αντικείμενο της εργασίας αυτής είναι η κατανόηση και η εφαρμογή
     52 	των λογικών κυκλωμάτων υπεύθυνων για προσθέσεις και αφαιρέσεις - τους
     53 	αθροιστές και τους αφαιρέτες.
     54 \end{abstract}
     55 \pagebreak
     56 
     57 \section{Συλλογή βιβλιογραφίας}
     58 Η βιβλιογραφία που χρησιμοποιήθηκε κάλυψε τα βασικά προβλήματα της εργασίας,
     59 δηλαδή τις έννοιες και τις λειτουργίες των αθροιστών και αφαιρετών.
     60 
     61 \section{Περιγραφή υλοποίησης}
     62 Για την υλοποίηση της εργασίας και βασισμένος στην βιβλιογραφία που συνέλεξα,
     63 χρησιμοποιήσα κυκλώματα προσθετών και αφαιρετών, καθώς και ολοκληρωμένα κυκλώματα και
     64 block διαγράμματα.
     65 Επίσης χρησιμοποιήθηκαν πίνακες αλήθειας και λογικές εξισώσεις για τις επαληθεύσεις
     66 των αποτελεσμάτων και των μετρήσεων.
     67 
     68 \section{Θεωρητικό μέρος}
     69 Άθροιστες και αφαιρέτες είναι λογικά κυκλώματα που έχουν την ιδιότητα να προσθέτουν
     70 και να αφαιρούν bits αντίστοιχα, όπως λέει και το όνομα τους. Στην απλούστερη μορφή του,
     71 ένα κύκλωμα πρόσθεσης/αφαίρεσης ονομάζεται ημιαθροιστής/ημιαφαιρέτης. Προκειμένου να
     72 μπορέσουμε να κάνουμε πλήρης προσθέσεις και αφαιρέσεις χρησιμοποιούμε πιο εκτεταμένες
     73 μορφές των παραπάνω κυκλωμάτων τις οποίες ονομάζουμε πλήρεις αθροιστές/αφαιρέτες.
     74 
     75 \section{Εργαστηριακό μέρος}
     76 
     77 Λόγω του ότι οι εικόνες καταλαμβάνουν πολύ χώρο, στις 4 πρώτες ασκήσεις για κάθε
     78 κύκλωμα θα βάλω μία εικόνα και θα αναλύσω όλες τις υπόλοιπες καταστάσεις και εξόδους
     79 μέσα από τις λογικές τους εξισώσεις. Όπου η εξίσωση δίνει αποτέλεσμα 1 σημαίνει ότι
     80 στο κύκλωμα θα ανάψει το LED που είναι συνδεδεμένο στην έξοδο που έδωσε λογικό 1, και
     81 όπου δίνει αποτέλεσμα 0 σημαίνει οτι δεν θα ανάψει το LED στην έξοδο του κυκλώματος
     82 αντίστοιχα.
     83 
     84 \subsection{Ημιαθροιστής}
     85 
     86 Ο πίνακας αλήθειας για τον ημιαθροιστή είναι ο παρακάτω
     87 
     88 \begin{center}
     89 	\begin{tabular}{|c|c|c|c|}
     90 	\hline
     91 	$X$ & $Y$ & $S$ & $C$ \\
     92 	\hline
     93 	0 & 0 & 0 & 0 \\
     94 	0 & 1 & 1 & 0 \\
     95 	1 & 0 & 1 & 0 \\
     96 	1 & 1 & 0 & 1 \\
     97 	\hline
     98 \end{tabular}
     99 \end{center}
    100 
    101 Οι λογικές εξισώσεις για το άθροισμα και το κρατούμενο που προκύπτουν από τον πίνακα
    102 αληθείας είναι οι εξής
    103 
    104 \[S = \overline{X} \cdot Y + X \cdot \overline{Y} = X \oplus Y\]
    105 \[C = X \cdot Y\]
    106 
    107 Θα αναλύσουμε τις εξόδους για κάθε πιθανό συνδυασμό εισόδων στο παρακάτω κύκλωμα. \\
    108 
    109 \includegraphics[width=\textwidth]{./res/ha00.png}
    110 
    111 \begin{itemize}
    112 	\item
    113 	$X = 0$ \\
    114 	$Y = 0$
    115 
    116 	\[S = 0 \oplus 0 = 0\]
    117 	\[C = 0 \cdot 0 = 0\]
    118 
    119 	\item
    120 	$X = 0$ \\
    121 	$Y = 1$
    122 
    123 	\[S = 0 \oplus 1 = 1\]
    124 	\[C = 0 \cdot 1 = 0\]
    125 
    126 	\item
    127 	$X = 1$ \\
    128 	$Y = 0$
    129 
    130 	\[S = 1 \oplus 0 = 1\]
    131 	\[C = 1 \cdot 0 = 0\]
    132 
    133 	\item
    134 	$X = 1$ \\
    135 	$Y = 1$
    136 
    137 	\[S = 1 \oplus 1 = 0\]
    138 	\[C = 1 \cdot 1 = 1\]
    139 \end{itemize}
    140 
    141 \subsection{Ημιαφαιρέτης}
    142 
    143 Ο πίνακας αλήθειας για τον ημιαφαιρέτη είναι ο παρακάτω
    144 
    145 \begin{center}
    146 	\begin{tabular}{|c|c|c|c|}
    147 	\hline
    148 	$X$ & $Y$ & $D$ & $B$ \\
    149 	\hline
    150 	0 & 0 & 0 & 0 \\
    151 	0 & 1 & 1 & 1 \\
    152 	1 & 0 & 1 & 0 \\
    153 	1 & 1 & 0 & 0 \\
    154 	\hline
    155 \end{tabular}
    156 \end{center}
    157 
    158 Οι λογικές εξισώσεις για την διαφορά και το δανειζόμενο που προκύπτουν από τον πίνακα
    159 αληθείας είναι οι εξής
    160 
    161 \[S = \overline{X} \cdot Y + X \cdot \overline{Y} = X \oplus Y\]
    162 \[C = \overline{X} \cdot Y\]
    163 
    164 Θα αναλύσουμε τις εξόδους για κάθε πιθανό συνδυασμό εισόδων στο παρακάτω κύκλωμα. \\
    165 
    166 \includegraphics[width=\textwidth]{./res/hs00.png}
    167 
    168 \begin{itemize}
    169 	\item
    170 	$X = 0$ \\
    171 	$Y = 0$
    172 
    173 	\[S = 0 \oplus 0 = 0\]
    174 	\[C = \overline{0} \cdot 0 = 1 \cdot 0 = 0\]
    175 
    176 	\item
    177 	$X = 0$ \\
    178 	$Y = 1$
    179 
    180 	\[S = 0 \oplus 1 = 1\]
    181 	\[C = \overline{0} \cdot 1 = 1 \cdot 1 = 1\]
    182 
    183 	\item
    184 	$X = 1$ \\
    185 	$Y = 0$
    186 
    187 	\[S = 1 \oplus 0 = 1\]
    188 	\[C = \overline{1} \cdot 0 = 0 \cdot 0 = 0\]
    189 
    190 	\item
    191 	$X = 1$ \\
    192 	$Y = 1$
    193 
    194 	\[S = 1 \oplus 1 = 0\]
    195 	\[C = \overline{1} \cdot 1 = 0 \cdot 1 = 0\]
    196 \end{itemize}
    197 
    198 \subsection{Πλήρης Αθροιστής}
    199 
    200 Ο πίνακας αλήθειας για τον πλήρη αθροιστή είναι ο παρακάτω
    201 
    202 \begin{center}
    203 	\begin{tabular}{|c|c|c|c|c|c|}
    204 	\hline
    205 	$X_n$ & $Y_n$ & $C_{n-1}$ & $S_n$ & $C_n$ \\
    206 	\hline
    207 	0 & 0 & 0 & 0 & 0 \\
    208 	0 & 0 & 1 & 1 & 0 \\
    209 	0 & 1 & 0 & 1 & 0 \\
    210 	0 & 1 & 1 & 0 & 1 \\
    211 	1 & 0 & 0 & 1 & 0 \\
    212 	1 & 0 & 1 & 0 & 1 \\
    213 	1 & 1 & 0 & 0 & 1 \\
    214 	1 & 1 & 1 & 1 & 1 \\
    215 	\hline
    216 \end{tabular}
    217 \end{center}
    218 
    219 Οι λογικές εξισώσεις στην τελική τους μορφή για το άθροισμα και το κρατούμενο που
    220 προκύπτουν από τον πίνακα αληθείας είναι οι εξής
    221 
    222 \[S_n = X_n \oplus Y_n \oplus C_{n-1}\]
    223 \[C_n = (X_n \oplus Y_n)C_{n-1} + X_n \cdot Y_n\]
    224 
    225 Θα αναλύσουμε τις εξόδους για κάθε πιθανό συνδυασμό εισόδων στο παρακάτω κύκλωμα. \\
    226 \includegraphics[width=\textwidth]{./res/fa000.png}
    227 
    228 \begin{itemize}
    229 	\item
    230 	$X_n = 0$ \\
    231 	$Y_n = 0$ \\
    232 	$C_{n-1} = 0$
    233 
    234 	\[S_n = 0 \oplus 0 \oplus 0 = 0\]
    235 	\[C_n = (0 \oplus 0)0 + 0 \cdot 0 = 0 \cdot 0 + 0 \cdot 0 = 0\]
    236 
    237 	\item
    238 	$X_n = 0$ \\
    239 	$Y_n = 0$ \\
    240 	$C_{n-1} = 1$
    241 
    242 	\[S_n = 0 \oplus 0 \oplus 1 = (0 \oplus 0) \oplus 1 = 0 \oplus 1 = 1\]
    243 	\[C_n = (0 \oplus 0)1 + 0 \cdot 0 = 0 \cdot 1 = 0\]
    244 
    245 	\item
    246 	$X_n = 0$ \\
    247 	$Y_n = 1$ \\
    248 	$C_{n-1} = 0$
    249 
    250 	\[S_n = 0 \oplus 1 \oplus 0 = (0 \oplus 1) \oplus 0 = 1 \oplus 0 = 1\]
    251 	\[C_n = (0 \oplus 1)0 + 0 \cdot 1 = 1 \cdot 0 = 0\]
    252 
    253 	\item
    254 	$X_n = 0$ \\
    255 	$Y_n = 1$ \\
    256 	$C_{n-1} = 1$
    257 
    258 	\[S_n = 0 \oplus 1 \oplus 1 = (0 \oplus 1) \oplus 1 = 1 \oplus 1 = 0\]
    259 	\[C_n = (0 \oplus 1)1 + 0 \cdot 1 = 1 \cdot 1 = 1\]
    260 
    261 	\item
    262 	$X_n = 1$ \\
    263 	$Y_n = 0$ \\
    264 	$C_{n-1} = 0$
    265 
    266 	\[S_n = 1 \oplus 0 \oplus 0 = (1 \oplus 0) \oplus 0 = 1 \oplus 0 = 1\]
    267 	\[C_n = (1 \oplus 0)0 + 1 \cdot 0 = 1 \cdot 0 = 0\]
    268 
    269 	\item
    270 	$X_n = 1$ \\
    271 	$Y_n = 0$ \\
    272 	$C_{n-1} = 1$
    273 
    274 	\[S_n = 1 \oplus 0 \oplus 1 = (1 \oplus 0) \oplus 1 = 1 \oplus 1 = 0\]
    275 	\[C_n = (1 \oplus 0)1 + 1 \cdot 0 = 1 \cdot 1 = 1\]
    276 
    277 	\item
    278 	$X_n = 1$ \\
    279 	$Y_n = 1$ \\
    280 	$C_{n-1} = 0$
    281 
    282 	\[S_n = 1 \oplus 1 \oplus 0 = (1 \oplus 1) \oplus 0 = 0 \oplus 0 = 0\]
    283 	\[C_n = (1 \oplus 1)0 + 1 \cdot 1 = 1\]
    284 
    285 	\item
    286 	$X_n = 1$ \\
    287 	$Y_n = 1$ \\
    288 	$C_{n-1} = 1$
    289 
    290 	\[S_n = 1 \oplus 1 \oplus 1 = (1 \oplus 1) \oplus 1 = 0 \oplus 1 = 1\]
    291 	\[C_n = (1 \oplus 1)1 + 1 \cdot 1 = 1 + 1 = 1\]
    292 \end{itemize}
    293 
    294 \subsection{Πλήρης Αφαιρέτης}
    295 
    296 Ο πίνακας αλήθειας για τον πλήρη αφαιρέτη είναι ο παρακάτω
    297 
    298 \begin{center}
    299 	\begin{tabular}{|c|c|c|c|c|c|}
    300 	\hline
    301 	$X_n$ & $Y_n$ & $B_{n-1}$ & $D_n$ & $B_n$ \\
    302 	\hline
    303 	0 & 0 & 0 & 0 & 0 \\
    304 	0 & 0 & 1 & 1 & 1 \\
    305 	0 & 1 & 0 & 1 & 1 \\
    306 	0 & 1 & 1 & 0 & 1 \\
    307 	1 & 0 & 0 & 1 & 0 \\
    308 	1 & 0 & 1 & 0 & 0 \\
    309 	1 & 1 & 0 & 0 & 0 \\
    310 	1 & 1 & 1 & 1 & 1 \\
    311 	\hline
    312 \end{tabular}
    313 \end{center}
    314 
    315 Οι λογικές εξισώσεις στην τελική τους μορφή για το άθροισμα και το κρατούμενο που
    316 προκύπτουν από τον πίνακα αληθείας είναι οι εξής
    317 
    318 \[D_n = X_n \oplus Y_n \oplus B_{n-1}\]
    319 \[B_n = \overline{(X_n \oplus Y_n)}B_{n-1} + \overline{X_n} \cdot Y_n\]
    320 
    321 Θα αναλύσουμε τις εξόδους για κάθε πιθανό συνδυασμό εισόδων στο παρακάτω κύκλωμα. \\
    322 \includegraphics[width=\textwidth]{./res/fs000.png}
    323 
    324 \begin{itemize}
    325 	\item
    326 	$X_n = 0$ \\
    327 	$Y_n = 0$ \\
    328 	$B_{n-1} = 0$
    329 
    330 	\[D_n = 0 \oplus 0 \oplus 0 = 0\]
    331 	\[B_n = \overline{(0 \oplus 0)}0 + \overline{0} \cdot 0 =
    332 		1 \cdot 0 + 1 \cdot 0 = 0\]
    333 
    334 	\item
    335 	$X_n = 0$ \\
    336 	$Y_n = 0$ \\
    337 	$B_{n-1} = 1$
    338 
    339 	\[D_n = 0 \oplus 0 \oplus 1 = (0 \oplus 0) \oplus 1 = 0 \oplus 1 = 1\]
    340 	\[B_n = \overline{(0 \oplus 0)}1 + \overline{0} \cdot 0 =
    341 		1 \cdot 1 + 1 \cdot 0 = 1\]
    342 
    343 	\item
    344 	$X_n = 0$ \\
    345 	$Y_n = 1$ \\
    346 	$B_{n-1} = 0$
    347 
    348 	\[D_n = 0 \oplus 1 \oplus 0 = (0 \oplus 1) \oplus 0 = 1 \oplus 0 = 1\]
    349 	\[B_n = \overline{(0 \oplus 1)}0 + \overline{0} \cdot 1 =
    350 		\overline{1} \cdot 0 + 1 \cdot 1 = 1\]
    351 
    352 	\item
    353 	$X_n = 0$ \\
    354 	$Y_n = 1$ \\
    355 	$B_{n-1} = 1$
    356 
    357 	\[D_n = 0 \oplus 1 \oplus 1 = (0 \oplus 1) \oplus 1 = 1 \oplus 1 = 0\]
    358 	\[B_n = \overline{(0 \oplus 1)}1 + \overline{0} \cdot 1 =
    359 		\overline{1} \cdot 1 + 1 \cdot 1 = 1\]
    360 
    361 	\item
    362 	$X_n = 1$ \\
    363 	$Y_n = 0$ \\
    364 	$B_{n-1} = 0$
    365 
    366 	\[D_n = 1 \oplus 0 \oplus 0 = (1 \oplus 0) \oplus 0 = 1 \oplus 0 = 1\]
    367 	\[B_n = \overline{(1 \oplus 0)}0 + \overline{1} \cdot 0 =
    368 		\overline{1} \cdot 0 = 0\]
    369 
    370 	\item
    371 	$X_n = 1$ \\
    372 	$Y_n = 0$ \\
    373 	$B_{n-1} = 1$
    374 
    375 	\[D_n = 1 \oplus 0 \oplus 1 = (1 \oplus 0) \oplus 1 = 1 \oplus 1 = 0\]
    376 	\[B_n = \overline{(1 \oplus 0)}1 + \overline{1} \cdot 0 =
    377 		\overline{1} \cdot 1 = 0\]
    378 
    379 	\item
    380 	$X_n = 1$ \\
    381 	$Y_n = 1$ \\
    382 	$B_{n-1} = 0$
    383 
    384 	\[D_n = 1 \oplus 1 \oplus 0 = (1 \oplus 1) \oplus 0 = 0 \oplus 0 = 0\]
    385 	\[B_n = \overline{(1 \oplus 1)}0 + \overline{1} \cdot 1 =
    386 		\overline{0} \cdot 0 + 0 \cdot 1 = 0\]
    387 
    388 	\item
    389 	$X_n = 1$ \\
    390 	$Y_n = 1$ \\
    391 	$B_{n-1} = 1$
    392 
    393 	\[D_n = 1 \oplus 1 \oplus 1 = (1 \oplus 1) \oplus 1 = 0 \oplus 1 = 1\]
    394 	\[B_n = \overline{(1 \oplus 1)}1 + \overline{1} \cdot 1 =
    395 		\overline{0} \cdot 1 + 0 \cdot 1 = 1\]
    396 
    397 \end{itemize}
    398 
    399 \subsection{Αθροιστής 4-bit}
    400 \includegraphics[width=\textwidth]{./res/fa7486.png}
    401 
    402 \subsubsection{Είσοδος 0V - Λειτουργία πρόσθεσης}
    403 Από το παραπάνω σχηματικό παρατηρούμε ότι η πράξεις που εκτελεί ο αθροιστής
    404 πράγματι λειτουργούν σωστά - δηλαδή, επαληθεύουν την μαθηματική και θεωρητική
    405 προσέγγιση των πράξεων που εκτελούνται. \\
    406 Στην εικόνα φαίνεται το αποτέλεσμα της πράξης
    407 \[1001 + 0110 = 1111\]
    408 Επειδή δεν υπάρχει κρατούμενο, το πράσινο LED δεν ανάβει. Είναι σημαντικό να 
    409 σημειωθεί ότι το κρατούμενο αυτό προκύπτει επειδή υπάρχει υπερχείλιση (overflow).
    410 Για παράδειγμα στην παρακάτω πράξη $1001 + 1000 = 0001$ το αποτέλεσμα κανονικά 
    411 είναι $10001$ λόγω υπερχείλισης, όμως αγννοούμε το παραπανήσιο bit \cite{efstathiou}. \\
    412 Αντίστοιχα, τα αποτέλεσματα των επόμενων πράξεων που προέκυψαν είναι τα εξής
    413 \begin{itemize}
    414     \item $1001 + 1000 = 0001$ με κρατούμενο
    415     \item $1001 + 0100 = 1101$
    416     \item $1001 + 1100 = 0101$ με κρατούμενο
    417 \end{itemize}
    418 
    419 \subsubsection{Είσοδος 5V - Λειτουργία αφαίρεσης}
    420 \begin{itemize}
    421     \item $1001 - 0111 = 0010$ με κρατούμενο
    422     \item $1001 - 1111 = 1010$
    423     \item $1001 - 0100 = 0101$ με κρατούμενο
    424     \item $1001 - 1011 = 1110$
    425 \end{itemize}
    426 
    427 \subsection{Παράλληλος Αθροιστής 4-bit}
    428 \subsubsection{HA για πρόσθεση ψηφίων χαμηλότερης τάξης}
    429 Στην πρόσθεση των ψηφίων χαμηλότερης τάξης χρησιμοποείται Half Adder (ημιαθροιστής)
    430 αντί για Full Adder (πλήρης αθροιστής) επειδή δεν υπάρχει κρατούμενο από προηγούμενη
    431 πράξη.
    432 
    433 \subsubsection{Αντικατάσταση HA με FA}
    434 \includegraphics[width=\textwidth]{./res/8bitfa.png}
    435 
    436 \subsubsection{Συμπλήρωση τιμών}
    437 Το αποτέλεσμα της πρόσθεσης $1001 + 1011$ είναι $0100$ με κρατούμενο,
    438 οπότε οι τιμές που προκύπτουν είναι οι εξής \\
    439 $S_3 = 0$, $S_2 = 1$, $S_1 = 0$, $S_0 = 0$ και \\
    440 $C_3 = 1$, $C_2 = 0$, $C_1 = 1$, $C_0 = 1$
    441 
    442 \subsubsection{Block διάγραμμα πλήρη αθροιστή}
    443 \includegraphics[width=\textwidth]{./res/fablock.png}
    444 
    445 \renewcommand\refname{Πηγές}
    446 \printbibliography
    447 \end{document}