DATA FLOW DESCRIPTION

 

1. Eνα Πρώτο Παράδειγμα

Στην μέθοδο Data Flow, τα κυκλώματα σχεδιάζονται δείχνοντας πώς οι είσοδοι και οι έξοδοι από απλά κυκλώματα (πχ πύλη AND) συνδέονται μεταξύ τους. Με άλλα λόγια περιγράφουμε πώς τα σήματα (data) ρέουν μέσα στο κύκλωμα.

Ας δούμε το πρώτο παράδειγμα.

Υποθέτουμε ότι θέλουμε να περιγράψουμε το παρακάτω SR latch όπως φαίνεται στο σχήμα, χρησιμοποιώντας VHDL .

Μπορούμε να φτιάξουμε μία οντότητα (entity) όπως αυτή που ακολουθεί.

entity latch is

port (s , r : in bit;

q , nq : out bit);

end latch;

architecture dataflow of latch is

begin

q<=r nor nq;

nq<= s nor q;

end dataflow;

Όπως σε προηγούμενη ενότητα, η οντότητα περιγράφει το interface στην σχεδίαση. Υπάρχουν τέσσερα σήματα s,r,q και nq τα οποία είναι εξωτερικά στην σχεδίαση και αυτά τα μοντελοποιούμε στην VHDL σχεδίασή μας με τον τύπο bit, ο οποίος αναπαριστά λογικές τιμές δύο επιπέδων.

Το τμήμα architecture περιγράφει την εσωτερική λειτουργία της σχεδίασης. Στην μέθοδο Data Flow δείξαμε πώς τα data ρέουν από τις εισόδους στις εξόδους. Στην VHDL αυτό γίνεται με την δήλωση αποστολής σημάτων (signal assignment statement). Στο τμήμα architecture του παραδείγματος υπάρχουν δύο τέτοιες δηλώσεις.

Μία δήλωση αποστολής σήματος περιγράφει πώς τα data ρέουν από τα σήματα στο δεξιό τμήμα του τελεστή <= στα σήματα στο αριστερό του τμήμα. Η πρώτη δήλωση αποστολής σήματος μας λέει πως τα δεδομένα που έρχονται από τα σήματα r και nq ρέουν μέσα από μία πύλη nor για να καθορίσουν την τιμή του σήματος q. Η πύλη nor καλείται τελεστής (operator) γιατί επενεργεί πάνω σε κάποια data έτσι ώστε να δημιουργήσει νέα data.

Η δεύτερη δήλωση αποστολής σήματος είναι παρόμοια με την πρώτη , δείχνει ότι το σήμα nq παράγεται από data (s και q) τα οποία ρέουν μέσα από τον τελεστή nor.

Το δεξιό τμήμα του τελεστή <= καλείται expression. Η αξία της expression ορίζεται εκτιμώντας την expression. Αυτό γίνεται αντικαθιστώντας τις τιμές των σημάτων στην expression και υπολογίζοντας το αποτέλεσμα του κάθε τελεστή (operator) στην expression.

 

Επιστροφή στη Data Flow Description