data/full_repos/permissive/123218339/reward.v
1: b'%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:62: 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/123218339/reward.v:64: Unsupported: Ignoring delay on this delayed statement.\n            #(20);        \n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:68: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:70: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:74: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:76: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:80: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:84: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:86: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Warning-STMTDLY: data/full_repos/permissive/123218339/reward.v:90: Unsupported: Ignoring delay on this delayed statement.\n            #(20);\n            ^\n%Error: Exiting due to 10 warning(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
module reward(clock, nrst, _action, _besthop, address, data_in, data_out, MY_NODE_ID, MY_CLUSTER_ID, done_prev, done);
    input clock, nrst;
    input [`WORD_WIDTH-1:0] _action;
    input [`WORD_WIDTH-1:0] _besthop;


    output [`WORD_WIDTH-1:0] address;
    input [`WORD_WIDTH-1:0] data_in; 


    output [80 - 1: 0] data_out;
    reg [80 - 1: 0] data_out_buf;


    input [`WORD_WIDTH-1:0] MY_NODE_ID;


    input [`WORD_WIDTH-1:0] MY_CLUSTER_ID;

    input done_prev;
    output done;


    reg done_buf;


    reg [`WORD_WIDTH-1:0] address_count;


    always @ (posedge nrst) begin
        done_buf <= 0;
        data_out_buf <= 0;
    end

    reg [`WORD_WIDTH-1:0] fsourceID;
    reg [`WORD_WIDTH-1:0] fbatteryStat;
    reg [`WORD_WIDTH-1:0] fValue;
    reg [`WORD_WIDTH-1:0] fclusterID;
    reg [`WORD_WIDTH-1:0] fdestinationID;

    always @ (posedge done_prev) begin
        if (!done) begin


            

            #(`CLOCK_PD);
            fsourceID = MY_NODE_ID;
            #(`CLOCK_PD);        
            

            address_count = 328 + MY_NODE_ID;
            #(`CLOCK_PD);
            fbatteryStat = data_in;
            #(`CLOCK_PD);
            

            address_count = 456 + _besthop;
            #(`CLOCK_PD);
            fValue = data_in;
            #(`CLOCK_PD);


            fclusterID = MY_CLUSTER_ID;
            #(`CLOCK_PD);


            address_count = 72 + _action;
            #(`CLOCK_PD);
            fdestinationID = data_in;
            #(`CLOCK_PD);


            data_out_buf = {fsourceID, fbatteryStat, fValue, fclusterID, fdestinationID};
            #(`CLOCK_PD);


            done_buf = 1;
        end
    end 

    assign address = address_count;
    assign done = done_buf;
    assign data_out = data_out_buf;
endmodule
module reward(clock, nrst, _action, _besthop, address, data_in, data_out, MY_NODE_ID, MY_CLUSTER_ID, done_prev, done);

    input clock, nrst;
    input [`WORD_WIDTH-1:0] _action;
    input [`WORD_WIDTH-1:0] _besthop;


    output [`WORD_WIDTH-1:0] address;
    input [`WORD_WIDTH-1:0] data_in; 


    output [80 - 1: 0] data_out;
    reg [80 - 1: 0] data_out_buf;


    input [`WORD_WIDTH-1:0] MY_NODE_ID;


    input [`WORD_WIDTH-1:0] MY_CLUSTER_ID;

    input done_prev;
    output done;


    reg done_buf;


    reg [`WORD_WIDTH-1:0] address_count;


    always @ (posedge nrst) begin
        done_buf <= 0;
        data_out_buf <= 0;
    end

    reg [`WORD_WIDTH-1:0] fsourceID;
    reg [`WORD_WIDTH-1:0] fbatteryStat;
    reg [`WORD_WIDTH-1:0] fValue;
    reg [`WORD_WIDTH-1:0] fclusterID;
    reg [`WORD_WIDTH-1:0] fdestinationID;

    always @ (posedge done_prev) begin
        if (!done) begin


            

            #(`CLOCK_PD);
            fsourceID = MY_NODE_ID;
            #(`CLOCK_PD);        
            

            address_count = 328 + MY_NODE_ID;
            #(`CLOCK_PD);
            fbatteryStat = data_in;
            #(`CLOCK_PD);
            

            address_count = 456 + _besthop;
            #(`CLOCK_PD);
            fValue = data_in;
            #(`CLOCK_PD);


            fclusterID = MY_CLUSTER_ID;
            #(`CLOCK_PD);


            address_count = 72 + _action;
            #(`CLOCK_PD);
            fdestinationID = data_in;
            #(`CLOCK_PD);


            data_out_buf = {fsourceID, fbatteryStat, fValue, fclusterID, fdestinationID};
            #(`CLOCK_PD);


            done_buf = 1;
        end
    end 

    assign address = address_count;
    assign done = done_buf;
    assign data_out = data_out_buf;
endmodule