Verilog在另一个模块中调用多路复用器模块

时间:2013-01-25 18:22:19

标签: verilog

我是业余verilog用户和学生,尝试使用verilog构建一个接近最终调用多路复用器(已经设计并在文件中)的模块。但是,当我调用多路复用器并分配其输入时,我收到错误消息:

    Syntax error near "[".

它引用的行是:

    .MUX_in[0](inv_ymux),

所以我要做的就是调用我的4位MUX_in的第一位(在我的多路复用器模块中指定)。我是否正确地这样做了,我应该如何分配呢?

    module multiplexer(MUX_in, S_in, MUX_out);
    input [3:0] MUX_in;
    input [1:0] S_in;
    output MUX_out;

    reg MUX_out;

    always @ (MUX_in or S_in)begin
        case(S_in)
            2'b00: MUX_out = MUX_in[0];
            2'b01: MUX_out = MUX_in[1];
            2'b10: MUX_out = MUX_in[2];
            2'b11: MUX_out = MUX_in[3];
        endcase
    end
    endmodule

以上是多路复用器的模块

1 个答案:

答案 0 :(得分:2)

一种方法是在端口连接中连接其他信号。以下内容将inv_ymuxMUX_in[0]

相关联
mux i0 (
    .MUX_in ({3'b000, inv_ymux}),
    // other port connections
);