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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Καθιερωµένα Γραφικά Σύµβολα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005

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

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

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

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

Library, package και subprograms

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

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

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

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

Αρχιτεκτονικές Υπολογιστών

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

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

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

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

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

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

Ελίνα Μακρή

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

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

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

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

ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2008

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

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

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

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

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

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

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

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

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

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

Πανεπιστήµιο Κύπρου DEPARTMENT OF COMPUTER SCIENCE

Structural VHDL. Structural VHDL

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

(Peter Ashenden, The Students Guide to VHDL)

Στοιχεία Μνήμης, JKκαιD (Flip-Flops) Μετρητής Ριπής (Ripple Counter)

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

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


Αυγ-13 Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops. ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2009.

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

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

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

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

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

ΑΣΚΗΣΗ 9. Tα Flip-Flop

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια

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

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

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

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

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

Ψηφιακή Σχεδίαση. Δρ. Μηνάς Δασυγένης Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ.

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

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

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

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

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

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ.

Σύγχρονα ακολουθιακά κυκλώματα. URL:

Transcript:

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE n Περιγραφή Flip-Flop µε VHDL n Περιγραφή Ακολουθιακού Κυκλώµατος (βάση πίνακα/διαγράµµατος καταστάσεων) µε VHDL n Συγχρονισµός µεταξύ Processes MKM - 2 VHDL για Ακολουθιακά Κυκλώµατα 1

VHDL Process n Ένα σύνολο από εντολές VHDL το οποίο «εκτελείται» όταν ένα signal (από ένα συγκεκριµένο σύνολο) αλλάζει τιµή. n Ο «κορµός» ( body ) ενός process υλοποιεί ένα σειριακό (sequential) πρόγραµµα, δηλ. οι τιµές των signals ανανεώνονται µόνο όταν ολοκληρωθεί η εκτέλεση του προγράµµατος. n Μπορεί επίσης να χρησιµοποιήσει variables, των οποίων η τιµή ανανεώνεται αµέσως. MKM - 3 Αρχιτεκτονική VHDL architecture name_arch of name is Signal/Variable declaration Component declaration Ταυτόχρονες εντολές (concurrent statements) Process 1 Ταυτόχρονες εντολές (concurrent statements) Process 2 Ταυτόχρονες εντολές (concurrent statements) end name_arch; Το κάθε process περιέχει ακολουθιακές εντολές (sequential statements), αλλά όλα τα processes δύναται να εκτελεστούν ταυτόχρονα MKM - 4 VHDL για Ακολουθιακά Κυκλώµατα 2

VHDL Process P1: process (<sensitivity list>) <variable declarations> <sequential statements> end process P1; Μέσα σε ένα process: Ανάθεση µεταβλητών (variables) Προαιρετική σήµανση µε := και άµεση ενηµέρωση. Ανάθεση σηµάτων (signals) µε <= και η ενηµέρωση γίνετε στο τέλος του process. MKM - 5 Signals Vs Variables σε ένα Process Θεωρείστε ότι A, B, και C είναι ακέραιοι µε A=1, B=5, και C=10. A, B, C: signals A, B, C: variables process process B <= A; B := A; C <= B; C := B; end process; end process; B = 1 και C = 5 ( χρησιµοποιεί την B = 1 και C = 1 ( χρησιµοποιεί την αρχική τιµή του B (=5) όταν νέα τιµή του B (=1) όταν υπολογίζει το C ) υπολογίζει το C ) MKM - 6 VHDL για Ακολουθιακά Κυκλώµατα 3

Εντολή If-Then-Else [if_label:] if boolean_expression then { sequential_statement; } { elsif boolean_expression then { sequential_statement; } } [ { sequential_statement; } ] end if [ if_label ]; Σύµβαση: [ ] -- προαιρετικό { } επανάληψη δυνατή MKM - 7 Εντολή CASE [case_label:] case expression is { when choice => { sequential statement; } } [ when others => { sequential statement; } ] end case [case_label]; MKM - 8 VHDL για Ακολουθιακά Κυκλώµατα 4

Περιγραφή Flip-Flop µε VHDL: Θετικά Ακµοπυροδοτούµενο D-FF µε Ασύγχρονη Αρχικοποίηση n Δήλωση Οντότητας: -- Positive Edge-Triggered D Flip-Flop with Reset: -- VHDL Process Description library ieee; use ieee.std_logic_1164.all; entity dff is port(clk, RESET, D: in std_logic; Q, Q_n: out std_logic); end dff; RESET D dff Q Q_n CLK MKM - 9 Περιγραφή Flip-Flop µε VHDL: Θετικά Ακµοπυροδοτούµενο D-FF µε Ασύγχρονη Αρχικοποίηση n Αρχιτεκτονική: architecture pet_pr of dff is -- Implements positive edge-triggered bit state storage -- with asynchronous reset. signal state: std_logic; Q <= state; Q_n <= not state; process (CLK, RESET) if (RESET = '1') then state <= '0'; Καθορίζει τον τύπο πυροδότησης του FF RESET if (CLK'event and CLK = '1') then state <= D; CLK end process; Q(t+1) = D(t).RESET end pet_pr; MKM - 10 D dff Q Q_n VHDL για Ακολουθιακά Κυκλώµατα 5

Ακολουθιακό Κύκλωµα σε VHDL Ανιχνευτής Ακολουθίας n Θυµηθείτε το παράδειγµα του ανιχνευτή της ακολουθίας 0101, µε µία είσοδο (X) και µία έξοδο (Z). Διάγραµµα Καταστάσεων: 1/0 0/0 1/1 0/0 1/0 0/0 Α Β C D 1/0 0/0 MKM - 11 Ανιχνευτής Ακολουθίας σε VHDL (συν.) n Χρησιµοποιούµε 3 ξεχωριστά processes, τα οποία εκτελούνται παράλληλα. n Ο συγχρονισµός µεταξύ των διαφόρων processes επιτυγχάνεται από την αλληλοεπίδραση κοινών signals. n 3 processes: n Στοιχεία Μνήµης (storage cct) state_register n Λογική Εισόδων FFs (next state logic) next_state_func n Λογική Εξόδων (primary output logic) output_func MKM - 12 VHDL για Ακολουθιακά Κυκλώµατα 6

Ανιχνευτής Ακολουθίας σε VHDL (συν.) n Ορίζουµε ένα scalar enumeration type για αναπαράσταση των 4 ων καταστάσεων: n type state_type is (A, B, C, D); n Ακολούθως, δηλώνουµε signals ή variables για την παρούσα και την επόµενη κατάσταση: n signal state, next_state : state_type; n state και next_state µπορούν να πάρουν µόνο την τιµή A, B, C, ή D. Προσπάθεια ανάθεσης οποιασδήποτε άλλης τιµής θα δώσει λάθος στην συµβολοµετάφραση. MKM - 13 Δήλωση Οντότητας & Αρχιτεκτονικής -- Sequence Recognizer: VHDL Process Description library ieee; use ieee.std_logic_1164.all; entity seq_rec is port(clk, RESET, X: in std_logic; Z: out std_logic); end seq_rec; architecture process_3 of seq_rec is type state_type is (A, B, C, D); signal state, next_state : state_type; end; MKM - 14 VHDL για Ακολουθιακά Κυκλώµατα 7

Process για Στοιχεία Μνήµης (State Register) -- Process 1 - state_register: implements positive edge-triggered -- state storage with asynchronous reset. state_register: process (CLK, RESET) if (RESET = '1') then state <= A; if (CLK'event and ClK = '1') then state <= next_state; end process; n Πόσα FFs; Εξαρτάται από τον αριθµό των τιµών που µπορούν να πάρουν τα signals state & next_state! Για αυτή την περίπτωση, υπάρχουν 4 δυνατές καταστάσεις (A, B, C, D) και, εποµένως, θα χρησιµοποιηθούν 2 FFs. MKM - 15 Process για Συναρτήσεις Επόµενης Κατάστασης (Next State Functions) -- Process 2 - next_state_function: implements -- next state as function of input X and state. next_state_func: process (X, state) case state is when A => if X = '1' then next_state <= A; next_state <= B; when B => if X = '1' then next_state <= C; next_state <= B; when C => if X = '1' then next_state <= A; next_state <= D; when D => if X = '1' then next_state <= C; next_state <= B; end case; end process; Πίνακας Καταστάσεων next_state Z state X=0 X=1 X=0 X=1 A B A 0 0 B Β C 0 0 C D A 0 0 D B C 0 1 MKM - 16 VHDL για Ακολουθιακά Κυκλώµατα 8

Process για Συνάρτηση Εξόδου (Output State Function) -- Process 3 - output_function: -- implements output as function of -- input X and state. output_func: process (X, state) case state is when A => Z <= '0'; when B => Z <= '0'; when C => Z <= '0'; when D => if X = '1' then Z <= 1'; Z <= 0'; end case; end process; Υπονοεί µοντέλο Mealy Πίνακας Καταστάσεων next_state Z state X=1 X=0 X=0 X=1 A B A 0 0 B Β C 0 0 C D A 0 0 D B C 0 1 MKM - 17 Συγχρονισµός µεταξύ των processes n state_register: process (CLK, RESET) n state ανανεώνεται βάσει των CLK και RESET n next_state_func: process (X, state) n next_state ανανεώνεται βάσει των X και state n output_func: process (X, state) n Z ανανεώνεται βάσει των X και state MKM - 18 VHDL για Ακολουθιακά Κυκλώµατα 9

Συγχρονισµός (συν.) n Θεωρείστε την ακόλουθη περίπτωση: χρόνος t 0 χρόνος t 1 χρόνος t 2 state = D X=0 X=1 X=1 Z=1 next_state = C next_state = B next_state =? Z=0 Z=? RESET=0 RESET=0 RESET=0 CLK=0 CLK=0 CLK=0 Χρησιµοποιεί τις τιµές των state και X στον χρόνο t 0 για να υπολογίσει το next_state MKM - 19 Συγχρονισµός (συν.) n Θεωρείστε την ακόλουθη περίπτωση: χρόνος t 0 χρόνος t 1 χρόνος t 2 state = D X=0 X=1 X=1 Z=1 next_state = C next_state = B next_state = C Z=0 Z=1 RESET=0 RESET=0 RESET=0 CLK=0 CLK=0 CLK=0 Χρησιµοποιεί τις τιµές των state και X στον χρόνο t 0 για να υπολογίσει το next_state αφού CLK MKM - 20 VHDL για Ακολουθιακά Κυκλώµατα 10