/// Module A
module ModuleA #(
    param ParamA: u32 = 10,
) (
    i_clk : input  clock            ,
    i_rst : input  reset            ,
    i_sel : input  logic            ,
    i_data: input  logic<ParamA> [2],
    o_data: output logic<ParamA>    ,
) {
    var r_data: logic<ParamA>;

    always_ff {
        if_reset {
            r_data = 0;
        } else if i_sel {
            r_data = i_data[0];
        } else {
            r_data = i_data[1];
        }
    }

    assign o_data = r_data;
}
