ΑΣΚΗΣΗ 4 η ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕ ΧΡΗΣΗ Η/Υ (QUARTUS II ALTERA) ΣΧΕΔΙΑΣΗ ΚΥΚΛΩΜΑΤΟΣ ΜΕ ΧΡΗΣΗ ΣΧΗΜΑΤΙΚΟΥ ΔΙΑΓΡΑΜΜΑΤΟΣ Σκοπός της άσκησης είναι η εξοικείωση των σπουδαστών με το εργαλείο σχεδιασμού FPGAs QUARTUS-II της ALTERA. Περιγράφεται με λεπτομέρεια η χρήση του εργαλείου εισαγωγής σχηματικών διαγραμμάτων και η διαδικασία εξομοίωσης ενός ψηφιακού κυκλώματος χρησιμοποιώντας ως παράδειγμα το κύκλωμα της άσκησης 3. Για τις ανάγκες του εργαστηρίου χρησιμοποιείται η ελεύθερη έκδοση (web edition) 8.1 του QUARTUS-II. Οι διαδικασίες που αναφέρονται παρακάτω ΔΕΝ ισχύουν για την έκδοση 10.0 και τις μεταγενέστερες. ΕΡΓΑΣΤΗΡΙΑΚΟ ΜΕΡΟΣ: 1. Εισαγωγή κυκλώματος στο QUARTUS-II Α. Ορισμός Ονόματος του Έργου ( Project ) Για κάθε κύκλωμα που σχεδιάζετε είναι αναγκαίο να ορίσετε τη θέση του φακέλου, όπου το λογισμικό QUARTUS II θα αποθηκεύει όλα τα αρχεία που θα δημιουργηθούν για το έργο (project). Α1. Επιλέξτε New Project Wizard από το File Menu. Α2. Στο παράθυρο που παρουσιάζεται (Σχήμα 4.1), πρέπει να συμπληρωθεί το directory, όπου θα τοποθετηθεί το νέο project, το όνομα του project και το όνομα της ανώτερης οντότητας ( entity ) του σχηματικού διαγράμματος. Σχήμα 4.1 13
Στο πρώτο πεδίο γράφετε το όνομα του directory το οποίο πρέπει να είναι D:\Documents and Settings\digitalx\logic\askisizz όπου x=1...8 ανάλογα με το username που σας έχει δωθεί και zz=4 ο αριθμός της άσκησης. ΠΡΟΣΟΧΗ: Το D:\Documents and Settings\ είναι directory που υπάρχει στο δίσκο D: και δεν πρέπει να το φτιάξετε ξανά. Αν δεν σώσετε στο συγκεκριμένο φάκελλο την εργασία σας θα διαγραφεί αυτόματα όταν κάνετε logout. Στο δεύτερο πεδίο γράφετε το όνομα του Project. Σε κάθε άσκηση θα είναι askhshzz, όπου zz ο αριθμός της άσκησης. Στο τρίτο πεδίο συμπληρώνεται το όνομα της οντότητας (entity) η οποία παίρνει αυτόματα το ίδιο όνομα με το Project. Αν θέλετε μπορείτε να το αλλάξετε. ΠΡΟΣΟΧΗ: Μην χρησιμοποιείτε κενά ή/και ελληνικούς χαρακτήρες στα ονόματα των αρχείων και των κυκλωμάτων γιατί δημιουργούν προβλήματα στη διαχείριση τους από το QUARTUS II. Α3. Πατήστε Επόμενο (ΝΕΧΤ). Η σελίδα Add files του New Project Wizard εμφανίζεται. Εδώ, μπορείτε να επιλέξετε τα design files που επιθυμείτε και να τα συμπεριλάβετε στο project. Επειδή, όμως δημιουργήσατε ένα νέο project, δεν υπάρχουν αρχεία να ενσωματώσετε, ακόμη. Σε περίπτωση που υπάρχουν, πατήστε Browse( ) για να επιλέξετε τα αρχεία, και πατώντας το Add να τα προσθέσετε στο Project. Α4. Πατήστε NEXT. Η Τρίτη σελίδα του New Project Wizard περιέχει το Family και Device Settings. Εδώ μπορείτε να επιλέξετε την οικογένεια και τον τύπο CPLD ή FPGA που θέλετε να χρησιμοποιήσετε για την υλοποίηση του κυκλώματος. Η επιλογή αυτή θα χρησιμοποιηθεί σε επόμενες ασκήσεις. Μην συμπληρώσετε τίποτα εδώ. Σχήμα 4.2 Α5. Πατήστε Finish. Δεν λαμβάνουμε υπόψη τις τελευταίες δύο σελίδες του New Project Wizard 14
Β. Δημιουργία Σχηματικού Διαγράμματος ( Block Diagram ) Β1. Επιλέξτε New (File Menu). Η επιλογή Device Design Files του παραθύρου New εμφανίζεται αυτόματα (Σχήμα 4.3). Β2. Επιλέξτε το Block Diagram/Schematic File. Το αρχείο που θα δημιουργηθεί έχει extension.bdf (Block Diagram File). Σχήμα 4.3 Β3. Πατήστε OK. Εμφανίζεται στην οθόνη το παράθυρο του επεξεργαστή Σχηματικών Διαγραμμάτων (Block Editor), Σχήμα 4.4. Στην αριστερή πλευρά του παραθύρου αυτού υπάρχουν τα εργαλεία για τη σχεδίαση του σχηματικού διαγράμματος του κυκλώματος και όταν τοποθετείτε το ποντίκι πάνω σε κάθε εικονίδιο εμφανίζεται μία σύντομη περιγραφή της αντίστοιχης λειτουργίας. Σχήμα 4.4 15
Β4. Επιλέξτε από το File Menu το Save as. Β5. Επιλέξτε το όνομα του αρχείου όπου επιθυμείτε να σώσετε το BDF. Δώστε το όνομα D:\Documents and Settings\digitalx\logic\askisi4.bdf. Γ. Εισαγωγή Λογικών Στοιχείων Ένα αρχείο σχηματικού διαγράμματος περιέχει τα σύμβολα των λογικών στοιχείων (π.χ. πύλες, πολυπλέκτες, flip-flops) και τις διασυνδέσεις που απαιτούνται ώστε να υλοποιείται το υπό σχεδίαση κύκλωμα. Το πρόγραμμα QUARTUS II παρέχει σύμβολα για μια μεγάλη ποικιλία βασικών λογικών συναρτήσεων (Primitives), βιβλιοθήκες με παραμετρικά στοιχεία και συναρτήσεις (Library of Parameterized Modules, LPM ) και πολύπλοκα κυκλώματα (Megafunctions), τα οποία μπορούν να χρησιμοποιηθούν στον Block Editor. Για να εισάγετε τις πύλες που απαιτούνται για το κύκλωμα της άσκησης ακολουθείστε την παρακάτω διαδικασία. Γ1. Κάντε κλικ στο Symbol Tool πάνω στην επιφάνεια εργαλείων (το σύμβολο της πύλης στο αριστερό μέρος της οθόνης του schematic editor) για να εμφανιστεί το παράθυρο επιλογής συμβόλων του σχήματος 4.5 (Symbol dialog box ). Γ2. Στη λίστα των βιβλιοθηκών ( libraries ) πατήστε το εικονίδιο (+) ώστε να ανοίξετε τις επιλογές του φακέλου c:\altera\quartus81\libraries\. Ακολούθως, ανοίξτε τις επιλογές του φακέλου others και του φακέλου maxplus2 Γ3. Μετακινείστε με το ποντίκι τη λίστα των ονομάτων των διαθέσιμων πυλών και θα εμφανιστούν στην οθόνη οι κωδικοί των Ο.Κ. της οικογένειας 74xx. Επιλέξτε την πύλη που επιθυμείτε να τοποθετήσετε στον Block Editor (το σύμβολό της εμφανίζεται μέσα στο παράθυρο) και πατήστε ΟΚ για να κλείσετε το παράθυρο της βιβλιοθήκης. Όταν ανοίγετε το Symbol Dialog Box, η επιλογή Repeat-Insert mode είναι πάντοτε επιλεγμένη. Είναι εύχρηστη στην περίπτωση, όπου θέλετε να τοποθετήσετε πολλά ίδια στοιχεία. Σχήμα 4.5 16
Γ4. Με το ποντίκι τοποθετήστε μέσα στο παράθυρο του block editor ένα ή περισσότερα αντίγραφα της πύλης που έχετε επιλέξει. Στη φάση αυτή μπορείτε να αλλάξετε προσανατολισμό ή να περιστρέψετε κατά 90, 180 ή 270 το στοιχείο που τοποθετείτε, κάνοντας δεξί κλικ πάνω στο component και επιλέγοντας μία από τις επιλογές Flip horizontal, Flip vertical και Rotate by degrees. Με το πλήκτρο Esc ακυρώνετε τη διαδικασία εισαγωγής συμβόλου. Γ5. Ακολουθήστε την ίδια διαδικασία και για τις υπόλοιπες πύλες, που θέλετε να τοποθετήσετε. Το σχηματικό σας θα πρέπει να έχει τη μορφή που φαίνεται στο σχήμα 4.6. Σχήμα 4.6 Δ. Εισαγωγή και Ονοματοδοσία Ακροδεκτών Εισόδου και Εξόδου. Στις εισόδους και τις εξόδους του κυκλώματος πρέπει να τοποθετηθούν οι κατάλληλοι ακροδέκτες (pins). Για να εισάγετε τα σύμβολα, τα οποία να αντιπροσωπεύουν τις θύρες του κυκλώματος, ακολουθήστε τα παρακάτω βήματα : Δ1. Επιλέξτε το Symbol Tool και στο φάκελο Primitives επιλέξτε το φάκελο Pin. Δ2. Επιλέξτε το σύμβολο εισόδου (Input) και πατήστε ΟΚ. Δ3. Τοποθετήστε τις εισόδους στην αριστερή πλευρά του Block Editor, μπροστά από τις πύλες. Πατήστε Esc. Δ4. Επαναλάβετε τα βήματα 1 έως 3, για να τοποθετήσετε δεξιά της OR πύλης, δύο σύμβολα εξόδου (Output ). Δ5. Σώστε το κύκλωμα (το εικονίδιο με τη δισκέτα ή Save από το File Menu ). Δ6. Υπάρχουν δύο τρόποι για να δώσετε όνομα στους ακροδέκτες Εισόδου Εξόδου του κυκλώματός σας, α) διπλό κλικ στο κείμενο pin_name και αλλαγή του κειμένου από το πληκτρολόγιο και 17
β) διπλό κλικ πάνω στο pin ανοίγει μία φόρμα εισαγωγής στοιχείων (Pin properties) στην οποία μπορείτε να αλλάξετε το όνομα του ακροδέκτη και πατώντας ΟΚ να ολοκληρώσετε την αλλαγή. ΠΡΟΣΟΧΗ: πρέπει από την παλέτα εργαλείων να είναι ενεργοποιημένο το Selection and Smart Drawing Tool (το βελάκι). Δ7. Αλλάξτε το όνομα του πρώτου ακροδέκτη εισόδου σε x1. Δ8. Επαναλάβετε την ίδια διαδικασία για τον ορισμό και των υπολοίπων ακροδεκτών εισόδου και εξόδου. Η οθόνη σας πρέπει να είναι όπως φαίνεται στο Σχήμα 4.7. Δ9. Αποθηκεύστε το κύκλωμα. (File --> Save) Ε. Σύνδεση κόμβων με καλώδια. Σχήμα 4.7 Το επόμενο βήμα είναι η πραγματοποίηση των διασυνδέσεων των στοιχείων του κυκλώματος. Για να σχεδιάσετε τα καλώδια (nets) πρέπει να επιλέξετε το εικονίδιο Orthogonal Node Tool (πέμπτο από την κορυφή) πάνω στο toolbar και να τοποθετήσετε το σταυρόνημα ( + ) ακριβώς πάνω στον ακροδέκτη, το σημείο που πρέπει να συνδεθεί το καλώδιο. Ύστερα, κρατώντας πατημένο το αριστερό κουμπί του ποντικιού τραβάμε την γραμμή (καλώδιο) έως τον άλλο ακροδέκτη. Για να δημιουργήσετε διακλάδωση σε ένα καλώδιο τοποθετήστε το σταυρόνημα πάνω στο καλώδιο και με πατημένο το αριστερό πλήκτρο του ποντικιού μετακινήστε το ποντίκι. Εναλλακτικά έχοντας επιλεγμένο το Selection and Smart Drawing Tool από το toolbar όταν το ποντίκι βρίσκεται κοντά σε έναν ακροδέκτη, ένα ασύνδετο καλώδιο ή μία γωνία καλωδίου μετατρέπεται σε σταυρόνημα. Αν πατήσετε το αριστερό πλήκτρο του ποντικιού και κρατώντας το πατημένο μετακινήσετε το ποντίκι θα δημιουργηθεί ένα καλώδιο που συνδέεται αυτόματα με τον ακροδέκτη ή το καλώδιο. Η διασταύρωση δύο καλωδίων δεν σημαίνει και βραχυκύκλωμα. Όπου υπάρχει διασύνδεση καλωδίων το Quartus τοποθετεί αυτόματα μία τελεία. Ε1. Ενώστε την είσοδο x1 με τη πάνω είσοδο της πύλης OR. 18
Ε2. Ακολουθήστε την ίδια διαδικασία για να συνδέσετε όλες τις πύλες μεταξύ τους ώστε να σχεδιάσετε το σχηματικό διάγραμμα του κυκλώματος που φαίνεται στο σχήμα 4.8. Ε3. Αποθηκεύστε το κύκλωμα. 2. Μετάφραση ( COMPILΑΤΙΟΝ ) Σχήμα 4.8 Ο μεταφραστής (Compiler) του Quartus II αποτελείται από ένα σετ ανεξάρτητων εργαλείων που ελέγχουν το σχέδιο για λάθη, αναλύουν το σχηματικό διάγραμμα και δημιουργούν μία λογική έκφραση για κάθε λογική συνάρτηση του κυκλώματος, απεικονίζουν το σχέδιο σε μία προγραμματιζόμενη διάταξη (FPGA ή CPLD) της Altera και δημιουργούν αρχεία εξόδων για προσομοίωση λειτουργίας (Simulation), χρονική ανάλυση (timing analysis), και προγραμματισμός διατάξεων (device programming). Ο μεταφραστής αποτελείται από τα εργαλεία : Analysis and Synthesis Fitter Assembler και Timing Analyzer 2.1. Για να ανοίξετε το παράθυρο του μεταφραστή επιλέξτε με το ποντίκι το pull-down menu Processing και ύστερα το Compiler Tool (μοιάζει με εργοστάσιο με καμινάδα). 2.2. Για να ξεκινήσετε το Full Compilation (πλήρης μετάφραση) πατήστε το κουμπί Start. Παρατηρήστε την πρόοδο της μετάφρασης μέσω των εργαλείων του Compiler. Η πρόοδος των εργασιών φαίνεται επίσης και στο αριστερό μέρος της οθόνης. Στο κάτω μέρος της οθόνης εμφανίζονται τα πιθανά σφάλματα (Errors) του κυκλώματος (με κόκκινα γράμματα) καθώς και τα κάθε είδους προειδοποιητικά (Warning) (με μπλε γράμματα) και πληροφοριακά (Info) (με πράσινα γράμματα) μηνύματα. Σε περίπτωση που υπάρχει λάθος στο κύκλωμα η διαδικασία μετάφρασης σταματάει. Με διπλό αριστερό κλικ 19
πάνω στο μήνυμα του σφάλματος ή της προειδοποίησης ο cursor τοποθετείται στο παράθυρο του block editor στην περιοχή του σφάλματος. Όταν ο Compiler ολοκληρώσει τη μετάφραση, πατώντας το κουμπί Report, μπορείτε να πάρετε πληροφοριακά και στατιστικά στοιχεία για τη διαδικασία της μετάφρασης του κυκλώματος. 4. Προσομοίωση Λειτουργίας ( Simulation ) Για να βεβαιωθούμε ότι το κύκλωμα εκτελεί τις λειτουργίες για τις οποίες το έχουμε σχεδιάσει είναι απαραίτητη η διαδικασία της προσομοίωσης. Στη διαδικασία αυτή δίνουμε παλμούς στα σήματα εισόδου του κυκλώματος και ελέγχουμε αν τα σήματα εξόδου είναι τα αναμενόμενα σύμφωνα με τον πίνακα αληθείας του. Υπάρχουν δύο τύποι εξομοίωσης λειτουργική (functional) και χρονισμών (timing). Στην περίπτωση της λειτουργικής εξομοίωσης δε λαμβάνουμε υπόψη τις καθυστερήσεις των στοιχείων (πυλών και διασυνδέσεων) του κυκλώματος αλλά απλά επαληθεύουμε ότι η λογική συνάρτηση που υλοποιεί το κύκλωμα είναι σωστή. Στην εξομοίωση χρονισμών επαληθεύουμε την ορθότητα του κυκλώματος μας και με βάση του χρονικους περιορισμούς που αυτό έχει. Για παράδειγμα έστω ότι έχουμε σχεδιάσει έναν απαριθμητή και ότι η καθυστέρηση ενός flipflop είναι 10 nsec. Στην λειτουργική εξομοίωση μπορούμε να χρησιμοποιήσουμε ένα σήμα ρολογιού με περίοδο 5 nsec και το κύκλωμα μας θα κάνει σωστή καταμέτρηση. Αν χρησιμοποιήσουμε όμως το ίδιο σήμα ρολογιού σε εξομοίωση χρονισμού το κύκλωμα δεν θα έχει τη σωστή απόκριση γιατί μέσα στα 5 nsec τα flip-flops δεν προλαβαίνουν να αλλάξουν κατάσταση. Ο προκαθορισμένος (default) τύπος εξομοίωσης στο Quartus είναι εξομοίωση χρονισμών (timing). Η επιλογή της επιθυμητής εξομοίωσης γίνεται από το pull-down menu Assignments/Settings ή από το Simulator Tool. 4.1. Επιλέξτε το pull-down menu Processing επιλέξτε το Simulator Tool για να εμφανιστεί το παράθυρο του σχήματος 4.9. 4.2. Στην επιλογή Simulation Mode (πάνω αριστερά) αλλάξτε από Τiming σε Functional. Σχήμα 4.9 20
4.3. Για να προχωρήσετε στην εξομοίωση πρέπει πρώτα να δημιουργήσετε το κατάλληλο αρχείο περιγραφής του κυκλώματος (netlist). Για τη δημιουργία του πατήστε την επιλογή Generate Functional Simulation Netlist (πάνω αριστερά). 4.4. Το επόμενο βήμα είναι η δημιουργία του αρχείου των κυματομορφών. Από το pulldown menu File επιλέξτε New. Στην φόρμα με τους δυνατούς τύπους αρχείων (σχήμα 4.3) επιλέξτε από την κατηγορία Verification/debugging files το Vector Waveform File (η τελευταία επιλογή). 4.5. Εμφανίζεται ο Waveform Editor (Επεξεργαστής Κυματομορφών) ο οποίος δίνει τη δυνατότητα να εισάγετε τους Κόμβους (Nodes) του κυκλώματος ώστε να μπορέσει να πραγματοποιηθεί η προσομοίωση. 4.6. Κάντε διπλό αριστερό κλικ στον κενό χώρο κάτω από το Name για να ανοίξει το παράθυρο του Node Finder (Σχήμα 4.10). Εναλλακτικά, επιλέξτε στο pull-down menu View το Utility Windows και από εκεί το Node Finder. 4.7. Στο Node Finder πατήστε το πλήκτρο List στο πάνω δεξιά τμήμα του ορθογωνίου για την εμφάνιση των ονομάτων των κόμβων του τρέχοντος έργου στο ορθογώνιο με το όνομα Nodes Found. Από την επιλογή Named στην πάνω αριστερή γωνία του παραθύρου του Node Finder μπορείτε να επιλέξετε σήματα ανάλογα με το όνομά τους. Από την επιλογή Filter μπορείτε να επιλέξετε ομάδες σημάτων π.χ. σήματα εισόδου, εξόδου, όλα τα σήματα του σχεδίου (περιλαμβάνονται και αυτά που εισάγονται αυτόματα από τον μεταφραστή). ΠΡΟΣΟΧΗ: Στο πεδίο named να υπάρχει το * και στο Filter Pins:all Σχήμα 4.10 4.8. Επιλέξτε με το ποντίκι τους κόμβους από το αριστερό τμήμα του παραθύρου και με το > που υπάρχει στη μεσαία στήλη αντιγράψτε τους στο δεξί παράθυρο (selected nodes). Πατώντας ΟΚ το παράθυρο του Node Finder κλείνει και οι κόμβοι που επιλέξατε εμφανίζονται στο παράθυρο του Waveform Editor (Σχήμα 4.11). 4.9. Αποθηκεύστε το αρχείο του Waveform Editor. (File --> Save As...) 21
Σχήμα 4.11 Στις περισσότερες περιπτώσεις είναι επιθυμητό οι είσοδοι του κυκλώματος να εμφανίζονται στο πάνω μέρος του παραθύρου των κυματομορφών και οι έξοδοι να ακολουθούν από κάτω. Για να αλλάξετε τη θέση μίας κυματομορφής κάντε αριστερό κλικ πάνω στο όνομα του σήματος και με πατημένο το πλήκτρο μετακινήστε το στην επιθυμητή θέση. Η προεπιλεγμένη τιμή για όλες τις εισόδους είναι λογικό '0' ενώ οι λογικές τιμές των εξόδων εμφανίζονται με 'Χ' γιατί παράγονται από τον προσομοιωτή και δεν είναι γνωστό εκ των προτέρων ποια είναι η τιμή τους. Στο αριστερό μέρος της οθόνης εμφανίζεται μία σειρά εργαλείων που χρησιμοποιούνται για την αλλαγή των λογικών τιμών των σημάτων εισόδου δίνοντας έτσι τη δυνατότητα να καθορίσετε τις λογικές τιμές που θα χρησιμοποιηθούν για τα σήματα εισόδου κατά τη διάρκεια της προσομοίωσης. Με το Zoom Tool (μεγεθυντικός φακός) μπορείτε να αλλάξετε το τμήμα των κυματομορφών που φαίνεται στην οθόνη. Το αριστερό πλήκτρο του ποντικιού κάνει Zoomin και το δεξί Zoom-out. 4.10. Δώστε τιμές στις εισόδους x1 έως x4 όπως φαίνεται στο Σχήμα 4.12. Για να δώσετε την τιμή '1' επιλέξτε με το ποντίκι το κατάλληλο τμήμα της κυματομορφής πάνω στο παράθυρο του Waveform editor και πατήστε στο Waveform Editor Toolbar (αριστερό τμήμα), το 1. 4.11. Αποθηκεύστε το αρχείο του Waveform Editor. 22
Σχήμα 4.12 4.13. Για να γίνει η προσομοίωση του κυκλώματος επιλέξτε από το pull-down menu processing το κουμπί Start Simulation. Ανοίγει ένα παράθυρο που ονομάζεται Simulation Report στο αριστερό τμήμα του οποίου αναφέρονται στατιστικά στοιχεία για τη διαδικασία της προσομοίωσης και στο δεξί τμήμα του φαίνονται τα αποτελέσματα της προσομοίωσης της λειτουργίας του κυκλώματος (Σχήμα 4.13). 4.14. Κάντε επαλήθευση των αποτελεσμάτων, με τη βοήθεια του πίνακα αληθείας (Πίνακας 3.1, Άσκηση 3). Σχήμα 4.13 23
Ένα σημαντικό στοιχείο που παρουσιάζεται στα μηνύματα της εξομοίωσης είναι το Simulation coverage is:...% το οποίο δείχνει αν έχουν παραχθεί αποτελέσματα για όλες τις δυνατές καταστάσεις του κυκλώματος. Στην περίπτωσή μας αυτό είναι 76,92%, το οποίο σημαίνει ότι δεν έχει ελεγχθεί περίπου το 1/4 των πιθανών καταστάσεων του κυκλώματος. Είναι επιθυμητό για ένα συνδυαστικό κύκλωμα το ποσοστό κάλυψης της προσομοίωσης να φτάνει το 100%. Για να επιτευχθεί ο στόχος αυτός πρέπει να δοθούν στις εισόδους όλοι οι δυνατοί συνδυασμοί. (Στα ακολουθιακά κυκλώματα που διαθέτουν και στοιχεία μνήμης τα πράγματα είναι πολύ πιο πολύπλοκα.) 4.15. Κάντε πλήρη επαλήθευση του πίνακα αληθείας βάζοντας όλους τους δυνατούς συνδυασμούς των εισόδων. Για να το πετύχετε αυτό χρησιμοποιήστε το εργαλείο overwrite clock από το Waveform Editor Toolbar, έτσι ώστε το Χ1 να έχει περίοδο 10ns, το Χ2 20ns, το Χ3 40ns και το Χ4 80ns. 4.17. Επαληθεύστε τα αποτελέσματα της εξομοίωσης με τον πίνακα 3.1. (Άσκηση 3). 24