Structural VHDL. Structural VHDL

Σχετικά έγγραφα
Εισαγωγή στη Γλώσσα VHDL

Library, package και subprograms

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Introduction to IP Cores

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

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

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

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

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


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

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

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

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

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

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

VHDL Introduction. Subtitle

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

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

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

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

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

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


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

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

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

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

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

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

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

(Peter Ashenden, The Students Guide to VHDL)

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

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 9η-10η ΑΡΙΘΜΗΤΙΚΗ-ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΕΝΟΣ ΨΗΦΙΟΥ (1-BIT ALU)

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

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

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

ΑΣΚΗΣΗ 1 ΛΟΓΙΚΕΣ ΠΥΛΕΣ (Α)

Παράδειγμα αντιστοίχισης κυκλώματος σε FPGA

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

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

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

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

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

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

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

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

Ψηφιακή Λογική και Σχεδίαση

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

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

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

Transcript:

Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected inputs Generic map command Generate command Configuration Παράδειγμα 4-bit Adder Ασκήσεις - Προβλήματα Structural VHDL 12/9/2009 Structural VHDL 148

Structural VHDL Η Structural VHDL μπορεί να χρησιμοποιηθεί για ιεραρχικούς σχεδιασμούς (hierarchical design). Βάσει μίας entity (class) μπορούν να υλοποιηθούν πολλά components (class instances objects). Η διασύνδεση των components περιγράφεται με την Structural VHDL. Για να περιγράψουμε ένα κύκλωμα σε Structural VHDL ξεκινάμε από το λογικό διάγραμμά του. περιέχει τις αρχές του κυκλώματος δεν είναι απαραίτητο να περιέχει όλες τις λεπτομέρειες. Η Structural VHDL μπορεί κατ αυτό τον τρόπο να αντικαταστήσει ένα σχηματικό και είναι ανεξάρτητη από το περιβάλλον σχεδιασμού, αφού η περιγραφή γίνεται σε VHDL. Αυτός ο τρόπος προγραμματισμού είναι πολύ χρήσιμος παρότι παρουσιάζει κάποια δυσκολία στην ανάγνωσή του. 12/9/2009 Structural VHDL 149

Παράδειγμα Multiplexer 12/9/2009 Structural VHDL 150

Παράδειγμα Multiplexer -- -- File: c:\my designs\struct_mux\src\mux.vhd -- Mux Structural. Created by Design Wizard: 02/05/01 13:16:58 -- library IEEE; use IEEE.std_logic_1164.all; entity and_comp is port (a, b: in STD_LOGIC; c: out STD_LOGIC); end and_comp; architecture rtl of and_comp is begin c <= a and b; end rtl; 12/9/2009 Structural VHDL 151

library IEEE; use IEEE.std_logic_1164.all; entity or_comp is port (a, b: in STD_LOGIC; c: out STD_LOGIC); end or_comp; architecture rtl of or_comp is begin c <= a or b; end rtl; library IEEE; use IEEE.std_logic_1164.all; entity inv_comp is port (a : in STD_LOGIC; b : out STD_LOGIC); end inv_comp; architecture rtl of inv_comp is begin b <= not a; end rtl; Παράδειγμα Multiplexer 12/9/2009 Structural VHDL 152

library IEEE; use IEEE.std_logic_1164.all; entity mux is port (d0, d1, sel: in STD_LOGIC; q: out STD_LOGIC); end mux; architecture mux_struct of mux is -- Component declaration component and_comp port (a, b: in STD_LOGIC; c: out STD_LOGIC); end component; component or_comp port (a, b: in STD_LOGIC; c: out STD_LOGIC); end component; component inv_comp port (a : in STD_LOGIC; b : out STD_LOGIC); end component; signal i1, i2, sel_n : STD_LOGIC; Παράδειγμα Multiplexer 12/9/2009 Structural VHDL 153

Παράδειγμα Multiplexer -- Component Specification for U1 : inv_comp Use Entity work.inv_comp(rtl); for U2, U3 : and_comp Use Entity work.and_comp(rtl); for U4 : or_comp Use Entity work.or_comp(rtl); begin -- Component instantiation U1 : inv_comp port map(sel,sel_n); U2 : and_comp port map(d0,sel,i1); U3 : and_comp port map(sel_n,d1,i2); U4 : or_comp port map(i1,i2,q); end mux_struct; 12/9/2009 Structural VHDL 154

Παράδειγμα Multiplexer 12/9/2009 Structural VHDL 155

Component Ένα component δηλώνεται μεταξύ του architecture και του begin, στο συντρέχον (concurrent) μέρος του κώδικα. Η σειρά με την οποία δηλώνουμε τα signals στην εντολή port πρέπει να είναι ακριβώς η ίδια όπως στην entity του component, διαφορετικά θα παρουσιαστεί λάθος στο compilation. 12/9/2009 Structural VHDL 156

Component 12/9/2009 Structural VHDL 157

Component specification Ο ορισμός (specification) ενός component γίνεται με την εντολή Use και χρησιμοποιείται κυρίως για την επιλογή της αρχιτεκτονικής κατά την προσομοίωση. Τα εργαλεία της σύνθεσης επιτρέπουν την ύπαρξη των ορισμών μέσα στον κώδικα αλλά δεν τις λαμβάνουν υπ όψη. 12/9/2009 Structural VHDL 158

Component specification Ένα component στην VHDL μπορεί να περιγράφεται σε διάφορες αρχιτεκτονικές. 12/9/2009 Structural VHDL 159

Port map command Η σύνδεση μεταξύ των components γίνεται με την εντολή port map. Πρέπει να δίνεται προσοχή στη σειρά των σημάτων Παραδείγματα U2 : and_comp port map(d0, sel, i1); U2 : and_comp port map( a => d0, b = >sel, c => i1 ); Ως label μπορεί να χρησιμοποιηθεί οποιοδήποτε όνομα. 12/9/2009 Structural VHDL 160

Unconnected outputs Όταν σε ένα component ένα από τα σήματα εξόδου πρέπει να μείνει ασύνδετο τότε χρησιμοποιούμε την λέξη open. Παράδειγμα 12/9/2009 Structural VHDL 161

Unconnected inputs Κανένα από τα σήματα εισόδου δεν επιτρέπεται να είναι ασύνδετο (floating). Εάν ένα σήμα εισόδου δεν χρησιμοποιείται, πρέπει να συνδεθεί στο VCC ή στο GND. Παράδειγμα 12/9/2009 Structural VHDL 162

Unconnected inputs Στη VHDL-93 μπορούμε να κάνουμε mapping στο 0 ή στο 1 Παράδειγμα 12/9/2009 Structural VHDL 163

Generics - Generic map command Τα generics χρησιμοποιούνται συνήθως για να εισάγουν πληροφορία σε ένα μοντέλο. Με την εντολή generic map μπορούμε να αλλάξουμε τις τιμές των generics. 12/9/2009 Structural VHDL 164

Generics - Generic map command 12/9/2009 Structural VHDL 165

Generate command Εάν το ίδιο component πρέπει να υποδεικνύεται πολλές φορές τότε μπορούμε να χρησιμοποιήσουμε την εντολή port map σε ένα loop. 12/9/2009 Structural VHDL 166

Configuration Η configuration συνδέει μία architecture με μία entity. Παράδειγμα 12/9/2009 Structural VHDL 167

Configuration Τα εργαλεία της σύνθεσης αγνοούν όλες τις configurations και απλά συνθέτουν την αρχιτεκτονική η οποία παρουσιάζεται τελευταία. Η configuration χρησιμοποιείται σε προσομοιώσεις. 12/9/2009 Structural VHDL 168

Direct instantiation (VHDL-93) Στη VHDL-93 δεν είναι απαραίτητο να υποδεικνύουμε τα components μέσα στην architecture. 12/9/2009 Structural VHDL 169

Components in package Μπορούμε να ορίσουμε components σε ένα package. Με αυτόν τον τρόπο δεν είναι απαραίτητο να δηλώνουμε τα components στο architecture. 12/9/2009 Structural VHDL 170

Components in package 12/9/2009 Structural VHDL 171

Παράδειγμα 4-bit Adder Full adder 4-bit adder 12/9/2009 Structural VHDL 172

Παράδειγμα 4-bit Adder -- -- File: c:\my designs\str_adder4\src\adder_4.vhd -- 4-bit adder Hierarchical Created by Design Wizard: 02/05/01 20:25:48 -- -- Half Adder library IEEE; use IEEE.std_logic_1164.all; entity half_adder is port ( x, y : in STD_LOGIC; s, c : out STD_LOGIC); end half_adder; architecture dataflow_3 of half_adder is begin s <= x xor y; c <= x and y; end dataflow_3; 12/9/2009 Structural VHDL 173

Παράδειγμα 4-bit Adder -- Full Adder library IEEE; use IEEE.std_logic_1164.all; entity full_adder is port ( x, y, z : in STD_LOGIC; s, c : out STD_LOGIC); end full_adder; architecture struc_dataflow_3 of full_adder is component half_adder port ( x, y : in STD_LOGIC; s, c : out STD_LOGIC); end component; signal hs, hc, tc : STD_LOGIC; begin HA1 : half_adder port map(x, y, hs, hc); HA2 : half_adder port map(hs, z, s, tc); 12/9/2009 Structural VHDL 174

Παράδειγμα 4-bit Adder c <= tc or hc; end struc_dataflow_3; -- 4-bit-adder library IEEE; use IEEE.std_logic_1164.all; entity adder_4 is port (A, B : in STD_LOGIC_VECTOR (3 downto 0); C0: in STD_LOGIC; S : out STD_LOGIC_VECTOR (3 downto 0); C4: out STD_LOGIC); end adder_4; 12/9/2009 Structural VHDL 175

Παράδειγμα 4-bit Adder architecture structural_adder_4 of adder_4 is component full_adder port ( x, y, z : in STD_LOGIC; s, c : out STD_LOGIC); end component; signal C : STD_LOGIC_VECTOR (4 downto 0); begin Bit0 : full_adder port map (B(0), A(0), C(0), S(0), C(1)); Bit1 : full_adder port map (B(1), A(1), C(1), S(1), C(2)); Bit2 : full_adder port map (B(2), A(2), C(2), S(2), C(3)); Bit3 : full_adder port map (B(3), A(3), C(3), S(3), C(4)); C(0) <= C0; C4 <= C(4); end structural_adder_4; 12/9/2009 Structural VHDL 176

Παράδειγμα 4-bit Adder 12/9/2009 Structural VHDL 177

Ασκήσεις - Προβλήματα 1. Να περιγράψετε σε structural VHDL τον multiplexer ο οποίος εικονίζεται στο παρακάτω σχήμα αφού δημιουργήσετε τα components not1, and3, or4. Επαληθεύστε την λογική με προσομοίωση. 12/9/2009 Structural VHDL 178

Ασκήσεις - Προβλήματα 2. Να περιγράψετε σε structural VHDL τον decoder ο οποίος εικονίζεται στο παρακάτω σχήμα αφού δημιουργήσετε τα components not1 και nand3. Επαληθεύστε την λογική με προσομοίωση. 12/9/2009 Structural VHDL 179

Ασκήσεις - Προβλήματα 3. Να περιγράψετε σε structural VHDL το κύκλωμα το οποίο εικονίζεται στο παρακάτω σχήμα αφού δημιουργήσετε τα κατάλληλα components. Επαληθεύστε την λογική με προσομοίωση και διαπιστώστε ότι το κύκλωμα αντιπροσωπεύει έναν full adder. 12/9/2009 Structural VHDL 180

Ασκήσεις - Προβλήματα 4. Σχεδιάστε το κύκλωμα το οποίο περιγράφει ο παρακάτω κώδικας. 12/9/2009 Structural VHDL 181

Ασκήσεις - Προβλήματα 12/9/2009 Structural VHDL 182