在Verilog中实例化多个模块

时间:2014-02-06 22:13:15

标签: indexing verilog

我正在编写一个由D ffs组成的8位寄存器,我想知道是否有一种更简单的方法可以用更简单,更简单的方式实例化它,除了我以下的内容。

module multiplicand(
    input [7:0] A,
    output [7:0] RA,
    input reset,
    input LOAD_cmd,
     input clk
    );

d_flipflop ff0(.D(A[0]), .Q(RA[0]) , .reset(reset), .clk(clk) );
d_flipflop ff1(.D(A[1]), .Q(RA[1]) , .reset(reset), .clk(clk) );
d_flipflop ff2(.D(A[2]), .Q(RA[2]) , .reset(reset), .clk(clk) );
d_flipflop ff3(.D(A[3]), .Q(RA[3]) , .reset(reset), .clk(clk) );
d_flipflop ff4(.D(A[4]), .Q(RA[4]) , .reset(reset), .clk(clk) );
d_flipflop ff5(.D(A[5]), .Q(RA[5]) , .reset(reset), .clk(clk) );
d_flipflop ff6(.D(A[6]), .Q(RA[6]) , .reset(reset), .clk(clk) );
d_flipflop ff7(.D(A[7]), .Q(RA[7]) , .reset(reset), .clk(clk) );

endmodule

理想情况下,我想创建一个包含上述所有实例的向量ff [7:0]。

1 个答案:

答案 0 :(得分:4)

从Verilog-95你可以得到一个实例向量:

d_flipflop ff[7:0] (A, Q, reset clk);

AQ是与实例数量匹配的向量。 我的理解是,由于resetclk是1位,因此工具知道将所有实例连接到那些1位信号。