Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Σχετικά έγγραφα
Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Ψηφιακή Λογική και Σχεδίαση

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

9 ο Μαθητικό Συνέδριο Πληροφορικής Κεντρικής Μακεδονίας. "My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΗΣ ΣΧΕΔΙΑΣΗΣ ΚΑΙ ΑΝΑΛΥΣΗΣ ΣΥΝΔΥΑΣΤΙΚΩΝ ΚΑΙ ΑΚΟΛΟΥΘΙΑΚΩΝ ΣΥΓΧΡΟΝΩΝ ΚΑΙ ΑΣΥΓΧΡΟΝΩΝ ΨΗΦΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

Πράξεις με δυαδικούς αριθμούς

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Πράξεις με δυαδικούς αριθμούς

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

4.1 Θεωρητική εισαγωγή

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Επίπεδο Ψηφιακής Λογικής (The Digital Logic Level)

Ελίνα Μακρή

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1

Σχεδιασμός Ψηφιακών Συστημάτων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

C D C D C D C D A B

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

ΑΣΚΗΣΗ 8 η -9 η ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΗΣ ΛΟΓΙΚΗΣ ΜΟΝΑΔΑΣ ΤΕΣΣΑΡΩΝ ΔΥΑΔΙΚΩΝ ΨΗΦΙΩΝ

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Εργαστήριο Ψηφιακών Συστηµάτων ΗΜΥ211

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ολοκληρωμένα Κυκλώματα

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστηµάτων

Μάθημα 0: Εισαγωγή. Λευτέρης Καπετανάκης. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Άνοιξη 2011

Ελίνα Μακρή

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

1 η Θεµατική Ενότητα : Αριθµητικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Μνήμη και Προγραμματίσιμη Λογική

Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

ΣΧΕΔΙΑΣΗ ΥΛΟΠΟΙΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ «ΗΛΕΚΤΡΟΝΙΚΟΣ» ΓΙΑ ΤΙΣ ΑΝΑΓΚΕΣ ΤΗΣ ΤΕΧΝΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ.

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2016

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

ΑΣΚΗΣΗ 1 ΛΟΓΙΚΕΣ ΠΥΛΕΣ (Α)

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

Σχεδίαση Ψηφιακών Συστημάτων

Εισαγωγή στην πληροφορική

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Αρχιτεκτονική υπολογιστών

ΑΚΑΔΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : TEΣT ΑΞΙΟΛΟΓΗΣΗΣ ΓΝΩΣΕΩΝ ΣΤΑ ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

7.1 Θεωρητική εισαγωγή

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2008

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Βασικές Συνδυαστικές Συναρτήσεις και Κυκλώματα 1

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Συνδυαστικά Κυκλώματα

ΑΣΚΗΣΗ 4 ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΩΝ ΛΟΓΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

Κυκλωμάτων» Χειμερινό εξάμηνο

επανενεργοποιηθεί Βιομηχανικά Ηλεκτρονικά - Κ.Ι.Κυριακόπουλος Control Systems Laboratory

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Ενότητα 7 ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΕΣ - ΚΩΔΙΚΟΠΟΙΗΤΕΣ ΑΠΟΠΛΕΚΤΕΣ - ΠΟΛΥΠΛΕΚΤΕΣ

ΑΣΚΗΣΗ 1 ΛΟΓΙΚΕΣ ΠΥΛΕΣ

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

Transcript:

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη

Εισαγωγή Η Εξελικτική Υπολογιστική (ΕΥ) είναι μια σχετικά πρόσφατη επιστήμη που αναπτύσσει μεθόδους και αλγορίθμους που χρησιμοποιούνται κυρίως ως καθολικοί βελτιστοποιητές για δύσκολα προβλήματα βελτιστοποίησης πραγματικού κόσμου. Ο Γενετικός Προγραμματισμός (ΓΠ) αναπτύχθηκε για να εξελίξει βέλτιστο λογισμικό υπολογιστών, χρησιμοποιώντας δενδρική κωδικοποίηση των λύσεων. Ο ΓΠ έχει επίσης χρησιμοποιηθεί για να εξελίξει βέλτιστα άλλους τύπους πολύπλοκων δομών όπως αναλογικά και ψηφιακά κυκλώματα. Για να εφαρμόσουμε έναν αλγόριθμο ΓΠ ή γενικά ΕΥ, πρέπει να δομηθεί μία συνάρτηση Καταλληλότητας (Fitness Function). Η συνάρτηση αυτή θα αξιολογήσει κάθε γενετικά παραγόμενη λύση και θα παρέχει μέτρο της ποιότητας ή της καταλληλότητάς της (fitness). Μέσω της συνάρτησης Καταλληλότητας, ο αλγόριθμος ΕΥ μπορεί να πάρει δείγματα από την ποιότητα των σημείων στο πεδίο αναζήτησης και να οδηγηθεί σε ένα πεδίο καταλληλότητας και τελικά στη βέλτιστη λύση.

Γενετική Εξέλιξη Ψηφιακών Κυκλωμάτων Για να επιτευχθεί γενετική εξέλιξη ψηφιακών κυκλωμάτων, πρέπει να γίνουν τα παρακάτω βήματα: Αρχικά, καθορίζεται μία συγκεκριμένη ρύθμιση εισόδου εξόδου για το επιθυμητό κύκλωμα η οποία περιλαμβάνει: Το πλήθος των εισόδων και εξόδων Ο επιθυμητός πίνακας αληθείας του κυκλώματος που περιλαμβάνει όλους τους δυνατούς συνδυασμούς των εισόδων. Στη συνέχεια, εκτελείται ο αλγόριθμος ΕΥ με σκοπό να βρει βέλτιστες λύσεις στο πρόβλημα, τύπου βέλτιστων ψηφιακών κυκλωμάτων (στο επίπεδο των πυλών), που υπακούουν στις προδιαγραφές. Η συνάρτηση καταλληλότητας του αλγορίθμου καλείται πολλές φορές κατά τη διάρκεια της εκτέλεσης και κάθε φορά τροφοδοτείται με μία γενετικά παραγόμενη λύση, που είναι ουσιαστικά ένα προτεινόμενο ψηφιακό κύκλωμα για το συγκεκριμένο πρόβλημα. Το υπό αξιολόγηση κύκλωμα τροφοδοτείται στον προσομοιωτή με κωδικοποιημένη μορφή που περιγράφει πλήρως τα στοιχεία του κυκλώματος και τις διασυνδέσεις. Τέλος, η συνάρτησης καταλληλότητας πρέπει να προσομοιώσει το προτεινόμενο ψηφιακό κύκλωμα και να υπολογίσει την έξοδό του για όλους τους συνδυασμούς των εισόδων. 3

Προσομοιωτής Ψηφιακών Κυκλωμάτων Μια συνάρτηση καταλληλότητας αυτού του τύπου πρέπει να είναι ένας προσομοιωτής ψηφιακών κυκλωμάτων με δυνατότητα προσομοιώσης και ελέγχου κάθε προτεινόμενης λύση. Ο προσομοιωτής πρέπει να είναι γρήγορος, αξιόπιστος και να είναι κωδικοποιημένος με τη μορφή μιας συνάρτησης, έτσι ώστε να μπορεί να συνεργαστεί με τον αλγόριθμο ΕΥ. Τέτοιοι προσομοιωτές έχουν ήδη προταθεί στο παρελθόν, αλλά οι περισσότεροι μπορούν να χειριστούν μόνο συνδυαστικά κυκλώματα και έχουν γενικά αναπτυχθεί ως πλατφόρμες, αφού είναι μεγάλα σε μέγεθος και χρονοβόρα. Σε αυτή την εργασία, παρουσιάζεται μια νέα μέθοδος κωδικοποίησης και προσομοίωσης ψηφιακών κυκλωμάτων, με σκοπό να χρησιμοποιηθεί ως μια συνάρτηση καταλληλότητας για εξελικτική βελτιστοποίηση. Η προτεινόμενη μέθοδος είναι απλή, γρήγορη, ευέλικτη και εύκολα προσαρμόζεται σε αλγόριθμο ΕΥ για ανακάλυψη βέλτιστων ψηφιακών κυκλωμάτων, τόσο συνδυαστικών, όσο και ακολουθιακών. 4

Μέθοδος Κωδικοποίησης Ψηφιακού Κυκλώματος Για να περιγράψουμε συνολικά ένα κύκλωμα, πρέπει να καθορίσουμε: το πλήθος των πυλών και τον τύπο κάθε πύλης το πλήθος των εισόδων του κυκλώματος το πλήθος των εξόδων του κυκλώματος τις συνδέσεις των εισόδων και εξόδων κάθε πύλης, δηλ. όλες τις διασυνδέσεις του κυκλώματος Δε χρησιμοποιούνται πολύπλοκες δομές δεδομένων. Μια κωδικοποιημένη συμβολοσειρά χρησιμοποιείται για να αποθηκεύσει όλη την πληροφορία του κυκλώματος. Στη συνέχεια, αυτή η συμβολοσειρά είναι εύκολο να τροφοδοτηθεί σε μια συνάρτηση μιας οποιαδήποτε γλώσσας προγραμματισμού. Σε αυτή την εργασία, έχουν χρησιμοποιηθεί μόνο πύλες δύο εισόδων, εκτός από την περίπτωση της μη-πύλης, η οποία έχει μόνο μια είσοδο. Οι πύλες πολλαπλών εισόδων πρέπει απλοποιηθούν σε πύλες δύο εισόδων, πριν μπορέσουν να χρησιμοποιηθούν στην προσομοίωση. 5

Κωδικοποιημένη συμβολοσειρά Η συμβολοσειρά δημιουργείται κομμάτι κομμάτι, χρησιμοποιώντας παραμέτρους συγκεκριμένου μήκους. Σε αυτή την εργασία, χρησιμοποιούνται παράμετροι τριών ψηφίων. Κάθε παράμετρος αναπαριστά ένα συγκεκριμένο χαρακτηριστικό του κυκλώματος και έχει συγκεκριμένο εύρος τιμών. 6

Παράμετροι της Συμβολοσειράς Κωδικοποίησης 7 Αριθμός Ιδιότητα Εύρος τιμών 1.1 Πλήθος πυλών κυκλώματος [001-500] 2.1 Πλήθος εισόδων κυκλώματος [001-500] 3.1 Πλήθος εξόδων κυκλώματος [001-500] 4.1 Τύπος της πύλης 1 4.N Τύπος της πύλης N [000-006] (AND, OR, NOT, NAND, NOR, XOR, XNOR) 5.1.1 Πύλη 1 είσοδος 1 [000-499] (έξοδος της άλλης πύλης) [500-999] (αριθμός εισόδου κυκλώματος) [HIG, LOW] (λογικό 1 ή λογικό 0) 5.1.2 Πύλη 2 είσοδος 2 [NULL] (δεν υπάρχει είσοδος) 5.1.3 Πύλη 1 έξοδος είναι η έξοδος του κυκλώματος 5.N.1 5.N.2 5.N.3 N = πλήθος πυλών κυκλώματος [000-499] (αριθμός εξόδου κυκλώματος) [NOO] (δεν είναι έξοδος κυκλώματος)

Περιγραφή της Μεθόδου Προσομοίωσης Η μέθοδος προσομοίωσης ψηφιακού κυκλώματος που παρουσιάζεται σε αυτή την εργασία, μπορεί να χαρακτηρισθεί ως προσομοίωση διακριτού χρόνου. Ακολουθεί παρόμοιες αρχές με τη μετάδοση ψηφιακών σημάτων μέσω λογικών πυλών. Η μετάδοση σήματος προσομοιώνεται βήμα βήμα, χρησιμοποιώντας διακριτό χρόνο. Τα διακριτά χρονικά διαστήματα παίζουν το ρόλο των διαδοχικών περιόδων σε ένα άτυπο εσωτερικό ρολόι. Η περίοδος του ιδεατού ρολογιού είναι ίση με την καθυστέρηση μιας πύλης, ενώ η μετάδοση του σήματος μέσω των διεπαφών θεωρείται ότι πραγματοποιείται στιγμιαία. 8

Βήματα προσομοίωσης Βήμα 1 : Ανάλυση συμβολοσειράς εισόδου Η προσομοίωση ξεκινάει με την ανάλυση της συμβολοσειράς εισόδου και την εξαγωγή της πληροφορίας του κυκλώματος. Η πληροφορία αυτή αποθηκεύεται σε πίνακες. Βήμα 2 : Αρχικοποίηση κυκλώματος Δημιουργούμε ένα διδιάστατο πίνακα που ονομάζουμε "Κύκλωμα" και στον οποίον αποθηκεύουμε τα δεδομένα που δημιουργούνται κατά την προσομοίωση. Αποτελείται από 7 στήλες και τόσες γραμμές, όσες είναι οι πύλες του κυκλώματος. Τύπος Πύλης Έξοδος Κυκλώματος # Εξόδου Πύλη1 Πύλη2... 9

Βήμα προσομοίωσης 2: Αρχικοποίηση Κυκλώματος x y Πύλη1 Πύλη3 S z=cin Πύλη2 Πύλη4 Πύλη5 Cout Τύπος ς Έξοδος Κυκλώματος Πύλη1 x y XOR null Πύλη2 x y AND null Πύλη3 Πύλη1 z XOR S Πύλη4 Πύλη1 z AND null Πύλη5 Πύλη4 Πύλη2 OR Cout Εξόδου 10

Βήμα προσομοίωσης 3: Ορισμός Εισόδων Κυκλώματος x=1 x y Πύλη1 Πύλη3 S y=0 z=1 z=cin Πύλη2 Πύλη4 Πύλη5 Gate5 Cout Τύπος ς Έξοδος Κυκλώματος Πύλη1 x 1 y 0 XOR null Πύλη2 x 1 y 0 AND null Πύλη3 Πύλη1 z 1 XOR S Πύλη4 Πύλη1 z 1 AND null Πύλη5 Πύλη4 Πύλη2 OR Cout Εξόδου 11

Βήμα προσομοίωσης 4: Υπολογισμός Εξόδων Πυλών x=1 y=0 x y Πύλη1 Gate1 Πύλη3 Gate3 S z=1 z=cin Πύλη2 Gate2 Πύλη4 Gate4 Πύλη5 Gate5 Cout Τύπος ς Έξοδος Κυκλώματος Εξόδου Πύλη1 x 1 y 0 XOR null 1 Πύλη2 x 1 y 0 AND null 0 Πύλη3 Πύλη1 z 1 XOR S Πύλη4 Πύλη1 z 1 AND null Πύλη5 Πύλη4 Πύλη2 OR Cout 12

Βήμα προσομοίωσης 5: Μετακίνηση Εξόδων Κυκλώματος x=1 y=0 x y Πύλη1 Gate1 Πύλη3 Gate3 S z=1 z=cin Πύλη2 Gate2 Πύλη4 Gate4 Πύλη5 Gate5 Cout Τύπος ς Έξοδος Κυκλώματος Εξόδου Πύλη1 x 1 y 0 XOR null 1 Πύλη2 x 1 y 0 AND null 0 Πύλη3 Πύλη1 1 z 1 XOR S Πύλη4 Πύλη1 1 z 1 AND null Πύλη5 Πύλη4 Πύλη2 0 OR Cout 13

Επανάληψη βήματος 4 (Υπολογισμός Εξόδων Κυκλώματος) x=1 y=0 x y Πύλη1 Gate1 Πύλη3 Gate3 S z=1 z=cin Πύλη2 Gate2 Πύλη4 Gate4 Πύλη5 Gate5 Cout Τύπος ς Έξοδος Κυκλώματος Εξόδου Πύλη1 x 1 y 0 XOR null 1 Πύλη2 x 1 y 0 AND null 0 Πύλη3 Πύλη1 1 z 1 XOR S 0 Πύλη4 Πύλη1 1 z 1 AND null 1 Πύλη5 Πύλη4 Πύλη2 0 OR Cout 14

Επανάληψη βήματος 5 (Μετακίνηση Εξόδων Πυλών) x=1 y=0 x y Πύλη1 Gate1 Πύλη3 Gate3 S z=1 z=cin Πύλη2 Gate2 Πύλη4 Gate4 Πύλη5 Gate5 Cout Τύπος Πύλης Έξοδος Κυκλώματος Εξόδου Πύλη1 x 1 y 0 XOR null 1 Πύλη2 x 1 y 0 AND null 0 Πύλη3 Πύλη1 1 z 1 XOR S 0 Πύλη4 Πύλη1 1 z 1 AND null 1 Πύλη5 Πύλη4 1 Πύλη2 0 OR Cout 15

Επανάληψη βήματος 4 (Υπολογισμός Εξόδων Κυκλώματος) x=1 y=0 x y Πύλη1 Gate1 Πύλη3 Gate3 S z=1 z=cin Πύλη2 Gate2 Πύλη4 Gate4 Πύλη5 Gate5 Cout Τύπος Πύλης Έξοδος Κυκλώματος Εξόδου Πύλη1 x 1 y 0 XOR null 1 Πύλη2 x 1 y 0 AND null 0 Πύλη3 Πύλη1 1 z 1 XOR S 0 Πύλη4 Πύλη1 1 z 1 AND null 1 Πύλη5 Πύλη4 1 Πύλη2 0 OR Cout 1 16

Προσομοίωση Βήμα 6: Έλεγχος Σταθερότητας Κυκλώματος Προκειμένου να χειριστούμε ακολουθιακά κυκλώματα και πιθανές αναδράσεις, ελέγχεται η σταθερότητα του κυκλώματος. Αυτό γίνεται επαναλαμβάνοντας τα βήματα 4 και 5 για έναν αριθμό κύκλων, ελέγχοντας παράλληλα αν κάποιες ή όλες από τις εξόδους του κυκλώματος μεταβάλλονται. Σε κάθε επιπλέον επανάληψη, διαδοχικές έξοδοι του κυκλώματος αποθηκεύονται σε έναν διδιάστατο πίνακα. Αν παρατηρηθούν αλλαγές στην έξοδο των πινάκων μετά από ένα συγκεκριμένο πλήθος επαναλήψεων, τότε το κύκλωμα χαρακτηρίζεται ως ταλαντώμενο. 17

Βήμα προσομοίωσης 7: Επιστροφή Εξόδων Κυκλώματος x=1 y=0 x y Πύλη1 Gate1 Πύλη3 Gate3 S S=0 z=1 z=cin Πύλη2 Gate2 Πύλη4 Gate4 Πύλη5 Gate5 Cout Cout=1 Τύπος Πύλης Έξοδος Κυκλώματος Εξόδου Πύλη1 x 1 y 0 XOR null 1 Πύλη2 x 1 y 0 AND null 0 Πύλη3 Πύλη1 1 z 1 XOR S 0 Πύλη4 Πύλη1 1 z 1 AND null 1 Πύλη5 Πύλη4 1 Πύλη2 0 OR Cout 1 18

Το Σετ Ελέγχου 19 Κύκλωμα C/S a Πλήθος Εισόδων Πλήθος Εξόδων Πλήθος Πυλών 2-Εισόδων Ημιαθροιστής C 2 2 2 Πλήρης αθροιστής C 3 2 5 Πολλαπλασιαστής 2-bit C 4 4 8 Πολυπλέκτης 4 σε 1 C 6 1 13 Αποκωδικοποιητής 3 σε 8 C 3 8 19 Αθροιστής 4-bit C 9 5 20 1-bit ALU b C 5 2 25 Πολυπλέκτης 16 σε 1 C 20 1 83 S-R Latch S 2 2 2 a Συνδυαστικό ή Ακολουθιακό κύκλωμα b Μία απλή ALU 1-bit που επιτρέπει 4 πράξεις (AND, OR, NOT και πρόσθεση)

Τα δοκιμαστικα κυκλώματα 1 1. Ημιαθροιστής 2. Πλήρης αθροιστής x y S z=cin Cout 20

Τα δοκιμαστικά κυκλώματα 2 A0 A1 C0 C1 3. Πολλαπλασιαστής 2-bit C2 C3 B0 B1 4. Πολυπλέκτης 4 σε 1 21

Τα δοκιμαστικά κυκλώματα 3 5. Αποκωδικοποιητής 3 σε 8 6. Αθροιστής 4-bit y3 x3 y2 x2 y1 x1 y0 x0 Cin Full Adder Full Adder Full Adder Full Adder Cout S3 C3 S2 C2 S1 C1 S0 22

Τα δοκιμαστικά κυκλώματα 4 7. 1-bit ALU 23

Τα δοκιμαστικά κυκλώματα 5 8. Πολυπλέκτης 16 σε 1 9. S-R Latch S 0 Input 1 0 1 Q _ Output 1 R Input 2 1 0 0 Q Output 2 24

Αποτελέσματα προσομοίωσης Κύκλωμα Πλήθος επαναλή ψεων Χρόνος (μs) Πόροι μνήμης (Bytes) Παραγόμενα bits εξόδου Ποσοστό επιτυχίας 25 Ημιαθροιστής 4 16.3 220 8 100% Πλήρης αθροιστής 10 23.3 436 16 100% Πολλαπλασιαστής 2-bit 16 35.7 740 64 100% Πολυπλέκτης 4 σε 1 26 46.3 948 64 100% Αποκωδικοποιητής 3 σε 8 38 89.0 1972 64 100% Αθροιστής 4-bit 40 86.7 1792 2560 100% 1-bit ALU b 50 105.7 1876 64 100% Πολυπλέκτης 16 σε 1 166 645.7 5708 1048576 100% S-R Latch 4 16.3 220 32 100% Όλα τα πειράματα διεξήχθησαν σε ένα PC που έτρεχε Windows 8.1, επεξεργαστή quad-core στα 2.83 GHz και 4 GB μνήμης.

Συσχέτιση των επαναλήψεων και του χρόνου με το πλήθος των πυλών No of Iterations 180 160 140 120 100 80 60 40 20 700 600 500 400 300 200 100 Time in μs 0 0 10 20 30 40 50 60 70 80 90 No of Gates 0 Iterations Time 26

Συμπεράσματα Στην παρούσα εργασία παρουσιάστηκε μια μέθοδος για προσομοίωση ασύγχρονων ψηφιακών κυκλωμάτων (συνδυαστικών και ακολουθιακών), με σκοπό να χρησιμοποιηθεί ως μια συνάρτηση καταλληλότητας για εξελικτική βελτιστοποίηση. Επιπλέον, παρουδιάστηκε μια μέθοδος κωδικοποίησης ψηφιακών κυκλωμάτων σε συμβολοσειρές, οι οποίες εισάγονται στον προσομοιωτή. Ο προτεινόμενος προσομοιωτής αξιολογήθηκε σε ένα σύνολο 9 ψηφιακών κυκλωμάτων, τόσο συνδυαστικών όσο και ακολουθιακών, αυξανόμενης πολυπλοκότητας. Τα αποτελέσματα δείχνουν ότι ο προτεινόμενος προσομοιωτής είναι ακριβής και γρήγορος στην προσομοιώση των δοκιμαστικών κυκλωμάτων, καταναλώνοντας παράλληλα λίγους πόρους. Είναι απλό και εύκολο να ενσωματώσουμε τον προσομοιωτή σε πολύπλοκο εξελικτικό λογισμικό, έτσι ώστε να χρησιμοποιηθεί ως συνάρτηση καταλληλότητας για εξελικτική βελτιστοποίηση ψηφιακών κυκλωμάτων. 27

Μελλοντική Εργασία Η εργασία αυτή θα μπορούσε να επεκταθεί ως εξής: a) Βελτιστοποίηση στον αριθμό των βημάτων προσομοίωσης ανάλογα με την πολυπλοκότητα του κυκλώματος b) Αναβάθμιση του προσομοιωτή έτσι ώστε να συμπεριλάβει σύγχρονα ψηφιακά κυκλώματα που λειτουργούν με σήματα ρολογιού c) Έλεγχος του προσομοιωτή σε ψηφιακά κυκλώματα μεγάλης κλίμακας d) Επιτρέποντας στον προσομοιωτή το χειρισμό ιεραρχικών κυκλωμάτων που αποτελούνται από σχεδιαστικά μπλοκ. 28