Σύνθεση Κυκλωμάτων με εργαλεία CAD

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κεφάλαιο Τμηματικός προγραμματισμός
Advertisements

Συνδυαστικά Κυκλώματα
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
Ημιαγωγοί – Τρανζίστορ – Πύλες - Εξαρτήματα
Kαταχωρητες και Μετρητες (Registers και Counters)
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
ΠΡΟΗΓΜΕΝΑ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
Άλγεβρα Boole και Λογικές Πύλες
Μνημη τυχαιας προσπελασης (Random Access Memory - RAM)
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
συγχρονων ακολουθιακων κυκλωματων
Συγχρονα Ακολουθιακα Κυκλωματα Flip-Flops Καταχωρητες
Συνδυαστικά Κυκλώματα
1. Τα απολύτως απαραίτητα
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Χρονισμός Σύγχρονων Κυκλώματων, Καταχωρητές και Μανταλωτές.
ΗΥ-220 Γιάννης Παπαευσταθίου Σύνθεση Κυκλωμάτων με εργαλεία CAD Γιάννης Παπαευσταθίου Ευχαριστίες στον Διονύση Πνευματικάτο για την ύλη της διάλεξης Φθινόπωρο.
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ-220 – Μαυροειδής Ιάκωβος2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
V ERILOG 1. Τα απολύτως απαραίτητα. Verilog - Λυμπέρης Σπύρος2 Verilog - Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Σχεδίαση hardware και προγραμματισμός βασικές (αλλά σύγχρονες) μεθοδολογίες Βασίλης Παλιουράς.
Συγχρονα Ακολουθιακα Κυκλωματα Flip-Flops Καταχωρητες
Λογικές πύλες Λογικές συναρτήσεις
ΚΙΝΔΥΝΟΙ (HAZARDS) ΣΤΑ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ Hazard είναι κάθε στιγμιαίο λάθος (glitch) που εμφανίζεται στην έξοδο ενός συνδυαστικού κυκλώματος Οφείλεται.
Συνδυαστικά Κυκλώματα (Combinational Circuits)
Κεφάλαιο 10 – Υποπρογράμματα
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
Kαταχωρητές και Μετρητές (Registers και Counters)
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Verilog: Τα βασικά.
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ Παπαευσταθίου Γιάννης2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
V ERILOG 3. Coding styles. HY Παπαευσταθίου Γιάννης2 Τα στυλ του κώδικα Και εμάς τι μας νοιάζει; –Διαφορετικός κώδικας για διαφορετικούς σκοπούς.
Βασικά στοιχεία της Java
6-1 Ορισμοί Στατικά – δυναμικά στοιχεία: – Δυναμικά – με ρολόι – Στατικά – χωρίς ρολόι Αλλά: στατική αποθήκευση -- δυναμική αποθήκευση: –Στατική αποθήκευση.
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 8: Ολοκληρωμένα κυκλώματα – Συνδυαστική λογική – Πολυπλέκτες – Κωδικοποιητές - Αποκωδικοποιητές Δρ Κώστας Χαϊκάλης ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ.
11/14/2016Structural VHDL148 Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected.
Ηλεκτρική Οικονομία Σταμάτης Νικολόπουλος ΑΜ: 868 ΑΣΠΑΙΤΕ, 2015.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Ένατο μάθημα Ψηφιακά Ηλεκτρονικά.
Όγδοο μάθημα Ψηφιακά Ηλεκτρονικά.
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Single-cyle υλοποίηση:
Self-resetting domino
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
αναγκαίο κακό ή δώρο εξ’ ουρανού;
Διάλεξη 9: Συνδυαστική λογική - Ασκήσεις Δρ Κώστας Χαϊκάλης
Εισαγωγή στους Η/Υ Ενότητα 11: Αλγεβρικές πράξεις στους Η/Υ

Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Στοιχεία Δομημένου Προγραμματισμού
Πίνακες διέγερσης Q(t) Q(t+1) S R X X 0
Χειμερινό εξάμηνο 2017 Πέμπτη διάλεξη
Single-cyle υλοποίηση:
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

Σύνθεση Κυκλωμάτων με εργαλεία CAD Διονύσης Ν. Πνευματικάτος 30 Μαρτίου 2001 March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH Στόχος της Σύνθεσης Είσοδος: Περιγραφή ενός κυκλώματος (σε σχηματικό διαγραμμα, HDL, ή άλλη μορφή) Περιγραφή των περιορισμών και των συνθηκών λειτουργίας του κυκλώματος Βιβλιοθήκη διαθέσιμων υλικών (πύλες, μνήμες…) Εξοδος: Βελτιστοποιημένη περιγραφή του κυκλώματος χρησιμοποιώντας διαθέσιμα υλικά (netlist) March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH Παράδειγμα Είσοδος (Verilog): wire Valid = VL1 & !Illegal; wire Valid2Sched = !SchedFreeze_ & (Valid_D | Valid); wire [16:0] LinkIdOMaskL1 = 1'b1 << LinkIdL1; Εξοδος (netlist): not(n1, Illegal) and(n2, n1, VL1) ... March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH Οργάνωση παρουσίασης Γενική περιγραφή ειδών σύνθεσης Απλοί κανόνες για «synthesizable» κώδικα Verilog Μεθοδολογία Σύνθεσης κυκλωμάτων (Synopsys) March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH Είδη Σύνθεσης 2-επίπεδη Λογική Πολυ-επίπεδη Λογική Μηχανές Πεπερασμένων Καταστάσεων (Γενικά) Ακολουθιακά Κυκλώματα Pipeline Optimization Σύνθεση πολύ μεγάλων (ιεραρχικών) κυκλωμάτων March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Σύνθεση 2-επίπεδης λογικής Περιγραφή σε πίνακα αλήθειας, εξισώσεις, HDL «Απλή» διαδικασία: Αυτοματοποιημένη μέθοδος Καρνώ. Το πρόβλημα είναι NP-complete  Για μικρά κυκλώματα μπορούμε να βρούμε βέλτιστη λύση Μεγάλα κυκλώματα απαιτούν συμβιβασμούς Κυκλώματα με πολλές εξόδους είναι πιο δύσκολα Υπάρχουν «ώριμα» προγράμματα και αλγόριθμοι Espresso, κ.α. March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Σύνθεση πολυ-επίπεδης λογικής Μεγάλα κυκλώματα με πολλές εξόδους απαιτούν υλοποίηση με πολλά επίπεδα Γενική προσέγγιση: επαναληπτική διαδικασία Κατάτμηση του κυκλώματος (partition) 2-επίπεδη Σύνθεση/Βελτιστοποίηση των επί-μερους τμημάτων Εκτίμηση κέρδους Εισαγωγή τυχαιότητας για αποφυγή τοπικών ελάχιστων Ευριστικοί Αλγ. με καλά αποτελέσματα (χρονοβόροι) March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Σύνθεση Μηχ. Πεπ. Καταστάσεων Στόχοι: Βελτιστοποίηση αριθμού καταστάσεων Βελτιστοποίηση λογικής μετάβασης και λογικής εξόδων Χρειάζεται: Ελευθερία επιλογής κωδικοποίησης καταστάσεων (δηλαδή ο χρήστης δεν ορίζει συγκεκριμένες τιμές αλλά δίνει συμβολικά ονόματα στις καταστάσεις) Ειδική μορφή συνδιαστικής συνθεσης και βελτιστοποίησης March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Ακολουθιακά Κυκλώματα Συνδιαστική Λογική και Καταχωρητές (και ρολόι): Χωρίζουμε το συνδιαστικό κομμάτι και το βελτιστοποιούμε χωριστά Καλώδια πρός καταχωρητές αντιμετωπίζονται σαν κανονικές έξοδοι Βελτιστοποιήσεις Pipeline: Εάν ο υπολογισμός γίνεται σε πολλά στάδια, τα εργαλεία μπορούν να μετακινήσουν τους καταχωρητές pipeline ώστε να εξισορροπήσουν την λογική στα διάφορα στάδια. March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Σύνθεση Ιεραρχικών Κυκλωμάτων Χρήσιμη για πολλούς λόγους: Πολλοί σχεδιαστές, σχεδίαση σε κομμάτια Παραλληλισμός στην σύνθεση  γρήγορα αποτελέσματα Απαγορευτικά μεγάλο μέγεθος σχεδιάσεων Πως συνδέονται μεταξύ τους τα κομμάτια της ιεραρχίας; Πότε επιτυγχάνω «καλό» αποτέλεσμα; Ακόμα λιγότερο καλά ορισμένη από τις άλλες συνθέσεις March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Κανόνες για Synthesizable Verilog #1 Χρησιμοποίηση απλών εκφράσεων και τελεστών: and, or, xor, +, -, wire, integer, κ.α. Structural Verilog: Χρήση διασυνδεμένων modules Κάθε modules υλοποιήσιμο με κύκλωμα (ή βιβλιοθήκη) Αποφυγή δομών υψηλού επιπέδου: fork, join, task τα οποία ΔΕΝ είναι synthesizable functions και for loops ενίοτε είναι synthesizable, αλλά προσεκτικά και μόνο όταν ξέρουμε τι κάνουμε March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Κανόνες για Synthesizable Verilog #2 if και case statements: προσοχή συνήθως αντιστοιχούν σε πολυπλέκτες, αλλά μόνο αν όλες οι περιπτώσεις είναι ορισμένες Αποφυγή: Εκτεταμένη χρήση reg: συνήθως μόνο για ορισμό καταχωρητών. Sensitivity list για υλοποίηση συνδιαστικής λογικής March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Κανόνες για Synthesizable Verilog #3 FSMs parameter IDLE=0, SET_HOURS=1, SET_MINUTES=2; reg [1:0] CURRENT_STATE, NEXT_STATE; // State reg HOURS, MINS; // Outputs always @ (CURRENT_STATE or ALARM_BUTTON or HOURS_BUTTON or MINUTES_BUTTON) // ADD Clock for synchronous FSM begin HOURS = 0; MINS = 0; NEXT_STATE = CURRENT_STATE; case (CURRENT_STATE) //synopsys full_case parallel_case IDLE: begin if (ALARM_BUTTON & HOURS_BUTTON & !MINUTES_BUTTON) NEXT_STATE = SET_HOURS; HOURS = 1; end else if (ALARM_BUTTON & !HOURS_BUTTON & MINUTES_BUTTON) ... March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα Προβλημάτων Σύνθεσης #1 Πολυπλέκτης: always @(cond) begin if (cond) dataout <= datain; else dataout <= datain2; end Latch: March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα Προβλημάτων Σύνθεσης #2 Ασυμφωνία προσομοίωσης και κυκλώματος: always @(d or clr) begin if (clr) q = 1;b0; else if (e) // e NOT in sensitivity list q = d; end Στην προσομοίωση, αλλαγή του e δεν προκαλεί επαναυπολογισμό των εκφράσεων και του q δίνοντας διοαφορετικά αποτελέσματα από το πραγματικό κύκλωμα March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα Προβλημάτων Σύνθεσης #3 Χρησιμοποίηση κοινών πόρων: Περίπτωση Α: z = (cond) ? (a+b) : (c+d) ; Περίπτωση Β: if (cond) z = a+b; else z = c+d; Στην περίπτωση Α παράγονται 2 αθροιστές (πολυπλέκτης στις εξόδους) ενώ στην περίπτωση Β μόνο ένας (πολυπλέκτης στις εισόδους) March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH Μεθοδολογία Σύνθεσης Επιλογή βιβλιοθήκης Είσοδος κυκλώματος (Verilog, netlist, κ.α.) Επιλογή παραμέτρων σχεδίασης: Ορισμός καθυστερήσεων εισόδων/εξόδων Ορισμός οδηγητικής ικανότητας εισόδων (drive strength) Oρισμός φορτίων εξόδων Χαρακτηρισμός sub-designs Επιλογή συνθηκών λειτουργίας (wc, nom, best) Επιλογή wire load model (συνήθως συνάρτηση μεγέθους) Περιορισμοί σχεδίασης: Εκταση, ταχύτητα, (κατανάλωση) Κάλυψη ελέγχων (test coverage) March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Μεθοδολογία Σύνθεσης #2 Εκτέλεση βελτιστοποιήσεων Ελεγχος αποτελεσμάτων για παραβιάσεις Αλλαγή περιορισμών και περαιτέρω «οδηγίες» στο πρόγραμμα (που να εστιάσει τις προσπάθειές του) Πιθανή αλλαγή σχεδιαστικών απαιτήσεων Πίσω στήν εκτέλεση βελτιστοποιήσεων Τελικές αναφορές για το κύκλωμα: συνολικές καθυστερήσεις από εισόδους σε εξόδους, αριθμός πυλών, συνολική έκταση, εκτιμηση κατανάλωσης, κ.α. March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH Είδη Παραβιάσεων Παραμέτρων Βιβλιοθήκης: μέγιστος χρόνος αλλαγής σημάτων μέγιστο φορτίο εξόδου hold time καταχωρητών Παραμέτρων Χρήστη: μέγιστος χρόνος εξοδου σήματος συχνότητα ρολογιού hold time εξόδων μέγιστος χώρος αποτελέσματος μέγιστη κατανάλωση αποτελέσματος March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα εντολών σύνθεσης read_verilog test.v create_clock -period 10 -waveform {0 5} -name Clk Clk set_drive drive_of (CORELIB/IV/Z) all_inputs() set_drive 0 Clk set_max_delay 7 -to all_outputs() + all_registers(-data_pins) compile -map_effort high write -format db -name test.db report_timing set_max_delay 5 -to out3 compile -incremental -map_effort high March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα Αναφοράς Χρονισμού Point Incr Path ----------------------------------------------------------- input external delay 0.00 0.00 r c (in) 0.00 0.00 r u1/Z (IVA) 0.54 0.54 f u0/Z (NR2) 1.20 1.74 r u8/Z (IVA) 0.43 2.17 f u7/Z (OR3) 1.24 3.41 f z2 (out) 0.00 3.41 f data arrival time 3.41 max_delay 0.00 0.00 output external delay 0.00 0.00 data required time 0.00 data arrival time - 3.41 slack (VIOLATED) - 3.41 March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα Σύνθεσης FSM read_verilog fsm.v set_driving_cell -cell FD1 all_inputs() set_drive 0 clk_tx ungroup -all -flatten extract reduce_fsm set_fsm_encoding_style one_hot set_fsm_minimize true compile -map_effort medium -exact_map write -format st -output design_name + ".st" report_fsm write_design March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Αντιμετώπιση Χρονικών Περιορισμών Clock Skew: Συνυπολογισμός αβεβαιότητας ρολογιού στους υπολογισμούς καθυστερήσεων και αναμενόμενων χρόνων άφιξης σημάτων Hold: Ικανοποίηση απαιτήσεων hold (είσοδοι σε flip-flops, έξοδοι) με χρήση καθυστερήσεων (buffers) όπου αυτές δεν ικανοποιούνται από το κύκλωμα Αντικρουόμενη απάιτηση όταν έχουμε και περιορισμό στον μέγιστο χρόνο άφιξης του σήματος March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Ιεραρχική Σύνθεση Κυκλωμάτων Από τους συνολικούς χρονικούς περιορισμούς πως θα κατανείμω τον χρόνο στα επι-μέρους κομμάτια; Κυκλώματα με πολλαπλές εμφανίσεις (instances): πιθανά διαφορετικές απαιτήσεις από την κάθε μία (Α) Σύνθεση ξεχωριστά για κάθε εμφάνιση (Β) Σύνθεση μια φορά, αντίγραφα του ενός αποτελέσματος στις υπόλοιπες εμφανίσεις. March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα Ιεραρχικής Σχεδίασης 100 nsec maximum Α Β Το κύκλωμα Α είναι πιο απλό από το Β Α: 30 nsec, B: 70 nsec; Πόσο φορτίο «βλέπει» το Α; March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Θέματα Ιεραρχικής Σύνθεσης Boundary Optimizations: Uniquify: δημιουργεί καινούργιο κύκλωμα για κάθε εμφάνιση μιάς σχεδίασης (module instance) Group/Ungroup: δημιουργεί/αφαιρεί επίπεδα ιεραρχίας (για έλεγχο χρόνου σύνθεσης και ποιότητας αποτελεσμάτων) March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Παράδειγμα Ιεραρχικής Σύνθεσης read_verilog CAM40.v create_clock -period 10 -waveform {0 5} -name Clk Clk set_clock_skew -uncertainty 2 find(clock,"Clk") set_drive drive_of (CORELIB/IV/Z) all_inputs() set_drive 0 Clk design_name = CAMpipe compile_hierarchy // script to perform simple hierarchical synthesis write_design.scr report_timing set_fix_hold Clk compile -incremental -map_effort high -boundary_optimization March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Σύνθεση και Μείωση Κατανάλωσης Ισχύος Σύνθεση και Μείωση Κατανάλωσης Ισχύος Ο χρήστης δίνει στοιχεία για ρυθμό αλλαγής κατάστασης σημάτων (π.χ. από προσομείωση) Εργαλείο υπολογίζει κατανάλωση για το συγκεκριμένο κύκλωμα Βρίσκει ισοδύναμα με μικρότερη κατανάλωση: μικρότερες πύλες εκεί όπου δεν χρειάζεται ταχύτητα μεγαλύτερες πύλες/buffers εκεί όπου έχουμε αργές αλλαγές σημάτων (για CMOS κυκλώματα) clock gating κ.α. March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH

Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH Τελικές Παρατηρήσεις Τα εργαλεία έχουν πολλές δυνατότητες Η διαδικασία είναι άκρως επαναληπτική Απαιτεί άμεση συμβολή από τον σχεδιαστή για καλά και γρήγορα αποτελέσματα Παράδειγμα: η CAM του ATLAS-I Αρχικοί χρόνοι σύνθεσης: 2 μέρες Μετά από κατανόηση συμπεριφοράς εργαλείων ΚΑΙ δομής κυκλώματος: ~3 ώρες με καλύτερα αποτελέσματα Αμμεση σχέση με το «back-end»: τοποθέτηση πυλών στον χώρο και διασύνδεση με καλώδια March 30, 2001 Copyright (C) Dionisios N. Pnevmatikatos, ICS-FORTH