2 η Θεµατική Ενότητα Σχεδίασης VLSI κυκλωµάτων 1 Μέρος Ι Μέθοδοι Σχεδίασης CMOS 2
Εισαγωγή Περιγραφή Ολοκληρωµένου Πεδίο Συµπεριφοράς (π.χ. επιλογή αλγορίθµου) Πεδίο οµής (είδος οικογένειας πυλών, στρατηγικής ρολογιού, κλπ.) Φυσικό Πεδίο (ολοκληρωµένα, πλακέτα ) Αρχιτεκτονική Επίπεδο Καταχωρητή Λογικό Επίπεδο Κυκλωµατικό Επίπεδο 3 Στρατηγικές Σχεδίασης Ένα καλό σύστηµα σχεδίασης VLSI θα πρέπει να παρέχει επαρκή περιγραφή και για τα τρία πεδία (συµπεριφοράς, δοµής και φυσικό) καθώς και σε όλα τα σχετικά επίπεδα αφαίρεσης (αρχιτεκτονικής, RTL, λογικής και κυκλώµατος). Σχεδιαστικές παράµετροι: Απόδοση, ταχύτητα, ισχύς, λειτουργία, προσαρµοστικότητα. Μέγεθος ψηφίδας (οπότε και κόστος ψηφίδας). Χρόνος σχεδίασης (κόστος µηχανικού και χρονοδιαγράµµατος). Εύκολη δηµιουργία δοκιµής και καταλληλότητα για δοκιµή. ιαρκής συναλλαγή Εργαλεία Μεθοδολογίες Σχεδίαση Επιδόσεις Περιορισµοί Αύξηση Παραγωγικότητας Μείωση Πολυπλοκότητας 4
οµηµένες Στρατηγικές Σχεδίασης Ιεραρχία ( ιαίρει και βασίλευε) ιαίρεση µίας µονάδας σε υποµονάδες και επανάληψη της διαίρεσης στις υποµονάδες έως ότου η πολυπλοκότητα των υποµονάδων φτάσει σε ένα επαρκώς κατανοητό επίπεδο λεπτοµέρειας Κανονικότητα (Regularity) Χωρισµός της ιεραρχίας σε ένα σύνολο ίδιων δοµικών στοιχείων (πχ. χρήση επανάληψης για την δηµιουργία διάταξης όµοιων κυττάρων). Απαραίτητη σε όλα τα επίπεδα ιεραρχικής σχεδίασης: Κυκλώµατος Λογικής... Τρανζίστορ οµοιόµορφου µεγέθους Όµοιες οµές Πυλών 5 οµηµένες Στρατηγικές Σχεδίασης Τµηµατοποίηση (Modularity) Οι υποµονάδες πρέπει να έχουν καλώς ορισµένες λειτουργίες και διασυνδέσεις. Παράδειγµα διασύνδεσης η χρήση πολυπλεκτών και αποµονωτών στις εισόδους κυκλώµατος. Τοπικότητα (Locality) Με χρήση καλά διακρινόµενων διασυνδέσεων πετυχαίνουµε απόκρυψη πληροφορίας (µείωση global µεταβλητών). 6
υνατότητες Σχεδίασης Ολοκληρωµένων Προγραµµατιζόµενη Λογική Βοηθάει στην απόσβεση του σχεδιαστικού κόστους και της τελικής τιµής µε την κατασκευή µεγάλου αριθµού κοµµατιών. Η δυνατότητα προγραµµατισµού είναι ένας τρόπος επίτευξης µεγαλύτερου εύρους χρήσης. Προγραµµατιζόµενη Λογική Προγραµµατιζόµενες Αλληλοσυνδέσεις Επανα- Προγραµµατιζόµενες ιατάξεις Πυλών Ηγνώση αυτών των επιλογών προσφέρει: 1. Επιτρέπει στον σχεδιαστή να κάνει πλήρη εκτίµηση των απαιτήσεων ενός συστήµατος βάση πολυπλοκότητας, ταχύτητας, κόστος, χρονικούς στόχους παραγωγής. 2. Εξοικειώνεται ο σχεδιαστής συστηµάτων µε µεθόδους της αγοράς που καθιστούν µια σχεδίαση επαναπρογραµµατιζόµενη πιο χρήσιµη. 7 οµές Προγραµµατιζόµενης Λογικής (PAL) PAL (Programmable array logic) PLD (Programmable logic device) Κύρια χαρακτηριστικά διατάξεων: ιάταξη AND - OR πυλών Κάθε AND-OR πύλη έχει µεταβλητό αριθµό από όρους γινοµένου που την τροφοδοτούν Η πύλη AND-OR τροφοδοτεί ένα κύτταρο Ε/Ε το οποίο επιτυγχάνει την καταχώρηση των σηµάτων της και την ανατροφοδότησή τους στην διάταξη των AND-OR πυλών Οι PAL έρχονται σε µεγάλη γκάµα µεγεθών µε ποικίλο αριθµό εισόδων, εξόδων, όρων γινοµένου και πολυπλοκότητας κυττάρων Ε/Ε. 8
9 οµές Προγραµµατιζόµενης Λογικής (PAL) Τρόποι Προγραµµατισµού PAL: Εύτηκτες συνδέσεις. Είναι συνδέσεις που καίγονται όταν ένα συγκεκριµένο ρεύµα διαπεράσει την ασφάλεια. Επιτυγχάνεται µε εφαρµογή τάσης που υπερβαίνει την κανονική. Γίνεται µόνο µία φορά. Υπεριώδους ακτινοβολίας (UV) επανεγγράψιµες Προγραµµατιζόµενες ROM (EPROM). Προγραµµατίζονται µε εφαρµογή υψηλότερης τάσης και απο-προγραµµατίζονται µε υπεριώδη ακτινοβολία. Ηλεκτρικά Επανεγγράψιµες Προγραµµατιζόµενες ROM. Επιτρέπει τον ηλεκτρικό προγραµµατισµό και διαγραφή των CMOS ROM κυττάρων. 10
Προγραµµατιζόµενη Αλληλοσύνδεση Μια PLA προγραµµατίζεται µε την αλλαγή των χαρακτηριστικών των διακοπτικών στοιχείων. Μια εναλλακτική λύση είναι ο προγραµµατισµός των αλληλοσυνδέσεων Αντιασφάλεια (Antifuse) είναι συνήθως στοιχείο υψηλής αντίστασης (>100ΜΩ) που µε εφαρµογή της κατάλληλης τάσης αλλάζει µόνιµα σε στοιχείο χαµηλής αντίστασης (200-500Ω) Ησειρά µε την οποία καίµε τις αντιασφάλειες υπολογίζεται προσεκτικά για να εξασφαλίσει το κάψιµο όλων των υπόλοιπων µε την σειρά που έχει προβλεφθεί στο συγκεκριµένο προγραµµατισµό. 11 Προγραµµατιζόµενη Αλληλοσύνδεση 12
Προγραµµατιζόµενη Αλληλοσύνδεση Υλοποιεί όλες τις λογικές συναρτήσεις 2 και 3 εισόδων και µερικές των 4. Λογικό Κύτταρο της ACTEL 13 Προγραµµατιζόµενη Αλληλοσύνδεση Λογικό Κύτταρο της Quick Logic 14
Προγραµµατιζόµενη Αλληλοσύνδεση Προγραµµατιζόµενος ακροδέκτης Ε/Ε της ACTEL Καθορίζει αν είναι εισόδου, εξόδου ή εισόδου/εξόδου 15 Επαναπρογρ/µενες ιατάξεις Πυλών Είναι διατάξεις από ιαµορφούµενα Λογικά Συγκροτήµατα (Configurable Logic Blocks) µέσα σε ένα σύνολο από οριζόντια και κάθετα κανάλια που περιέχουν διασυνδέσεις οι οποίες µπορούν να διασυνδέσουν τα CLBs. FPGA της XILINX Υπάρχει στατική RAM που κρατάει ένα δεδοµένο µοντέλο αλληλοσύνδεσης 16
Επαναπρογρ/µενες ιατάξεις Πυλών οµή CLB Με την ολοκλήρωση του σχεδιασµού µίας πλακέτας η διαδικασία συνεχίζει µε την αντιστοίχηση της λογικής σχεδίασης µε τα CLBs οπότε και µε µια ή περισσότερες προγραµµατιζόµενες διατάξεις πυλών. H έξοδος και οι πολυπλέκτες ελέγχονται από την στατική RAM. 17 Επαναπρογρ/µενες ιατάξεις Πυλών Αρχιτεκτονική ολοκληρωµένου FPGA της Algotronix 18
Θάλασσα Πυλών -SOG Οπυρήνας του ολοκληρωµένου περιέχει µία συνεχή διάταξη απο n και p τρανζίστορ(βασικό δισκίο). Ο σχεδιαστής διαµορφώνει τα τρανζίστορ µε χρήση επιµεταλλώσεων και επαφών σύµφωνα µε την σχεδίαση. Το κόστος είναι χαµηλό γιατί: 1. Μεγάλος αριθµός βασικών δισκίων για πολλές σχεδιάσεις (χαµηλό κόστος). 2. Μόνο 2-5 µάσκες είναι απαραίτητες (χαµηλό κόστος). 3. Μικρός χρόνος σχεδίασης λόγο των υψηλά αυτοµατοποιηµένων εργαλείων για τοποθέτηση, διασύνδεση, δοκιµή. 4. Κόστος συσκευασίας χαµηλό λόγο των προτυποποιηµένων ακροδεκτών και συσκευασιών. 5. Ελάχιστος χρόνος διαδικασίας αφού χρειάζεται να πραγµατοποιηθούν µόνο τα τελευταία βήµατα επιµετάλλωσης. 6. Μικρό κόστος δοκιµής αφού κοινά εξαρτήµατα δοκιµής χρησιµοποιούνται σε πολλές σχεδιάσεις 19 Θάλασσα Πυλών -SOG Τα κανάλια διασύνδεσης σχηµατίζονται µε διασυνδέσεις πάνω από αχρησιµοποίητα τρανζίστορ 20
Θάλασσα Πυλών -SOG 21 Θάλασσα Πυλών -SOG Κατά τον σχεδιασµό της βασικής διάταξης πρέπει να γίνει η επιλογή ενός αριθµού σχεδιαστικών αποφάσεων: Το συνολικό µέγεθος του πυρήνα διάταξης. Η µακρο-δοµή των λωρίδων: πόσες n, p σειρές υπάρχουν ανά οριζόντια λωρίδα και πόσες έχουν διασυνδεθεί Η µικρο-αρχιτεκτονική: - Μέγεθος και αναλογία n/p τρανζίστορ - Αριθµός κατεύθυνση και στρώµα διαδροµών διασύνδεσης - Μέθοδος αποµόνωσης λογικών πυλών - Μέθοδος εξειδίκευσης Πολλοί σχεδιαστές χρησιµοποιούν SOGs µε διπλές γραµµές p, n τρανζίστορ. 22
Θάλασσα Πυλών -SOG Οι περισσότερες σχεδιάσεις επιλέγουν ίδιου µεγέθους τρανζίστορ. Το απόλυτο µέγεθος είναι συγκερασµός µεταξύ της ικανότητας να οδηγήσει, της δυνατότητας να οδηγηθεί και της απαιτούµενης πυκνότητας της διάταξης. 23 Τυποποιηµένα κύτταρα ηµιουργείται µία συγκεκριµένη σχεδίαση για κάθε λογική πύλη της βιβλιοθήκης. Καλύπτονται οι παρακάτω κατηγορίες κυκλωµάτων: 1. Λογικές πύλες And, Or, Not, Nor, Xor, Xnor, Aoi, Oai, αποµονωτές, καταχωρητές... 2. Αποκωδικοποιητές, κωδικοποιητές, δέντρα ισοτιµίας, αθροιστές, συγκριτές... 3. Datapaths (ΑLUs, παρατάξεις καταχωρητών, ολισθητές ) 4. Μνήµες 5. Κυκλώµατα σε επίπεδο συστήµατος (πολλαπλασιαστές,µικροελεγκτές, RISC) Οι σχεδιάσεις µε τυποποιηµένα κύτταρα παρέχουν ένα σηµαντικό πλεονέκτηµα πυκνότητας µε αντίστοιχη αύξηση του κόστους προτύπου και της πολυπλοκότητας σχεδίασης. 24
Τυποποιηµένα κύτταρα Οι εκδόσεις βελτιστοποιηµένης πυκνότητας χρησιµοποιούν ελάχιστου µεγέθους τρανζίστορ για να επιτύχουν το µικρότερου ύψους τυποποιηµένο κύτταρο, ενώ οι εκδόσεις βελτιστοποιηµένης ταχύτητας χρησιµοποιούν µεγάλα τρανζίστορ για καλή ικανότητα οδήγησης 25 Μέθοδοι Σχεδίασης Προδιαγραφές Συστήµατος Επίπεδο Συµπεριφοράς Επίπεδο RTL Επίπεδο Λογικής Επίπεδο Φυσικού σχεδίου 26
Σύνθεση Συµπεριφοράς Στο επίπεδο συµπεριφοράς η λειτουργία του συστήµατος συλλαµβάνεται χωρίς να χρειάζεται καθορισµός υλοποίησης. 1. Παρέχει την ταχύτερη προσοµοίωση του συστήµατος. 2. Χρησιµοποιείται καλύτερα στην λειτουργία της εκσφαλµάτωσης. 3. Είναι ανεξάρτητο της τεχνολογίας Παράδειγµα: Έστω ο κώδικας συµπεριφοράς α=α+βγ. Μπορεί να χρησιµοποιηθεί ότιδήποτε από σειριακό πολλαπλασιαστή έως πλήρως παράλληλο πολλαπλασιαστή Wallace. 27 Σύνθεση σε Επίπεδο Καταχωρητή Τα προγράµµατα σύνθεσης σε επίπεδο καταχωρητή παίρνουν µία RTL περιγραφή και την µετατρέπουν σε ένα σύνολο καταχωρητών και συνδυαστικής λογικής. Οι RTL περιγραφές εισάγονται µε χρήση HDLs που παρέχουν: Έλεγχο ροής (if-then-else και case). Επανάληψη Ιεραρχία Μήκη λέξεων, διανύσµατα ψηφίων και πεδία ψηφίων Σειριακές/Παράλληλες λειτουργίες Καθορισµό και κατανοµή καταχωρητών Λειτουργίες αριθµητικής-λογικής σύγκρισης Χρόνος Επιφάνεια RTL Μεταφραστής Καταχωρητές Συνδυαστική Βελτιστοποιητής Βελτιστοποιηµένο 28
Βελτιστοποίηση Λογικής Λογική Περιγραφή Καταχωρητές ιαχωρισµός ίκτυο Πυλών Βελτιστοποίηση Επανασύνδεση Βελτ. ίκτυο Πυλών Βελτ. ίκτυο Πυλών Τα συστήµατα βελτιστοποίησης λογικής διαιρούν το πρόβληµα σε δύο στάδια: Ένα ανεξάρτητο από την τεχνολογία (αλγόριθµοι λογικών δικτύων µε τεχνικές άλγεβρας Boole). Ένα στάδιο απεικόνισης σε τεχνολογία που εκµεταλλεύεται τα πλεονεκτήµατα της. 29 Βελτιστοποίηση Λογικής Weak Division Αποσύνθεση λογικών εκφράσεων δύο επιπέδων σε λογικές εκφράσεις πολλαπλών επιπέδων. Εφαρµόζει επαναλαµβανόµενη διαίρεση των εκφράσεων σε υποεκφράσεις που εµφανίζονται περισσότερες από µία φορά. Απεικόνιση σε τεχνολογία 30
Κάλυψη Κατευθυνόµενου Άκυκλου Γράφου 31 Τοποθέτηση (Placement) Τοποθέτηση είναι η διαδικασία του να βάλουµε µονάδες γειτονικά τη µία µε την άλλη ώστε να ελαχιστοποιηθεί η επιφάνεια ή ο χρόνος κύκλου. Min Cut ιαίρεση και Τοποθέτηση (αναδροµικός χωρισµός σε δύο τµήµατα -πάνω, κάτω- µε ελάχιστο αριθµό διασυνδέσεων) Thermal annealing Τυχαία µετακίνηση και µέτρηση (τάση προς ψυχρό και επανεκκίνηση προς αποφυγή τοπ. Ελαχ.) 32
ιασύνδεση (Routing) Είναι η διασύνδεση των µονάδων µε καλωδιώσεις. Ακολουθεί την διαδικασία τοποθέτησης και είναι µια πολύ ώριµη τεχνολογία. Ένας καθολικός διασυνδετής είναι ένας ειδικός διασυνδετής που λειτουργεί κατά την διάρκεια εκτέλεσης ενός αλγορίθµου τοποθέτησης προσπαθώντας να προγραµµατίσει το που θα οδεύουν οι διασυνδέσεις όταν τοποθετηθεί το τελικό φυσικό σχέδιο. Γεννήτριες Λογισµικού: Είναι προγράµµατα που λαµβάνουν ως είσοδο έναν αριθµό παραµέτρων και παράγουν φυσικά σχέδια απλών φυσικών δοµών όπως RAM, ROM, PLAs, Datapaths Παράγουν αυτοµατοποιηµένους και βελτιστοποιηµένους σχεδιασµούς. 33 Εργαλεία Σύλληψης Σχεδίου 1. Σχεδίαση HDL (Γλώσσα Περιγραφής Υλικού) VHDL, ELLA, VERILOG. Τέτοιες γλώσσες διαφέρουν από τις γλώσσες προγραµµατισµού. Έχουν µεταφραστές, εκσφαλµατωτές και εξοµοιωτές. 2. Σχηµατική Σχεδίαση. Χρήση σχηµατικού συντάκτη (σε Λογικό επίπεδο) που παρέχει λειτουργίες όπως: - ηµιουργία, επιλογή και διαγραφή κοµµατιών - Αλλαγή γραφικής θέας (µεγέθυνση, σµίκρυνση κλπ) - Επιλογή ενός ηλεκτρικού κόµβου και εξέτασή του για κατάσταση. - Εκτέλεση σχετικής εξοµοίωσης. 3. Φυσική Σχεδίαση. Χρήση συντάκτη φυσικής σχεδίασης (layout editor). Παρέχει επιπλέον δυνατότητα Ελέγχου Κανόνων Σχεδίασης (Design Rule Check) 34
Χωροθέτηση Χωροθέτηση είναι η τακτοποίηση συγκροτηµάτων φυσικών σχεδίων µέσα στο ολοκληρωµένο µε σκοπό την ελαχιστοποίηση της επιφάνειας ή τη µεγιστοποίηση της ταχύτητας. Περιστροφή γύρω από τον άξονα Υ 35 Εξοµοίωση Εξοµοίωση σε επίπεδο κυκλώµατος. Η πιο λεπτοµερής και ακριβής τεχνική εξοµοίωσης (SPICE, HSPICE). Βασίζονται στη λύση εξισώσεων πινάκων µε τιµές τάσεων, ρευµάτων, αντιστάσεων κλπ. Είναι ιδιαίτερα χρονοβόρες. Τα σφάλµατα τους οφείλονται: - Ανακρίβεια στις παραµέτρους των µοντέλων MOS - Χρήση ακατάλληλου µοντέλου MOS - Ανακρίβεια στις παρασιτικές χωρητικότητες και αντιστάσεις. Το spice παρέχει διάφορα επίπεδα εξοµοίωσης (LEVEL) Η απόλυτη ακρίβεια δεν είναι εφικτή λόγο παρεκκλίσεων της επεξεργασίας, της θερµοκρασίας, της τάσης τροφοδοσίας κλπ. Ο σχεδιαστής δουλεύει µε τον βραδύτερο δυνατό χρόνο και πάντα µε περιθώριο απόκλισης 10-20%. 36
Εξοµοίωση Εξοµοίωση σε Λογικό Επίπεδο. Χρησιµοποιούνται πρωτογενή µοντέλα όπως οι πύλες AND, NAND, Πολλοί εξοµοιωτές λειτουργούν σε κατάσταση µοναδιαίας καθυστέρησης. Βασίζονται σε εξοµοιώσεις οδηγούµενες από γεγονότα (event-driven). Είναι αρκετά γρήγοροι. Εξοµοίωση σε Επίπεδο ιακοπτών. Συγχωνεύουν τεχνικές εξοµοιωτών λογικής µε µερικές τεχνικές εξοµοίωσης κυκλωµάτων µε την µοντελοποίηση των τρανζίστορ ως διακόπτες. 37 Επαληθευτές Χρονισµού Σχεδιασµός Λογική Εξοµοίωση Χρονική Εξοµοίωση Για την εύρεση προβληµάτων χρονισµού (Critical Paths) έπρεπε να εφαρµοστεί το κρίσιµο διάνυσµα χρονισµού. Ο επαληθευτής χρονισµού αντίθετα αξιολογεί τις καθυστερήσεις διαµέσου όλων των µονοπατιών χωρίς την ύπαρξη διανυσµάτων. Προβλήµατα: 1. Λανθασµένα µονοπάτια. εν γνωρίζει το εργαλείο πως χρησιµοποιείται το κύκλωµα. 2. Μυστικά µονοπάτια. Μονοπάτια που το εργαλείο δεν τα γνωρίζει λόγο περίπλοκων χρονικών σηµάτων 38
Άλλα Θέµατα Σχεδιασµού Επαναπροσδιορισµός Παραµέτρων Σχεδίασης (Back Annotation) Μετά την κατασκευή του φυσικού σχεδίου µπορούν να συσχετιστούν οι χωρητικότητες του σχεδίου µε το κυκλωµατικό σχέδιο και να εκτελεστεί πάλι λογική και χρονική εξοµοίωση για τυχόν προβλήµατα. Επαλήθευση Κανόνων Σχεδίασης Με την εξαγωγή του φυσικού σχεδίου πρέπει να γίνει επιβεβαίωση κανόνων σχεδίασης (Design Rule Check) 39 Οικονοµική Πλευρά της Σχεδίασης Οικονοµικός στόχος σχεδίασης: Πρόβλεψη κόστους και χρόνου σχεδίασης ενός ολοκληρωµένου. Τιµή πώλησης S Έξοδα κατασκευής συνολικό C 1 m ό = συνολικ C συνολικό =κόστος κατασκευής, m=κέρδος Κόστος Σχεδίασης Μη επαναλαµβανόµενα Πρωτότυπης Κατασκ. Επαναλαµβανόµενα: κόστος παραγωγής IC+ κέρδος Πάγια (Προώθηση προϊόντων και έξοδα πώλησης) 40
Μη Επαναλαµβανόµενα Έξοδα Σχεδίασης Αρχιτεκτονική Σχεδίαση ηµιουργία οκιµών Έξοδα Υπολογιστή Έξοδα εκπαίδευσης Λογική Σύλληψη Έξοδα προσωπικού ιαδικασίες DRC Έξοδα υποστήριξης Εξοµοίωση Λειτουργικότητας Επαλήθευση χρονισµού Έξοδα προγρ. CAD Έξοδα Πρωτότυπης Κατασκευής Κόστος µάσκας Εργαλεία Συσκευασίας Έξοδα δοκιµής 41 Μέρος ΙI Σχεδίαση Υποσυστηµάτων CMOS 42
Γενικά Τελεστές χειριστών δεδοµένων Ψηφιακές Λειτουργίες Στοιχεία Μνηµών οµές Ελέγχου Κύτταρα Ε/Ε Υπάρχουν πολλές επιλογές σχεδιάσεων των παραπάνω υποσυστηµάτων που σχετίζονται µε την ταχύτητα, την πυκνότητα, την δυνατότητα προγραµµατισµού, την ευκολία στην σχεδίαση και άλλες µεταβλητές. 43 Τελεστές Χειριστών εδοµένων Είναι κυκλώµατα που επωφελούνται από τις αρχές δοµηµένης σχεδίασης (ιεραρχία, κανονικότητα, τµηµατοποίηση και τοπικότητα) λόγο της επεξεργασίας δεδοµένων των n bits n ταυτόσηµων κυκλωµάτων. Οι πράξεις των δεδοµένων µπορούν να ακολουθήσουν σειριακή πορεία στον χρόνο ή τον χώρο γειτονική φυσική τοποθέτηση συνδεδεµένων τελεστών δεδοµένων. Επιτρέπουν την βελτιστοποίηση της επιφάνειας µεεφαρµογή κανονικής στρατηγικής διασύνδεσης στη σχεδίαση του κυττάρου του τελεστή. Η αξιοποίηση της κανονικότητας γίνεται µε τοσχεδιασµό ψηφιοφέτας(bit-slice). 44
Πρόσθεση/Αφαίρεση Σηµαντική πράξη αφού αποτελεί την βάση για πολλές λειτουργίες επεξεργασίας (µέτρηση, πολλαπλασιασµός, φιλτράρισµα ). Απλού Ψηφίου Παράλληλου Ψηφίου Είδη Αθροιστών Σειριακοί Πύλης Μετάδοσης Επιλογής Κρατουµένου Πρόβλεψης Κρατουµένου Πολύ Εκτεταµένοι 45 Αθροιστής Απλού Ψηφίου Ηπιο απλή υλοποίηση χρησιµοποιεί λογικές πύλες για τις λογικές συναρτήσεις. SUM=A B C, CARRY=AB+AC+BC 46
Αθροιστής Απλού Ψηφίου Σχηµατικό διάγραµµα αθροιστή χωρίς την χρήση XOR πυλών 47 Αθροιστής Παράλληλου Ψηφίου Αθροιστής ριπής κρατουµένου (Ripple Carry Adder). Ο n-bit αθροιστής αποτελείται από n 1-bit διαδοχικούς αθροιστές. Συµπληρωµατικές βαθµίδες για την εξάλειψη αντιστροφέων από το µονοπάτι του κρατουµένου. 48
Αθροιστής/Αφαιρέτης Παράλληλου Ψηφίου Αθροιστής ριπής κρατουµένου (Ripple Carry Adder). Ο n-bit αθροιστής αποτελείται από n 1-bit διαδοχικούς αθροιστές. 49 Σειριακοί Αθροιστές Συχνά χρησιµοποιούνται σειριακοί αθροιστές για nibble (4-bit) και για byte (8-bit). (Λέγονται και Carry Save Adders λόγο της αποθήκευσης του κρατουµένου) 50
Σειριακοί Αθροιστές Αθροιστής αποθήκευσης κρατουµένου µε χρήση της τεχνικής διοχέτευσης (pipeline). 51 Σειριακοί Αθροιστές Αθροιστής διάδοσης κρατουµένου µε διοχέτευση. 52
Αθροιστές Πρόβλεψης Κρατουµένου 53 Αθροιστές Πρόβλεψης Κρατουµένου Υλοποίηση της πύλης κρατουµένου. 54
Αθροιστές Πρόβλεψης Κρατουµένου Υλοποίηση της πύλης κρατουµένου. 55 Αθροιστές Επιλογής Κρατουµένου Αύξηση της ταχύτητας σε βάρος της επιφάνειας. 56
Γεννήτριες Ισοτιµίας 57 Συγκριτές 58
Συγκριτές Μόνο για ισότητα Χαµηλής κατανάλωσης (δεν τραβάει ρεύµα DC επειδή έχει πύλες µετάδοσης) αλλά µπορεί να καθυστερεί σε µεγάλους συγκριτές 59 Συγκριτές Πύλη XNOR µε ψευδο-nmos λογική Έχει κατανάλωση αλλά είναι πολύ µικρή και γρήγορη 60
Ανιχνευτής Μονάδων/Μηδενικών έντρου ίκτυο για λόγους Fan-Out Ριπής 61 υαδικοί Μετρητές Ασύγχρονοι Μετρητές. 62
υαδικοί Μετρητές Σύγχρονοι Μετρητές. 63 Πολλαπλασιασµός Είναι απαραίτητοι σε πολλές λειτουργίες ψηφιακής επεξεργασίας όπως η συσχέτιση, η συνέλιξη, το φιλτράρισµα, η ανάλυση φάσµατος, και φυσικά σε κλασσικές λειτουργίες χειριστών δεδοµένων. Παράδειγµα 1100 0101 Υπολογισµός µερικών γινοµένων Συσσώρευση ολισθηµένων µερικών γινοµένων 1100 0000 1100 0000. 00111100 Ανάλογα µε την µορφή προσπέλασης των δεδοµένων οι πολλαπλασιαστές µπορούν να ταξινοµηθούν σε α) σειριακούς, β)σειριακούς/παράλληλους και γ) παράλληλους 64
Πολλαπλασιασµός µε Πίνακα Ο παράλληλος πολλαπλασιαστής βασίζεται στην παρατήρηση ότι τα µερικά γινόµενα στην διαδικασία πολλαπλασιασµού µπορούν να υπολογιστούν ανεξάρτητα εν παραλλήλω. Ένας nxn πολλαπλασιαστής απαιτεί n(n-2) πλήρεις αθροιστές, n ηµιαθροιστές και n 2 πύλες AND.. 65 Πολλαπλασιασµός µε Πίνακα 66
Πολλαπλασιασµός µε Πίνακα Ιδιαίτερη προσοχή χρειάζεται ο αθροιστής ώστε να έχει ίσες καθυστερήσεις αθροίσµατος και κρατουµένου (µείωση χειρότερης καθυστέρησης). 67 Μνήµες Τυχαίας Προσπέλασης Μνήµες Σειριακής Προσπέλασης RAM ROM Προσπέλασης µε βάση τα περιεχόµενα Σύγχρονες Στατικές Ασύγχρονες υναµικές 68
Μνήµες Ανάγνωσης/Εγγραφής Οι γραµµές των δεδοµένων διατρέχουν το κύκλωµα ως συµπληρωµατικά σήµατα. Υπάρχουν πολλές παραλλαγές αυτών των κυκλωµάτων για να ικανοποιήσουν τις ποικίλες απαιτήσεις σχετικά µε την ποιότητα, την ταχύτητα και τα περιθώρια θορύβου. 69 Μνήµες Ανάγνωσης/Εγγραφής 6 τρανζίστορ 70
Μνήµες Ανάγνωσης/Εγγραφής 4 τρανζίστορ 3 τρανζίστορ Κύτταρα υναµικής Μνήµης 1 τρανζίστορ 1 τρανζίστορ Το ασφαλέστερο κύτταρο (θόρυβος-επιδράσεις) είναι το στατικό των 6 τρανζίστορ 71 Ανάγνωση Στατικής RAM 72
Ανάγνωση Στατικής RAM εν χρειάζεται προφόρτιση 73 Εγγραφή Στατικής RAM 74
Αποκωδικοποιητές Σειράς 75 Αποκωδικοποιητές Σειράς Ψευδο-nMos Οι απαιτήσεις ταυτότητας ή µεγέθους περιορίζουν την χρήση αποκωδικοποίησης απλού επιπέδου Προαποκωδικοποίηση 76
Αποκωδικοποιητές Σειράς 77 Αποκωδικοποιητές Σειράς 78
Αποκωδικοποιητές Στήλης 79 Παράταξη Καταχωρητών Απλής Θύρας Εγγραφής ιπλής Θύρας Ανάγνωσης Γρήγορες RAM µε πολλαπλές θύρες ανάγνωσης/εγγραφής 80
Παράταξη Καταχωρητών 81 Παράταξη Καταχωρητών 82
Παράταξη Καταχωρητών 83 Μνήµες FIFO, LIFO, SIPO H FIFO είναι χρήσιµη για την αποµόνωση δεδοµένων µεταξύ δύο ασύγχρονων ροών Write-Data Write-Address Write-Clock Full Read-Data Read-Address Read-Clock Empty H απλούστερη υλοποίηση µιας FIFO χρησιµοποιεί µία διπλής θύρας RAM ή παράταξη καταχωρητών µε έναν µετρητή αναγνώσεων/εγγραφών Οι µνήµες LIFO είναι χρήσιµες σε εφαρµογές υπορουτινών. Οι µνήµες SIPO είναι χρήσιµες στην µετατροπή σειριακών δεδοµένων σε παράλληλη µορφή (εφαρµογές επεξεργασίας σηµάτων). 84
Μνήµες FIFO, LIFO, SIPO Έλεγχος διευθυνσιοδότησης FIFO 85 Μνήµες FIFO, LIFO, SIPO Έλεγχος διευθυνσιοδότησης FIFO 86
ΜνήµηΜόνο Ανάγνωσης 1 τρανζίστορ / bit αποθήκευσης 87 ΜνήµηΜόνο Ανάγνωσης υναµικό CMOS εναλλακτικό στην Domino NOR 88
ΜνήµηΜόνο Ανάγνωσης Όπου η DC κατανάλωση ισχύος είναι αποδεκτή και η ταχύτητα επαρκής, η ψευδοnmos ROM είναι η απλούστερη σχεδίαση και δεν απαιτεί καθόλου χρονισµό 89 Μνήµη CAM 90
Μνήµη CAM Τυπικό κύτταρο CAM 91 Μνήµη CAM ιάταξη Κυκλώµατος CAM 92