data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv
 line:13: before: "package"
1: b'%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:16: Unsupported: classes\n  class ChdrData #(int CHDR_W = 64, int ITEM_W = 64);\n  ^~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:27: Unsupported: new constructor\n    function new();\n             ^~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:35: Unsupported: \'static\' class item\n    static function chdr_word_queue_t item_to_chdr(ref item_queue_t items);\n    ^~~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:54: Unsupported: \'static\' class item\n    static function item_queue_t chdr_to_item(\n    ^~~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:83: Unsupported: \'static\' class item\n    static function string chdr_string(\n    ^~~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:90: syntax error, unexpected \'{\', expecting STRING\n        str = { str, $sformatf({"%5d> ", format, "\\n"}, i, chdr_words[i]) };\n                               ^\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:97: Unsupported: \'static\' class item\n    static function string item_string(\n    ^~~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:104: syntax error, unexpected \'{\', expecting STRING\n        str = { str, $sformatf({"%5d> ", format, "\\n"}, i, items[i]) };\n                               ^\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:111: Unsupported: \'static\' class item\n    static function void print_chdr(\n    ^~~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:120: Unsupported: \'static\' class item\n    static function void print_item(\n    ^~~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:129: Unsupported: \'static\' class item\n    static function bit chdr_equal(\n    ^~~~~~\n%Error: data/full_repos/permissive/214858095/FPGA_Exploration/spartan6/B205mini/ISE_Project/sim/rfnoc/PkgChdrData.sv:142: Unsupported: \'static\' class item\n    static function bit item_equal(\n    ^~~~~~\n%Error: Exiting due to 12 error(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
function item_queue_t chdr_to_item(
      ref   chdr_word_queue_t chdr_words, 
      input int               num_bytes = -1
    );
      int items_per_word = CHDR_W / ITEM_W;
      int bytes_left;
      item_queue_t item_words;

      if (num_bytes < 0) bytes_left = chdr_words.size() * (CHDR_W / 8);
      else bytes_left = num_bytes;

      foreach (chdr_words[i]) begin
        for (int j = 0; j < items_per_word; j++) begin
          if (bytes_left > 0) begin
            item_words.push_back(chdr_words[i][j*ITEM_W +: ITEM_W]);
            bytes_left -= (ITEM_W/8);
          end
        end
      end

      assert (bytes_left == 0) else begin
        $warning("ChdrData::chdr_to_item: num_bytes is not a multiple of items");
      end

      return item_words;
    endfunction
function item_queue_t chdr_to_item(
      ref   chdr_word_queue_t chdr_words, 
      input int               num_bytes = -1
    );

      int items_per_word = CHDR_W / ITEM_W;
      int bytes_left;
      item_queue_t item_words;

      if (num_bytes < 0) bytes_left = chdr_words.size() * (CHDR_W / 8);
      else bytes_left = num_bytes;

      foreach (chdr_words[i]) begin
        for (int j = 0; j < items_per_word; j++) begin
          if (bytes_left > 0) begin
            item_words.push_back(chdr_words[i][j*ITEM_W +: ITEM_W]);
            bytes_left -= (ITEM_W/8);
          end
        end
      end

      assert (bytes_left == 0) else begin
        $warning("ChdrData::chdr_to_item: num_bytes is not a multiple of items");
      end

      return item_words;
    endfunction