2012-07-16 4 views
3

Je:Comment initialiser un tableau d'entiers?

integer test[7:0]; 

mais je ne peux pas faire:

test[0] = 0; 

ou

assign test[0] = 0; 

ou

intial 
begin 
test[0]=0; 
end 

ou

integer test[7:0] = {0,0,0,0,0,0,0,0,0}; 

Des idées? Juste en utilisant 0 comme exemple, j'ai besoin d'être 26, 40, 32, 18, 50, 0, 20, 12

Répondre

3

Etes-vous sûr que initial ne fonctionne pas (vous pourriez avoir une faute de frappe là-bas ...)?

initial begin 
    for(int i=0; i<8; i++) begin 
    test[i] = i; 
    end 
    $display(test[4]); 
end 

Dans systemverilog, quelque chose comme ce qui suit fonctionnera. Ceux-ci sont appelés « modèles d'affectation »:

integer test[7:0] = '{26, 40, 32, 18, 50, 0, 20, 12}; // note the ' 

Je doute non plus de ce qui précède sont synthétisable, sauf peut-être lors du ciblage d'un FPGA.

+0

Est-ce que 'i' doit être déclaré? – Edmund

+0

le 'i' est déclaré dans l'instruction' for', bien qu'il devrait être réellement 'integer i'. – stanri

Questions connexes