data/full_repos/permissive/469509877/rtl/libs/Timer.v
1: b"%Error: data/full_repos/permissive/469509877/rtl/libs/Timer.v:31: Cannot find file containing module: 'secondTicker'\n    secondTicker secondTicker (.clk(clk),.frame(frame),.reset(reset), .sec(sec));\n    ^~~~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/469509877/rtl/libs,data/full_repos/permissive/469509877/secondTicker\n             data/full_repos/permissive/469509877/rtl/libs,data/full_repos/permissive/469509877/secondTicker.v\n             data/full_repos/permissive/469509877/rtl/libs,data/full_repos/permissive/469509877/secondTicker.sv\n             secondTicker\n             secondTicker.v\n             secondTicker.sv\n             obj_dir/secondTicker\n             obj_dir/secondTicker.v\n             obj_dir/secondTicker.sv\n%Error: data/full_repos/permissive/469509877/rtl/libs/Timer.v:32: Cannot find file containing module: 'EdgeDetector'\n    EdgeDetector EdgeDetector (.btn(sec), .clkin(clk), .out(secEdge));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/469509877/rtl/libs/Timer.v:34: Cannot find file containing module: 'countU4'\n    countU4 seconds     (.clk(clk), .CE(CE & secEdge), .reset(reset | (UTC1 & secEdge)), .UTC(UTC1), .Q(Q[3:0]));\n    ^~~~~~~\n%Error: data/full_repos/permissive/469509877/rtl/libs/Timer.v:35: Cannot find file containing module: 'countU3'\n    countU3 tenSeconds  (.clk(clk), .CE(CE & secEdge & UTC1), .reset(reset | (UTC1 & UTC2 & secEdge)), .UTC(UTC2), .Q(Q[7:4]));\n    ^~~~~~~\n%Error: data/full_repos/permissive/469509877/rtl/libs/Timer.v:36: Cannot find file containing module: 'countU4'\n    countU4 minutes     (.clk(clk), .CE(CE & secEdge & UTC1 & UTC2), .reset(reset | (UTC1 & UTC2 & UTC3 & secEdge)), .UTC(UTC3), .Q(Q[11:8]));\n    ^~~~~~~\n%Error: data/full_repos/permissive/469509877/rtl/libs/Timer.v:37: Cannot find file containing module: 'countU3'\n    countU3 tenMinutes  (.clk(clk), .CE(CE & secEdge & UTC1 & UTC2 & UTC3), .reset(reset | (UTC1 & UTC2 & UTC3 & UTC4 & secEdge)), .Q(Q[15:12]), .UTC(UTC4));\n    ^~~~~~~\n%Error: Exiting due to 6 error(s)\n"
module Timer(
        input clk,
        input frame,
        input CE,
        input reset,
        output [15:0] Q
    );
    
    wire sec, secEdge;    
    wire UTC1, UTC2, UTC3, UTC4;
    
    secondTicker secondTicker (.clk(clk),.frame(frame),.reset(reset), .sec(sec));
    EdgeDetector EdgeDetector (.btn(sec), .clkin(clk), .out(secEdge));
    
    countU4 seconds     (.clk(clk), .CE(CE & secEdge), .reset(reset | (UTC1 & secEdge)), .UTC(UTC1), .Q(Q[3:0]));
    countU3 tenSeconds  (.clk(clk), .CE(CE & secEdge & UTC1), .reset(reset | (UTC1 & UTC2 & secEdge)), .UTC(UTC2), .Q(Q[7:4]));
    countU4 minutes     (.clk(clk), .CE(CE & secEdge & UTC1 & UTC2), .reset(reset | (UTC1 & UTC2 & UTC3 & secEdge)), .UTC(UTC3), .Q(Q[11:8]));
    countU3 tenMinutes  (.clk(clk), .CE(CE & secEdge & UTC1 & UTC2 & UTC3), .reset(reset | (UTC1 & UTC2 & UTC3 & UTC4 & secEdge)), .Q(Q[15:12]), .UTC(UTC4));

    
endmodule
module Timer(
        input clk,
        input frame,
        input CE,
        input reset,
        output [15:0] Q
    );

    
    wire sec, secEdge;    
    wire UTC1, UTC2, UTC3, UTC4;
    
    secondTicker secondTicker (.clk(clk),.frame(frame),.reset(reset), .sec(sec));
    EdgeDetector EdgeDetector (.btn(sec), .clkin(clk), .out(secEdge));
    
    countU4 seconds     (.clk(clk), .CE(CE & secEdge), .reset(reset | (UTC1 & secEdge)), .UTC(UTC1), .Q(Q[3:0]));
    countU3 tenSeconds  (.clk(clk), .CE(CE & secEdge & UTC1), .reset(reset | (UTC1 & UTC2 & secEdge)), .UTC(UTC2), .Q(Q[7:4]));
    countU4 minutes     (.clk(clk), .CE(CE & secEdge & UTC1 & UTC2), .reset(reset | (UTC1 & UTC2 & UTC3 & secEdge)), .UTC(UTC3), .Q(Q[11:8]));
    countU3 tenMinutes  (.clk(clk), .CE(CE & secEdge & UTC1 & UTC2 & UTC3), .reset(reset | (UTC1 & UTC2 & UTC3 & UTC4 & secEdge)), .Q(Q[15:12]), .UTC(UTC4));

    
endmodule