data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v
1: b'%Error: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:23: Cannot find file containing module: \'kb_4x4\'\n    kb_4x4 kb\n    ^~~~~~\n        ... Looked in:\n             data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl,data/full_repos/permissive/147690299/kb_4x4\n             data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl,data/full_repos/permissive/147690299/kb_4x4.v\n             data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl,data/full_repos/permissive/147690299/kb_4x4.sv\n             kb_4x4\n             kb_4x4.v\n             kb_4x4.sv\n             obj_dir/kb_4x4\n             obj_dir/kb_4x4.v\n             obj_dir/kb_4x4.sv\n%Error: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:32: Cannot find file containing module: \'display_driver\'\n    display_driver hex0 ( .dig (value [0  +: 4]), .seg (HEX0) );\n    ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:33: Cannot find file containing module: \'display_driver\'\n    display_driver hex1 ( .dig (value [4  +: 4]), .seg (HEX1) );\n    ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:34: Cannot find file containing module: \'display_driver\'\n    display_driver hex2 ( .dig (value [8  +: 4]), .seg (HEX2) );\n    ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:35: Cannot find file containing module: \'display_driver\'\n    display_driver hex3 ( .dig (value [12 +: 4]), .seg (HEX3) );\n    ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:36: Cannot find file containing module: \'display_driver\'\n    display_driver hex4 ( .dig (value [16 +: 4]), .seg (HEX4) );\n    ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:37: Cannot find file containing module: \'display_driver\'\n    display_driver hex5 ( .dig (value [20 +: 4]), .seg (HEX5) );\n    ^~~~~~~~~~~~~~\n%Warning-WIDTH: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:39: Operator ASSIGNW expects 4 bits on the Assign RHS, but Assign RHS\'s SEL generates 1 bits.\n                                                                                               : ... In instance board_top\n    wire [ 3:0] clm_force_en = SW[4];\n                             ^\n                ... Use "/* verilator lint_off WIDTH */" and lint_on around source to disable this message.\n%Warning-WIDTH: data/full_repos/permissive/147690299/lab/33_fsm_keyboard_4x4/rtl/board_top.v:42: Logical Operator COND expects 1 bit on the Conditional Test, but Conditional Test\'s VARREF \'clm_force_en\' generates 4 bits.\n                                                                                               : ... In instance board_top\n    assign GPIO[7:4] = clm_force_en ? clm_force : clm;\n                                    ^\n%Error: Exiting due to 7 error(s), 2 warning(s)\n'
module board_top
(
    input         CLK,
    input  [ 1:0] KEY,
    input  [ 9:0] SW,
    output [ 7:0] HEX0,
    output [ 7:0] HEX1,
    output [ 7:0] HEX2,
    output [ 7:0] HEX3,
    output [ 7:0] HEX4,
    output [ 7:0] HEX5,
    output [ 9:0] LED,
    inout  [35:0] GPIO
);
    wire clk     = CLK;
    wire rst_n   = KEY[0];

    wire [ 3:0] row = GPIO[3:0];
    wire [ 3:0] clm;
    wire [31:0] value;    

    kb_4x4 kb
    (
        .clk    ( clk   ),
        .rst_n  ( rst_n ),
        .row    ( row   ),
        .clm    ( clm   ),
        .value  ( value )
    );

    display_driver hex0 ( .dig (value [0  +: 4]), .seg (HEX0) );
    display_driver hex1 ( .dig (value [4  +: 4]), .seg (HEX1) );
    display_driver hex2 ( .dig (value [8  +: 4]), .seg (HEX2) );
    display_driver hex3 ( .dig (value [12 +: 4]), .seg (HEX3) );
    display_driver hex4 ( .dig (value [16 +: 4]), .seg (HEX4) );
    display_driver hex5 ( .dig (value [20 +: 4]), .seg (HEX5) );

    wire [ 3:0] clm_force_en = SW[4];
    wire [ 3:0] clm_force    = SW[3:0];

    assign GPIO[7:4] = clm_force_en ? clm_force : clm;
    assign LED [3:0] = row;

endmodule
module board_top
(
    input         CLK,
    input  [ 1:0] KEY,
    input  [ 9:0] SW,
    output [ 7:0] HEX0,
    output [ 7:0] HEX1,
    output [ 7:0] HEX2,
    output [ 7:0] HEX3,
    output [ 7:0] HEX4,
    output [ 7:0] HEX5,
    output [ 9:0] LED,
    inout  [35:0] GPIO
);

    wire clk     = CLK;
    wire rst_n   = KEY[0];

    wire [ 3:0] row = GPIO[3:0];
    wire [ 3:0] clm;
    wire [31:0] value;    

    kb_4x4 kb
    (
        .clk    ( clk   ),
        .rst_n  ( rst_n ),
        .row    ( row   ),
        .clm    ( clm   ),
        .value  ( value )
    );

    display_driver hex0 ( .dig (value [0  +: 4]), .seg (HEX0) );
    display_driver hex1 ( .dig (value [4  +: 4]), .seg (HEX1) );
    display_driver hex2 ( .dig (value [8  +: 4]), .seg (HEX2) );
    display_driver hex3 ( .dig (value [12 +: 4]), .seg (HEX3) );
    display_driver hex4 ( .dig (value [16 +: 4]), .seg (HEX4) );
    display_driver hex5 ( .dig (value [20 +: 4]), .seg (HEX5) );

    wire [ 3:0] clm_force_en = SW[4];
    wire [ 3:0] clm_force    = SW[3:0];

    assign GPIO[7:4] = clm_force_en ? clm_force : clm;
    assign LED [3:0] = row;

endmodule