Comment passer de la matrice de structure entre les deux verilog modules

Je suis en train de passer d'une structure de tableau comme reg [0:31]instructionmem[0:31] entre les deux modules.

J'ai codé comme suit :

Module N ° 1:

       module module1(instructionmem);
            output reg [0:31]instructionmem[0:31];
            ------------------
            ----lines of code---

            ---------------
       endmodule 

Module N ° 2:

         module module2(instructionmem);
           input [0:31]instructionmem[0:31];
           --------------------------------
           -----line of code---------------
           -------------------------------
           endmodule

Testbench:

     module test_bench();
     wire [0:31]instructionmem[0:31];

     module1 m1(instructionmem);
     module2 m2(instructionmem);
     endmodule

J'obtiens des erreurs pour cette mise en œuvre. Alors, comment pouvons-nous envoyer de telles structures de matrices ?

avez-vous essayé de définir comme output/input reg/wire [31:0]instructionmem[0:31];, c'est à dire en changeant l'ordre de la largeur de la définition.
ya j'ai essayé, mais cela ne fonctionne pas non plus.
Je crois que c'est uniquement pris en charge en SystemVerilog, avez-vous activé SystemVerilog mode parfois à l'aide de .sv extension de fichier, soit en cours d'exécution avec un -sv drapeau

OriginalL'auteur Nilesh Agrawal | 2013-05-04