[βοήθεια] ποιο είναι το πρόβλημα με Verilog το πρόγραμμά μου;

B

bigrice911

Guest
Έκανα ένα πρόγραμμα αλλά όταν αυτό οδηγεί σφάλματα κατά την κατάρτιση.

Εύρος πρέπει να οριοθετείται από συνεχείς εκφράσειςΚωδικός:

λειτουργία [8 * `W-1: 0] cast?

input [ `W-1: 0] data_i?

input [2:0] addr_i?index integer?

για (index = 0? δείκτης <8? δείκτης = δείκτης 1)

εάν (addr_i == δείκτης)

cast [ `W * δείκτης 7:` w * ευρετήριο] = data_i? / / Εύρος πρέπει να οριοθετείται από συνεχείς εκφράσεις

άλλος

cast [ `W * δείκτης 7:` w * ευρετήριο] = 'BZ?endfunction
 
[...]
u να δοκιμάσετε άλλους τρόπους
αλλαγή χρήσης
cast = data_i <<addr_i * 'w?
BZ: η επίκλιση εκχωρήσει »

ή mem χρήση
reg [ `W-1: 0] cast [2:0]
για () cast [index] = `w'bz?
cast [addr_i] = data_i?
: δεν θα την καταστήσει κατάλληλη λειτουργία

 
Verilog Assignment Rule:
είδους πρέπει να επιλέξετε σταθερή,
αλλά λίγο επιλέξτε δεν υπάρχει όριο στη διαδικασία εκχωρήσει:
έτσι μπορούν να χρησιμοποιήσουν μια άλλη μέθοδο,
για = 0 (ii? ii <8? ii = ii 1)
εάν (ii == addr_i)
για jj = (0? ΧΚ < `W? jj = jj 1)
cast [ii * `W jj] = data_i [jj]?
άλλος
για jj = (0? ΧΚ < `W? jj = jj 1)
cast [ii * `W jj] = 1'bz?

 
xigu, σας ευχαριστώ πολύ!
απάντησή σας με έκανε να κατανοήσει λάθος μου και η λύση την εργασία σας ΔΟΣΗΣ!

 

Welcome to EDABoard.com

Sponsor

Back
Top