首页 > 试题广场 >

以下 Verilog 代码使用 `generate for`

[单选题]
以下 Verilog 代码使用 `generate for` 循环实现了一个参数化的 N 位行波进位加法器。假设该模块在顶层被例化时,参数 `WIDTH` 被设置为 `8`。请问,由 `generate` 块创建的名为 `fa_instance[5].u_fa` 的全加器实例,其 `cin` 输入端口实际连接到的是哪个信号?
module ripple_adder #(parameter WIDTH = 4) (
    input [WIDTH-1:0] a, b,
    input cin,
    output [WIDTH-1:0] sum,
    output cout
);
    wire [WIDTH:0] c;
    assign c[0] = cin;
    assign cout = c[WIDTH];
    genvar i;
    generate
        for (i=0; i < WIDTH; i=i+1) begin : fa_instance
            full_adder u_fa (
                .a(a[i]),
                .b(b[i]),
                .cin(c[i]),
                .sum(sum[i]),
                .cout(c[i+1])
            );
        end
    endgenerate
endmodule
  • c[4]
  • c[5]
  • c[6]
  • 顶层模块的输入端口 cin

这道题你会答吗?花几分钟告诉大家答案吧!