【问题标题】:Verilog calling a multiplexer module in another moduleVerilog 在另一个模块中调用多路复用器模块
【发布时间】:2013-01-25 18:22:18
【问题描述】:

我正在尝试使用 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

上面是多路复用器的模块。

【问题讨论】:

    标签: verilog


    【解决方案1】:

    一种方法是连接端口连接中的其他信号。以下将inv_ymux 连接到MUX_in[0]

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

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      相关资源
      最近更新 更多