Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.
ΠΕΡΙΕΧΟΜΕΝΑ: VERILOG Περιγραφές Κυκλώματος και Συστήματος Τύποι Περιγραφών: Παράδειγμα Πλήρη Αθροιστή Περιγραφή Συμπεριφοράς Δομική Περιγραφή Επίπεδο Λογικής Μονάδας Επίπεδο Πύλης Επίπεδο Διακόπτη Κυκλωματικό Επίπεδο Φυσική Περιγραφή Παράδειγμα Σχεδίασης: Γεννήτρια Τριγωνικών Κυματομορφών Περιγραφή Συμπεριφοράς Δομική Περιγραφή & Κώδικας Η μονάδα inc_dec Η δομή των μονάδων inc_dec & inc_dec_it Σχηματικό Διάγραμμα Φυσική Σχεδίαση 3
Περιγραφές Κυκλώματος και Συστήματος ΠΕΔΙΟ ΣΥΜΠΕΡΙΦΟΡΑΣ Εφαρμογές Λειτουργικά Συστήματα Προγράμματα ΔΟΜΙΚΟ ΠΕΔΙΟ PC Επεξεργαστής RISC Υπορουτίνες Αθροιστές - Πύλες - Καταχωρητές Οδηγίες Trnsistors Αφαιρετικό Επίπεδο Κυκλώματος Trnsistors Αφαιρετικό Επίπεδο Λογικής Cells Αφαιρετικό Επίπεδο Αρχιτεκτονικής Μονάδες Chips Πλακέτες Κουτιά ΦΥΣΙΚΟ ΠΕΔΙΟ 4
Πλήρης Αθροιστής Πίνακας Αληθείας A B C CO S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 co + s c Οι εξισώσεις της άλγεβρας Boole που υλοποιούν αυτή τη συνάρτηση είναι οι ακόλουθες: S A B C A B C A C B A B C A B C CO A B A C B C ( A B) ( A C) ( B C) 5
Περιγραφή Συμπεριφοράς Αλγοριθμική περιγραφή: module crry (co,,, c); output co; input,,c,; ssign co=( )&( c)&( c); c co Συμπεριφορά Boole σε επίπεδο πύλης: primitive crry (co,,,c); output co; input,,c; tle // c co 1 1? : 1 ; 1? 1 : 1 ;? 1 1 : 1 ;? 0 0 : 0 ; 0? 0 : 0 ; 0 0? : 0 ; endtle endprimitive c Με επιπλέον πληροφορίες για το χρονισμό: module crry (co,,,c); output co; input,,c; wire #10 co = (&) (&c) (&c); Ενεργοποιείται μετά ; από 10 μονάδες χρόνου 6
Επίπεδο Πύλης Η λογική μονάδα του κρατουμένου (crry) σε επίπεδο πύλης αναλύεται ως εξής: Module crry(co,,,c); input,,c; output co; wire x,y,z; nd g1 (x,,); nd g2 (y,,c); nd g3 (z,,c); or g4 (co,x,y,z); c c g1 g2 g3 x y z g4 co Η περιγραφή σε επίπεδο πύλης είναι: Ανεξάρτητη από την τεχνολογία διότι χρησιμοποιούνται γενικές πύλες και όχι συγκεκριμένες υλοποιήσεις 7
Ημιαθροιστής, πλήρης-αθροιστής και μανδαλωτής RS module hdd (Sum,Cout,,); input,; output Sum,Cout; xor (Sum,,); nd (Cout,,); Sum Cout module fdd (Sum,Cout,,,Cin); input,,cin; output Sum,Cout; wire x,y,z; xor (x,,); xor (Sum,x,Cin); nd (y,,); nd (z,cin,x); or (Cout,y,z); module rsltch(q,nq,r,s) input r,s; output q,nq; nnd nnd1(q,s,nq); nnd nnd2(nq,r,q); Cin S R x z y Q Q Sum Cout 8
Δομική Περιγραφή dd4 dd dd dd dd crry sum crry sum crry sum crry sum nd or nd or nd or nd or Προσδιορίζει τον τρόπο διασύνδεσης των διαφόρων στοιχείων Επίπεδα: Λογικής Μονάδας Πύλης Διακοπτικό Κυκλώματος Κάθε διαδοχικό επίπεδο περιλαμβάνει περισσότερες πληροφορίες σχετικά με την υλοποίηση 9
Επίπεδο λογικής μονάδας: Αθροιστής 4-it module dd4 (s, c4, ci,, ); input [3:0], ; input ci; output [3:0]s; output c4; wire [2:0]co; fdd f0 (co[0],s[0],[0],[0],ci); fdd f1 (co[1],s[1],[1],[1],co[0]); fdd f2 (co[2],s[2],[2],[2],co[1]); fdd f3 (c4,s[3],[3],[3],co[2]); c 4 3 3 FA s 3 co[2] 2 2 FA s 2 co[1] 1 1 FA s 1 co[0] 0 0 FA s 0 c i module fdd (Sum,Cout,,,Cin); input,,cin; output Sum,Cout; wire x,y,z; xor (x,,); xor (Sum,x,Cin); nd (y,,); nd (z,cin,x); or (Cout,y,z); 10 Cin x z y Sum Cout co s FA c
Inverter module inverter (X,Α); input Α; output X; pmos p1 (X,VDD,Α); nmos n1 (X,VSS,Α); INV A p1 n1 VDD X VSS 11
Πύλη NOR module nor (X,A,B); input A,B; output X; wire Y; pmos p1 (Y,VDD,A); pmos p2 (X,Y,B); nmos n1 (X,VSS,A); nmos n2 (X,VSS,B); NOR-2 A B n1 VDD p1 p2 VSS Y n2 X 12
Πύλη NAND module nnd (X,A,B); input A,B; output X; wire Y; pmos p1 (X,VDD,A); pmos p2 (X,VDD,B); nmos n1 (X,Y,A); nmos n2 (Y,VSS,B); NAND-2 A B p2 n1 n2 VDD p1 Y VSS X 13
Περιγραφή διασυνδέσεων σε Επίπεδο Τρανζίστορ module crry(input,, c, output cout) wire i1, i2, i3, i4, cn; trnif1 n1(i1, 0, ); trnif1 n2(i1, 0, ); trnif1 n3(cn, i1, c); trnif1 n4(i2, 0, ); trnif1 n5(cn, i2, ); trnif0 p1(i3, 1, ); trnif0 p2(i3, 1, ); trnif0 p3(cn, i3, c); trnif0 p4(i4, 1, ); trnif0 p5(cn, i4, ); trnif1 n6(cout, 0, cn); trnif0 p6(cout, 1, cn); p1 c c n1 p3 n3 p2 i3 i1 n2 1 0 p4 i4 p5 n5 i2 n4 cn p6 n6 cout 14 13
Επίπεδο Τρανζίστορ module crry (co,,,c); input,, c; output co; wire i1, i2, i3, i4, cn; nmos n1 (i1, vss, ); nmos n2 (i1, vss, ); nmos n3 (cn, i1, c); nmos n4 (i2, vss, ); nmos n5 (cn, i2, ); pmos p1 (i3, vdd, ); pmos p2 (cn, i3, ); pmos p3 (cn, i4, c); pmos p4 (i4, vdd, ); pmos p5 (i4, vdd, ); pmos p6 (co, vdd, cn); nmos n6 (co, vss, cn); c V CC p5 p4 p1 n1 Υλοποίηση με τρανζίστορ CMOS Για να μειωθεί το μέγεθος της φυσικής σχεδίασης, το δένδρο του οδηγού «πάνω» δεν είναι ακριβώς συμπληρωματικό αυτού του οδηγού «κάτω». p3 n3 i1 i4 n2 cn i3 p2 n5 i1 n4 p6 n6 co 15
Κυκλωματικό Επίπεδο - SPICE Περιγραφή στο SPICE:.SUBCKT CARRY VDD VSS A B C CO MN1 I1 A VSS VSS NFET W=8U L=1U AD=8P AS=8P MN2 I2 B VSS VSS NFET W=8U L=1U AD=8P AS=8P MN3 CN C I1 VSS NFET W=8U L=1U AD=8P AS=8P MN4 I2 B VSS NFET W=8U L=1U AD=8P AS=8P MN5 CN A I2 NFET W=8U L=1U AD=8P AS=8P MP1 I3 B VDD VDD PFET W=8U L=1U AD=8P AS=8P MP2 CN A I3 VDD PFET W=8U L=1U AD=8P AS=8P MP3 CN C I4 VDD PFET W=8U L=1U AD=8P AS=8P MP4 I4 B VDD PFET W=8U L=1U AD=8P AS=8P MP5 I4 A VDD VDD PFET W=8U L=1U AD=8P AS=8P MP6 CO CN VDD VDD PFET W=16U L=1U AD=16P AS=16P MN6 CO CN VSS VSS NFET W=16U L=1U AD=16P AS=16P C1 I1 VSS 50fF C2 I2 VSS 50fF C3 I3 VSS 50fF C4 I4 VSS 50fF CA A VSS 100fF CB B VSS 100fF CC C VSS 100fF CCO CO VSS 150fF.ENDS Η Verilog είναι σχεδιασμένη για περιγραφές επιπέδου πύλης ή διακόπτη Για περιγραφή επιπέδου κυκλώματος χρησιμοποιείται το SPICE Έτσι περιγράφονται στοιχεία όπως η σύνδεση υποστρώματος και οι χωρητικότητες διασύνδεσης Οι παρασιτικές χωρητικότητες υπολογίζονται αυτόματα από το SPICE U => micro, 10-6 P => pico, 10-12 F => femto, 10-15 16
Μανδαλωτής D Q Q Clk 17
Ακμοπυροδότητος καταχωρητής D 0 D 1 0 1 S MUX 2:1 Y D 0 D 1 S S S Y D D 1 1 0 Clk Q Q (α) (β) Clk Clk D 1 QΜ 1 Q 0 0 (γ) (α) Διακόπτης ή Πολυπλέκτης 2 σε 1 (β) Μανδαλωτής (γ) ακμοπυροδότητος καταχωρητής 18
Κύκλωμα T flip-flop Clk Clk Clk 1 QΜ 1 T 0 0 19
Κυματομορφές Μετρητή Output 0 1 1 1 1 0 0 0 0 Clock τ=1μs 2τ 3τ 4τ 5τ 6τ 7τ 8τ Περίοδος Τ= 8μs 20
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.