Σχεδίαση μονάδας αριθμητικής – λογικής (ALU) σε HDL
Design of arithmetic – logic unit using HDL
Keywords
Ολοκληρωμένα κυκλώματα ; VHDL ; Mojo v3 ; Ψηφιακά συστήματα ; Κώδικας ; Καταχωρητής ; Αποκωδικοποιητής ; Γλώσσα περιγραφής υλικού ; Ελεγκτής ; Αριθμητική λογική μονάδα ; Εκτέλεση εντολών ; Μνήμη ; Μονάδα ελέγχου ; ΕπεξεργαστήςAbstract
Τα τελευταία χρόνια η ραγδαία εξέλιξη της τεχνολογίας έχει οδηγήσει στην πραγμάτωση όλο και πολυπλοκότερων συστημάτων σε διάφορους τομείς της καθημερινότητας, όπως της Πληροφορικής, της Ενέργειας, των Τηλεπικοινωνιών και της Οικονομίας. Πυρήνας κάθε τέτοιου συστήματος είναι τα ψηφιακά κυκλώματα. Με τον όρο ψηφιακό κύκλωμα, αναφερόμαστε σε ηλεκτρονικά
συστήματα που επεξεργάζονται διακριτά επίπεδα ηλεκτρικής τάσης. Η παρούσα διπλωματική εργασία λοιπόν παρουσιάζει την προσομοίωση ενός ψηφιακού συστήματος, το οποίο έχει υλοποιηθεί με χρήση της γλώσσας περιγραφής υλικού VHDL και
αναλύει επίσης τις βασικές αρχές των ψηφιακών κυκλωμάτων. Στα κεφάλαια που ακολουθούν γίνεται μια αναλυτική παρουσίαση των αρχών του σχεδιασμού ψηφιακών συστημάτων, της μεθοδολογίας σχεδιασμού επεξεργαστή ενός κύκλου και λεπτομερούς ερμηνείας του κώδικα του επεξεργαστή που υλοποιήθηκε. Πιο συγκεκριμένα στο πρώτο κεφάλαιο υπάρχει η δομή της εργασίας, ο σκοπός και οι μεθοδολογίες που χρησιμοποιήθηκαν για την παρούσα διπλωματική εργασία. Στο δεύτερο κεφάλαιο αναφέρονται οι βασικές αρχές για τον σχεδιασμό και την υλοποίηση ψηφιακών κυκλωμάτων. Παρουσιάζονται τα δομικά χαρακτηριστικά διάφορων γλωσσών περιγραφής υλικού καθώς επίσης και τα πλεονεκτήματα των ψηφιακών συστημάτων συγκριτικά με άλλες τεχνολογίες.
Στην συνέχεια, στο τρίτο κεφάλαιο γίνεται μια λεπτομερής παρουσίαση της γλώσσας VHDL, των τύπων δεδομένων που χρησιμοποιεί, των μεταβλητών και των χρήσιμων συνθηκών που απαιτούνται για την συγγραφή κώδικα με VHDL. Στο τέταρτο κεφάλαιο υπάρχει ένας οδηγός ανάλυσης των βασικών στοιχείων ενός επεξεργαστή ενός κύκλου, στα οποία συγκαταλέγονται ο
μετρητής προγράμματος, ο δείκτης και καταχωρητής εντολών, οι μνήμες Cache και RAM, η μονάδα διαχείρισης μνήμης, η αριθμητική λογική μονάδα (ALU), o Controller και η βαθμίδα αποκωδικοποίησης εντολών. Το πέμπτο κεφάλαιο είναι η ανάλυση του κώδικα που έχει γραφτεί, για την υλοποίηση του επεξεργαστή ενός κύκλου στα πλαίσια της διπλωματικής εργασίας. Επιπλέον, γίνεται πρακτική υλοποίηση της αρχιτεκτονικής με παρόμοια μορφή στο PCB Mojo v.3. Ακολουθεί το τελευταίο κεφάλαιο με τα συμπεράσματα και την βιβλιογραφία.
Abstract
In recent years the rapid development of technology has led to the need for implementation of even more complex systems in various fields of everyday life, such as IT, Energy, Telecommunications and Financials. At the core of any such system are the digital circuits. By the term digital circuit, we refer to electronic systems that process distinct levels of electrical voltage. This thesis presents the simulation of a digital system, which has been implemented using the hardware description language VHDL and also analyzes the basic principles of digital circuits. The following chapters provide a detailed presentation of the principles of digital system design, the single-cycle processor design methodology, and a detailed interpretation of the implemented processor code.
More specifically, in the first chapter there is the structure, the purpose and the methodologies used for this thesis. In the second chapter, the basic principles for the design and implementation of digital circuits are mentioned. The structural features of various hardware description languages are presented as well as the advantages of digital systems compared to other technologies.
Then, in the third chapter, there is a detailed presentation of the VHDL language, the data types it uses, the variables and the useful conditions required for writing code with VHDL. In the fourth chapter there is an analysis guide to the basic components of a single-cycle processor, which include the program Counter, the Instruction Pointer Register, the Cache and RAM memories, the
Memory Management Unit (MMU), the Arithmetic Logic Unit (ALU), the Controller, and the Instruction Decoder. The fifth chapter is the analysis of the code that has been written, for the implementation of the single-cycle processor in the context of the diploma thesis. Furthermore, a similar architecture is being implemented on the printed circuit board of Mojo v.3. This is followed by the last chapter with the conclusions and bibliography.