Transcript Document

ΚΕΦΑΛΑΙΟ 3 Συνδυαστικά Κυκλώματα

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 1

Περιεχόμενα           3.1 Συνδυαστικά Κυκλώματα 3.2 Σχεδιασμός Συνδυαστικής Λογικής 3.3 Διαδικασία Ανάλυσης 3.4 Διαδικασία Σχεδιασμού 3.5 Αποκωδικοποιητής 3.6 Κωδικοποιητής(Encoders) 3.7 Πολυπλέκτης 3.8 Αθροιστής 3.9 Δυαδική Πρόσθεση 3.10 Δυαδικοί Αθροιστές/ Αφαιρετές  Δυαδική Αριθμητική Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 2

3.1 Συνδυαστικά Κυκλώματα  Έξοδος οποιαδήποτε στιγμή εξαρτάται μόνο από τις τιμές στην είσοδο την ίδια στιγμή  Ορισμός Κυκλώματος  πίνακας αλήθειας με 2 n συνδυασμούς εισόδου και m τιμές εξόδους για κάθε συνδυασμό  m συναρτήσεις n μεταβλητών Κυκώματα 3

3.1 Ακολουθιακά Κυκλώματα  Ακολουθιακά Κυκλώματα: παρελθόν (κεφ. 4)

αποθηκεύουν

τιμές (bits), και η έξοδος εξαρτάται από την είσοδο στο παρων και Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 4

3.2 Σχεδιασμός Συνδυαστικής Λογ. Combinational Logic Design      Εισαγωγή Mεθοδολογίες Ανάλυσης και Σχεδιασμού Βασικά συνδυαστικά κυκλώματα  κωδικοποιητές, αποκωδικοποιητές, πολυπλέκτες, αποπλεκτες, αθροιστές, αφαιρέτες (ππροσημασμένοι αριθμοί) Ιεραρχία, Πάνω προς Κάτω, CAD, HDL,Synthesis Γλώσσες Περιγραφής Υλικού(ΗDL): VHDL Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 5

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 1/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 6

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 2/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 7

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 3/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 8

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 4/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 9

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 5/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 10

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 6/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 11

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 7/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 12

3.2 Βασικές Αρχές, Τεχνικές και Εργαλεία Σχεδιασμού:Ιεραρχικός Σχεδιασμός 8/8 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 13

3.2 Ιεραρχία  Απλοποίηση (simplification)  Πχ για 9input odd: 10 αντι 32 σχήματα  ‘‘Φύλλα’’: βασικά τούβλα προσχεδιασμένα με γνωστή συμπεριφορά (βασικά blocks, βιβλιοθήκη) - primitive and predefined blocks  Επαναχρησιμοποίηση (reuse) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 14

3.2 Πάνω προς Κάτω/Κάτω προς Πάνω Σχεδιασμός και CAD   Εμείς περισσότερο κάτω προς πάνω CAD: εργαλεία για computer aided design  παρέχουν/περιέχουν μοντέλλα συμπεριφοράς για βασικές πύλες και κυκλώματα από βιβλιοθήκη  λογική, ηλετρονική, χρόνος αναμετάδοσης, μέγεθος  επαλήθευση με προσομοίωση  υλοποίηση με synthesizers Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 15

3.2 Hardware Description Languages  HDL (vhdl και verilog): γλώσσες προγραμματισμού για λειτουργικότητες στο υλικό  Παρέχουν εναλλακτικό τρόπο περιγραφής λειτουργικότητας ψηφιακών συστημάτων: σχήματα ή HDL (ή και τα δυο)  Τυποποίηση  ευρείας χρήσεως στην βιομηχανία Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 16

3.2 Ροή Λογικής Σύνθεσης (Logic Synthesis Flow) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα

ic

3.3 Μεθοδολογιά Ανάλυσης    Στόχος: καθορισμός λειτουργίας ενός λογικού συνδυαστικού κυκλώματος Δεδομένο: λογικό συνδυαστικό κύκλωμα Ζητούμενο: αλγεβρική συνάρτηση για κάθε έξοδο κυκλώματος ή/και πίνακα αληθείας  με το χέρι (συναρτήσεις, πίνακα αληθείας)  με λογικη προσομοίωση (CAD εργαλείο) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 18

3.3 Παραγωγή Boolean Συνάρτησης

Τ3 Τ1 Τ2 Τ4 Τ5 F2 F1

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 19

3.3 Παραγωγή Boolean Συνάρτησης    T1 = B’C T3 = A+T1 F1 = Τ3 + Τ4

Τ3 Τ1 Τ2 Τ4 Τ5

T2 = A’B T4= Τ2  D T5= Τ2+D F2 = Τ5 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα

F2 F1

20

3.3Αλγεβρική Επεξεργασία Ενδιάμεσων Συναρτήσεων          T1 = B’C T2 = A’B T3 = A+Β’C T4= (A’B)  D T5= A’B+D F1 = A+Β’C+ ((A’B)  D) F2 = A’B+D Όχι απαραίτητα απλοποιημένες εκφράσεις Από πιο πάνω εύκολο να παράξεις Πιν. Αληθ.

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 21

3.3 Απευθείας Παραγωγή Πίνακα Αληθείας  Απευθείας από κύκλωμα (χωρίς ενδιάμεσες συναρτήσεις)

Τ1 Τ2 Τ3

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 22

3.3 Πίνακας Αληθείας: n εισόδους πίνακας με 2 n σειρές 1/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 23

3.3 Πίνακας Αληθείας 2/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 24

3.3 Πίνακας Αληθείας 3/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 25

3.3 Πίνακας Αληθείας 4/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 26

3.3 Πίνακας Αληθείας 5/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 27

3.3 Πίνακας Αληθείας 6/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 28

3.3 Συνάρτηση απο πίνακα αληθείας πχ C(X,Y,Z)=….

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 29

3.3 Συνάρτηση απο πίνακα αληθείας πχ C(X,Y,Z)=Σm(3,5,6,7) =XY+XZ+YZ Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 30

3.3 Μεθόδοι   Με ενδιάμεσες συναρτήσεις  καθόρισε ενδιάμεσες συναρτήσεις   καθόρισε σήματα εξόδου βάση ενδιάμεσων συναρτήσεων αλγεβρική επεξεργασία συναρτήσεων  καθόρισε πίνακα αλήθειας Χωρίς ενδιάμεσες συναρτήσεις  δώσε ονόματα σε ενδιάμεσα σήματα   καθόρισε πίνακα αληθείας υπολόγισε συναρτήσεις για σήματα εξόδου Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 31

3.3 Μεθόδοι  Με προσομοίωση  σχεδίασε κύκλωμα  προσομοίωσε για όλους δυνατούς συνδυασμούς   πάραξε πίνακα αληθείας από πίνακα συνάρτησης Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 32

3.4 Μεθοδολογία Σχεδιασμού  Στόχος: από περιγραφή προβλήματος παραγωγή λογικού διαγράμματος ή boolean εξισώσεις  καθορισμός σημάτων εισόδου και εξόδου  πίνακας αλήθειας που ορίζει σχέση σημάτων εισόδου και εξόδου (όχι πάντοτε: κατανόηση)  απλοποιημένες εκφράσεις για κάθε έξοδο  αλγεβρική επεξεργασία, k-map, ιεραρχία,…  εάν πολλές λύσεις επιλογή βάση κριτηρίων απόδοσης  σχεδιασμός λογικού διαγράμματος  επαλήθευση  εάν λάθος απόσφαλαμάτωση 33

3.4 Παράδειγμα 1/5  Σχεδιάστε ένα συνδυαστικό λογικό κύκλωμα που έχει 3 εισόδους και μια έξοδο. Η έξοδος είναι 1 όταν η δυαδική τιμή στην είσοδο είναι μικρότερη του 3 (αλλιώς είναι 0). Υλοποιήστε το κύκλωμα μόνο με πύλες NAND.

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 34

3.4 Παράδειγμα (<3) 2/5 0 1 1 1 1 X2 0 0 0 0 1 1 0 1 1 0 X1 X0 0 0 1 0 1 0 1 0 1 F Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 35

3.4 Παράδειγμα (<3) 3/5 1 1 1 1 X2 0 0 0 0 0 0 1 1 X1 0 0 1 1 0 1 0 1 X0 0 1 0 1 0 0 0 0 F 1 1 1 0 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 36

3.4 Παράδειγμα (<3) 4/5 0 X 2 1 00 1 01 1 X 1 11 10 1 X 0

F = X

2

’X

1

’+X

2 Κυκώματα

’X

0

37

3.4 Παράδειγμα (<3) 5/5

X

2

’ X

1

’ X

2

’ X

0

’ F

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 38

3.4 Παράδειγμα:Μετατροπή κώδικων 4bit ΒCD σε 4bit excess-3 1/5  (X) ΒCD =(X+3) excess-3  πχ (5) ΒCD =(8) excess-3 , 0101 σε 1000 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 39

3.4 ΒCD 2 Excess-3 X3 0 0 0 X2 0 0 0 1 2/5 X1 X0 0 0 1 1 1 1 F3 F2 F1 F0

3.4 ΒCD 2 Excess-3 X3 0 0 0 X2 0 0 0 1 3/5 X1 X0 0 0 1 1 1 1 F3 0 F2 0 F1 1 F0 1

3.4 ΒCD 2 Excess-3 4/5 X3 0 X2 0 X1 X0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 F3 0 F2 0 F1 1 F0 1

3.4 ΒCD 2 Excess-3 2/5 X3 0 X2 0 X1 X0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 F3 0 x F2 0 x F1 1 x F0 1 x

3.4 K-maps για ΒCD2EXCS-3 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 44

3.4 Αναγνώριση κοινών όρων (2 vs 3-level υλοποίηση)  W= A + BC + BD  X = B’C+B’D+BC’D’  Y=CD+C’D’  Z=D’ Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 45

3.4 Αναγνώριση κοινών όρων (2 vs 3-level υλοποίηση)  W= A + BC + BD = A + B (C+D)  X = B’C+B’D+BC’D’=B’(C+D)+BC’D’  Y=CD+C’D’ = C

D

 Z=D’ Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 46

3.4 ΒCD2EXCS-3 3-levelΥλοποίηση Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 47

3.4 BCD-2-Seven-Segment-Decoder  Πόσα και ποιά σήματα εισόδου/εξόδου: Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 48

3.5 Βασικά συνδυαστικά κυκλώματα        Αποκωδικοποιητές (decoders) Κωδικοποιητές (encoders)  Κωδικοποιητές Προτεραιότητας-Priority Encoder Πολύπλεκτες (multiplexers - muxes) Αποπλεκτες (demultiplexers) Αθροιστές (adders) Αφαιρετέες Προσημασμένοι αριθμοί (signed numbers) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 49

3.5 Αποκωδικοποιητές(Decoders)  Κυκλώματα με n εισόδους και m<2 n εξόδους  n-m decoders: κάθε έξοδος ένα ελαχιστορος Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 50

3.5 Αποκωδικοποιητές(Decoders) 1/5

πχ 3-8 decoder

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 51

3.5 Αποκωδικοποιητές(Decoders) 2/5

πχ 3-8 decoder

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 52

3.5 Αποκωδικοποιητές(Decoders) 3/5 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 53

3.5 Αποκωδικοποιητές(Decoders) 4/5 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 54

3.5 Αποκωδικοποιητές(Decoders) 5/5 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 55

A0 A1 E

3.5 2-4 Decoder με enable (high active)

D0 D1 D2 D3

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 56

A0 A1 E’

3.5 2-4 Decoder με enable (low active)

D0’ D1’ D2’ D3’

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 57

A0 A1 E

3.5 2-4 Decoder με enable

D0’ D1’ D2’ D3’

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 58

A0 A1 E

3.5 2-4 Decoder με enable

D0’ D1’ D2’ D3’

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 59

3.5 3-8 decoder με 2-4 decoders Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 60

3.5 3-8 decoder με 2-4 decoders Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 61

3.5 3-8 decoder με 2-4 decoders  enable χρήσιμο για ιεραρχικό σχεδιασμό Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 62

3.5 3-8 decoder με 2-4 decoders Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 63

3.5 Υλοποίηση Κυκλωμάτων Decoder-OR   S(X,Y,Z) =Σm(1,2,4,7) C(X,Y,Z)=Σm(3,5,6,7) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 64

3.5 Υλοποίηση Κυκλωμάτων Decoder-OR   S(X,Y,Z) =Σm(1,2,4,7) C(X,Y,Z)=Σm(3,5,6,7)  F από το F’ και ΝΟR, ποτέ; Κυκώματα 65

3.5 Υλοποίηση Κυκλωμάτων Decoder-OR  Decoders μπορούν να υλοποιήσουν εκφράσεις που είναι σε μορφή: Άθροισμα Ελαχιστόρων  Εάν έχετε εκφράσεις σε άλλη μορφή θα τις μετατρέψετε σε πρότυπη μορφή Άθροισμα Ελαχιστόρων Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 66

3.6 Κωδικοποιητής(Encoders)  Κυκλώματα με <2 n εισόδους και n εξόδους Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 67

3.6 Κωδικοποιητής(Encoders) 1/5  Το πολύ ένα σήμα εισόδου έχει τιμή 1 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 68

3.6 3.6 Κωδικοποιητής(Encoders) 2/5  Το πολύ ένα σήμα εισόδου έχει τιμή 1 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 69

3.6 Κωδικοποιητής(Encoders) 3/5  Το πολύ ένα σήμα εισόδου έχει τιμή 1 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 70

3.6 Κωδικοποιητής(Encoders) 4/5  Το πολύ ένα σήμα εισόδου έχει τιμή 1    A0= A1= A2= Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 71

3.6 Κωδικοποιητής(Encoders) 5/5     A0=D1+D3+D5+D7 A1=D2+D3+D6+D7 A2=D4+D5+D6+D7 όταν όλα τα σήματα εισόδου είναι 0, έξοδος ίδια με D0=1 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 72

3.6 Κωδικοποιητής με Προτεραιότητα(Priority Encoder) 1/4  Ορίζει το τι συμβαίνει όταν δυο ή περισσότερα inputs είναι ενεργά  Xρήση valid bit  σήμα που δεικνύει εάν η είσοδος είναι “σωστού” τύπου Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 73

3.6 Κωδικοποιητής με Προτεραιότητα(Priority Encoder) 2/4   Ορίζει το τι συμβαίνει οταν δυο ή περισσότερα inputs είναι ενεργά Xρήση valid bit Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 74

3.6 Κωδικοποιητής με Προτεραιότητα(Priority Encoder) 3/4   Ορίζει το τι συμβαίνει όταν δυο ή περισσότερα inputs είναι ενεργά Xρήση valid bit Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 75

3.6 Κωδικοποιητής με Προτεραιότητα(Priority Encoder) 4/4   Ορίζει το τι συμβαίνει όταν δυο ή περισσότερα inputs είναι ενεργά Xρήση valid bit  Yλοποίηση...

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 76

3.7 Πολυπλέκτες (Multiplexers/mux)  Kυκλώματα με 2 έξοδο n σήματα εισόδου, και 1 σήμα εξόδου. Με χρήση n εισόδων επιλογής επιλέγεται ποιο σήμα από την είσοδο θα περάσει στην Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 77

S B

3.7 2x1 MUX 1/5

S’

2x1 MUX

A F

S 0 1 F A B Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 78

S B

3.7 2x1 MUX 2/5

A F S’

2x1 MUX S 0 1 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα F A B ABS F 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 79

S B

3.7 2x1 MUX 3/5

A F S’

2x1 MUX S 0 1 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα F A B ABS F 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 1 80

3.7 2x1 MUX 4/5 0 00 A 1 1 01 B 11 1 10 1 1 S Κεφάλαιο 3 - Συνδιαστικά Κυκώματα F = AS’+ BS 81

S B

3.7 2x1 MUX 5/5

S’ A F

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 82

3.7 4x1 Mux

4x1 MUX

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 83

3.7 4x1 Mux Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 84

3.7 Παράλληλο ΜUX:επιλογή μεταξύ δυο 4 bit αριθμών 1/3 Tετραπλός 2x1 ΜUX (Quad 2x1 MUX) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 85

3.7 Παράλληλο ΜUX:επιλογή μεταξύ δυο 4 bit αριθμών 2/3 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 86

3.7 Παράλληλο ΜUX:επιλογή μεταξύ δυο 4 bit αριθμών 3/3 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 87

3.7 Υλοποίηση Κυκλωμάτων με Πολυπλέκτες 1/4  F(X,Y,Z)=Σm(1,2,6,7) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 88

3.7 Υλοποίηση Κυκλωμάτων με Πολυπλέκτες 2/4 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 89

3.7 Υλοποίηση Κυκλωμάτων με Πολυπλέκτες 3/4 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 90

3.7 Υλοποίηση Κυκλωμάτων με Πολυπλέκτες 4/4 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 91

3.7 Aποπλέκτης/Αποκωδικοποιητής  1 είσοδο, 2 n εξόδους και n εισόδους επιλογής  Κεφάλαιο 3 - Συνδιαστικά Ίδιο με αποκωδικοποιητή με enable 92

3.8 Σχεδιασμός Συνδυαστικής Λογ. Combinational Logic Design      Εισαγωγή Mεθοδολογίες Ανάλυσης και Σχεδιασμού Βασικά συνδυαστικά κυκλώματα  ακωδικοποίητες, αποκωδικοποιητές, πολυπλέκτες, αποπλέκτες, αθροιστές, αφαιρέτες (προσημασμένοι αριθμοί) Ιεραρχία, Πάνω προς Κάτω, CAD, HDL,Synthesis Γλώσσες Περιγραφής Υλικου(ΗDL): VHDL Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 93

3.8 Δυαδική Πρόσθεση: Ηalf Adder ή 2-2 πρόσθεση 1/9 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 94

3.8 Δυαδική Πρόσθεση: Ηalf Adder ή 2-2 πρόσθεση 2/9 S= C= Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 95

3.8 Δυαδική Πρόσθεση: Ηalf Adder ή 2-2 πρόσθεση 3/9 S=XY’+X’Y=X  Y C=XY Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 96

3.8 Δυαδική Πρόσθεση: Ηalf Adder ή 2-2 πρόσθεση 4/9 S=XY’+X’Y=X  Y C=XY Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 97

3.8 Δυαδική Πρόσθεση: Full Adder ή 3-2 πρόσθεση 5/9 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 98

3.8 Δυαδική Πρόσθεση: Full Adder ή 3-2 πρόσθεση 6/9 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 99

3.8 Δυαδική Πρόσθεση: Full Adder ή 3-2 πρόσθεση 6/9 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 100

3.8 Δυαδική Πρόσθεση: Full Adder ή 3-2 πρόσθεση 7/9 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 101

3.8 Δυαδική Πρόσθεση: Full Adder ή 3-2 πρόσθεση 8/9

X

Y XY X

Y

Z Z(X

Y) XY+Z(X

Y)

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 102

3.8 Δυαδική Πρόσθεση: Full Adder ή 3-2 πρόσθεση 9/9

FULL-ADDER

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 103

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 1/11

4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 104

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 2/11  1011 + 0011

4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 105

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 3/11  1011 + 0011

1 0 1 1 4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 106

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 4/11  1011 + 0011

1 0 0 0 1 1 1 1 0 4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 107

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 5/11  1011 + 0011

1 0 0 0 1 1 1 1 0

0 1 1

0 1 1 1 0

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 108

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 6/11

4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 109

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 7/11

4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 110

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 8/11

4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 111

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 9/11

4 bit Addition

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 112

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 10/11 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 113

3.8 Παράλληλη Πρόσθεση δυο n-bit αριθμών: RCA(ripple-carry-adder) 11/11   το carry-out του adder j ειναι carry-in στον adder j+1 (πχ 1011+0011)  Πινακας αληθειας 2 ?

σειρές

Γιγαντιαία Αρχή Σχεδιασμού: χρήση βασικών blocks για κτίσιμο πιο μεγάλων

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 114

CLA (carry-lookahead-adder)

    RCA χρόνος μετάδοσης αργός: σειριακή σύνδεση αθροιστών. Critical Path (κρίσιμο μονοπάτι) C 0 το C n για n αθροιστές t=O(n) ή 2n+2 χρόνος πυλών Γιατί 2n+2; Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 115

FA FA FA FA A3:0+B3:0+c0

A3:0+B3:0+c0

A0 B0 c0 A1 B1

?

A2 B2

?

A3 B3

?

S0 S1 S2 S3 c4

A0 B0 c0 A1 B1 A2 B2 A3 B3 c1

S0

c2

S1

c3

S2 S3 c4

A0 B0 c0 A1 B1 A2 B2 A3 B3 c1

S0

c2

S1

c3

S2 S3 c4

3.8 CLA (carry-lookahead-adder)  RCA χρόνος μετάδοσης αργός: σειριακή σύνδεση αθροιστών.  Critical Path (κρίσιμο μονοπάτι) C 0 το C n  για n αθροιστές t=O(n) ή 2n+2 χρόνος πυλών    Γιατί 2n+2; CLA, πιο πολύπλοκο υλικό αλλά t=O(logn) Iδέα: υπολογισμός carry να γίνεται γρήγορα με 2-level υλοποίηση/ιεραρχία Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 121

3.8 Πότε έχουμε carry-out; 1/2  Θέση j:    

S j =A j

B j

C j

C j+1 =A j B j +C j (A j +B j )= A j B j +C j (A j  B j )

G P j j = A = A j j B

j B j generates propagates

 C j+1 = G j + P j C j Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 122

3.8 Partial Full Adder (PFA) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 123

3.8 Full-Adder με PFA

C2

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα

C1

124

3.8 RCA με PFAs Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 125

3.8 Πότε έχουμε carry-out; 2/2      Θεση j:     S j =A j  B j  C j C j+1 =A j B j +C j (A j +B j )= A j B j +C j (A j  B j ) G j P j = A j B j = A j  B j C j+1 = G j + P j C 1 = G 0 + P 0 C C 0 j generates propagates C 2 =G 1 +P 1 C 1 =G 1 +P 1 (G 0 +P 0 C 0 )=G 1 +P 1 G 0 +P 1 P 0 C 0 C 3 =G 2 +P 2 C 2 =G 2 +P 2 (G 1 +P 1 G 0 +P 1 P 0 C 0 )= G 2 +P 2 G 1 +P 2 P 1 G 0 +P 2 P 1 P 0 C 0 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 126

3.8 Group Generate και Propagate  P 0-3 = P 3 P 2 P 1 P 0  G 0-3 = G 3 +P 3 G 2 +P 3 P 2 G 1 +P 3 P 2 P 1 G 0  Διευκόλυνση ιεραρχίας/επαναχρησιμοποίηση για 16 ή 64 bit αθροιστή Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 127

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 128

3.8 Xρόνος Μετάδοσης:RCAvs CLA  XOR: χρόνος μετάδοσης δυο πυλών (2 gate time delay)  4 bit RCA:  4 bit CLA:  16 bit: 34 vs 10  64 bit: 130 vs 14 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 129

3.9 Αριθμητική Δυαδικών Αριθμών  Απρόσημων Αριθμών (unsigned)(Κεφ. 1)  Προσημασμένοι Αριθμοι (signed)  Συμπληρώματα Αριθμων (complements)  Yπερχείλιση  Πολλαπλασιασμός  ΒCD Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 130

3.9 Αφαίρεση Α-Β (Α,Β απρόσημοι)   Mέθοδος 1  εάν (Α>Β) Α-Β αλλιώς -(Β-Α)   πως συγκρίνουμε δυο αριθμούς; όχι αποτελεσματική/πρακτική μέθοδος Μέθοδος 2  αφαίρεση Α-Β   εάν δεν παράγει κρατούμενο στην msb θέση ΟΚ(θετικό ή μηδέν) αλλιώς χρειάζεται προσαρμογή (αρνητικό). Πως; Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 131

3.9 Παραδείγματα 1/2 100000 010101 10011 11110 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 132

3.9 Παραδείγματα 2/2 0111110 100000 010101 001011 ‘‘Φάντασμα’’ 1 111000

1 0

10011 11110 10101 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 133

3.9 Προσαρμογή:συμπλήρωμα προς 2  Όταν Α<Β τότε αφαίρεση παράγει Α-Β+2 n  όπου n είναι ο αριθμός bits του Α (ή Β)  σωστή τιμή……..

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 134

3.9 Προσαρμογή:συμπλήρωμα προς 2    Όταν Α<Β τότε αφαίρεση παράγει Α-Β+2 n  oπου n είναι ο αριθμός bits του Α (ή Β)  σωστή τιμή 2 n -(Α-Β+2 n ) = -(Β-Α) Δηλαδη οταν υπάρχει κρατούμενο στο msb στην τιμή του Α-Β, τότε σωστή τιμή δίνεται με το να αφαιρέσουμε την διαφορά από το 2 n (και αρνητικό πρόσημο) Συμπλήρωμα προς 2 (σύντομα) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 135

3.10 Υλοποίηση Αθροιστή/Αφαιρέτη 1/4

Sub/Add

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 136

3.10 Υλοποίηση Αθροιστή/Αφαιρέτη 2/4

Sub/Add

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 137

3.10 Υλοποίηση Αθροιστή/Αφαιρέτη 3/4

Sub/Add

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 138

3.10 Υλοποίηση Αθροιστή/Αφαιρέτη 4/4

ΤΡΟΜΕΡΑ ΑΣΧΗΜΗ ΥΛΟΠΟΙΗΣΗ

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 139

3.10 Συμπλήρωματα    Για κάθε βάση-r υπάρχουν 2 συμπληρώματα Συμπλήρωμα ως προς r Συμπλήρωμα ως προς r-1  Για r=2, συμπλήρωμα ως προς 2 και ως προς 1 (2΄s και 1’s complement)  Για r=10, συμπλήρωμα ως προς 10 και ως προς 9 (10΄s και 9’s complement) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 140

3.10 Συμπληρώματα για Δυαδικούς    Ν δυαδικός αριθμός με n ψηφία 1’s: (2 n -1)-N   ιδιο με bit flipping, γιατί; Ν + (2 n -1)-N = 2 n -1  2 n -1 - ((2 n -1)-N) = Ν 2’s: 2 n -N για Ν  0, και 0 για Ν=0     2 n -N =

(2 n -1)-N

2 n - (2 n -N) = Ν Ν + (2 n -N) = 2 n +1 1011 0100 1111 1011 0101 10000 ιδιο με το να παραμείνουν ίδια τα bits στις ls θέσεις μέχρι το πρώτο 1, και μετά flip μέχρι msb Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 141

 3.10 Αφαίρεση με Συμπληρώματα Α - Β, αριθμοί με n ψηφία  Α + 2 n - Β (με 2’s) 8 8 3 7+ 5 15  εάν αποτέλεσμα έχει κρατούμενο από msb ΟΚ  αλλιώς, (Β>Α)  αποτέλεσμα σε 2’s: 2 n -(B-A)  συμπλήρωμα του πιο πάνω και αρνητικό πρόσημο Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 142

3.10 Αφαίρεση με Συμπληρώματα   Α - Β, αριθμοί με n ψηφία  Α + 2 n - Β (με 2’s)  εάν αποτέλεσμα έχει κρατούμενο από msb ΟΚ  αλλιώς, (Β>Α)  αποτέλεσμα σε 2’s: 2 n -(B-A)  συμπλήρωμα του πιο πάνω και αρνητικό πρόσημο Πχ Α=1010100, Β=1000011 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 143

3.10 Παράδειγμα A-B 1/15 1010100 1000011 0111100 + 2’s 1010100 0111101 + 1’s 1010100 10010001 10010000 1+ 0010001 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 144

3.10 Παράδειγμα A-B 2/15 1010100 1000011 0111100 + 2’s 1010100 0111101 + 1’s 1010100 10010001 10010000 1+ 0010001 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 145

3.10 Παράδειγμα A-B 3/15 1010100 1000011 0111100 + 2’s 1010100 0111101 + 1’s 1010100 10010001 10010000 1+ 0010001 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 146

3.10 Παράδειγμα A-B 4/15 1010100 1000011 0111100 + 2’s 1010100 0111101 + 1’s 1010100 10010001 10010000 1+ 0010001 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 147

3.10 Παράδειγμα A-B 5/15 1010100 1000011 0111100 + 2’s 1010100 0111101 + 1’s 1010100 10010001 10010000 1+ 0010001 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 148

3.10 Παράδειγμα A-B 6/15 1010100 1000011 0111100 + 2’s 1010100 0111101 + 1’s 1010100 10010001 10010000 1+ 0010001 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 149

3.10 Παράδειγμα A-B 7/15 1010100 1000011 0111100 + 2’s 1010100 0111101 + 1’s 1010100 10010001 10010000 1+ 0010001 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 150

3.10 Παράδειγμα A-B 8/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 151

3.10 Παράδειγμα A-B 9/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 152

3.10 Παράδειγμα A-B 10/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 153

3.10 Παράδειγμα A-B 11/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 154

3.10 Παράδειγμα A-B 12/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 155

3.10 Παράδειγμα A-B 13/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 156

3.10 Παράδειγμα A-B 14/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 157

3.10 Παράδειγμα A-B 15/15 1000011 1000011 1010100 0101011 + 2’s 100001 0101100 + 1 1’s 1101111 1101110 -(0010001) (0010001) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 158

3.10 Αφαίρεση με Συμπληρώματα     Α - Β, αριθμοί με n ψηφία  Α + 2 n - Β (με 2’s)  εάν αποτέλεσμα έχει κρατούμενο από msb ΟΚ  αλλιώς, (Β>Α)  αποτέλεσμα σε 2’s: 2 n -(B-A)  συμπλήρωμα του πιο πάνω και αρνητικό πρόσημο Πχ Α=1010100, Β=1000011  A-B για 2’s and 1’s  1’s: end-around carry ή 1’s Συμπληρώματα: αφαίρεση γίνεται πρόσθεση!

Πρόσημο αναπαραστάτε με ένα bit Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 159

3.10 Δυαδικοί Προσθετης/Αφαιρετης Απροσημων Αριθμών S=0: A συν B S=1: A πλυν Β => Α + 2 n - B

4-bit προσθετης

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 160

3.10 Δυαδικοί Προσθετης/Αφαιρετης Απροσημων Αριθμών 4-bit αθροιστής Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 161

3.10 Δυαδικοί Προσθετης/Αφαιρετης Απροσημων Αριθμών 4-bit προσθετης   οταν c4=1 s3:s0 ορθη τιμη οταν c4=0 s3:s0 τιμη σε 2’s μορφη Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 162

3.10 Ακέραιοι Αριθμοί με Πρόσημο (signed integer numbers)   MSB (LSB) bit για πρόσημο  για ΕΠΛ121 ΜSB  0 θετικος, 1 αρνητικός H σημασία δεν την δεικνύει ο αριθμός αλλά η χρήση  Προέκταση προγραμματισμού: εντολή καθορίζει πως θα επεξεργαστούν τα bits (unsigned ή signed) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 163

3.10 Προσημασμένου Μεγέθους (signed magnitude)      msb πρόσημο Aριθμός με n ψηφία:Α=(-1) αn-1 x(a n-2 a n-3 ..a

1 a 0 )  πχ με 5 ψηφία  01001 = 1 x (1001) = 9, (unsigned 9)  11001 = -1 x (1001) = -9, (unsigned 25) Δυο τιμές για 0: +/- 0 Aριθμητική: διαφορετική επεξεργασία πρόσημων και τιμών  για αφαίρεση μπορεί να χρειαστεί και υπολογισμό συμπληρώματος Σπάνια χρησιμοποιούνται σε συστήματα Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 164

3.10 Προσημασμένοι Δυαδικοι με Συμπληρώματα   1΄s: δυο τιμές για 0 (00..0 και 11..1)  με 5 ψηφία  9 = 01001, -9=10110

2’s το πιο διαδεδομένο σύστημα

 μοναδική τιμή για 0  πεδίο τιμών με n bits:………….

 πολυ χρήσιμες αριθμητικές ιδιότητες  με 5 ψηφία  9 = 01001 (unsigned 9, 1’s 9)  -9= 10111 (unsigned 23, 1’s -8)  10010 = , 11111 = ...

Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 165

3.10 4-bit Αριθμοί με Πρόσημο 1/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 166

3.10 4-bit Αριθμοί με Πρόσημο 2/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 167

3.10 4-bit Αριθμοί με Πρόσημο 3/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 168

3.10 4-bit Αριθμοί με Πρόσημο 4/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 169

3.10 4-bit Αριθμοί με Πρόσημο 5/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 170

3.10 4-bit Αριθμοί με Πρόσημο 6/6 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 171

6.10 Πρόσθεση/Αφαίρεση Αριθμών σε μορφή signed-magnitude    Α+Β  εάν αριθμοί έχουν ίδιο πρόσημο (+/+ ή --) τότε πρόσθεσε magnitudes και διατήρησε ίδιο πρόσημο  αλλιώς (+/- ή -/+)  αφαίρεσε Β από Α  εάν δεν παράγεται carry στο msb, σωστή τιμή και πρόσημο του Α  αλλιώς (παράγεται carry), 2’s του αποτελέσματος και πρόσημο αντίθετο του Α Πιο απλός τρόπος με 2’s Πχ Α=00011001, Β=10100101 Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 172

3.10 Πρόσθεση/Αφαίρεση Αριθμών σε μορφή signed 2’s  Πρόσθεσε αριθμούς και αγνόα κρατούμενο από την θέση του πρόσημου  Πάντοτε αποτέλεσμα στην σωστή μορφή  Αφαίρεση μπορεί να μετατραπεί σε πρόσθεση παίρνοντας το 2’s του αφαιρέτη (ανάλογο αλλαγής πρόσημου)  πχ 6+13, -6+13, 6-13, -6+(-13)  -6 - (-13), 6-(-13) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 173

3.10 Δυαδικός Προσθετής/Αφαιρετής Αριθμών σε 2’s complement 4-bit προσθετης Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 174

3.10 Yπερχείλιση(overflow)    Όταν η τιμή του αποτελέσματος πιο μεγάλη από την μέγιστη ή μικρότερη από την ελάχιστη που μπορεί να απεικονιστεί   πχ 1000+1001 = 10001 το άθροισμα δυο αριθμών με n-bits μπορεί να χρειαστεί n+1 bits Υλικό πρέπει να αναγνωρίζει τέτοιες περιπτώσεις Προέκταση προγραμματισμού: τερματίζει το πρόγραμμα, αγνοείται, ή … Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 175

3.10 Αναγνώριση Υπερχείλισης (overflow detection)  Eξαρτάται από την απεικόνιση  Απρόσημους carry out απο msb  Προσημασμένους μόνο για +/+ ή -/- όταν το carry-in στην msb θέση διαφορετικό από το carry-out. Γιατί;  Yπερχείλιση = (c n  c n-1 ) Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 176

Διαβάστε 3-11 και 3-12  Πολλαπλασιασμός  Aριθμητική ΒCD Κεφάλαιο 3 - Συνδιαστικά Κυκώματα 177