)]}'
{
  "commit": "a9f0b58d02f14cf01da334b998e6ac02b26d2de1",
  "tree": "a56a6479e5d30651e22139a547cd2afd71f27f94",
  "parents": [
    "2fd90c112227766597bd2cd5ff82533d32b0e18e"
  ],
  "author": {
    "name": "Srikrishna Iyer",
    "email": "sriyer@google.com",
    "time": "Sat Jun 05 00:05:52 2021 -0700"
  },
  "committer": {
    "name": "Srikrishna Iyer",
    "email": "46467186+sriyerg@users.noreply.github.com",
    "time": "Tue Jun 08 15:16:08 2021 -0700"
  },
  "message": "[dv, mem_bkdr_util] Implement mem_bkdr_if as class\n\nThere have been numerous pain points associated with the inflexibility\nof not being able to override the base functionality of the existing\n`mem_bkdr_if`, especially in the closed source repo. In this commit, the\nexisting `mem_bkdr_if` is implemented as a class.\n\nThe following are the key changes made:\n- Implemented the backdoor interface as a class\n- Removed the `MEM_ARRAY_PATH_SLICE` to directly manipulate the\nhierarchical path to the memory array by binding the interface to a\nsub-path.\n- Instead, the class takes the string path to the memory hierarchy as a\nruntime input, which is read / written using the DPI-C functions\n`uvm_hdl_read` and `uvm_hdl_deposit`.\n- There are no parameterizations - all memory attributes are treated as\nruntime settings.\n- Some optimizations in the overall code.\n\nThe class is not used in any of the testbenches in this commit, so that\nthe review is easy. The subsequent commits achieve that.\n\nSigned-off-by: Srikrishna Iyer \u003csriyer@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9d514542593c4f2c8447bbfd6afd21c5130eb096",
      "new_mode": 33188,
      "new_path": "hw/dv/sv/mem_bkdr_util/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "99c9d8c9be855b0ab8f305fd9ec0482d14c9c9e3",
      "new_mode": 33188,
      "new_path": "hw/dv/sv/mem_bkdr_util/mem_bkdr_util.core"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "839d98371b7925c113297b99afd698486f5cb92a",
      "new_mode": 33188,
      "new_path": "hw/dv/sv/mem_bkdr_util/mem_bkdr_util.sv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a96680daaf7849ec6d8afbad131336af1e085c3",
      "new_mode": 33188,
      "new_path": "hw/dv/sv/mem_bkdr_util/mem_bkdr_util_pkg.sv"
    }
  ]
}
