Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Σχετικά έγγραφα
Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches)

Structural VHDL. Structural VHDL

Κυκλωμάτων» Χειμερινό εξάμηνο

Εισαγωγή στη Γλώσσα VHDL

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

Εισαγωγή στη VHDL Υλοποίηση στο Quartus

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Σχεδίαση Ψηφιακών Συστημάτων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)

Σχεδίαση Ψηφιακών Συστημάτων

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Library, package και subprograms

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

VHDL Εισαγωγικές έννοιες

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές


Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Καταχωρητές και χρονισμός με ρολόι

Πανεπιστήµιο Θεσσαλίας

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Οντότητες και συντρέχουσες δηλώσεις

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο Νοε-09. Διδάσκουσα: Μαρία Κ. Μιχαήλ

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων

Μοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL)

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

VHDL. ΗΜΥ-210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Απλό παράδειγµα: Entity. Μοντελοποίηση. Απλό παράδειγµα:αρχιτεκτονική. Στοιχεία γλώσσας VHDL

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

VHDL Introduction. Subtitle

ΠΑΡΑΡΤΗΜΑ Β. Verification

H γλώσσα περιγραφής κυκλωµάτων VHDL

Σχεδίαση Υπολογιστικών

Βασικές οµές Μοντελοποίησης. (Peter Ashenden, The Students Guide to VHDL)

Σχεδίαση Ψηφιακών Συστημάτων

Σχεδίαση Ψηφιακών Συστημάτων

ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ

Introduction to IP Cores


inputs outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench

Σύνθετοι τύποι και λειτουργίες. (Peter Ashenden, The Students Guide to VHDL)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση. Ενότητα 13: Εισαγωγή στην VHDL

Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο VHDL (revisited)

(Peter Ashenden, The Students Guide to VHDL)

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 10: Συµπληρωµατική Διάλεξη Flip-Flops (Basics) και VHDL)

VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων

1 Περίληψη Η εργασία έγινε στα πλαίσια του μαθήματος των Ψηφιακών Ηλεκτρονικών Συστημάτων με σκοπό αρχικά την εκμάθηση της γλώσσας VHDL (Very High Spe

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 4

Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος

Ενσωματωμένα Συστήματα

ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση

Σχεδίαση µε CAD tools

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού

ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE ΠΑΛΜΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

Κυκλωμάτων» Χειμερινό εξάμηνο

ΨΗΦΙΑΚΗ ΣΧΔΓΙΑΣΗ (Θεωπία) Θέμαηα Δξεηάζεων

Σχεδιασμος Ολοκληρωμένων Κυκλωμάτων με Χρήση VHDL: Πρακτικά Θέματα

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2

Οι Βιβλιοθήκες IEEE και παραδείγµατα functions

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Εισαγωγή στη γλώσσα VHDL

Ενότητα 6 ΑΝΑΛΥΣΗ & ΣΥΝΘΕΣΗ ΣΥΝΔΥΑΣΤΙΚΗΣ ΛΟΓΙΚΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΠΟΛΛΩΝ ΕΠΙΠΕΔΩΝ

Μοντελοποίηση Λογικών Κυκλωμάτων

Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL

Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

Εισαγωγή στον έλεγχο ορθής λειτουργίας ψηφιακών συστημάτων. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν.

Πτυχιακή Εργασία. Σχεδίαση Εφαρμογών Ψηφιακών Συστημάτων Με Τη Γλώσσα VHDL

Τυπικζσ Γλώςςεσ Περιγραφήσ Υλικοφ Εργαςτήριο 4

Ενσωματωμένα Συστήματα

Σχεδίαση κυκλωμάτων με VHDL: 2o μέρος

Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

ΑΤΕΙ ΚΑΛΑΜΑΤΑΣ ΠΑΡΑΡΤΗΜΑ ΣΠΑΡΤΗΣ. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ της φοιτήτριας: ΓΕΩΡΓΟΥΑΑΚΗ ΑΛΕΞΑΝΔΡΑ του ΣΤΑΥΡΟΥ

Σχεδίαση σε VHDL και υλοποίηση σε FPGA Μονάδας Παραγωγής Μουσικού Σήματος

Transcript:

Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr

Ρόλος των γλωσσών περιγραφής υλικού σε μια τυπική ροή σχεδίασης: Documentation Simulation Synthesis Οι γλώσσες περιγραφής υλικού μπορούν να χρησιμοποιηθούν για την σχεδίαση ενός κυκλώματος τόσο στο επίπεδο πυλών (gate level) όσο και στο επίπεδο καταχωρητών (RTL level), αναπαριστώντας το εκάστοτε κύκλωμα είτε σε structural view είτε σε behavioral view.

Οι δύο βασικότερες γλώσσες περιγραφής υλικού που χρησιμοποιούνται στην βιομηχανία είναι η VHDL (Very High Speed Integrted Circuit Hardware Description Language) και η Verilog. Διαφορετική σύνταξη. Παρόμοιες δυνατότητες. Υποστηρίζονται από το σύνολο των βιομηχανικών εργαλείων σχεδίασης ψηφιακών κυκλωμάτων.

Πλεονεκτήματα: Μεταφερσιμότητα Επαναχρησιμοποιησιμότητα Πλήρως καθορισμένα πρότυπα Τεχνολογικά ανεξάρτητες Πλεονεκτήματα γλωσσών προγραμματισμού υψηλού επιπέδου: Δόμηση Παραμετροποίηση Εντολές συνθήκης Βρόχοι επανάληψης Ιεράρχηση

Even Parity Detection Circuit

library ieee; use ieee.std_logic_1164.all; entity even_detector is port( a: in std_logic_vector(2 downto 0); even: out std_logic ); end even_detector; architecture sop_arch of even_detector is signal p1, p2, p3, p4 : std_logic; begin even <= (p1 or p2) or (p3 or p4); p1 <= (not a(2)) and (not a(1)) and (not a(0)); p2 <= (not a(2)) and a(1) and a(0); p3 <= a(2) and (not a(1)) and a(0); p4 <= a(2) and a(1) and (not a(0)); end sop_arch;

Library & Packages: Δήλωση βιβλιοθηκών (library) και πακέτων (package) που χρησιμοποιούμε στην περιγραφή. Entity: Δήλωση εισόδων και εξόδων του κυκλώματος. Είσοδος Κυκλώματος: μία είσοδος μήκους 3 bit. Έξοδος Κυκλώματος: μία έξοδος μήκους 1 bit Architecture: Καθορισμός της λειτουργικότητας ή της δομής του κυκλώματος.

Architecture: Δήλωση σημάτων (signal). Άτυπα, μπορούμε να θεωρήσουμε πως κάθε σήμα αντιστοιχεί σε ένα "καλώδιο". Αναθέσεις τιμών σε προκαθορισμένα σήματα. Ταυτόχρονες (concurrent) αναθέσεις.

Περιγραφή του κυκλώματος βάσει των υποκυκλωμάτων που το αποτελούν και του τρόπου που αυτά συνδέονται μεταξύ τους. Πρακτικά η περιγραφή ενός σχηματικού. Αρχικά, πρέπει να "δηλώσουμε" τα υποκυκλώματα και στην συνέχεια να τα "καλέσουμε" / "αρχικοποιήσουμε".

architecture str_arch of even_detector is component xor2 port( i1, i2: in std_logic; o1: out std_logic ); end component; component not1 port( i1: in std_logic; o1: out std_logic ); end component; signal sig1,sig2: std_logic; begin unit1: xor2 port map (i1=>a(0), i2=>a(1), o1=>sig1); unit2: xor2 port map (i1=>a(2), i2=>sig1, o1=>sig2); unit3: not1 port map (i1=>sig2, o1=>even); end str_arch;

Κλήση υποκυκλώματος: Η κλήση ενός υποκυκλώματος υλοποιείται με την χρήση της εντολής port map, η οποία ακολουθεί την εξής σύνταξη: label: instantiated_component_name port map(signal_mapping) Η εντολή port map ανήκει στα concurrent statements και μπορεί να δηλωθεί σε συνδυασμό με άλλες εντολές της ίδιας κατηγορίας. Η χρήση υποκυκλωμάτων κατά την υλοποίηση μιας σχεδίασης διευκολύνει: την ιεραρχική σχεδίαση την ενσωμάτωση IP σχεδιάσεων

library ieee; use ieee.std_logic_1164.all entity xor2 is port( i1, i2: in std_logic; o1: out std_logic ); end xor2; architecture beh_arch of xor2 is begin o1 <= i1 xor i2; end beh_arch; library ieee; use ieee.std_logic_1164.all entity not1 is port( i1: in std_logic; o1: out std_logic ); end not1; architecture beh_arch of not1 is begin i1 <= not o1; end beh_arch;

Λίστα Ευαισθησίας (Sensitivity List) Το process "ενεργοποιείται" όταν αλλάζει η τιμή κάποιου σήματος που βρίσκεται εντός της λίστας ευαισθησίας του. Η επιλογή των σημάτων που θα ενταχθούν στη λίστα ευαισθησίας, εξαρτάται από την λειτουργικότητα του κυκλώματος. Even Parity Detector: architecture beh1_arch of even_detector is signal odd: std_logic; begin even <= not odd; process(a) variable tmp: std_logic; begin tmp := 0 ; for i in 2 downto 0 loop tmp := tmp xor a(i); end loop; odd <= tmp; end process; end beh1_arch;

Ένας κώδικας σε VHDL για την υλοποίηση ενός "εικονικού" πειράματος. Το οποίο περιλαμβάνει: το κύκλωμα που θέλουμε να ελέγξουμε τις εισόδους με τις οποίες θέλουμε να τροφοδοτήσουμε το κύκλωμα μια διαδικασία ελέγχου των παραγόμενων εξόδων

library ieee; use ieee.std_logic_1164.all; entity even_detector_testbench is end even_detector_testbench; architecture tb_arch of even_detector_testbench is component even_detector port( a: in std_logic_vector(2 downto 0); even: out std_logic ); end component; signal test_in: std_logic_vector(2 downto 0); signal test_out: std_logic; begin uut: even_detector port map(a=>test_in, even=>test_out); process begin test_in <= "000"; wait for 200 ns; test_in <= "001"; wait for 200 ns; test_in <= "010"; wait for 200 ns;

test_in <= "111"; wait for 200 ns; end process; process variable error_status: boolean; begin wait on test_in; wait for 100 ns; if ((test_in="000" and test_out = 1 ) or (test_in="001" and test_out = 0 ) or (test_in="010" and test_out = 0 )) then error_status := false; else error_status := true; end if; assert not error_status report "test failed." severity note; end process; end tb_arch;

1. Σχεδιάστε ένα behavioral και ένα structural view model για έναν πλήρη αθροιστή 4-bit. 2. Εξηγείστε για ποιό λόγο δεν μπορούμε να χρησιμοποιήσουμε γλώσσες προγραμματισμού όπως η C και η Java για την σχεδίαση ενός κυκλώματος. 3. Τί είναι τα even parity decision circuits και που χρησιμοποιούνται; 4. Αναφέρετε τις βασικές διαφορές μεταξύ της δομικής περιγραφής (structural description) και της περιγραφής συμπεριφοράς (behavioral description) ενός κυκλώματος στη VHDL. 5. Τί εννοούμε με τον όρο dataflow description; 6. Ποιά είναι τα βασικά πλεονεκτήματα της structural περιγραφής κυκλωμάτων; 7. Για ποιό λόγο χρησιμοποιούμε τα testbenches κατά την σχεδίαση ενός κυκλώματος; 8. Για ποιές τιμές εισόδου πρέπει (ιδανικά) να ελέγξουμε κάθε κυκλωμα που σχεδιάζουμε; 9. Πότε "ενεργοποιείται" ένα process; 10. Ποιά σήματα τοποθετούμε στην λίστα ευαισθησίας ενός process; 11. Ποιά είναι η βασική διαφορά στον τρόπο με τον οποίο αντιμετωπίζουν τα εργαλεία σύνθεσης έναν κώδικα σε behavioral VHDL και έναν κώδικα σε structura VHDL;