data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v
1: b'%Warning-STMTDLY: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:30: Unsupported: Ignoring delay on this delayed statement.\n            #20;  \n            ^\n                  ... Use "/* verilator lint_off STMTDLY */" and lint_on around source to disable this message.\n%Warning-STMTDLY: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:33: Unsupported: Ignoring delay on this delayed statement.\n            #20;  \n            ^\n%Warning-STMTDLY: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:46: Unsupported: Ignoring delay on this delayed statement.\n            #PERIOD;  \n            ^\n%Warning-STMTDLY: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:60: Unsupported: Ignoring delay on this delayed statement.\n            #PERIOD;  \n            ^\n%Warning-STMTDLY: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:73: Unsupported: Ignoring delay on this delayed statement.\n            #PERIOD;  \n            ^\n%Warning-STMTDLY: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:87: Unsupported: Ignoring delay on this delayed statement.\n            #PERIOD;  \n            ^\n%Warning-STMTDLY: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:102: Unsupported: Ignoring delay on this delayed statement.\n            #PERIOD;  \n            ^\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:17: Cannot find file containing module: \'fNToRecFN\'\n    fNToRecFN#(8,24) fNToRecFNx1 (P1[63:32], P1RecFN[65:33]);\n    ^~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/499944578/rtl/test/fragment_interpolator,data/full_repos/permissive/499944578/fNToRecFN\n             data/full_repos/permissive/499944578/rtl/test/fragment_interpolator,data/full_repos/permissive/499944578/fNToRecFN.v\n             data/full_repos/permissive/499944578/rtl/test/fragment_interpolator,data/full_repos/permissive/499944578/fNToRecFN.sv\n             fNToRecFN\n             fNToRecFN.v\n             fNToRecFN.sv\n             obj_dir/fNToRecFN\n             obj_dir/fNToRecFN.v\n             obj_dir/fNToRecFN.sv\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:18: Cannot find file containing module: \'fNToRecFN\'\n    fNToRecFN#(8,24) fNToRecFNx2 (P2[63:32], P2RecFN[65:33]);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:19: Cannot find file containing module: \'fNToRecFN\'\n    fNToRecFN#(8,24) fNToRecFNx3 (P3[63:32], P3RecFN[65:33]);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:20: Cannot find file containing module: \'fNToRecFN\'\n    fNToRecFN#(8,24) fNToRecFNy1 (P1[31:0], P1RecFN[32:0]);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:21: Cannot find file containing module: \'fNToRecFN\'\n    fNToRecFN#(8,24) fNToRecFNy2 (P2[31:0], P2RecFN[32:0]);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:22: Cannot find file containing module: \'fNToRecFN\'\n    fNToRecFN#(8,24) fNToRecFNy3 (P3[31:0], P3RecFN[32:0]);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:24: Cannot find file containing module: \'calcArea\'\n    calcArea DUT(clk, enable, resetn, P1RecFN, P2RecFN, P3RecFN, TwoArecFN);\n    ^~~~~~~~\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:25: Cannot find file containing module: \'recFNToFN\'\n    recFNToFN#(8,24) recFNToFN1 (TwoArecFN, TwoA);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/499944578/rtl/test/fragment_interpolator/calcArea_Test.v:26: Cannot find file containing module: \'fNToRecFN\'\n    fNToRecFN#(8,24) fNToRecFN234 (OneFP, tst);\n    ^~~~~~~~~\n%Error: Exiting due to 9 error(s), 7 warning(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
module calcArea_Test;
    localparam OneFP = 32'h3f800000;
    localparam ZeroFP = 32'h0;
    localparam HalfFP = 32'h3f000000;
    localparam QuarterFP = 32'h3e800000;
    localparam EighthFP = 32'h3e000000;
    localparam PERIOD = 20;

    reg clk;
    reg resetn, en;
    reg  [63:0] P1,P2,P3;
    wire [65:0] P1RecFN,P2RecFN,P3RecFN;
    wire [31:0] TwoA;
    wire [32:0] TwoArecFN, tst;
    fNToRecFN#(8,24) fNToRecFNx1 (P1[63:32], P1RecFN[65:33]);
    fNToRecFN#(8,24) fNToRecFNx2 (P2[63:32], P2RecFN[65:33]);
    fNToRecFN#(8,24) fNToRecFNx3 (P3[63:32], P3RecFN[65:33]);
    fNToRecFN#(8,24) fNToRecFNy1 (P1[31:0], P1RecFN[32:0]);
    fNToRecFN#(8,24) fNToRecFNy2 (P2[31:0], P2RecFN[32:0]);
    fNToRecFN#(8,24) fNToRecFNy3 (P3[31:0], P3RecFN[32:0]);
   
    calcArea DUT(clk, enable, resetn, P1RecFN, P2RecFN, P3RecFN, TwoArecFN);
    recFNToFN#(8,24) recFNToFN1 (TwoArecFN, TwoA);
    fNToRecFN#(8,24) fNToRecFN234 (OneFP, tst);
    always 
        begin
            clk = 1'b1; 
            #20;

            clk = 1'b0;
            #20;
        end
    
    localparam p = {QuarterFP,QuarterFP};
    localparam p1 = {ZeroFP,ZeroFP};
    localparam p2 = {OneFP,ZeroFP};
    localparam p3 = {ZeroFP,OneFP};

    initial
        begin
            P1 = p;
            P2 = p2;
            P3 = p3;
            #PERIOD;
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);
            $display("tst == %h", tst);

            if(TwoA != HalfFP)  begin
                $display("test failed for input combination A(0.5 0.5, 01, 10) != 1");
            end else begin
                $display("test passed for input combination A(0.5 0.5, 01, 10) = 1");
            
            end
            P1 = p1;
            P2 = p;
            P3 = p3;
            #PERIOD;
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != QuarterFP)  begin
                $display("test failed for input combination A(00, 0.5 0.5, 10) != 1");
            end else begin
                $display("test passed for input combination A(00, 0.5 0.5, 10) = 1");
            
            end
            P1 = p1;
            P2 = p2;
            P3 = p;
            #PERIOD;
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != QuarterFP)  begin
                $display("test failed for input combination A(00, 01, 0.5 0.5) != 1");
            end else begin
                $display("test passed for input combination A(00, 01, 0.5 0.5) = 1");
            
            end

            P1 = {ZeroFP,ZeroFP};
            P2 = {OneFP,ZeroFP};
            P3 = {ZeroFP,OneFP};
            #PERIOD;
            $display("tst == %h", tst);
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != OneFP)  begin
                $display("test failed for input combination A(00, 10, 01) != 1");
            end else begin
                $display("test passed for input combination A(00, 10, 01) = 1");
            
            end

            P1 = {ZeroFP,ZeroFP};
            P2 = {ZeroFP,OneFP};
            P3 = {OneFP,ZeroFP};
            #PERIOD;
            $display("tst == %h", tst);
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != OneFP)  begin
                $display("test passed for input combination A(00, 01, 10) != 1");
            end else begin
                $display("test failed for input combination A(00, 01, 10) = 1");
            
            end
            
            $finish;
        end
endmodule
module calcArea_Test;

    localparam OneFP = 32'h3f800000;
    localparam ZeroFP = 32'h0;
    localparam HalfFP = 32'h3f000000;
    localparam QuarterFP = 32'h3e800000;
    localparam EighthFP = 32'h3e000000;
    localparam PERIOD = 20;

    reg clk;
    reg resetn, en;
    reg  [63:0] P1,P2,P3;
    wire [65:0] P1RecFN,P2RecFN,P3RecFN;
    wire [31:0] TwoA;
    wire [32:0] TwoArecFN, tst;
    fNToRecFN#(8,24) fNToRecFNx1 (P1[63:32], P1RecFN[65:33]);
    fNToRecFN#(8,24) fNToRecFNx2 (P2[63:32], P2RecFN[65:33]);
    fNToRecFN#(8,24) fNToRecFNx3 (P3[63:32], P3RecFN[65:33]);
    fNToRecFN#(8,24) fNToRecFNy1 (P1[31:0], P1RecFN[32:0]);
    fNToRecFN#(8,24) fNToRecFNy2 (P2[31:0], P2RecFN[32:0]);
    fNToRecFN#(8,24) fNToRecFNy3 (P3[31:0], P3RecFN[32:0]);
   
    calcArea DUT(clk, enable, resetn, P1RecFN, P2RecFN, P3RecFN, TwoArecFN);
    recFNToFN#(8,24) recFNToFN1 (TwoArecFN, TwoA);
    fNToRecFN#(8,24) fNToRecFN234 (OneFP, tst);
    always 
        begin
            clk = 1'b1; 
            #20;

            clk = 1'b0;
            #20;
        end
    
    localparam p = {QuarterFP,QuarterFP};
    localparam p1 = {ZeroFP,ZeroFP};
    localparam p2 = {OneFP,ZeroFP};
    localparam p3 = {ZeroFP,OneFP};

    initial
        begin
            P1 = p;
            P2 = p2;
            P3 = p3;
            #PERIOD;
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);
            $display("tst == %h", tst);

            if(TwoA != HalfFP)  begin
                $display("test failed for input combination A(0.5 0.5, 01, 10) != 1");
            end else begin
                $display("test passed for input combination A(0.5 0.5, 01, 10) = 1");
            
            end
            P1 = p1;
            P2 = p;
            P3 = p3;
            #PERIOD;
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != QuarterFP)  begin
                $display("test failed for input combination A(00, 0.5 0.5, 10) != 1");
            end else begin
                $display("test passed for input combination A(00, 0.5 0.5, 10) = 1");
            
            end
            P1 = p1;
            P2 = p2;
            P3 = p;
            #PERIOD;
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != QuarterFP)  begin
                $display("test failed for input combination A(00, 01, 0.5 0.5) != 1");
            end else begin
                $display("test passed for input combination A(00, 01, 0.5 0.5) = 1");
            
            end

            P1 = {ZeroFP,ZeroFP};
            P2 = {OneFP,ZeroFP};
            P3 = {ZeroFP,OneFP};
            #PERIOD;
            $display("tst == %h", tst);
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != OneFP)  begin
                $display("test failed for input combination A(00, 10, 01) != 1");
            end else begin
                $display("test passed for input combination A(00, 10, 01) = 1");
            
            end

            P1 = {ZeroFP,ZeroFP};
            P2 = {ZeroFP,OneFP};
            P3 = {OneFP,ZeroFP};
            #PERIOD;
            $display("tst == %h", tst);
            $display("TwoArecFN == %h", TwoArecFN);
            $display("TwoA == %h", TwoA);

            if(TwoA != OneFP)  begin
                $display("test passed for input combination A(00, 01, 10) != 1");
            end else begin
                $display("test failed for input combination A(00, 01, 10) = 1");
            
            end
            
            $finish;
        end
endmodule