Περιγραφή Κυκλωμάτων με χρήση της VHDL Οντότητες και συντρέχουσες δηλώσεις
Οργάνωση Παρουσίασης Οντότητα (Entity) Συντρέχουσα VHDL (Concurrent VHDL) Συντρέχουσες Δηλώσεις (Concurrent Statements) Αντικείμενα - Κλάσεις - Τύποι Δεδομένων Συμπληρωματική βιβλιογραφία / αναφορές ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 2
Οντότητα - Entity Καθορίζει την επικοινωνία (interface) του component με το περιβάλλον Αποτελείται από τις δηλώσεις: του ονόματος του entity που είναι ίδιο με το όνομα του component των σημάτων εισόδου/εξόδου ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 3
Οντότητα - Entity Σύνταξη: ENTITY <identifier_name> IS PORT ( [signal] <identifier> : [mode] <type_indication> ; [signal] <identifier> : [mode] <type_ indication >) ; END [<identifier_name>] ; ΣΗΜΕΙΩΣΗ Στη συνέχεια τα παραδείγματα προϋποθέτουν ότι χρησιμοποιείται τις αρχικές δηλώσεις: LIBRARY ieee; USE ieee.std_logic_1164.all; ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 4
Οντότητες - Παραδείγματα Όνομα ENTITY vhdl_comp IS PORT (signal a,b : in std_logic; signal c : out std_logic); END vhdl_comp ; Δηλώσεις σημάτων εισόδου / εξόδου Εναλλακτική περιγραφή: ENTITY vhdl_comp IS PORT (a,b : in std_logic ; -- Είσοδος c : out std_logic) ; -- Έξοδος END ; ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 5
Καταστάσεις Σημάτων Εισόδου/Εξόδου in : Σήμα εισόδου Ανάγνωση σήματος out : Σήμα εξόδου Εγγραφή σήματος inout : Σήμα εισόδου/εξόδου Ανάγνωση και εγγραφή σήματος Σήμα διπλής κατεύθυνσης (bi-directional) buffer : Διάβασμα, επανεγγραφή και αποθήκευση τιμής Είναι πάντοτε σήμα εξόδου και όχι διπλής κατεύθυνσης Επιτρέπεται μόνο μία ανάθεση εντός της αρχιτεκτονικής ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 6
Καταστάσεις Σημάτων Εισόδου/Εξόδου Entity In_Port Var:=in_port; In_port <= 5; (Illegal) Entity Out_Port Var:=in_port; (Illegal) In_port <= 5; Entity InOut_Port Inout_port <=7; Var:=Inout_port; Entity Buffer Buffer<=7; Buffer<=12; (Illegal) ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 7
Αρχιτεκτονική Υπομονάδας Καθορίζει τη λειτουργία του component Αποτελείται από : τις δηλώσεις εσωτερικών σημάτων, μεταβλητών κ.λ.π. την περιγραφή της λειτουργίας του component ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 8
Αρχιτεκτονική Υπομονάδας Σύνταξη: Όνομα αρχιτεκτονικής ARCHITECTURE <architecture_name> OF <entity_identifier> IS [declarative_part] BEGIN <architecture_statement_part> end [<architecture_name>] ; Δήλωση σημάτων, μεταβλητών, σταθερών, attributes κ.λ.π. Περιγραφή λειτουργίας Όνομα του entity στο οποίο ανήκει ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 9
Αρχιτεκτονική Υπομονάδας Κάθε υπομονάδα μπορεί να έχει περισσότερες από μια αρχιτεκτονικές Διαφορετικές περιγραφές σε διαφορετικά ιεραρχικά επίπεδα Μια αρχιτεκτονική είναι ενεργή κάθε φορά ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 10
Αρχιτεκτονική Υπομονάδας Παράδειγμα: ENTITY nand IS PORT ( a, b : IN std_logic; c : OUT std_logic); END nand ; Entitiy Arch. 1 Arch. 2 Arch. 3 ARCHITECTURE nand_struct OF nand IS ARCHITECTURE nand_behav OF nand IS BEGIN c <= a NAND b ; END nand ; SIGNAL int : std_logic; BEGIN int <= a AND b; c <= NOT int ; END nand ; ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 11
Αθροιστής ενός ψηφίου LIBRARY ieee; USE ieee std_logic_1164.all; Δήλωση βιβλιοθηκών και πακέτων ENTITY HA IS PORT ( a, b : IN std_logic; c, s : OUT std_logic); END HA; ARCHITECTURE rtl OF HA IS BEGIN s <= a XOR b; c <= a AND b; a END rtl; b Περιγραφή οντότητας Περιγραφή αρχιτεκτονικής s c ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 12
Σήματα Η λειτουργία του υλικού είναι «παράλληλη» από τη φύση της Κάθε φορά που αλλάζει το δυναμικό των ηλεκτρικών σημάτων αλλάζουν ταυτόχρονα και οι λογικές τιμές αυτών Ανάγκη ύπαρξης κατάλληλων δομών που να μοντελοποιούν την παράλληλη λειτουργία του υλικού Δηλώσεις ταυτοχρονισμού (Concurrent statements) Concurrent objects - Signals Τα σήματα στη VHDL μοντελοποιούν φυσικές ηλεκτρικές συνδέσεις!!! ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 13
Ανάθεση Τιμής Σήματος Σύνταξη: Signal Assignment: <target_identifier> <= <expression> ; Signal Assignment with delay: <target_identifier> <= <expression> AFTER 10 ns; Παράδειγμα: a<= 0 ; a<=b AFTER 10ns; c<= a NOR b; a<= NOT b AFTER 5 ns;!!!οι αναθέσεις τιμών με χρονική καθυστέρηση (after) δεν συνθέτονται!!! Xρησιμοποιούνται για μοντελοποίηση και εξομοίωση ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 14
Σειρά ανάθεσης τιμών σε σήματα Οι συντρέχουσες δηλώσεις ενεργοποιούνται από συμβάντα (event-driven) και εκτελούνται ταυτόχρονα Ανεξάρτητα από τη σειρά εμφάνισης στο VHDL κώδικα ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 15
Σειρά ανάθεσης τιμών σε σήματα Παράδειγμα: ARCHITECTURE example OF ex IS BEGIN a <= b; b <= c; END example; ARCHITECTURE example OF ex IS BEGIN b <= c; a <= b; END example; C B A Ίδιο κύκλωμα ανεξάρτητα από τη σειρά ανάθεσης τιμών ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 16
Δήλωση When When Statement: <target> <= <expres.> [AFTER <expres.> ] WHEN <expres.> ELSE <expres.> [AFTER <expres.> ] ; Πρέπει πάντοτε να ανατίθεται τιμή στο target σήμα Χρήση else στο τέλος αν υπάρχουν επιπλέον τιμές της συνθήκης που δεν εμφανίζονται Η VHDL 93 επιτρέπει να μην υπάρχει το τελευταίο else αλλά αυτό δεν είναι συνθέσιμο Γενικά το μεγαλύτερο μέρος της VHDL 93 δεν υποστηρίζεται από τα εργαλεία σύνθεσης ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 17
Δήλωση When ARCHITECTURE rtl OF ex IS BEGIN q <= a WHEN data = 00 ELSE b WHEN data = 11 ELSE c; END; ARCHITECTURE rtl OF three_state IS BEGIN dbus <= data WHEN enable = 1 ELSE Z ; END; a b c q enable data dbus data Όταν το data είναι std_logic_vector: dbus <= data WHEN (enable = 1 ) ELSE (OTHERS => Z ); ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 18
Δήλωση When Επιτρέπεται η χρήση περισσότερων του ενός σημάτων στην συνθήκη Προσδίδει μεγαλύτερη ευελιξία και χρησιμότητα ΠΡΟΣΟΧΗ!!! Η σειρά με την οποία εμφανίζονται οι συνθήκες στον κώδικα είναι σημαντική Ο κώδικας εντός του when (concurrent statement) είναι ακολουθιακός => Η σειρά εμφάνισης των συνθηκών είναι σημαντική q <= a WHEN en= 0 ELSE b WHEN data= 11 ELSE c WHEN enable= 1 ELSE d; Εάν η δεύτερη και τρίτη γραμμή είναι αληθείς τότε το σήμα q παίρνει την τιμή του c ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 19
Δήλωση with With Statement: <with> <expression> SELECT <target> <= <expression> WHEN <chose>; ENTITY example IS PORT ( a,b,c : IN std_logic; data : IN std_logic_vector (1 DOWNTO 0); q : OUT std_logic); END example; ARCHITECTURE rtl OF example IS BEGIN WITH data SELECT q <= a WHEN 00, b WHEN 11, c WHEN OTHERS; END; ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 20
Δήλωση with With Statement: <with> <expression> SELECT <target> <= <expression> WHEN <chose>; Όλες οι καταστάσεις του σήματος που οδηγείται πρέπει να απαριθμούνται Χρήση when others Λιγότερο ευέλικτη σε σύγκριση με τη δήλωση when Η δήλωση with επιτρέπει μόνο μια έκφραση (expression) ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 21
Δήλωση assert Χρησιμοποιείται για τον έλεγχο συνθηκών και επιστρέφει (στο χρήστη ή στον εξομοιωτή) ένα error όταν η συνθήκη δεν ικανοποιείται Χρήση κυρίως στα testbenches ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 22
Δήλωση assert assert <condition> report <message> severity <error_level> assert in0/= X and in1/= X report in is not connected severity error; ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 23
Αντικείμενα Κλάσεις - Τύποι Δεδομένων Κλάση Αντικείμενο Τύπος Δεδομένων Signal a: std_logic; Κάθε αντικείμενο ανήκει σε μια κλάση και έχει έναν τύπο δεδομένων Κλάση -- Τρόπος χειρισμού αντικειμένου Τύπος Δεδομένων -- Είδος δεδομένων του αντικειμένου Κλάσεις: Σήματα, Μεταβλητές, Σταθερές ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 24
Τύποι δεδομένων ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 25
Τύπος Απαρίθμησης (Enumerated Type) Καθορίζει ένα σύνολο τιμών που μπορεί να πάρει ένα αντικείμενο Χρησιμοποιούνται σε μεγάλο βαθμό για τη δήλωση των καταστάσεων μιας FSM Παράδειγμα: TYPE bit IS ( 0, 1 ); TYPE states IS (IDLE, RECEIVE, SEND); Ένα αντικείμενο τύπου bit (παραπάνω) μπορεί να πάρει μόνο τις τιμές 1 και 0. ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 26
Numerical Types Ακέραιος: Καθορίζει ένα σύνολο ακέραιων τιμών TYPE my_int IS RANGE 0 TO 15; H VHDL εμπεριέχει ένα προκαθορισμένο ακέραιο τύπο-integer- TYPE integer IS RANGE -2147483647 TO 2147483647; Είναι χρήσιμο να δηλώνεται το ακριβές εύρος του ακεραίου για λόγους μνήμης Πραγματικός: Καθορίζει ένα σύνολο πραγματικών αριθμών TYPE real IS RANGE -1.0e38 TO 1.0e38; ΠΡΟΣΟΧΗ!!! Δεν υποστηρίζεται από κανένα εργαλείο σύνθεσης ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 27
Physical Types Η VHDL υποστηρίζει τύπους για τη μοντελοποίηση φυσικών μεγεθών όπως ο τύπος time TYPE time IS RANGE -2147483647 TO 2147483647 units fs; ps=1000 fs; ns=1000 ps;. END units; Υποστηρίζει επίσης αντιστάσεις και πυκνωτές ΠΡΟΣΟΧΗ!!! Δεν υποστηρίζονται από κανένα εργαλείο σύνθεσης Χρησιμοποιούνται μόνο για εξομοίωση και για καθορισμό των προδιαγραφών (simulation and specification models) ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 28
Array Types Ο τύπος πίνακα (array) καθορίζει μια συλλογή τιμών του ίδιου τύπου. Διακρίνονται σε constraint και unconstraint. Constraint: Ο αριθμός των στοιχείων και το όνομα (index) του κάθε στοιχείου είναι προκαθορισμένα και αμετάβλητα TYPE byte IS array (7 DOWNTO 0) OF bit; CONSTANT seven : byte := 00000111 Κάθε αντικείμενο τύπου byte αποτελείται από 8 στοιχεία Κάθε στοιχείο έχει ένα προκαθορισμένο «όνομα» seven(0), seven(4) ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 29
Array Types Ο τύπος πίνακα (array) καθορίζει μια συλλογή τιμών του ίδιου τύπου. Διακρίνονται σε constraint και unconstraint. Unconstraint: Ο αριθμός και το όνομα κάθε στοιχείου δεν καθορισμένα TYPE bit_vector IS array (natural range < >) OF bit; CONSTANT eight: bit_vector (3 DOWNTO 0) := 0011 ; ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 30
ΙΕΕΕ-1076 Προκαθορισμένοι τύποι Το πρότυπο IEEE-1076 περιλαμβάνει τους ακόλουθους τύπους δεδομένων TYPE bit IS ( 0, 1 ); TYPE bit_vector IS array (integer RANGE < >) OF bit; TYPE integer IS RANGE minint TO maxint; SUBTYPE positive IS integer RANGE 0 TO maxint; SUBTYPE natural IS integer RANGE 0 TO maxint; TYPE boolean IS (true, false); ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 31
ΙΕΕΕ-1076 Προκαθορισμένοι τύποι Περιορισμοί: Μη δυνατότητα περιγραφής three-state Μη δυνατότητα οδήγησης σήματος από περισσότερα του ενός σήματα Μη μοντελοποίηση αδιάφορων καταστάσεων (don t care) Ανάπτυξη των τύπων std_logic_vector και std_ulogic_vector ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 32
Τύποι δεδομένων std_ulogic / std_logic Std_ulogic: U -- Un-initialized X -- Forcing unknown 0 -- Forcing 0 1 -- Forcing 1 Z -- High impendance W -- Weak unknown L -- Weak 0 H -- Weak 1 - -- don t care Std_logic Ίδιες τιμές με std_ulogic Επίλυση συγκρούσεων (conflicts) όταν ένα σήμα οδηγείται από περισσότερους του ενός σήματα / οδηγούς (drivers) ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 33
Τύποι δεδομένων std_ulogic / std_logic ENTITY ex IS Entity ex is PORT ( d,c,en1.en2: IN std_logic; port( d,c,en1,en2: dbus: in std_logic; OUT std_logic); END; dbus: out std_logic); end; ARCHITECTURE rtl OF ex IS Architecture BEGIN rtl of ex is begin dbus <= d WHEN en1= 1 ELSE Z ; dbus<= <= d wc hen WHEN enable1='1' en2= 1 else ELSE 'Z'; Z ; END; dbus<= c w hen enable2='1' else 'Z'; end ; EN1 D EN2 C DBUS ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 34
Τύποι δεδομένων std_ulogic / std_logic ENTITY ex IS PORT ( d,c,en1.en2: IN std_logic; OUT std_logic); Entity ex is port( d,c,en1,en2: in std_ulogic; dbus: dbus: out std_ulogic); end; END; Architecture ARCHITECTURE rtl of ex rtl is OF ex IS begin BEGIN dbus<= d w hen enable='1' else 'Z'; dbus<= c w hen enable2='1' else 'Z'; end ; dbus <= d WHEN en1= 1 ELSE Z ; dbus <= d WHEN en2= 1 ELSE Z ; END; ERROR ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 35
Ανάθεση Σήματος Παράδειγμα ARCHITECTURE concurrent OF ex IS SIGNAL z, a, b, c, d :std_logic; BEGIN z <= a AND b; z <= c AND d; END concurrent; a b c d? z Resolution function Τα σήματα είναι std_logic Κάθε συντρέχουσα ανάθεση δημιουργεί έναν οδηγό (driver) στο σήμα στο οποίο γίνεται η ανάθεση ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 36
Mixed Types Η VHDL είναι strongly typed language Όλες οι μεταβλητές και τα σήματα πρέπει να είναι κάποιου τύπου Οι πράξεις, αναθέσεις κ.λ.π. πρέπει να γίνονται σε μεταβλητές \ σήματα του ιδίου τύπου SIGNAL a: std_logic := 0 ; SIGNAL b, c : bit := 0 ; c <= a AND b; Compilation error ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 37
Εμβέλεια Αντικειμένων Η VHDL βάζει περιορισμούς στην εμβέλεια του κάθε αντικειμένου Η εμβέλεια του αντικειμένου καθορίζεται από το τμήμα του κώδικα που αυτό δηλώνεται Εμβέλεια αντικειμένων Αντικείμενα που δηλώνονται σε πακέτο (package) είναι ορατά από όλες τις οντότητες που χρησιμοποιούν το πακέτο Αντικείμενα που δηλώνονται σε οντότητα είναι ορατά από όλες τις αρχιτεκτονικές που ανήκουν στην οντότητα Αντικείμενα που δηλώνονται σε μια αρχιτεκτονική είναι ορατά μόνο εντός της αρχιτεκτονικής Αντικείμενα που δηλώνονται σε μια διεργασία είναι ορατά μόνο εντός της διεργασίας ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 38
Βιβλιογραφία / άλλες πηγές P. Ashenden, The Designer s Guide to VHDL, Morgan Kaufman Publishers, 1996 S. Sjoholm and L. Lennart, VHDL for Designers, Prentice Hall, 1997 B. Cohen, VHDL Coding Styles and Methodologies, Kluwer Academic Publishers, 1999 Z. Navabi, VHDL-Analysis and Modeling of Digital Systems, Mc Graw-Hill, 1993 VHDL cookbooks of the synthesis tools ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 39
Βιβλιογραφία / άλλες πηγές On-line μαθήματα σε ASIC/VHDL design: http://www.dacafe.com/asics.htm http://www.ecs.umass.edu/ece/vspgroup/burleso n/courses/558/ http://mikro.e-technik.uni-ulm.de/vhdl/anlengl.vhd/html/vhdl-all-e.html http://www.eas.asu.edu/~yong598d/vhdl_links. html ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 40
Βιβλιογραφία / άλλες πηγές Tutorials/Papers: http://www.vhdl.org/fmf/wwwpages/fmf_ecl_m odels_paper.html http://www.bluepc.com/download.html#downloa dtop http://www.symphonyeda.com/products.htm http://www.angelfire.com/electronic/in/vlsi/vhdl.ht ml#vhdl ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 41
Βιβλιογραφία / άλλες πηγές Freeware VHDL/Synthesis tools: http://www-asim.lip6.fr/recherche/alliance/ http://www.bluepc.com/download.html#downloa dtop http://www.symphonyeda.com/products.htm http://www.ececs.uc.edu/~paw/savant/ http://www.aldec.com/downloads/ ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 42
Βιβλιογραφία / άλλες πηγές Άλλες πηγές: http://www.ieee.org http://www.acm.org http://www.vhdl.org http://tech-www.informatik.uni-hamburg.de/vhdl/ http://www.eeglossary.com/vhdl.htm http://www.ent.ohiou.edu/~starzyk/network/class /ee514/intro.html ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ 43