Σπσρίδων Καζαρλής Καθηγηηής Επιζηημονικός Υπεύθσνος Τμήμα Μητανικών Πληροθορικής ΤΕ
Καζαρλής Σπυρίδων, Καθηγητής, ΤΕΙ Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ Καλόμοιρος Ιωάννης, Επίκουρος Καθηγητής, ΤΕΙ Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ Μπαλουκτσής Αναστάσιος, Καθηγητής, ΤΕΙ Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ Μαστοροκώστας Πάρις, Καθηγητής, ΤΕΙ Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ Πετρίδης Βασίλειος, Καθηγητής, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Καλαιτζής Βασίλειος, Ph.D., Επιστημονικός Συνεργάτης, ΤΕΙ Κεντρικής Μακεδονίας Πατσιάκος Αβραάμ, μέλος ΕΤΠ, ΤΕΙ Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ Βαλαής Αντώνης, φοιτητής, ΤΕΙ Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ Μπογάς Δημήτριος, φοιτητής, ΤΕΙ Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ
Η Εξελικτική Υπολογιστική (Evolutionary Computation) είναι ένας νέος και αναπτυσσόμενος κλάδος της Υπολογιστικής Νοημοσύνης (Computational Intelligence), που έχει ως στόχο την αυτόματη παραγωγή λύσεων σε δύσκολα προβλήματα του πραγματικού κόσμου, χρησιμοποιώντας αρχές εμπνευσμένες από την βιολογική εξέλιξη. Η σύγχρονη τεχνολογία των ολοκληρωμένων κυκλωμάτων μας έχει δώσει την οικογένεια των FPGs (Field Programmable Gate rrays) που είναι γενικευμένα «προγραμματιζόμενα» ψηφιακά κυκλώματα, αποτελούμενα από πίνακες καθοριζόμενων λογικών στοιχείων που μπορούν να συνδεθούν μεταξύ τους με επίσης καθοριζόμενο τρόπο, όντας έτσι ικανά να υλοποιήσουν ένα εξαιρετικά μεγάλο αριθμό πιθανών ψηφιακών σχεδιάσεων.
Ο συνδυασμός των δύο τεχνολογιών έχει δημιουργήσει τον κλάδο του Εξελικτικού Υλικού (Evolvable Hardware EHW), σκοπός του οποίου είναι η χρήση εξελικτικών μεθόδων για την αυτόματη βέλτιστη σχεδίαση ψηφιακών διατάξεων, χωρίς την συνήθη διαδικασία της σχεδίασης από εξειδικευμένο άνθρωπο-σχεδιαστή. Evolutionary Computation Evolvable Hardware Reconfigurable Hardware
H δυνατότητα των FPG να επανα-καθορίζονται δυναμικά με εξελικτικό τρόπο, παρέχει την δυνατότητα: της εξέλιξης της σχεδίασης και της αξιολόγησης των προτεινόμενων διατάξεων απευθείας στο υλικό, της συνεχούς εξέλιξης και βέλτιστης προσαρμογής τους στις εκάστοτε συνθήκες του περιβάλλοντος λειτουργίας, την δυνατότητα ανάκαμψης μέσω αναπροσαρμογής από εσωτερικές αστοχίες υλικού, και την πλήρη εκμετάλλευση των φυσικών ιδιοτήτων του υλικού για την επίτευξη της επιθυμητής συμπεριφοράς.
Προτείνεται η υλοποίηση ενός συστήματος αυτόματης εξέλιξης ψηφιακών διατάξεων που θα υλοποιηθεί σε δύο επιμέρους φάσεις: α) την δημιουργία ενός λογισμικού εξελικτικής σχεδίασης ψηφιακών κυκλωμάτων που θα λειτουργεί αυτόνομα σε έναν Η/Υ ως ένα εργαλείο αυτόματης ψηφιακής σχεδίασης. Οι προτεινόμενες ψηφιακές σχεδιάσεις θα αξιολογούνται μέσω προσομοιωτή (extrinsic implementation). β) την δημιουργία ενός υβριδικού συστήματος Η/Υ και FPG, όπου η εξέλιξη των πιθανών κυκλωμάτων-λύσεων θα γίνεται μέσω εξελικτικού αλγόριθμου που θα εκτελείται στον Η/Υ, όμως η αξιολόγηση των λύσεων θα γίνεται με μεταφορά σε πραγματικό χρόνο των κυκλωμάτων και υλοποίησή τους στο FPG (configuration), αξιολόγηση της συμπεριφοράς τους σε πραγματικές συνθήκες λειτουργίας, και τροφοδότηση των αποτελεσμάτων αξιολόγησης στο λογισμικό του εξελικτικού αλγόριθμου. (intrinsic implementation).
Η χρήση της εξελικτικής υπολογιστικής στην σχεδίαση ψηφιακών διατάξεων προάγει την αυτοματοποίηση της σχεδιαστικής διαδικασίας αλλά και την καινοτομικότητα των υλοποιήσεων. Ειδικότερα το εξελικτικό υλικό μπορεί να έχει σημαντικά οφέλη κατά την εφαρμογή τους σε: Αυτόματη σχεδίαση ψηφιακών διατάξεων χαμηλού κόστους Αντιμετώπιση προβλημάτων σχεδίασης υλικού με ελλιπή ή φτωχή περιγραφή (poorly specified problems) Δημιουργία προσαρμοζόμενων συστημάτων για λειτουργία σε δυναμικά μεταβαλλόμενα περιβάλλοντα, ή για κάλυψη δυναμικά μεταβαλλόμενων απαιτήσεων Δημιουργία συστημάτων ανεκτικών σε σφάλματα (fault tolerant) Δημιουργία καινοτομικών λύσεων σε χώρους σχεδίασης διατάξεων όπου έχουμε ελλιπή κατανόηση (poorly understood design spaces)
Π.Ε.1 : Ανάπτυξη μεθόδων Εξελικτικής Υπολογιστικής για την βέλτιστη σχεδίαση ψηφιακών κυκλωμάτων. Ανάπτυξη προσομοιωτή ψηφιακών κυκλωμάτων που λειτουργεί ως συνάρτηση ποιότητας του Εξελικτικού Αλγόριθμου. Π.Ε.2 : Εκτενής δοκιμή και ρύθμιση παραμέτρων του λογισμικού Εξελικτικής Σχεδίασης σε προβλήματα δοκιμών και σε συνθετότερα προβλήματα. Σύγκριση με αποτελέσματα της βιβλιογραφίας. Π.Ε.3 : Ανάπτυξη του συστήματος Εξελικτικού Υλικού (Η/Υ FPG) για την απευθείας υλοποίηση και αξιολόγηση των εξελικτικά παραγόμενων διατάξεων στο υλικό σε πραγματικές συνθήκες. Π.Ε.4 : Εκτενής δοκιμή και ρύθμιση παραμέτρων του Εξελικτικού Υλικού (Η/Υ- FPG) σε προβλήματα δοκιμών και σε συνθετότερα προβλήματα. Σύγκριση με αποτελέσματα της βιβλιογραφίας.
Στόχος της εργασίας είναι η ανάπτυξη ενός προσομοιωτή ψηφιακών κυκλωμάτων. Ο προσομοιωτής θα παίξει τον ρόλο της συνάρτησης ποιότητας για την μετέπειτα εφαρμογή Εξελικτικών Αλγορίθμων για την Εξελικτική Σχεδίαση ψηφιακών κυκλωμάτων. Ο προσομοιωτής πρέπει να έχει την μορφή υπορουτίνας και να είναι ταχύτατος και σταθερός στην λειτουργία του. Θα πρέπει να δέχεται το υπό προσομοίωση κύκλωμα ως παράμετρο. Θα πρέπει να χειρίζεται συνδυαστικά αλλά και ακολουθιακά κυκλώματα που περιλαμβάνουν αναδράσεις.
Ο προσομοιωτής σχεδιάστηκε να δέχεται σαν παράμετρο ένα αλφαριθμητικό που περιγράφει το κύκλωμα που θα προσομοιωθεί.
Επίσης δέχεται ως παράμετρο το σύνολο των ανυσμάτων εισόδου για τα οποία θα εκτελεστεί η προσομοίωση. Επιστρέφει τα αντίστοιχα ανύσματα εξόδου. 0020020020040045000010 0000, 0001, 0010,, 1111 Προσομοιωτής Ψηφιακών Κυκλωμάτων 1000, 010, 0010, 0001
Εκτελεί προσομοίωση διακριτού χρόνου εμπνευσμένη από τις αρχές μετάδοσης του ηλεκτρικού σήματος μέσω των πυλών στα ψηφιακά κυκλώματα.
Circuit No of Iterations Time (μs) Memory resources (ytes) utput bits produced Success Rate Half dder 4 16.3 220 8 100% Full dder 10 23.3 436 16 100% 2-bit Multiplier 16 35.7 740 64 100% Multiplexer 4 to 1 26 46.3 948 64 100% Decoder 3 to 8 38 89.0 1972 64 100% 4 bit dder 40 86.7 1792 2560 100% 1-bit LU 50 105.7 1876 64 100% Multiplexer 16 to 1 166 645.7 5708 1048576 100% S-R Latch 4 16.3 220 32 100%
Η εξέλιξη γίνεται σε μια Καρτεσιανή δομή ΜχΝ. Κάθε κόμβος αναπαριστά μία πύλη. Οι κόμβοι συνδέονται μόνο προς τα εμπρός με κόμβους της επόμενης στήλης. Οι είσοδοι μπορούν να συνδεθούν σε οποιονδήποτε κόμβο. Οποιοσδήποτε κόμβος μπορεί να είναι έξοδος του κυκλώματος. Input1 Gate 1,1 Gate 1,2 Gate 1,3 utput1 Input2 Gate 2,1 Gate 2,2 Gate 2,3 utput2 Gate 3,1 Gate 3,2 Gate 3,3
Για την εφαρμογή του Εξελικτικού Αλγόριθμου, τα κυκλώματα κωδικοποιούνται σε δυαδικά αλφαριθμητικά που προσομοιώνουν το DN. Κάθε χρωμόσωμα αναπαριστά έναν κόμβο-πύλη του κυκλώματος. Τα χρωμοσώματα ενώνονται για να σχηματίσουν τον ενιαίο γονότυπο της λύσης. Chromosome structure Gate type Gate input 1 Gate input 2 Gate output 0 0 1 1 0 1 0 0 1 1 1 1 0 Chrom.1 Chrom.2 Chrom.3 Chrom.N Consolidated Genotype
Αποτελέσματα δοκιμών για πλέγμα 5Χ5 με πληθυσμό 500 ατόμων σε κάθε γενιά και όριο 10.000 γενεών. Circuit Success Rate vg gates on success Min gates on success Max gates on success vg gener. to find optimum vg exec. Time per task Half dder 100% 2.3 2 3 710 5 min Decoder 2 to 4 100% 5.1 4 7 850 6 min Full dder 100% 6 5 7 890 8 min 2-bit Multiplier 30% 12 11 13 5,500 36 min Decoder 3 to 8 20% 17.5 17 19 6,150 30 min 2-bit Comparator 10% 14 14 14 8,450 48 min
Αποτελέσματα δοκιμών για πλέγμα 5Χ5 με πληθυσμό 1000 ατόμων σε κάθε γενιά και όριο 10.000 γενεών. Circuit Success Rate vg gates on success Min gates on success Max gates on success vg gener. to find optimum vg exec. Time per task Half dder 100% 2.7 2 4 380 9 min Decoder 2 to 4 100% 5.1 4 6 640 12 min Full dder 100% 6.5 5 10 650 15 min 2-bit Multiplier 80% 9.9 8 13 4,300 64 min Decoder 3 to 8 40% 15.9 14 19 5,230 60 min 2-bit Comparator 20% 11.8 10 14 6,570 85 min
1 1 1 0 < 0 EQ GT 0 > = 0 1 LT
Στόχος είναι η ανάπτυξη μίας υπερδομής σε ένα FPG μαζί με κυκλώματα ελέγχου και επικοινωνίας, που θα επιτρέπει την υλοποίηση παραμετρικών κυκλωμάτων που μετέπειτα θα παράγονται από Εξελικτικό Αλγόριθμο. Η υπερδομή θα έχει μορφή Καρτεσιανού πλέγματος ΜχΝ και θα αποτελείται από βασικά κελιά (cells) που θα προσομοιώνουν πολλές διαφορετικές συναρτήσεις της άλγεβρας oole. Το κύκλωμα επικοινωνίας θα δέχεται αρχικά την περιγραφή του κυκλώματος σε κωδικοποιημένη μορφή από τον Η/Υ Το κύκλωμα ελέγχου θα υλοποιεί το παραμετρικό κύκλωμα στην προκαθορισμένη υπερ-δομή Θα παράγει τις εξόδους του κυκλώματος για τις προκαθορισμένες εισόδους και τα αποτελέσματα θα επιστρέφονται στον Η/Υ.
F 1 0 Υποέργο 10: EVDIDE
clk Ground Truth in1 clk HST PC Genetic lgorithm serial rx_out URT tx_in rx_done tx_done tx_en Streaming Controller read clk clk Test Pattern FSM Config File config_in test_data config data in out CCS LEDS Hamming Distance in2 out MUX rx_data Hamming distance
Μπλοκ Υλικοφ Λογικά Στοιχεία Σφνολο καταχωρητών Κφκλωμα ελζγχου και 220 150 δοκιμών CCS-1 (2x2) 19 18 CCS-1 (4x4) 126 79 CCS-1 (8x8) 438 293 CCS-1 (16x16) 1521 1099 CCS-2 (2x2) 79 40 CCS-2 (4x4) 208 127 CCS-2 (8x8) 591 429 CCS-2 (16x16) 2003 1603
Στόχος είναι βέλτιστη σχεδίαση ψηφιακών κυκλωμάτων, απευθείας υλοποιούμενων σε hardware (FPG), με χρήση της επανα-καθοριζόμενης υπερ-δομής και ενός προσαρμοσμένου Γενετικού Αλγόριθμου Χρησιμοποιήθηκε η υπερ-δομή CCS-1 του ΠΕ3 που έχει μορφή Καρτεσιανού πλέγματος ΜχΝ και αποτελείται από βασικά κελιά (cells) με προς τα εμπρός μόνο συνδέσεις. Ο Γενετικός Αλγόριθμος παράγει τα υποψήφια κυκλώματα και τα στέλνει στο FPG για αξιολόγηση, σε κωδικοποιημένη μορφή. Το κύκλωμα ελέγχου της υπερ-δομής υλοποιεί το κύκλωμα στην προκαθορισμένη υπερ-δομή, το δοκιμάζει για τα προκαθορισμένα ανύσματα εισόδου και αξιολογεί τις εξόδους σε σχέση με τις επιθυμητές Η αξιολόγηση επιστρέφει στον Γενετικό Αλγόριθμο ως τιμή ποιότητας του υποψήφιου κυκλώματος.
(1,1) (1,2) (1,3) (1,4) (1,5) (2,1) (2,2) (2,3) (2,4) (2,5) (3,1) (3,2) (3,3) (3,4) (3,5) (4,1) (4,2) (4,3) (4,4) (4,5) (5,1) (5,2) (5,3) (5,4) (5,5)
G Parameter Value G Parameter Value Population 1000 for the first 125 generations, then 50 Mutation Probability Selection Roulette Wheel Elitism Yes Crossover Mutation perator Probabilities Crossover Probability Uniform inary Mutation Population Replacement Population Rerandomization utomatically adapted Termination 0.4 to 0.9 0.001 to 0.1 Whole Population Every 100 generations 500 generations
Circuit Success Rate vg gates on succ. Min gates on succ. Max gates on succ. vg gener. to find optimum vg gener. for succ. vg exec. time per task Half dder 100% 5,3 3 8 124 4 23,0 Decoder 2 to 4 100% 11,4 8 15 263 27 25,9 Full dder 100% 9,7 6 12 408 22 30,8 2-bit Multiplier 40% 12,3 9 16 140 74 25,6 2-bit Comparator 40% 14,8 11 19 174 74 22,1
Circuit Success Rate vg gates on succ. Min gates on succ. Max gates on succ. vg gener. to find optimum vg gener. for succ. vg exec. time per task Half dder 100% 12,3 7 18 347 4 47,2 Decoder 2 to 4 100% 22,2 18 28 375 65 51,7 Full dder 100% 28 21 36 328 53 64,2 2-bit Multiplier 40% 29 23 34 244 115 52,5 2-bit Comparator 70% 29,9 23 36 301 80 51,5 Multiplexer 4 to1 60% 30,5 23 42 243 118 45,9
1 0 < > = 1 0
1. S. Kazarlis, J. Kalomiros, P. Mastorocostas, V. Petridis,. alouktsis, V. Kalaitzis, Valais, Method for Simulating Digital Circuits for Evolutionary ptimization, Proc. of the 10th nnual Intern. Joint Conf. on Computer, Information, Systems Sciences, and Engineering (CISSE 2014), Dec 12-14, 2014. 2. S Kazarlis, J. Kalomiros,. alouktsis and V. Kalaitzis, Evolving ptimal Digital Circuits Using Cartesian Genetic Programming With Solution Repair Methods, Proc. of the 2015 International Conf. on Systems, Control, Signal Processing and Informatics (SCSI 2015), arcelona, Spain, pril 7-9, 2015. 3. S. Kazarlis, J, Kalomiros, V. Kalaitzis, D. ogas, P. Mastorokostas,. alouktsis, V.Petridis, Reconfigurable Hyper-Structures for Intrinsic Digital Circuit Evolution, Proc. of the 8th Intern. Conf. on dvances in Circuits, Elec-tronics and Microelectronics (CENICS 2015), ug 23-28, 2015, Venice, Italy. 4. S Kazarlis, J. Kalomiros, V. Kalaitzis,. alouktsis and D. ogas, Intrinsic Evolution of ptimal Digital Circuits Using Cartesian Genetic Programming and Reconfigurable Hyper-Structures, Proc. of the 16th IEEE Intern. Conf. on Computer as a Tool, EURCN 2015, IEEE Region 8, Salamanca, Spain, Sept. 8-11, 2015.
41