Verilog结构说明中的调用数组

时间:2018-10-27 17:34:24

标签: verilog

我试图仅将部分数组从一个Verilog模块传递给另一个Verilog模块,每次修改代码时都会遇到错误。

代码如下:

模块1:

module Koge_4(A,B,Cin,S,Cout);
input [3:0] A,B;
input Cin;
output [3:0]S;
output Cout;

模块2:

module Koge_64(A,B,Cin,S,Cout);
input [63:0]A,B;
input Cin;
output [63:0]S;
output Cout;
wire [15:0]c;
Koge_4 K1  ([3:0]A,[3:0]B,Cin,[3;0]S,c[0]); // sample structural code

我基本上是想在模块2中为输入向量的每4位调用4位(模块1)。因此对64位调用了16次。

1 个答案:

答案 0 :(得分:0)

在示例中您缺少endmodule,并且完全无法使用Verilog语法(请参见toolic的注释)。请阅读Verilog教程。

这是您可以编译的代码的清理版本。

module Koge_4(A,B,Cin,S,Cout);
   input [3:0] A,B;
   input Cin;
   output [3:0]S;
   output Cout;
endmodule

module Koge_64(A,B,Cin,S,Cout);
   input [63:0]A,B;
   input Cin;
   output [63:0]S;
   output Cout;

   wire [15:0]c;

   Koge_4 K1  (A[3:0], B[3:0], Cin, S[3:0], c[0]); // sample structural code
endmodule // Koge_64