)]}'
{
  "commit": "d2341c28cc4ee4f559dd6086897bbb8e8a0b1d87",
  "tree": "5049ffa02900dcdaf89292255cd3cb100a708af4",
  "parents": [
    "23f31729ac05973f1c5d1613bae1da8ebd8bdf13"
  ],
  "author": {
    "name": "Srikrishna Iyer",
    "email": "sriyer@google.com",
    "time": "Mon Jan 11 22:31:18 2021 -0800"
  },
  "committer": {
    "name": "Srikrishna Iyer",
    "email": "46467186+sriyerg@users.noreply.github.com",
    "time": "Wed Jan 13 10:18:04 2021 -0800"
  },
  "message": "[reggen, dv] Add ability to set DV register prefix\n\nThis came out of a discussion with Nuvoton to add support for generating\nUVM reg models that are extended not from `dv_base_reg*` classes\nbut from custom classes that add Nuvoton-specific functionality on top of\n`dv_base_reg*` classes. With this PR, this can be achieved by setting\nthe switch `--dv-base-class-prefix foo`. This approach assumes that the\nfollowing exist, given the arg value of `foo`:\n\n- A fusesoc core with the name `lowrisc:dv:foo_reg` that sources the\nfollowing files at minimum:\n  - `foo_reg_pkg.sv`: includes the `foo` reg classes below.\n  - `foo_reg.sv`: register class\n  - `foo_reg_field.sv`: field class abstraction\n  - `foo_reg_block.sv`: register block class abstraction\n  - `foo_mem.sv`: memory abstraction\n- These are required to derive from their corresponding `dv_base_reg*`\nclasses.\n- If any of these specialized abstractions is not needed, they need to\nbe typedef\u0027ed to the `dv_baes_reg*` one in the pkg.\n\nSigned-off-by: Srikrishna Iyer \u003csriyer@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "598b7f692b225ef56d01cca38acadd80beb28d3b",
      "old_mode": 33188,
      "old_path": "util/reggen/README.md",
      "new_id": "ea244dc65d5145230273e4bf49e34b42409e81ad",
      "new_mode": 33188,
      "new_path": "util/reggen/README.md"
    },
    {
      "type": "modify",
      "old_id": "3fcc6462598b0abd3368c3c7d24d80f102ead2be",
      "old_mode": 33188,
      "old_path": "util/reggen/gen_dv.py",
      "new_id": "41de86c59962ea48c98379602d07bff8c0b57227",
      "new_mode": 33188,
      "new_path": "util/reggen/gen_dv.py"
    },
    {
      "type": "modify",
      "old_id": "9ba690c6b8d84da4e94f66032ffd6e2ac12dca1d",
      "old_mode": 33188,
      "old_path": "util/reggen/uvm_reg.sv.tpl",
      "new_id": "a855a556227ab13796583604d75bc881c393d126",
      "new_mode": 33188,
      "new_path": "util/reggen/uvm_reg.sv.tpl"
    },
    {
      "type": "modify",
      "old_id": "8a81ec1e34fa21a4ff4ed91bd4b2047ce176572d",
      "old_mode": 33261,
      "old_path": "util/regtool.py",
      "new_id": "fc1c59c33c8856f704a9cdfcb4d68e5e2af7a43d",
      "new_mode": 33261,
      "new_path": "util/regtool.py"
    },
    {
      "type": "modify",
      "old_id": "b7d6f54d779e211a0d1ab84f3a1532a5a1d9c66d",
      "old_mode": 33261,
      "old_path": "util/topgen.py",
      "new_id": "2bf04c98b8434a00ab6027452bf1e4b340d4d2ad",
      "new_mode": 33261,
      "new_path": "util/topgen.py"
    }
  ]
}
