[help] wat

B

bigrice911

Guest
Ik maakte een programma maar als het vragen van fouten bij het compileren.

Bereik moet worden begrensd door constante expressiesCode:

functie [8 * `w-1: 0] cast;

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)

cast [ `w * index 7:` w * index] = data_i / / Range moet worden begrensd door constante expressies

anders

cast [ `w * index 7:` w * index] = 'bz;endfunction
 
[...]
U kunt proberen een andere manier
gebruik verschuiving
gegoten = data_i <<addr_i * 'w;
: het cant toewijzen 'bz

of gebruik mem
reg [ `w-1: 0] cast [2:0]
voor () gegoten [index] = "w'bz;
cast [addr_i] = data_i;
: het niet geschikt functie

 
Verilog Opdracht Regel:
deel selecteren moet constant zijn,
maar beetje selecteren geen limiet in procedure toewijzen:
zo kan een andere methode,
voor (ii = 0; ii <8; II = ii 1)
if (ii == addr_i)
voor (jj = 0; JJ < "w; JJ JJ = 1)
cast [ii * `w JJ] = data_i [jj];
anders
voor (jj = 0; JJ < "w; JJ JJ = 1)
cast [ii * `w JJ] = 1'bz;

 
xigu, thank you so much!
uw antwoord maakte me begrepen mijn fout en uw oplossing DOSIS werk!

 

Welcome to EDABoard.com

Sponsor

Back
Top