Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Συνδυαστικά Κυκλώματα
Advertisements

Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
7.5.2 Αντικειμενοστραφής προγραμματισμός
Το υλικο του Υπολογιστη
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΕΝΟΤΗΤΑ 10Η Η ΓΛΩΣΣΑ VHDL: ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ
Εισαγωγή στο MATLAB.
Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων.
ΕΝΟΤΗΤΑ 5Η ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΤΗΣ ΤΥΠΙΚΗΣ ΛΟΓΙΚΗΣ Α΄
ΠΡΟΗΓΜΕΝΑ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΙ ΛΟΓΙΚΟΙ ΕΛΕΓΚΤΕΣ (PLCs).
Γλώσσες Περιγραφής Υλικού. Οι γλώσσες περιγραφής υλικού είναι προσανατολισμένες στην περιγραφή της δομής του hardware και/ή της συμπεριφοράς του Χρησιμοποιούνται.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Συνδυαστικά Κυκλώματα
9o εξάμηνο Ηλεκτρονικός Κύκλος Εργαστήριο στα FPGA
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Χρονισμός Σύγχρονων Κυκλώματων, Καταχωρητές και Μανταλωτές.
ΗΥ-220 Γιάννης Παπαευσταθίου Σύνθεση Κυκλωμάτων με εργαλεία CAD Γιάννης Παπαευσταθίου Ευχαριστίες στον Διονύση Πνευματικάτο για την ύλη της διάλεξης Φθινόπωρο.
Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
V ERILOG 1. Τα απολύτως απαραίτητα. Verilog - Λυμπέρης Σπύρος2 Verilog - Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση.
Σχεδίαση hardware και προγραμματισμός βασικές (αλλά σύγχρονες) μεθοδολογίες Βασίλης Παλιουράς.
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
Η δημοφιλέστερη γλώσσα Hardware
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Verilog: Τα βασικά.
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ Παπαευσταθίου Γιάννης2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD.
V ERILOG 3. Coding styles. HY Παπαευσταθίου Γιάννης2 Τα στυλ του κώδικα Και εμάς τι μας νοιάζει; –Διαφορετικός κώδικας για διαφορετικούς σκοπούς.
Βασικά στοιχεία της Java
6/23/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Registers.
6/25/2015HY220: Ιάκωβος Μαυροειδής1 Computer Aided Design CAD tools Functional DesignSpecificationsLogic DesignCircuit DesignPhysical DesignFabrication.
ΕΙΣΑΓΩΓΗ ΣΤΗ VHDL ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΑΣΚΗΣΕΩΝ
Σχεδίαση ψηφιακών συστημάτων Ενότητα 1: Εισαγωγή Ιωάννης Βογιατζής Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
6-1 Ορισμοί Στατικά – δυναμικά στοιχεία: – Δυναμικά – με ρολόι – Στατικά – χωρίς ρολόι Αλλά: στατική αποθήκευση -- δυναμική αποθήκευση: –Στατική αποθήκευση.
11/14/2016Structural VHDL148 Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected.
Έβδομο μάθημα Ψηφιακά Ηλεκτρονικά.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Τ.Ε.Ι. Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμ. Μηχανικών Πληροφορικής
Αρχιτεκτονική Συστημάτων
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών

Self-resetting domino
Αρχιτεκτονική Συστημάτων
αναγκαίο κακό ή δώρο εξ’ ουρανού;
(α) δίνει τον ορισμό του PLC (β) αναφέρει τις εφαρμογές του PLC.

Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
“Ψηφιακός έλεγχος και μέτρηση της στάθμης υγρού σε δεξαμενή"
Αρχιτεκτονική Συστημάτων
Τ.Ε.Ι. Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμ. Μηχανικών Πληροφορικής
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
Programmable Logic Controllers PLCs
Σύνθεση Κυκλωμάτων με εργαλεία CAD
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Ροή Πληροφορικής Δαδαλιάρης Αντώνιος: dadaliaris@cs.uth.gr

Front-End Design

RTL Design (1) Αρχική περιγραφή της δομής ή της συμπεριφοράς της σχεδίασης (και των υποσχεδιάσεων που την αποτελούν) σε κάποια γλώσσα περιγραφής υλικού (hardware description language – HDL). HDLs: ABEL SystemC SystemVerilog Verilog VHDL

RTL Design (2) Το εκάστοτε κύκλωμα που καλούμαστε να υλοποιήσουμε, μπορεί να σχεδιαστεί και να υλοποιηθεί εξίσου αποτελεσματικά και στις δύο επικρατέστερες γλώσσες περιγραφής υλικού (VHDL, Verilog). H επιλογή της γλώσσας βασίζεται: Στις προσωπικές προτιμήσεις του σχεδιαστή. Στα διαθέσιμα CAD εργαλεία. Marketing issues.

RTL Design: VHDL vs. Verilog (1) Πλεονεκτήματα: Strongly typed language. Custom data types. Εύκολη περιγραφή ασύγχρονων σημάτων. Εύκολη διάκριση μεταξύ διαφορετικών κομματιών κώδικα. Μειονεκτήματα: Strongly typed language. Λίστες ευαισθησίας. Μετατροπές μεταξύ διαφορετικών τύπων δεδομένων.

RTL Design: VHDL vs. Verilog (2) Πλεονεκτήματα: Μικρό συντακτικό, ομοιότητες με τη γλώσσα C. Οι περιγραφές χαμηλού επιπέδου είναι πιο κοντά στο πραγματικό hardware. Άμεση δημιουργία στιγμιοτύπων πυλών. Άμεση δήλωση καλωδίων (wires) και καταχωρητών (registers). Μειονεκτήματα: Weakly-typed language. Δεν υπάρχουν λίστες ευαισθησίας. Δεν υπάρχει η δυνατότητα δημιουργίας νέων τύπων δεδομένων. Η διαφορά μεταξύ ενός wire και ενός reg δεν είναι πάντοτε εμφανής στον απλό χρήστη. Μειομένη υποστήριξη διαχείρισης ασύγχρονων σημάτων.

RTL Design: VHDL vs. Verilog (3)

RTL Design: VHDL vs. Verilog (4) VHDL Description LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY fulladd IS PORT ( A: IN STD_LOGIC; B: IN STD_LOGIC; Cin: IN STD_LOGIC; S: OUT STD_LOGIC; Cout: OUT STD_LOGIC); END fulladd ; ARCHITECTURE beh OF fulladd IS BEGIN S <= A XOR B XOR Cin ; Cout <= (A AND B) OR (Cin AND A) OR (Cin AND B) ; END beh ;

RTL Design: VHDL vs. Verilog (5) Verilog Description module fulladd(A, B, Cin, S, Cout); input A; input B; input Cin; output S; output Cout; wire S, Cout; assign sum=a^b^c; assign carry=((a&b) | (b&c) | (a&c)); endmodule

RTL Simulation (1) H περιγραφή μιας σχεδίασης σε επίπεδο RTL βρίσκεται σε υψηλότερο επίπεδο αφαίρεσης απ'ότι η αντίστοιχη περιγραφή της σε επίπεδο πυλών (gate level). Παρόλαυτα, η διαδικασία της προσομοίωσης κρίνεται απαραίτητη στο πρώιμο αυτό στάδιο διότι αποτελεί τον πρώτο βασικό έλεγχο ορθότητας πριν την επερχόμενη διαδικασία της σύνθεσης. Βασικό πλεονέκτημα της διαδικασίας προσομοίωσης στο προκείμενο επίπεδο είναι η ταχύτητα εκτέλεσής της. CAD Tool: ModelSim (Mentor Graphics)

RTL Simulation (2) Ροή Προσομοίωσης: VHDL file/files creation Το ModelSim χρησιμοποιείται για την προσομοίωση, επαλήθευση και αποσφαλμάτωση σχεδιάσεων οι οποίες περιγράφονται σε μια από τις ακόλουθες γλώσσες περιγραφής υλικού: VHDL Verilog System Verilog System C Ροή Προσομοίωσης: VHDL file/files creation Library declaration Library mapping Compilation Simulation Waveform Generation

RTL Simulation (3) VHDL file/files creation: Ο κώδικας (ή οι κώδικες σε περίπτωση που έχουμε ιεραρχική σχεδίαση) του κυκλώματος μπορεί να γραφτεί σε οποιονδήποτε text editor. Library declaration & mapping: Δημιουργία μιας βιβλιοθήκης για την αποθήκευση της σχεδίασής μας. Η βιβλιοθήκη αυτή πρέπει, ακολούθως, να αντιστοιχιστεί σε κάποια ή κάποιες από τις προϋπάρχουσες βιβλιοθήκες οι οποίες περιλαμβάνουν ορισμούς και υλοποιήσεις βασικών συναρτήσεων και πράξεων που ενδέχεται να χρειαστούν.

RTL Simulation (4) Compilation: Έλαγχος συντακτικής ορθότητας. Waveform generation: Δημιουργία κατάλληλης κυματομορφής στην οποία μπορούμε να παρατηρήσουμε την εναλλαγή τιμών κάθε σήματος της σχεδίασης κατά την πάροδο του χρόνου.

RTL Simulation (5) RTL Simulation Script: cd /myFiles/FullAdder vlib work vmap work work vcom fulladder.vhd vsim fulladd force A 1 force B 0 force Cin 0 run 1000

RTL Simulation (6)

Synthesis Ορισμός: Σύνθεση (synthesis) ονομάζεται η διαδικασία κατά την οποία μετατρέπουμε μια σχεδίαση, η οποία μας δίνεται σε HDL κώδικα, σε ένα βέλτιστο netlist σε επίπεδο πυλών το οποίο προσδιορίζεται πλήρως από μια τεχνολογική βιβλιοθήκη. ASIC Toolsets: Synopsys (Design Compiler) Cadence Magma

Simplified Synthesis

Synthesis (Design Compiler) (1) Μπορεί να λάβει στην είσοδό του τόσο ιεραρχικές όσο και μονολιθικές σχεδιάσεις. Δύναται να συνθέσει τόσο συνδυαστικά όσο και ακολουθιακά κυκλώματα, βελτιώνοντας την ταχύτητα απόκρισής τουςμ τον χώρο που καταλαμβάνουν και την ισχύ που καταναλώνουν.

Synthesis (Design Compiler) (2)

Synthesis (Design Compiler) (3)

Synthesis (Design Compiler) (4)

Synthesis (Design Compiler) (5) TCL – Tool Command Language Δημιουργήθηκε από τον John Ousterhout στο UC Berkeley. Scripting γλώσσα. Ευκολία στην αυτοματοποίηση επαναλαμβανόμενων εργασιών. Χρησιμοποιείται σε συνάρτηση με την πλειοψηφία των βιομηχανικών CAD εργαλείων. Εύκολη και γρήγορη εκμάθηση. Εύκολη στη χρήση και την εφαρμογή της σε οποιοδήποτε περιβάλλον. Πρακτικά όλη η διαδικασία υλοποίησης μιας σχεδίασης μέσω της χρήσης CAD εργαλείων, πραγματοποιείται με την αλλεπάλλληλη εφαρμογή tcl scripts. Οι πληροφορίες από τα reports που προκύπτουν είναι αυτές που καθορίζουν κατά πόσο ο σχεδιαστής θα “αναγκαστεί“ να χρησιμοποιήσει την εκάστοτε γραφική διεπαφή.

Synthesis (Design Compiler) (6) set stdcells_home /path_to_standard_cell_library_folder set_app_var search_path /path_to_design_folder set_app_var target_library "cells.db" set_app_var synthetic_library "dw_foundation.sldb" set_app_var link_library "* $target_library $synthetic_library" set_app_var mw_logic1_net "VDD" set_app_var mw_logic0_net "VSS" create_mw_lib -technology /path/ "gcdGCDUnit_rtl_LIB" open_mw_lib "gcdGCDUnit_rtl_LIB" check_library define_design_lib WORK -path "./work" Στο πρώτο κομμάτι του script καλούμαστε να καθορίσουμε τις μεταβλητές περιβάλλοντος της σύνθεσης. Καθορίζουμε τα folder paths που οδηγούν σε εκείνα τα σημεία του δίσκου όπου έχουν αποθηκευτεί τα αρχεία της σχεδίασής μας, τα αρχεία της τεχνολογικής βιβλιοθήκης και όποια επιπρόσθετα αρχεία δύναται να βοηθήσουν την διαδικασία της σύνθεσης. Target Library Synthetic Library

Synthesis (Design Compiler) (7) Target Library: Η τεχνολογική βιβλιοθήκη της οποίας τα κελιά θέλουμε να χρησιμοποιηθούν από τον DC για το τελικό mapping. Synthetic Library (DesignWare Library): Διαθέτει τεχνολογικά ανεξάρτητες κυκλωματικές οντότητες (components). Εκτέλεση βελτιστοποιήσεων υψηλού βαθμού κατά την χρήση της στην διαδικασία της σύνθεσης (αριθμητικές βελτιστοποιήσεις, επιλογή καταλληλότερων αναπαραστάσεων, επιλογή καταλληλότερων υλοποιήσεων).

Synthesis (Design Compiler) (8) analyze -format verilog "myDesign.v subDesign.v" elaborate "module or entity name" link check_design analyze: Έλεγχος συντακτικής ορθότητας του HDL κώδικα και του κατά πόσο η λογική που περιγράφεται είναι συνθέσιμη με βάση τις βιβλιοθήκες επιλογής. Μετατροπή και αποθήκευση της σχεδίασης σε μια ενδιάμεση μορφή. elaborate: Μετατροπή της σχεδίασης (στην μορφή που έχει ληφθεί από το παραπάνω βήμα) σε “πραγματικό“ υλικό (π.χ. αντικατάσταση αριθμητικών τελεστών με συνθετικούς τελεστές της DesignWare βιβλιοθήκης). check_design: Έλεγχος συνέπειας. Η σχεδίαση δεν μπορεί να συντεθεί εάν ο προκείμενος έλεγχος εμφανίσει λάθη(ERRORS) (συνήθως εμφανίζει πληθώρα από WARNINGS).

Synthesis (Design Compiler) (9) set_clock_latency 0.1 find(clock, "clk") set_clock_transition 0.01 find(clock, "clk") set_clock_uncertainty -setup 0.1 find(clock, "clk") set_clock_uncertainty -hold 0.1 find(clock, "clk") set_load 0 all_outputs() set_input_delay 1.0 -clock clk -max all_inputs() set_output_delay -max 1.0 -clock clk all_outputs() set_max_area 0 Ο DC καταβάλει την καλύτερη δυνατή προσπάθεια να συνθέσει το κύκλωμα μη παραβιάζοντας τους περιορισμούς που έχουν τεθεί. Design Rule Constraints: Περιορισμοί που προκύπτουν από την τεχνολογική βιβλιοθήκη που χρησιμοποιούμε. User Specified Constraints: Περίοδος ρολογιού, αβεβαιότητα ρολογιού, χωρητικότητα στις εξόδους κλπ. Ο περιορισμός που αφορά την περίοδο του ρολογιού είναι πολύ σημαντικός (πολύ μικρή περίοδος – μεγάλος χρόνος επεξεργασίας του κυκλώματος, πολύ μεγάλη περίοδος συντηρητικό τελικό αποτέλεσμα).

Synthesis (Design Compiler) (10) compile_ultra change_names -rules verilog -hierarchy write -format ddc -hierarchy -output gcdGCDUnit_rtl.mapped.ddc write -f verilog -hierarchy -output gcdGCDUnit_rtl.mapped.v write_sdf gcdGCDUnit_rtl.mapped.sdf write_sdc -nosplit gcdGCDUnit_rtl.mapped.sdc report_timing -transition_time -nets -attributes -nosplit report_area -nosplit -hierarchy report_power -nosplit -hier report_reference -nosplit -hierarchy report_resources -nosplit -hierarchy compile_ultra: Mε την εντολή αυτή εκκινείται η διαδικασία της σύνθεσης. Κατά το compilation εμφανίζεται στην κονσόλα του εργαλείου ένα progress report που περιγράφει με ποιόν τρόπο βελτιστοποιείται η σχεδίαση (π.χ. πόσα passes γίνονται κατά την διαδικασία βελτιστοποίησης της καταλαμβανόμενης από το κύκλωμα συνολικής περιοχής κλπ.). write: Δημιουργία κατάλληλων αρχείων εξόδου για την χρησιμοποίησή τους σε επόμενα βήματα της διαδικασίας σχεδίασης. report: Δημιουργία αναφορών για τον έλεγχο του τελικού αποτελέσματος.

Synthesis (Design Compiler) (11)

Synthesis (Design Compiler) (12) **************************************** Report : cell Design : counter Attributes: BO - reference allows boundary optimization b - black box (unknown) d - dont_touch h - hierarchical n - noncombinational r - removable u - contains unmapped logic Cell Reference Library Area Attributes -------------------------------------------------------------------------------- U3 AO22X1 saed90nm_typ 11.980800 d U4 AO22X1 saed90nm_typ 11.980800 d U5 AO22X1 saed90nm_typ 11.980800 d U6 AO22X1 saed90nm_typ 11.980800 d Cell Report

Synthesis (Design Compiler) (13) **************************************** Report : hierarchy Design : counter counter AO21X1 saed90nm_typ AO22X1 saed90nm_typ DFFX1 saed90nm_typ INVX0 saed90nm_typ NOR2X0 saed90nm_typ XNOR2X1 saed90nm_typ XOR2X1 saed90nm_typ counter_DW01_inc_0 HADDX1 saed90nm_typ INVX0 saed90nm_typ XOR2X1 saed90nm_typ Hierarchy Report

Synthesis (Design Compiler) (14) **************************************** Report : area Design : counter Library(s) Used: saed90nm_typ Number of ports: 19 Number of nets: 49 Number of cells: 38 Number of combinational cells: 29 Number of sequential cells: 8 Number of macros: 0 Number of buf/inv: 6 Number of references: 8 Combinational area: 364.953601 Noncombinational area: 199.065598 Net Interconnect area: 19.504604 Total cell area: 564.019198 Total area: 583.523803 Area Report

Synthesis (Design Compiler) (15) **************************************** Report : power Design : counter Library(s) Used: saed90nm_typ Global Operating Voltage = 1.2 Power-specific unit information : Voltage Units = 1V Capacitance Units = 1.000000ff Time Units = 1ns Dynamic Power Units = 1uW (derived from V,C,T units) Leakage Power Units = 1pW Cell Internal Power = 7.6281 uW (74%) Net Switching Power = 2.7209 uW (26%) --------- Total Dynamic Power = 10.3490 uW (100%) Cell Leakage Power = 2.7958 uW Internal Switching Leakage Total Power Group Power Power Power Power ( % ) Attrs -------------------------------------------------------------------------------------------- ------ io_pad 0.0000 0.0000 0.0000 0.0000 ( 0.00%) …. combinational 6.3511 1.3845 1.7708e+06 9.5064 ( 72.32%) Total 7.6281 uW 2.7209 uW 2.7958e+06 pW 13.1448 uW Power Report

Synthesis (Design Compiler) (16) **************************************** Report : timing -path full -delay max -max_paths 1 Design : counter Operating Conditions: TYPICAL Library: saed90nm_typ Point Incr Path ----------------------------------------------------------- clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 out_reg_0_/CLK (DFFX1) 0.00 0.00 r …. out_reg_7_/D (DFFX1) 0.04 1.47 r data arrival time 1.47 clock clk (rise edge) 10.00 10.00 clock network delay (ideal) 0.00 10.00 out_reg_7_/CLK (DFFX1) 0.00 10.00 r library setup time -0.06 9.94 data required time 9.94 data arrival time -1.47 slack (MET) 8.47 Timing Report

Synthesis (Design Compiler) (17) ############################################################## ##### # Created by write_sdc on Wed Nov 15 09:40:14 2015 set sdc_version 1.9 set_units -time ns -resistance MOhm -capacitance fF -voltage V -current uA set_load -pin_load 5 [get_ports {out[7]}] …. create_clock [get_ports clk] -period 10 -waveform {0 5} set_input_delay -clock clk 0.5 [get_ports clk] set_input_delay -clock clk 0.5 [get_ports reset] set_output_delay -clock clk 0.5 [get_ports {out[7]}] set_drive 0.06 [get_ports up_down] set_drive 0.06 [get_ports clk] set_drive 0.06 [get_ports reset] Design Constraints Report

Synthesis (Design Compiler) (18) **************************************** Report : constraint -all_violators Design : counter Version: F-2011.09-SP3 Date : Wed Nov 15 09:40:14 2015 max_area Required Actual Design Area Area Slack ----------------------------------------------------------------- counter 0.00 583.52 -583.52 (VIOLATED) Violators Report

Synthesis (Design Compiler) (18) library IEEE; use IEEE.std_logic_1164.all; entity counter is port( out_port : out VHDLOUT_TYPE; up_down, clk : in std_logic; data : in VHDLOUT_TYPE; reset : in std_logic); end counter; architecture SYN of counter is component XOR2X1 port( IN1, IN2 : in std_logic; Q : out std_logic); end component; …. begin U4 : AO22X1 port map( IN1 => N11, IN2 => n1, IN3 => N19, IN4 => n2, Q => N27 ); end SYN; VHDL Netlist

Synthesis (Design Compiler) (19)

Synthesis (Design Compiler) (20)