Βοήθησέ με "μια διαδικασία μητρώο γραφής ΑΡΒ"

M

microe_victor

Guest
Βοηθήστε με αυτό το χαρακτηριστικό ΑΡΒ γραπτή διαδικασία
οποίο περιγράφεται σαν το παρακάτω pic<img src="http://images.elektroda.net/55_1168186101.GIF" border="0" alt="Help me with " a APB writing register process "" title="Βοήθησέ με "μια διαδικασία μητρώο γραφής ΑΡΒ""/>παρακαλούμε να χρησιμοποιήσετε Verilog για να γράψω αυτό, σας ευχαριστώ

PS:
Εδώ είναι ο κωδικός μου, εγώ δεν εφαρμόσουν όλα τα καθήκοντα.Είναι η πρώτη μου φορά για να γράψετε RTL κώδικα, οπότε θεωρώ ότι θα μπορούσε να υπάρχει κάποια παρεξήγηση με το πρωτόκολλο ΑΡΒ
πάντα @ (posedge PCLK)
αρχίζω
αν (PRESET)
αρχίζω
κατάσταση <= INI?
tag_addr <= 0?
δεδομένα <= 32'b0?
τέλος
άλλος
αρχίζω
περίπτωση (κατάσταση)
INI:
αρχίζω
if ((PSELE == 1'b1) & & (PENABLE == 1'b0))
κατάσταση <= SELECT?
άλλος
κατάσταση <= INI?
τέλος
SELECT:
αρχίζω
if ((PSELE == 1'b1) & & (PENABLE == 1'b1))
αρχίζω
κατάσταση <= δυνηθεί?
if (addr == ADDRESS)
tag_addr <= 1'b1?
άλλος
tag_addr <= 1'b0?
τέλος
άλλος
αρχίζω
κατάσταση <= INI?
τέλος
τέλος
ENABLE:
αρχίζω
αν (tag_addr)
δεδομένα <= PDATA?
άλλος
δεδομένα <= δεδομένα?
if ((PSELE == 1'b1) & & (PENABLE == 1'b0))
κατάσταση <= SELECT?
άλλος
κατάσταση <= INI?
τέλος
default:
κατάσταση <= INI?
endcase
τέλος
τέλος

 
Λυπούμαστε αυτή τη θέση δεν επιλύει άμεσα το πρόβλημα σας μέσω κάποιου κωδικού.Αλλά μάλλον την έννοια / ιδέα / διαδικασία που χρησιμοποιείται στη βιομηχανία.Τι ψάχνετε είναι "επαλήθευση" - όταν νομίζετε ότι έχετε κάποια κωδικοποιημένα πράγμα, θα πρέπει να «ελέγξει» κάνει πραγματικά αυτό που προορίζεται να.Υπάρχουν πολλές τεχνικές για αυτό, αλλά το βασικό είναι να αναπτυχθεί μια testbench κάποιου είδους για αυτό.Ρίξτε μια ματιά στην πορεία μου που προσφέρουν σε αυτόν τον τομέα: Συνολική λειτουργική επαλήθευση, βλέπε: www.noveldv.com

Όπως ορισμένοι δείκτες, υπάρχουν εργαλεία που μπορούν να δημιουργήσουν κάποια testvectors μια φορά να δώσετε το διάγραμμα χρονισμού, IIRC - TImingDesigner, TestbenchPro (www.synapticad.com) κλπ. Αλλά τίποτα δεν κτυπά ένα καλά σχεδιασμένο testbench!

HTH
Ajeetha, CVC
www.noveldv.com

 

Welcome to EDABoard.com

Sponsor

Back
Top