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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Library, package και subprograms

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελίνα Μακρή

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

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

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

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

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

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

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

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

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

Structural VHDL. Structural VHDL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Peter Ashenden, The Students Guide to VHDL)

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

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

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

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

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

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

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

3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

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


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

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

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

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

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:

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

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

Transcript:

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

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

VHDL Process q Ένα σύνολο από εντολές VHDL το οποίο «εκτελείται» όταν ένα signal (από ένα συγκεκριµένο σύνολο) αλλάζει τιµή. q Ο «κορµός» ( body ) ενός process υλοποιεί ένα σειριακό (sequential) πρόγραµµα, δηλ. οι τιµές των signals ανανεώνονται µόνο όταν ολοκληρωθεί η εκτέλεση του προγράµµατος. q Μπορεί επίσης να χρησιµοποιήσει variables, των οποίων η τιµή ανανεώνεται αµέσως. ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.3 Θεοχαρίδης, ΗΜΥ, 2016

Αρχιτεκτονική VHDL architecture name_arch of name is Signal/Variable declaration Component declaration begin Ταυτόχρονες εντολές (concurrent statements) Process 1 Ταυτόχρονες εντολές (concurrent statements) Το κάθε process περιέχει ακολουθιακές εντολές (sequential statements), αλλά όλα τα processes δύναται να εκτελεστούν ταυτόχρονα Process 2 Ταυτόχρονες εντολές (concurrent statements) end name_arch; ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.4 Θεοχαρίδης, ΗΜΥ, 2016

VHDL Process P1: process (<sensitivity list>) <variable declarations> begin <sequential statements> end process P1; Προαιρετική σήµανση Μέσα σε ένα process: Ανάθεση µεταβλητών (variables) µε := και άµεση ενηµέρωση. Ανάθεση σηµάτων (signals) µε <= και η ενηµέρωση γίνετε στο τέλος του process. ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.5 Θεοχαρίδης, ΗΜΥ, 2016

Signals Vs Variables σε ένα Process Θεωρείστε ότι A, B, και C είναι ακέραιοι µε A=1, B=5, και C=10. A, B, C: signals A, B, C: variables begin process begin 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 ) ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.6 Θεοχαρίδης, ΗΜΥ, 2016

Εντολή If-Then-Else [if_label:] if boolean_expression then { sequential_statement; } { elsif boolean_expression then { sequential_statement; } } [ else { sequential_statement; } ] end if [ if_label ]; Σύµβαση: [ ] -- προαιρετικό { } επανάληψη δυνατή ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.7 Θεοχαρίδης, ΗΜΥ, 2016

Εντολή CASE [case_label:] case expression is { when choice => { sequential statement; } } [ when others => { sequential statement; } ] end case [case_label]; ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.8 Θεοχαρίδης, ΗΜΥ, 2016

Περιγραφή Flip-Flop µε VHDL: Θετικά Ακµοπυροδοτούµενο D-FF µε Ασύγχρονη Αρχικοποίηση q Δήλωση Οντότητας: -- 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); RESET D dff Q Q_n end dff; CLK ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.9 Θεοχαρίδης, ΗΜΥ, 2016

Περιγραφή Flip-Flop µε VHDL: Θετικά Ακµοπυροδοτούµενο D-FF µε Ασύγχρονη Αρχικοποίηση q Αρχιτεκτονική: architecture pet_pr of dff is -- Implements positive edge-triggered bit state storage -- with asynchronous reset. signal state: std_logic; begin Q <= state; Q_n <= not state; process (CLK, RESET) begin if (RESET = '1') then else state <= '0'; if (CLK'event and CLK = '1') then state <= D; end if; end if; end process; end pet_pr; Καθορίζει τον τύπο πυροδότησης του FF RESET D dff CLK Q(t+1) = D(t).RESET Q Q_n ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.10 Θεοχαρίδης, ΗΜΥ, 2016

Ακολουθιακό Κύκλωµα σε VHDL Ανιχνευτής Ακολουθίας q Θυµηθείτε το παράδειγµα του ανιχνευτή της ακολουθίας 0101, µε µία είσοδο (X) και µία έξοδο (Z). Διάγραµµα Καταστάσεων: 1/0 0/0 1/1 0/0 1/0 0/0 Α Β C D 1/0 0/0 ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.11 Θεοχαρίδης, ΗΜΥ, 2016

Ανιχνευτής Ακολουθίας σε VHDL (συν.) q Χρησιµοποιούµε 3 ξεχωριστά processes, τα οποία εκτελούνται παράλληλα. q Ο συγχρονισµός µεταξύ των διαφόρων processes επιτυγχάνεται από την αλληλοεπίδραση κοινών signals. q 3 processes: Στοιχεία Μνήµης (storage cct) state_register Λογική Εισόδων FFs (next state logic) next_state_func Λογική Εξόδων (primary output logic) output_func ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.12 Θεοχαρίδης, ΗΜΥ, 2016

Ανιχνευτής Ακολουθίας σε VHDL (συν.) q Ορίζουµε ένα scalar enumeration type για αναπαράσταση των 4 ων καταστάσεων: type state_type is (A, B, C, D); q Ακολούθως, δηλώνουµε signals ή variables για την παρούσα και την επόµενη κατάσταση: signal state, next_state : state_type; q state και next_state µπορούν να πάρουν µόνο την τιµή A, B, C, ή D. Προσπάθεια ανάθεσης οποιασδήποτε άλλης τιµής θα δώσει λάθος στην συµβολοµετάφραση. ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.13 Θεοχαρίδης, ΗΜΥ, 2016

Δήλωση Οντότητας & Αρχιτεκτονικής -- 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; begin end; ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.14 Θεοχαρίδης, ΗΜΥ, 2016

Process για Στοιχεία Μνήµης (State Register) -- Process 1 - state_register: implements positive edgetriggered -- state storage with asynchronous reset. q state_register: process (CLK, RESET) begin if (RESET = '1') then else state <= A; if (CLK'event and ClK = '1') then state <= next_state; end if; end if; end process; Πόσα FFs; Εξαρτάται από τον αριθµό των τιµών που µπορούν να πάρουν τα signals state & next_state! Για αυτή την περίπτωση, υπάρχουν 4 δυνατές καταστάσεις (A, B, C, D) και, εποµένως, θα χρησιµοποιηθούν 2 FFs. ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.15 Θεοχαρίδης, ΗΜΥ, 2016

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) begin case state is when A => if X = '1' then next_state <= A; else next_state <= B; end if; when B => if X = '1' then next_state <= C; else next_state <= B; end if; when C => if X = '1' then next_state <= A; else next_state <= D; end if; when D => if X = '1' then next_state <= C; else next_state <= B; end if; 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 ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.16 Θεοχαρίδης, ΗΜΥ, 2016

Process για Συνάρτηση Εξόδου (Output State Function) -- Process 3 - output_function: -- implements output as function of -- input X and state. output_func: process (X, state) begin case state is when A => Z <= '0'; when B => Z <= '0'; when C => Z <= '0'; when D => if X = '1' then Z <= 0'; else Z <= 1'; end if; end case; end process; Υπονοεί µοντέλο Mealy Πίνακας Καταστάσεων next_state Z state X=1 X=0 X=1 X=0 A B A 0 0 B Β C 0 0 C D A 0 0 D B C 0 1 ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.17 Θεοχαρίδης, ΗΜΥ, 2016

Συγχρονισµός µεταξύ των processes q state_register: process (CLK, RESET) state ανανεώνεται βάσει των CLK και RESET q next_state_func: process (X, state) next_state ανανεώνεται βάσει των X και state q output_func: process (X, state) Z ανανεώνεται βάσει των X και state ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.18 Θεοχαρίδης, ΗΜΥ, 2016

Συγχρονισµός (συν.) q Θεωρείστε την ακόλουθη περίπτωση: χρόνος 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 ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.19 Θεοχαρίδης, ΗΜΥ, 2016

Συγχρονισµός (συν.) q Θεωρείστε την ακόλουθη περίπτωση: χρόνος 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 ΗΜΥ210 Δ14 Συµπληρωµατική Διάλεξη: Μοντελοποίηση Ακολουθιακών Κυκλωµάτων στην VHDL.20 Θεοχαρίδης, ΗΜΥ, 2016