Σχεδιασμός αθροιστή / αφαιρέτη αριθμών κινητής υποδιαστολής, με τη χρήση της γλώσσας VHDL.
Creators: name: Κατσούλα, Δήμητρα Νικολάου
Publisher: name: Aristotle University of Thessaloniki
Year: 2020
Subjects: Αριθμοί κινητής υποδιαστολής
VHDL
Ψηφιακή σχεδίαση
Floating point numbers
Digital design

description: Στην παρούσα εργασία υλοποιήθηκε ένας αθροιστής / αφαιρέτης δύο αριθμών κινητής υποδιαστολής, με τη χρήση της γλώσσας VHDL. Η VHDL, είναι µία γλώσσα περιγραφής υλικού, που χρησιμοποιείται για την ανάπτυξη ολοκληρωμένων ψηφιακών κυκλωμάτων και συστημάτων. Ο όρος VHDL, είναι συντόμευση των λέξεων VHSIC Hardware Description Language, όπου VHSIC, σημαίνει Very High Speed Integrated Circuit. Ο κώδικας VHDL, αποτελεί τον βασικό τύπο αρχείου, που δέχονται ως είσοδο τα λογισμικά ψηφιακής σχεδίασης κυκλωμάτων (Computer Aided Design ή CAD), για τη δημιουργία σύνθετων ολοκληρωµένων κυκλωμάτων. Με την αναπαράσταση της σταθερής υποδιαστολής (π.χ. συμπλήρωμα ως προς 2), είναι εφικτό να αναπαραστήσουμε ένα εύρος θετικών και αρνητικών ακεραίων αριθμών, με κέντρο το 0. Υποθέτοντας σταθερό σημείο της υποδιαστολής, αυτή η μορφή επιτρέπει την αναπαράσταση των αριθμών με μία κλασματική συνιστώσα. Αυτή η προσέγγιση έχει περιορισμούς. Οι πολύ μεγάλοι αριθμοί δεν είναι δυνατόν να αναπαρασταθούν, αλλά ούτε και οι πολύ μικρές κλασματικές ποσότητες. Επιπλέον, το κλασματικό μέρος του πηλίκου σε μία διαίρεση δύο μεγάλων αριθμών, είναι πιθανό να χαθεί. Για δεκαδικούς αριθμούς, ξεπερνούμε αυτόν τον περιορισμό, χρησιμοποιώντας επιστημονική αναπαράσταση. Αυτό που έχουμε κάνει στην πραγματικότητα, είναι να ολισθήσουμε δυναμικά τη δεκαδική υποδιαστολή, σε μία βολική θέση και να χρησιμοποιήσουμε τον εκθέτη του 10, ώστε να γνωρίζουμε τη θέση της υποδιαστολής. Αυτό επιτρέπει την αναπαράσταση ενός πολύ μεγάλου εύρους μεγάλων αλλά και μικρών αριθμών, με λίγα μόνο ψηφία. Η ίδια προσέγγιση ακολουθείται και για δυαδικούς αριθμούς. Μπορούμε δηλαδή, να αναπαραστήσουμε έναν αριθμό, στη μορφή ±S∙B±E. Η πιο σημαντική αναπαράσταση κινητής υποδιαστολής, ορίζεται από το Πρότυπο 754 της IEEE, το οποίο υιοθετήθηκε το 1985, και αναθεωρήθηκε το 2008. Αυτό το πρότυπο, αναπτύχθηκε για να διευκολύνει τη φορητότητα των προγραμμάτων από έναν επεξεργαστή σε έναν άλλο, και για να ενθαρρύνει την ανάπτυξη σύγχρονων, αριθμητικά προσανατολισμένων προγραμμάτων. Το πρότυπο υιοθετήθηκε ευρέως, και χρησιμοποιείται ουσιαστικά σε όλους τους σύγχρονους επεξεργαστές και αριθμητικούς συνεπεξεργαστές. Η άθροιση αριθμών κινητής υποδιαστολής, πραγματοποιήθηκε με δύο τρόπος. Και στους δύο τρόπους όπως είναι φυσικό, χρησιμοποιήθηκε ιεραρχική σχεδίαση. Στον πρώτο τρόπο, η πρόσθεση υλοποιείται με τη δημιουργία συστατικών στοιχείων, τα οποία εντός τους περιέχουν CLA αθροιστές ψηφίων. Στον δεύτερο τρόπο, γίνεται χρήση της τεχνικής pipeline. Κάθε ψηφίο προστίθεται και πάλι με άθροιση CLA. Τέλος, προσομοιώθηκαν οι δύο τεχνικές, και συγκρίθηκαν αναφορικά με τις επιδόσεις και τα λοιπά χαρακτηριστικά τους.
description: This research paper addresses the design of a two numbers - floating point adder / subtractor, using VHDL coding. VHDL is a hardware describing programming language, used in the development of integrated circuit systems. The term “VHDL” is a shortcut of the VHSIC Hardware Description Language, where VHSIC stands for Very High-Speed Integrated Circuit. VHDL code, is the fundamental file type used in digital chipset and circuitry design software (Computer Aided Design ή CAD), for the creation of complex integrated chipsets. It is possible to display a range of positive and negative integers (with an origin of zero), by representing a steady decimal point (i.e. supplementation of two). This format allows the display of number with a fractional component, by assuming a steady decimal point. However, this approach has its limitations. Very large numbers and very small fractional quantities cannot be displayed. Additionally, the quotient of a division, between two very large numbers can possibly be lost. This limitation, can be surpassed in decimal number, by using a scientific display. We dynamically move the decimal point to a convenient spot, and use an exponent of 10, so we can identify the location of the decimal point. This technique, allows the representation of a very wide range of big and small numbers, with the use of very few digits. The same exact approach can be followed for binary numbers. A number can be represented in the following form: ±S∙B±E. Most important floating point representation, is by the IEEE 754 standard, which is adopted since 1985, and revised in 2008. This standard, was developed to facilitate the portability of programs from one processor to another, and to encourage the development of modern, numerically oriented programs. The standard has been widely adopted and used in virtually all modern processors and numerical co-processors. The sum of moving decimal point numbers is implemented using two methods. Ranking design was utilized for both methods. In method Α, addition is succeeded with the creation of components, which contain CLA digit adders. In method B, the pipeline technique is used, in which, every digit is summed with CLA addition. In this paper, both methods are simulated, and extensive comparison is constructed on the performance and characteristics of each one.