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

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

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

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

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

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

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

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

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

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

Library, package και subprograms

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

Structural VHDL. Structural VHDL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

(Peter Ashenden, The Students Guide to VHDL)

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

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


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

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


constant number_of_bytes : integer := 4; constant number_of_bits : integer := 8 * number_of_bytes;

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

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

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

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

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

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

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

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

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

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

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

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

VHDL Introduction. Subtitle

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

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

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

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

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

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

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

Σχεδιασµός Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)

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

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

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

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

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

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

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

Introduction to IP Cores

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

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

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

ΑΣΚΗΣΗ 1η ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΣΧΕΔΙΑΣΗΣ QUARTUS II ΤΗΣ ALTERA

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

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

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

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

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

Βαζικές Δνόηηηες VHDL

Σχεδίαση και υλοποίηση σε FPGA παράλληλης επεξεργασίας μετασχηματισμού Fourier με τεχνική in-place

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

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

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

Καταχωρητές και Μετρητές

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ

Καράγιωργας Νικόλαος Α.Μ. 90 Τριανταφυλλόπουλος Σταύρος Α.Μ. 92 Μεταπτυχιακό Πρόγραµµα ΟΣΥΛ. Η δηµοφιλέστερη γλώσσα σχεδιασµού Hardware!

Transcript:

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

Κώδικας VHDL Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης Αποτελέσµατα Προσοµοίωση 2

Αναλυτής / Αντίστροφος Αναλυτής Επεξεργάζεται τα VHDL αρχεία. Κώδικας VHDL Συντακτική Ανάλυση. IVAN: Intermediate VHDL Attributed Notation Αποθήκευση στην βιβλιοθήκη Λίστες µε πληροφορίες ανάλυσης Ο αντίστροφος αναλυτής µετατρέπει οποιαδήποτε µονάδα της βιβλιοθήκης από την µορφή IVAN σε ισοδύναµη VHDL. Προσοµοίωση 3

Βιβλιοθήκη / ιαχειριστής Βιβλιοθήκης Η βιβλιοθήκη σχεδίασης είναι η πηγή δεδοµένων σχεδίασης Η προεπιλεγµένη βιβλιοθήκη είναι η "work" Οι µονάδες σχεδίασης της βιβλιοθήκης είναι ελεύθερες από σφάλµατα. Κάθε βιβλιοθήκη µπορεί να χρησιµοποιηθεί από διάφορες σχεδιάσεις. Ο διαχειριστής χρησιµοποιείται από τον αναλυτή για την χρήση της βιβλιοθήκης. Παράγεται τελικά ένα σύνολο από διασυνδεδεµένα στοιχεία. Προσοµοίωση 4

Προσοµοιωτής Μοντελοποιεί την αντίδραση ενός συστήµατος σε µία ή περισσότερες διεγέρσεις της εισόδου του. Αρχεία κειµένου Αναφορές σε µορφή κειµένου Χρήση γραφικού περιβάλλοντος Προσοµοιωτής Μηνύµατα σφαλµάτων Μετροπρογράµµατα (test benches) Περιγραφή VHDL signal trace files ιεγέρσεις Προσοµοίωση 5

Προσοµοίωση Ο κύκλος εκτέλεσης αποτελείται από την φάση αρχικοποίησης ακολουθούµενη από έναν επαναλαµβανόµενο κύκλο εξοµοίωσης. Η φάση αρχικοποίησης γίνεται στον χρόνο 0 και όλοι οι οδηγοί σηµάτων παίρνουν αρχική τιµή. Στην συνέχεια κάθε process ή συντρέχουσα πρόταση ξεκινάει και εκτελεί τις ακολουθιακές εντολές της και συνήθως προγραµµατίζει αναθέσεις τιµών µ σε σήµατα. Όλες οι processes διακόπτουν την λειτουργία τους κάποια στιγµή και περιµένουν να ενεργοποιηθούν από κάποια σήµατα που ανήκουν στην λίστα ευαισθησίας τους. Εκτελούνται οι πρώτες αναθέσεις σηµάτων (νωρίτερα στον χρόνο) και ενεργοποιούνται οι processes που είναι ευαίσθητες. Προσοµοίωση 6

Ουρά χρονισµού (N, V, T) Προσθαφαίρεση τιµών Επεξεργαστής Ουράς χρονισµού Πυρήνας Προσοµοίωση Εκτελεστής προτάσεων Σχεδίαση νέων µεταβάσεων Ενεργοποίηση προτάσεων Αλλαγές σηµάτων Ιχνηλάτης σηµάτων Προσοµοίωση 7

Μετροπρόγραµµα -Test Bench To Test Bench είναι ένας VHDL κώδικας ο οποίος τροφοδοτεί µε εισόδους τον VHDL κώδικα του σχεδιασµού µας, και καταγράφει τις εξόδους πιθανώς συγκρίνοντας τις µε τις αναµενόµενες. Το Test Bench έχει συνήθως τα ακόλουθα χαρακτηριστικά: 1. Είναι µία ξεχωριστή οντότητα µε αρχιτεκτονική. 2. εν έχει θύρες ρς εισόδου και σταθερές ρςg generic (self-contained). 3. ηλώνει σαν component τον σχεδιασµό και τον δεσµεύει. 4. ηλώνει όλα τα σήµατα εισόδου/εξόδου και άλλα εσωτερικά. 5. Χρησιµοποιεί οποιαδήποτε δοµή για παραγωγή κυµµατοµορφών (δεν συντίθεται). 6. Παράγει µηνύµατα ελέγχου σε περιπτώσεις λαθών. Προσοµοίωση 8

library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity test_dec2_4 is end test_dec2_4; Decoder Test Bench Κενή δήλωση οντότητας architecture test_bench of test_dec2_4 is component dec2_4 port (sel: in std_logic_vector(1 downto 0); d : out std_logic_vector( 3 downto 0)); end component; ήλωση component αποκωδικοποιητή 2 σε 4 signal t_sel: std_logic_vector(1 downto 0); signal t_d: std_logic_vector( 3 downto 0); begin u0: dec2_4 port map(t_sel=>sel, t_d=>d); t_sel <= "00", "01" after 30 ns, "10" after 60 ns, "11" after 90 ns; end test_bench; ήλωση σηµάτων Προσοµοίωση 9

t_sel t_d Αποτελέσµατα προσοµοίωσης 0 ns 10 ns 20 ns 30 ns 40 ns 50 ns 60 ns 70 ns 80 ns 90 ns 100 ns 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 Προσοµοίωση 10

library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity TBSELECTOR is end TBSELECTOR; Multiplexer Test Bench Κενή δήλωση οντότητας architecture BEH of TBSELECTOR is component SELECTOR port (A:in std_logic_vector(15 downto 0); SEL : in std_logic_vector( 3 downto 0); Y : out std_logic); end component; signal A: std_logic_vector(15 downto 0); signal SEL: std_logic_vector( 3 downto 0); signal exp_y, Y : std_logic; constant PERIOD : time := 50 ns; constant STROBE : time := 45 ns; ήλωση component ήλωση σηµάτων Προσοµοίωση 11

Selector Test Bench begin p0 : process begin for j in 0 to 15 loop SEL <= conv_std_logic_vector(j,4); exp_y<= '0'; A <= (A'range => '1'); A( conv_integer(sel) ) <= '0'; 0; wait for PERIOD; exp_y<= '1'; A <= (A'range => '0'); A(conv_integer(SEL) <= '1'; wait for PERIOD; end loop; wait; end process; Η αναµενόµενη σωστή τιµή. Αρχικοποίηση εισόδου: Όλες οι γραµµές σε µία τιµή και η επιλεγόµενη στην αντίστροφη Προσοµοίωση 12

Selector Test Bench check : process variable err_cnt : integer := 0; begin wait for STROBE; for j in 0 to 31 loop assert FALSE report " comparing..." severity NOTE; if (Y /= exp_y) then assert FALSE report "not compared" severity WARNING; err_cnt := err_cnt + 1; end if; wait for PERIOD; Αυτόµατος Έλεγχος Αποτελεσµάτων end loop; assert (err_cnt = 0) report "test failed" severity ERROR; assert (err_cnt /= 0) report "test passed" severity NOTE; wait; end process; sel : SELECTOR port map ( A => A, SEL => SEL, Y => Y); end BEH; Προσοµοίωση 13

Εξοµοίωση Ο έλεγχος ενός κυκλώµατος µπορεί να γίνει και οπτικά µε τις κυµµατοµορφές αλλά αυτό είναι ιδιαίτερα περίπλοκο στα µεγάλα κυκλώµατα Προσοµοίωση 14