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}