uni

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

doc.tex (3778B)


      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{xcolor}
      9 \usepackage{biblatex}
     10 \usepackage[left=2cm,right=2cm]{geometry}
     11 
     12 \lstset {
     13         basicstyle=\ttfamily,
     14         columns=fullflexible,
     15         breaklines=true,
     16         keepspaces=true
     17 }
     18 
     19 \title{Σχεδίαση Ψηφιακών Συστημάτων - Εργασία Θεωρίας (Μέρος 1)}
     20 \author{Χρήστος Μαργιώλης}
     21 \date{Ιούλιος 2020}
     22 
     23 \begin{document}
     24 
     25 \begin{titlepage}
     26         \maketitle
     27 \end{titlepage}
     28 
     29 \renewcommand{\contentsname}{Περιεχόμενα}
     30 \tableofcontents
     31 
     32 \section{Κώδικας και τεκμηρίωση}
     33 
     34 \subsection{\lstinline{mux2to1.vhd}}
     35 
     36 Το παρακάτω κύκλωμα υλοποιεί έναν πολυπλέκτη 2-σε-1. Η υλοποίηση της
     37 αρχιτεκτονικής του έχει ως εξής: αν η είσοδος \lstinline{s} έχει
     38 τιμή 1, τότε θέτουμε στην έξοδο \lstinline{d} την τιμή της εισόδου
     39 \lstinline{a}, ειδάλλως της \lstinline{b}. \\
     40 
     41 \lstinputlisting[language=VHDL]{../mux2to1.vhd}
     42 \pagebreak
     43 
     44 \subsection{\lstinline{dec2to4.vhd}}
     45 
     46 Το παρακάτω κύκλωμα υλοποιεί έναν αποκωδικοποιητή 2-σε-4 -- δηλαδή έχουμε
     47 είσοδο 2 bit και δημιουργούμε μία έξοδο 4 bit. Για την υλοποίηση του 
     48 χρησιμοποιούμε τις λογικές εξισώσεις του αποκωδικοποιητή:
     49 \[D_0 = \overline{A_0 A_1}\]
     50 \[D_1 = \overline{A_0} A_1\]
     51 \[D_2 = A_0 \overline{A_1}\]
     52 \[D_3 = A_0 A_1\] \\
     53 
     54 \lstinputlisting[language=VHDL]{../dec2to4.vhd}
     55 \pagebreak
     56 
     57 \subsection{\lstinline{mux2to1gen.vhd}}
     58 
     59 Στο παρακάτω κύκλωμα ξαναϋλοποιούμε τον πολυπλέκτη 2-σε-1, απλώς αυτή
     60 την φορά παραμετροποιούμε τις εισόδους και εξόδους του ώστε να τον
     61 μετατρέψουμε σε πολλαπλό πολυπλέκτη. Στην προκειμένη περίπτωση η παράμετρος
     62 \lstinline{sz} έχει την τιμή 4, οπότε έχουμε έναν τετραπλό πολυπλέκτη
     63 2-σε-1. \\
     64 
     65 \lstinputlisting[language=VHDL]{../mux2to1gen.vhd}
     66 \pagebreak
     67 
     68 \subsection{\lstinline{mux2to1gen_tb.vhd}}
     69 
     70 Στο παρακάτω κύκλωμα δοκιμάζουμε την λειτουργία του προηγούμενου κυκλώματος
     71 με τη χρήση testbench. Η δημιουργία ενός testbench έχει ως εξής:
     72 \begin{itemize}
     73 	\item Ορίζουμε ένα άδειο entity για το testbench.
     74 	\item Στην αρχικτεκτονική ορίζουμε την περιγραφή του κυκλώματος
     75 		που θέλουμε να δοκιμάσουμε ως component, στην προκειμένη 
     76 		περίπτωση τον πολλαπλό πολυπλέκτη 2-σε-1.
     77 	\item Δημιουργούμε σήματα ίδιου τύπου για κάθε ένα από τα στοιχεία του
     78 		component.
     79 	\item Αντιστοιχούμε τα σήματα με τα πεδία του κυκλώματος (port map).
     80 	\item Δημιουργούμε process και δίνουμε τιμές στα σήματα.
     81 \end{itemize}
     82 
     83 \lstinputlisting[language=VHDL]{../mux2to1gen_tb.vhd}
     84 \pagebreak
     85 
     86 \section{Εκτέλεση}
     87 
     88 Οι παρακάτω κυματομορφές αφορούνε το testbench για τον πολλαπλό πολυπλέκτη 2-σε-1: \\
     89 
     90 \includegraphics[width=\textwidth]{res/mux2to1gen.png}
     91 
     92 \end{document}