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
τέλος
τέλος
οποίο περιγράφεται σαν το παρακάτω 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
τέλος
τέλος