2017-01-30 2 views
1

J'essaye d'initialiser un tableau 2d dans verilog comme indiqué dans l'extrait de code ci-dessous.Déclarer un tableau 2-D dans verilog me donne une erreur redeclaration illégale de la variable

parameter N=4; 
reg [N-1:0] number_c[2**N-1:0]; 
reg [N-1:0] result_c; 

après la compilation Je reçois l'erreur suivante

ERROR:HDLCompilers:27 - "Combinational_output.v" line 24 Illegal redeclaration of 'number_c' ERROR:HDLCompilers:27 - "Combinational_output.v" line 25 Illegal redeclaration of 'result_c'

et mon module ressemble à ce

module Combinational_outputss(output number_c,output result_c 
); 

Répondre

2

Vous confondez ANSI et styles de port non-ANSI. Reportez-vous à la norme IEEE Std 1800-2012, section 23.2.3 Modules paramétrés. Ceci utilise le style ANSI:

module Combinational_outputss #(parameter N=4) 
(
    output reg [N-1:0] number_c[2**N-1:0], 
    output reg [N-1:0] result_c 
);