2014-02-06 208 views
2

我正在寫一個由D ffs組成的8位寄存器,我想知道是否有更簡單的方法可以以更簡單更簡單的方式實例化它,除了我在下面。在Verilog中實例化多個模塊

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]。

回答

4

從的Verilog-95可以有實例的矢量:

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

AQ是矢量寬度匹配實例的數量。 我的理解是,因爲resetclk是1位的工具知道將所有實例連接到這些1位信號。