μπορεί αυτή η περιγραφή να είναι verilog σύνθεση;

R

Rainboww

Guest
embeded μπλοκ είναι πάντα ένα "@" εκδήλωση, όπως:
... ...
πάντα @ (posedge α)
... ...
αν (... ...)
@ (posedge β) ... ...
... ...
... ...

endmodule

η περιγραφή αυτή μπορεί να είναι σύνθεση; γιατί;

 
W tym roku topowym modelem z kategorii smartfonów Samsunga jest Galaxy S5. Możliwe jednak, że koreańska firma wyda jeszcze jedno urządzenie, które będzie bezpośrednio konkurować z nowym iPhone'm 6.

Read more...
 
Ο κώδικας cann't να συντίθενται!Δεν υπάρχει τέτοια συσκευή, νομίζω.Γιατί γράφουν κώδικα σαν αυτό;

 
Η ανάμιξη ή διαφορετικούς τομείς ρολόι ρολόγια στην ίδια ενότητα.Δεν μπορεί να είναι σύνθεση και πραγματικά δεν θα πρέπει σε τελική ανάλυση.
Δεν είναι καλή πρακτική να γράφουν πάντα @ (posedge α) και κάπου
σε κάθε ιεραρχία πάντα @ (negedge β).
Δίσκος με τη λογική σας: πάντα @ (posedge α) ή negedge ένα μόνο, να έχει posedge ή ενεργοποιείται negedge FFS ή μάνδαλα.pene

 
νοείται ο κωδικός σας πρέπει να είναι γραπτή, είτε "πάντα @ (posedge ένα ή posedge β)", ή "πάντοτε @ (negedge ένα ή negedge β)", έτσι;

αλλά φαίνεται ότι έχω συναντήσει μια περίπτωση όπως:
"Πάντα @ (posedge CLK negedge ή επαναφορά)
αρχίζω
if (! reset)
... ...
... ...
τέλος
... ... "

πώς να ερμηνεύσει αυτή την κατάσταση;;;

3x πολλά

 
Οι καταστάσεις στο εσωτερικό "πάντοτε @ (posedge α)" πρέπει να είναι αυστηρά combinatorial.

χαιρετισμοί,
Buzkiller.

 
Συμφωνία με buzkiller.Οτιδήποτε μέσα στο χρονισμό δήλωση
θα πρέπει να είναι καθαρό combie, φυσικά είτε σε VHDL ή Verilog.

Rainboww, θα συμπεράνει κάνει combinational λειτουργίες χρονισμό
σήματα.Αυτό είναι πολύ κακό, και στην πραγματικότητα πρέπει να υποφέρουν από μετατοπίσεις φάσης
και άλλα πράγματα (θόρυβος, άσκοπες μεταβάσεις).

Μην πραγματοποιείτε COMB-FUNCTIONS ON CLOCK.Αν θέλετε να δημιουργήσετε ένα άλλο ρολόι από το ήδη υπάρχον,
π.χ. χάσμα ρολόι με modulo-N counter.Πάρτε την καταστατική εξόδου.

pene

 
Είναι απολύτως έγκυρη να γράψει:

πάντα @ (negedge RESETN ή posedge CLK) αρχίζουν
if (! RESETN)
COUNT <= 0?
άλλος
COUNT <= COUNT 1?
τέλος

Αυτή η εφαρμογή των σύγχρονων asynchromnous με την ενεργό χαμηλής επαναφέρετε.

 
Είναι καλή ιδέα να συμβουλεύεται "Επαναχρησιμοποίηση Μεθοδολογία εγχειρίδιο" βιβλίο και OpenMORE Αξιολόγηση προγράμματος (Synopsys / Menthor Graphics) σχετικά με το γενικό ύφος κωδικοποίηση (δεν μόνο για τη δυνατότητα επαναχρησιμοποίησης).

Μερικοί βασικοί κανόνες:
1.Ποτέ μην αναμειγνύεται combinational λογική ακολουθία και στην ίδια διαδικασία (πάντα δήλωση)
2.Μόνο ένα ρολόι ανά ενότητα
3.Σαφής καθορισμός των τομέων ρολόι και να αναπτύξει στρατηγική συγχρονισμού μεταξύ τους
4.Βάλτε ρολόι γενιά σε ξεχωριστή λογική ενότητα.Δοκιμάστε να χρησιμοποιήσετε ρολόι gating για ρολόι γενιάς (εάν είναι καθήκον του κύκλου δεν είναι σημαντικό).Εάν πρέπει να χρησιμοποιήσετε ρολόι διανεμητή,
η παραγωγή πρέπει να είναι ταξινομημένα (χρήση δημιουργούνται στο ρολόι DC σύνθεση για το σκοπό).

Πολύ ενδιαφέρον έγγραφο σχετικά με αυτό το θέμα (και DataPath συγχρονισμός) είναι:
"Σύνθεση και Τεχνικές για Scripting Designing Multi-Ασύγχρονη Ρολόι Design" από Clifford Ε. Cummings (SNUG San Jose 2001)

 

Welcome to EDABoard.com

Sponsor

Back
Top