uni

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

doc.tex (3335B)


      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{Σχεδίαση Ψηφιακών Συστημάτων - Εργασία Θεωρίας (Μέρος 7)}
     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 Για καλύτερη κατανόηση του κώδικα του MIPS, παραθέτω και τις υλοποιήσεις (ξανά)
     35 όλων των κυκλωμάτων που χρησιμοποιήθηκαν. Μερικά από τα κυκλώματα υπέστησαν μικρές 
     36 τροποιήσεις.
     37 
     38 \subsection{\lstinline{alu.vhd}}
     39 
     40 Αριθμητική και λογική μονάδα. \\
     41 
     42 \lstinputlisting[language=VHDL]{../alu.vhd}
     43 \pagebreak
     44 
     45 \subsection{\lstinline{regfile_ext.vhd}}
     46 
     47 Register file. \\
     48 
     49 \lstinputlisting[language=VHDL]{../regfile_ext.vhd}
     50 \pagebreak
     51 
     52 \subsection{\lstinline{instrmem.vhd}}
     53 
     54 Μνήμη εντολών. \\
     55 
     56 \lstinputlisting[language=VHDL]{../instrmem.vhd}
     57 \pagebreak
     58 
     59 \subsection{\lstinline{ctrl.vhd}}
     60 
     61 Μονάδα ελέγχου. \\
     62 
     63 \lstinputlisting[language=VHDL]{../ctrl.vhd}
     64 \pagebreak
     65 
     66 \subsection{\lstinline{alu_ctrl.vhd}}
     67 
     68 Μονάδα ελέγχου ALU. \\
     69 
     70 \lstinputlisting[language=VHDL]{../alu_ctrl.vhd}
     71 \pagebreak
     72 
     73 \subsection{\lstinline{adder32.vhd}}
     74 
     75 Αθροιστής 32-bit. \\
     76 
     77 \lstinputlisting[language=VHDL]{../adder32.vhd}
     78 \pagebreak
     79 
     80 \subsection{\lstinline{pc.vhd}}
     81 
     82 Program counter. \\
     83 
     84 \lstinputlisting[language=VHDL]{../pc.vhd}
     85 \pagebreak
     86 
     87 \subsection{\lstinline{mips.vhd}}
     88 
     89 'Οπως λέει η εκφώνηση, ο MIPS έχει μόνο δύο εισόδους: τον ορολογιακό παλμό και
     90 το σήμα reset, και δεν έχει εξόδους. Στην αρχιτεκτονική του δηλώνουμε ως components
     91 όλα τα παραπάνω κυκλώματα. 'Επειτα δημιουργούμε βοηθητικά σήματα για το πέρασμα
     92 αποτελεσμάτων από το ένα κύκλωμα στο άλλο. \\
     93 
     94 \lstinputlisting[language=VHDL]{../mips.vhd}
     95 \pagebreak
     96 
     97 \subsection{\lstinline{mips_tb.vhd}}
     98 
     99 Testbench για δοκιμή του MIPS. \\
    100 
    101 \lstinputlisting[language=VHDL]{../mips_tb.vhd}
    102 \pagebreak
    103 
    104 \section{Εκτέλεση}
    105 
    106 \subsection{\lstinline{mips_tb}}
    107 
    108 Στην εκφώνηση της άσκησης ζητήθηκε ο MIPS να έχει μόνο τον ορολογιακό παλμό
    109 και το reset ως εισόδους, και όχι εξόδο. Παρ'όλα αυτά για την καλύτερη κατανόηση
    110 του κυκλώματος, έβαλα επιπλέον σήματα στο κύκλωμα (δεν περιλαμβάνονται στον
    111 κώδικα πια εφόσον δεν ζητούνται). \\
    112 
    113 \includegraphics[width=\textwidth]{res/mips.png}
    114 
    115 \end{document}