uni

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

doc.tex (3067B)


      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{Σχεδίαση Ψηφιακών Συστημάτων - Εργασία Θεωρίας (Μέρος 4)}
     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{ctrl.vhd}}
     35 
     36 Το παρακάτω κύκλωμα υλοποιεί την μονάδα ελέγχου ενός επεξεργαστή. Η υλοποίηση
     37 έγινε με βάση τον πίνακα από τις διαφάνειες του μαθήματος. Στο τέλος προτίμησα
     38 την δομή \lstinline{with-select} για πιο ευανάγνωστο κώδικα. \\
     39 
     40 \lstinputlisting[language=VHDL]{../ctrl.vhd}
     41 \pagebreak
     42 
     43 \subsection{\lstinline{ctrl_tb.vhd}}
     44 
     45 Testbench για την μονάδα ελέγχου. \\
     46 
     47 \lstinputlisting[language=VHDL]{../ctrl_tb.vhd}
     48 \pagebreak
     49 
     50 \subsection{\lstinline{sign_ext.vhd}}
     51 
     52 Το παρακάτω κύκλωμα υλοποιεί την μονάδα επέκτασης προσήμου. Στην αρχιτεκτονική
     53 της, ορίζουμε την έξοδο σε (\lstinline{XXXX} συμβολίζει την είσοδο instruction):
     54 \begin{itemize}
     55 	\item \lstinline{0x0000XXXX} όταν το MSB του instruction ειναι 0.
     56 	\item \lstinline{0xffffXXXX} όταν το MSB είναι 1. \\
     57 \end{itemize}
     58 
     59 \lstinputlisting[language=VHDL]{../sign_ext.vhd}
     60 \pagebreak
     61 
     62 \subsection{\lstinline{sign_ext_tb.vhd}}
     63 
     64 Testbench για την μονάδα επέκτασης προσήμου. \\
     65 
     66 \lstinputlisting[language=VHDL]{../sign_ext_tb.vhd}
     67 \pagebreak
     68 
     69 \subsection{\lstinline{shl2.vhd}}
     70 
     71 Το παρακάτω κύκλωμα υλοποιεί μία μονάδα αριστερής ολίσθησης κατά 2 bit. Η
     72 αρχιτεκτονική της είναι πολύ απλή: παίρνουμε τα 30 τελευταία bit της εισόδου
     73 και τους «κολλάμε» (concatenate) 2 μηδενικά bit στο τέλος. \\
     74 
     75 \lstinputlisting[language=VHDL]{../shl2.vhd}
     76 \pagebreak
     77 
     78 \subsection{\lstinline{shl2_tb.vhd}}
     79 
     80 Testbench για την μονάδα αριστερής ολίσθησης κατά 2 bit. \\
     81 
     82 \lstinputlisting[language=VHDL]{../shl2_tb.vhd}
     83 \pagebreak
     84 
     85 \section{Εκτέλεση}
     86 
     87 \subsection{\lstinline{ctrl_tb}}
     88 \includegraphics[width=\textwidth]{res/ctrl.png}
     89 
     90 \subsection{\lstinline{sign_ext_tb}}
     91 \includegraphics[width=\textwidth]{res/sign_ext.png}
     92 
     93 \subsection{\lstinline{shl2_tb}}
     94 \includegraphics[width=\textwidth]{res/shl2.png}
     95 
     96 \end{document}