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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

Library, package και subprograms

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

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


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

(Peter Ashenden, The Students Guide to VHDL)

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

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

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

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

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

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

Structural VHDL. Structural VHDL

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

HY220 Pipelines and FSMs Χειμεριν Χειμερι ό Εξ άμη Εξ ν άμη ο

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

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

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

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

VHDL Introduction. Subtitle

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

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

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

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

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

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική και Εφαρμογές»


ΗΥ225 Οργάνωση Υπολογιστών. Εισαγωγή στη Verilog

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

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

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

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

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

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

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

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

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI. 1 ΗΥ330 - Διάλεξη 7η - Ακολουθιακά Κυκλώματα

K24 Ψηφιακά Ηλεκτρονικά 10: Ακολουθιακά Κυκλώματα

Σχεδίαση της Μονάδας Ελέγχου

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

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

Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware

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

Καταχωρητές, Μετρητές και Ακολουθιακά Κυκλώματα

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

Transcript:

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

Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η οποία καθορίζεται από έναν αριθμό πεπερασμένων καταστάσεων, ένα σύνολο συμβάντων εισόδου και μια σειρά μεταβάσεων μεταξύ των παραπάνω καταστάσεων. Η υλοποίηση σε hardware μιας FSM απαιτεί έναν καταχωρητή για την αποθήκευση των καταστάσεων, ένα block συνδυαστικής λογικής το οποίο καθορίζει την μετάβαση μεταξύ των καταστάσεων και ένα block συνδυαστικής λογικής το οποίο καθορίζει την έξοδο της μηχανής.

Mealy: Οι έξοδοι είναι συνάρτηση και της κατάστασης και των εισόδων (οι έξοδοι εξαρτώνται από την κατάσταση στην οποία βρίσκεται η μηχανή και από την τιμή της εισόδου). Moore: Οι έξοδοι είναι συνάρτηση μόνο της κατάστασης (οι έξοδοι εξαρτώνται μόνο από την κατάσταση στην οποία βρίσκεται η μηχανή).

1. Περιγραφή / ορισμός της λειτουργίας του κυκλώματος (functional specification). 2. Διάγραμμα μετάβασης καταστάσεων (state transition diagram). 3. Πίνακας καταστάσεων (state transition table). 4. Κωδικοποίηση καταστάσεων (state encoding). 5. Εξαγωγή λογικών συναρτήσεων. 6. Διάγραμμα κυκλώματος.

ENTITY moore IS PORT( tin: IN std_logic; clk: IN std_logic; areset: IN std_logic; tout: OUT std_logic_vector(3 downto 0) ); END moore; ARCHITECTURE arch OF moore IS -- state declaration (define a type for state and a signal of that type TYPE state_type IS (s0, s1, s2, s3); SIGNAL state: state_type; -- clocked process PROCESS(clk, areset) IF areset = '1' THEN state = s0; ELSIF (clk'event AND clk = '1') THEN CASE state IS WHEN s0 => IF tin = '1' THEN state <= s1; WHEN s1 => IF tin = '0' THEN state <= s2; WHEN s2=> IF tin = '1' THEN state<=s3; WHEN s3=> IF tin = '0' THEN state<=s4; END CASE; --combinational process PROCESS(state) CASE state IS WHEN s0=> res<="0000"; WHEN s1=> res<="1001"; WHEN s2=> res<="1100"; WHEN s3=> res<="1111"; END CASE; END arch;

ENTITY mealy IS PORT( clock: IN STD_LOGIC; test: IN STD_LOGIC; areset: IN STD_LOGIC; res: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END mealy; ARCHITECTURE arch OF mealy IS -- state declaration -- define a type for states and a signal of that type TYPE state_type IS (s0, s1, s2, s3); SIGNAL state: state_type; --clocked process PROCESS(clk, areset) IF areset='1' THEN state<=s0; ELSIF(clk'EVENT AND clk='1') THEN CASE state IS WHEN s0=> IF test='1' THEN state<=s1; WHEN s1=> IF test='0' THEN state<=s2; WHEN s2=> IF test='1' THEN state<=s3; WHEN s3=> IF test='0' THEN state<=s4; END CASE; PROCESS(state, test) CASE state IS WHEN s0=> IF test='1' THEN res<="1001"; ELSE re<="0000"; WHEN s1=> IF test='0' THEN res<="1100"; ELSE res<="1001"; WHEN s2=> IF test='1' THEN res<="1111"; ELSE res<="1100"; WHEN s3=> IF test='1' THEN res<="0000"; ELSE res<="1111"; END CASE; END arc;

ENTITY MEALY IS PORT(A, CLK, RST: INSTD_LOGIC; F: OUT STD_LOGIC); END MEALY; ARCHITECTURE FSM OF MEALY IS SUBTYPE STATE_TYPE IS STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL STATE : STATE_TYPE; CONSTANT S0: STATE_TYPE:="001"; CONSTANT S1: STATE_TYPE:="010"; CONSTANT S2: STATE_TYPE:="100"; SIGNAL CURRENT_STATE, NEXT_STATE : STATE_TYPE; FF: PROCESS (CLK, RST) IF (RST= 1 ) THEN CURRENT_STATE <= S0 ; ELSIF (CLK EVENT AND CLK='1') THEN CURRENT_STATE<= NEXT_STATE; END IF ; LOGIC:PROCESS (A, CURRENT_STATE) CASE CURRENT_STATE IS WHEN S0 => IF (A= 0 ) THEN F <= 0 ; NEXT_STATE <= S0; ELSE F <= 0 ; NEXT_STATE <= S1; WHEN S1 => IF (A= 0 ) THEN F <= 0 ; NEXT_STATE <= S2; ELSE F<= 0 ; NEXT_STATE<=S1; WHEN S2 => IF (A= 0 ) THEN F<= 1 ; NEXT_STATE<=S0; ELSE F<= 0 ; NEXT_STATE<=S1; WHEN OTHERS => CURRENT_STATE <= S0; END CASE; END FSM;

Τα testbench είναι αρχεία VHDL τα οποία χρησιμοποιούνται κατά την προσομοίωση της σχεδίασης για τον έλεγχο της ορθότητας της λειτουργίας της. Δεν περιγράφουν κύκλωμα αλλά τον τρόπο απόδοσης τιμών στις εισόδους ενός κυκλώματος.

ARCHITECTURE behavioral OF counter IS SIGNAL c: STD_LOGIC_VECTOR(3 DOWNTO 0) :=(OTHERS => '0'); -- :="0000" count<=c; PROCESS(clk, reset) IF(clk'EVENT AND clk='1') THEN IF(reset='1') THEN c<="0000"; ELSIF(c="1111") THEN c<="0000"; ELSE c<=c+1; END behavioral;

ENTITY tb IS END tb; ARCHITECTURE behavioral OF tb IS --component declaration / copy & paste port list COMPONENT counter PORT( clk: IN STD_LOGIC; reset: IN STD_LOGIC; count: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT; dut: counter PORT MAP(clk, reset, reset); PROCESS clk<='0'; WAIT FOR clk_period/2; clk<='1'; WAIT FOR clk_period/2; --declare inputs and initialize them SIGNAL clk: STD_LOGIC:= '0'; SIGNAL reset: STD_LOGIC:= '0'; --declare outputs and initialize them SIGNAL count: STD_LOGIC_VECTOR(3 DOWNTO 0); --define clock period CONSTANT clk_period: TIME:= 1 ns; --stimulus PROCESS WAIT FOR 7 ns; reset<='1'; WAIT FOR 3 ns; reset<='0'; WAIT; END behavioral;

6η Ανάθεση Υλοποιείστε ένα testbench για κάθε μία σχεδίαση από τις προηγούμενες εργασία και πραγματοποιείστε μια επιτυχημένη προσμοιώση. Υλοποιείστε και προσομοιώστε τις παρακάτω μηχανές πεπερασμένων καταστάσεων:

6η Ανάθεση

6η Ανάθεση

6η Ανάθεση