[help] Quel

B

bigrice911

Guest
J'ai fait un programme, mais quand il invite des erreurs lors de la compilation.

Range doit être délimitée par une manifestationCode:

fonction [8 * `w-1: 0] exprimés;

input [ `w-1: 0] data_i;

input [2:0] addr_i;integer index;

for (index = 0; index <8; index = index 1)

if (addr_i == index)

exprimés [ `w * Index 7:` w * index] = data_i / / Range doit être délimitée par une manifestation

autre

exprimés [ `w * Index 7:` w * index] = 'bZ;endfunction
 
[...]
vous pouvez essayer d'autres moyens
changement de l'utilisation
exprimés data_i = <<addr_i * 'w;
: il cant assign 'bZ

ou de l'utilisation mémoire
reg [ `w-1: 0] casting [2:0]
pour () exprimés [index] = `w'bz;
exprimés [addr_i] = data_i;
: c'est pas la fonction

 
Verilog la règle d'affectation:
doit choisir une partie constante,
mais peu sélectionnez pas de limite dans la procédure, attribuer:
peut donc utiliser une autre méthode,
for (ii = 0; ii <8; ii = ii 1)
if (ii == addr_i)
for (jj = 0; jj < `w; jj = jj 1)
exprimés [ii * `w jj] = data_i [jj];
autre
for (jj = 0; jj < `w; jj = jj 1)
exprimés [ii * `w jj] = 1'bz;

 
xigu,
thank you so much!
votre réponse
m'a fait comprendre mon erreur et que votre solution DOSE travail!

 

Welcome to EDABoard.com

Sponsor

Back
Top