BEHAVIORAL DESCRIPTIONS
1. Η Δήλωση Διαδικασίας (Process Statement)
Η προσέγγιση συμπεριφοράς (behavioral approach) για να μοντελοποιήσουμε hardware εξαρτήματα είναι διαφορετική από τις δύο άλλες μεθόδους στο ότι δεν είναι απαραίτητο με οποιοδήποτε τρόπο να αντανακλά πώς εφαρμόζεται η σχεδίαση. Βασικά είναι ένα μαύρο κουτί για να πλησιάσουμε το μοντέλο . Μοντελοποιεί με ακρίβεια το τι συμβαίνει στις εισόδους και στις του μαύρου κουτιού αλλά το τι βρίσκεται μέσα (πως δουλεύει) είναι άσχετο. Η περιγραφή συμπεριφοράς (behavioral description) συνήθως χρησιμοποιείται με δύο τρόπους στην VHDL. Πρώτος τρόπος, μπορεί να χρησιμοποιηθεί για να μοντελοποιήσουμε περίπλοκα κυκλώματα κάτι που θα ήταν ανιαρό αν γινόταν με τις άλλες δύο μεθόδους. Ένα παράδειγμα είναι η περίπτωση όπου θέλουμε να εξομοιώσουμε την λειτουργία μιάς δικής μας σχεδίασης συνδεδεμένη με ένα εμπορικό εξάρτημα όπως ένας μικροεπεξεργαστής. Ο μικροεπεξεργαστής είναι πολύπλοκος και η εσωτερική του λειτουργία μας είναι άσχετη (μόνο η εξωτερική του συμπεριφορά μας ενδιαφέρει) οπότε προφανώς θα μοντελοποιούταν χρησιμοποιώντας το συμπεριφοριακό στυλ. Δεύτερος τρόπος, οι συμπεριφοριακές δυνατότητες της VHDL μπορούν να είναι πιό ισχυρές και βολικές για κάποιες σχεδιάσεις.Σε αυτήν την περίπτωση η περιγραφή συμπεριφοράς πιθανόν να προϋποθέτει κάποιες δομές της εφαρμογής.
Οι περιγραφείς συμπεριφοράς υποστηρίζονται από την δήλωση διαδικασίας (process statement). Η δήλωση διαδικασίας μπορεί να εμφανιστεί στο σώμα μίας δήλωσης αρχιτεκτονικής (architecture declaration) όπως ακριβώς και η δήλωση ορισμού σήματος (signal assignment statement) κάνει. Τα περιεχόμενα της δήλωσης διαδικασίας μπορεί να περιλαμβάνουν ακολουθιακές δηλώσεις (sequential statements) όπως αυτές που συναντούμε σε διάφορες γλώσσες προγραμματισμού. Αυτές οι δηλώσεις χρησιμοποιούνται για να υπολογίζουν τις εξόδους της διαδικασίας από τις εισόδους. Οι ακολουθιακές δηλώσεις (sequential statements) είναι συχνά πιό ισχυρές αλλά μερικές φορές δεν έχουν άμεση ανταπόκριση σε μία hardware εφαρμογή. Η δήλωση διαδικασίας μπορεί ακόμη να περιλαμβάνει ορισμούς σημάτων για να καθορίσει τις εξόδους της διαδικασίας.
Το πρώτο παράδειγμα της process statement είναι ασήμαντο και κανονικό αυτό δεν θα γινόταν σε μια process statement. Παρόλα αυτά μας επιτρέπει να εξετάσουμε την process statement χωρίς να έχουμε μάθει πρώτα τις sequential statements.
compute_xor : process (b,c)
begin
a<=b xor c ;
end process ;
Το πρώτο μέρος “ compute_xor: “ χρησιμοποιείται για να ονομάσουμε την διαδικασία. Αυτό το μέρος είναι προαιρετικό. Επόμενη είναι η λέξη κλειδί
process η οποία ορίζει την αρχή μίας διαδικασίας (process) και ακολουθεί μία λίστα από σήματα, η οποία ονομάζεται sensitivity list (λίστα ευαισθησίας). Από την στιγμή που τα περιεχόμενα της process statement δεν δείχνουν κάποια δομικά χαρακτηριστικά, δεν υπάρχει τρόπος να γνωρίζουμε πότε η διαδικασία πρέπει να επανεκτιμηθεί (re-evaluated) για ενημερωθούν οι έξοδοι. Η λίστα ευαισθησίας των σημάτων χρησιμοποιείται για να ορισθούν ποιά σήματα θα κάνουν την διαδικασία να επανεκτιμηθεί. Όταν οποιοδήποτε γεγονός γίνεται σε κάποιο από τα σήματα της λίστας ευαισθησίας, η διαδικασία επανεκτιμάται. Η διαδικασία εκτιμάται με την εκτέλεση κάθε δήλωσης (statement) που αυτή περιέχει. Αυτές οι δηλώσεις ( το σώμα της διαδικασίας) εμφανίζονται μεταξύ των λέξεων κλειδιά begin και end.
Αυτό το παράδειγμα διαδικασίας περιέχει μία δήλωση, τον ορισμό σημάτων (signal assignment). Αντίθετα με τους ορισμούς σημάτων που εμφανίζονται έξω από την process statement, αυτός ο ορισμός σήματος εκτιμάται μόνο όταν προκαλούνται γεγονότα στα σήματα της λίστας ευαισθησίας της διαδικασίας, αδιαφορώντας για το ποιά σήματα εμφανίζονται στο δεξιό μέρος του τελεστή <=. Αυτό σημαίνει ότι είναι σημαντικό να βρίσκονται τα κατάλληλα σήματα στην λίστα ευαισθησίας. Οι δηλώσεις (statements) που βρίσκονται στο σώμα της διαδικασίας εκτελούνται με την σειρά από την αρχή μέχρι το τέλος. Όταν η τελευταία δήλωση έχει εκτελεστεί η διαδικασία σταματάει και λέγεται ότι αναστέλλεται (suspended). Όταν ένα γεγονός προκαλείται σε κάποιο σήμα της λίστας ευαισθησίας, η διαδικασία λέγεται ότι ανακτάται (resume) και οι δηλώσεις θα εκτελεστούν από την αρχή μέχρι το τέλος πάλι. Κάθε διαδικασία εκτελείται μία φορά στην αρχή της εξομοίωσης για καθορισθούν οι αρχικές τιμές των εξόδων της.