)]}'
{
  "commit": "fb443abd50fb5cbcb3057d6b4933f06398174c61",
  "tree": "f56b02a2af9724bf6b276786386a59c6a476d4f5",
  "parents": [
    "0949e6de79510494050e5aa39121162a0be7aa3b"
  ],
  "author": {
    "name": "Philipp Wagner",
    "email": "phw@lowrisc.org",
    "time": "Fri Mar 05 11:10:28 2021 +0000"
  },
  "committer": {
    "name": "Philipp Wagner",
    "email": "mail@philipp-wagner.com",
    "time": "Mon Mar 15 12:19:26 2021 +0000"
  },
  "message": "[topgen] Stop pretending it\u0027s not OpenTitan-specific\n\nTopgen was initially designed to be a rather generic toplevel generation\ntool. That\u0027s not what it is today: it is heavily biased towards\ngenerating OpenTitan toplevel designs -- which is exactly what we need\nin OpenTitan. Instead of trying to keep things generic, this commit goes\nthe first step towards an \"opinionated topgen\".\n\nAs first step, all templates are stored not in the toplevel that is to\nbe generated, but next to topgen: other components in OpenTitan expect\nfiles generated from these templates to be around exactly like that, so\nwe cannot simply modify them at will.\n\nIf necessary later we can add an override/extension mechanism of some\nsort.\n\nThis commit tries to be rather minimal in the changes to topgen.py;\nthere\u0027s more to clean-up, but since we have at least three people\nworking on the same file at the moment I\u0027m trying to keep the diff to a\nminimum.\n\nSigned-off-by: Philipp Wagner \u003cphw@lowrisc.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f83cf4491b3e05a114a57da6a3e54e152bd3ebb6",
      "old_mode": 33188,
      "old_path": "doc/rm/topgen_tool.md",
      "new_id": "74d9814c6d399974d79e9c9e17454c7f26b4eeff",
      "new_mode": 33188,
      "new_path": "doc/rm/topgen_tool.md"
    },
    {
      "type": "modify",
      "old_id": "3f434d19fb213f62a65348db09a0a14aa45a880d",
      "old_mode": 33188,
      "old_path": "hw/Makefile",
      "new_id": "ff2d2d2814c884761d1284ef1ae3d26548484c0a",
      "new_mode": 33188,
      "new_path": "hw/Makefile"
    },
    {
      "type": "modify",
      "old_id": "a069b0ded13627b52151c9e807653c080d951cb2",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/_index.md",
      "new_id": "e50ff36d43d708f7533e333c7dcc1b45b3f32dab",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/_index.md"
    },
    {
      "type": "modify",
      "old_id": "9c68b2bf1bcc5fba2f80e626efd5d17740342f21",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/rtl/autogen/top_earlgrey.sv",
      "new_id": "70b150a66f0a31cfc2f45bfd03dee5827f95c219",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/rtl/autogen/top_earlgrey.sv"
    },
    {
      "type": "modify",
      "old_id": "630d78ff3184546895762713992815a1edf125c4",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv",
      "new_id": "176022455bee41f390ae545435787a96efa0f240",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv"
    },
    {
      "type": "modify",
      "old_id": "019924144c0b0de397c04aad35017df620df75f0",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/rtl/autogen/top_earlgrey_rnd_cnst_pkg.sv",
      "new_id": "c0a6739382e6b2602631c64189dbe91c267da85d",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/rtl/autogen/top_earlgrey_rnd_cnst_pkg.sv"
    },
    {
      "type": "delete",
      "old_id": "26c58ffcaa80d0f541af127bda57138967f77b64",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/chip_env_pkg__params.sv.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "660fef379232237f0cae9c656f04a7f7b626b750",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/clang-format",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e670721975bc8b52ffa318494f00d1bf97e604ac",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/tb__alert_handler_connect.sv.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "99790f8e0a32f18a6f013481f44330d0d2d1f04d",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/tb__xbar_connect.sv.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "a9f1db554e589137ddfe0943f9aa240c361b83da",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/top_englishbreakfast.c.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "b1b46460a697cc504bf0696befbca65e0a581a71",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/top_englishbreakfast.h.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "c44053b4cd9f8b1316a8113c120c63a33e5dc426",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/top_englishbreakfast.sv.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "9da7d04a99a33e2fd6ae64bc8c2d26ae685bf660",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/top_englishbreakfast_memory.h.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "47f658b8e13ac1de2ed0badc4e5e34dff4676985",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/top_englishbreakfast_memory.ld.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "587d97f54da7ce2499901eb099da86b6e500126e",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/top_englishbreakfast_pkg.sv.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "050b4df8fe021ac905c92e688f460d2e0cf7d8aa",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/top_englishbreakfast_rnd_cnst_pkg.sv.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "86c5137ce005819d70f245837d6d7155406b2ced",
      "old_mode": 40960,
      "old_path": "hw/top_englishbreakfast/data/xbar_env_pkg__params.sv.tpl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "54bc65abc81aaf2bc2b34c4e8c1b0b4b6b181b32",
      "old_mode": 33261,
      "old_path": "hw/top_englishbreakfast/util/prepare_sw.py",
      "new_id": "6e7cf43fe599fbc98bd94620be9c6b10f9c241dc",
      "new_mode": 33261,
      "new_path": "hw/top_englishbreakfast/util/prepare_sw.py"
    },
    {
      "type": "modify",
      "old_id": "ba2936b88b2f087939d3a7a6540c12f3da1c8a1b",
      "old_mode": 33188,
      "old_path": "util/topgen-fusesoc.py",
      "new_id": "6f31c79d58dd5a9cdb8b75af9f0e0f63766a9245",
      "new_mode": 33188,
      "new_path": "util/topgen-fusesoc.py"
    },
    {
      "type": "modify",
      "old_id": "88538f5d723b05b33996dbebe40d0d9606be6c5c",
      "old_mode": 33261,
      "old_path": "util/topgen.py",
      "new_id": "4a508def45619c447364810e206b6335ff7fdec1",
      "new_mode": 33261,
      "new_path": "util/topgen.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "afd488ac0e3d3306ee29ecf50dab4c2f143dd01c",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/README.md"
    },
    {
      "type": "rename",
      "old_id": "340790063830832fcd62d014d6ebc176eabb66a2",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/chip_env_pkg__params.sv.tpl",
      "new_id": "340790063830832fcd62d014d6ebc176eabb66a2",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/chip_env_pkg__params.sv.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7cb47a7a72ec7517a7ab5c83d906e4fe2f3b7a4f",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/clang-format",
      "new_id": "7cb47a7a72ec7517a7ab5c83d906e4fe2f3b7a4f",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/clang-format",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "559926a712fb697748cbf7e673ad8059c6fa2773",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/tb__alert_handler_connect.sv.tpl",
      "new_id": "559926a712fb697748cbf7e673ad8059c6fa2773",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/tb__alert_handler_connect.sv.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "d4910958be9f6ca1b5e36c1bde2491096d7b480e",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/tb__xbar_connect.sv.tpl",
      "new_id": "d4910958be9f6ca1b5e36c1bde2491096d7b480e",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/tb__xbar_connect.sv.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4cfbabe24548acdcc0e7e5896dcc57f7d5bef5d1",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey.c.tpl",
      "new_id": "4cfbabe24548acdcc0e7e5896dcc57f7d5bef5d1",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/toplevel.c.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "ad7f0bf49f57ce3dd0aec03386e16b6ba29e4228",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey.h.tpl",
      "new_id": "ad7f0bf49f57ce3dd0aec03386e16b6ba29e4228",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/toplevel.h.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "1cdddf852d324fe27e2f2de4bc11186f1bbe7cb2",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey.sv.tpl",
      "new_id": "1cdddf852d324fe27e2f2de4bc11186f1bbe7cb2",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/toplevel.sv.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "cd7a36032e3761f2c4b0464da7469778ce81ab25",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey_memory.h.tpl",
      "new_id": "cd7a36032e3761f2c4b0464da7469778ce81ab25",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/toplevel_memory.h.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "a01cb72a471eb8d94b81da6d296b0054412cd662",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey_memory.ld.tpl",
      "new_id": "a01cb72a471eb8d94b81da6d296b0054412cd662",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/toplevel_memory.ld.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "a4346e374b8e5993353b288963a857f34690b326",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey_pkg.sv.tpl",
      "new_id": "a4346e374b8e5993353b288963a857f34690b326",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/toplevel_pkg.sv.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "9700c3d5722fbad397584cc255e29b121ef67d7a",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey_rnd_cnst_pkg.sv.tpl",
      "new_id": "9700c3d5722fbad397584cc255e29b121ef67d7a",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/toplevel_rnd_cnst_pkg.sv.tpl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "63c59fe1ca931de3538049f160fe215a345ec318",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/xbar_env_pkg__params.sv.tpl",
      "new_id": "63c59fe1ca931de3538049f160fe215a345ec318",
      "new_mode": 33188,
      "new_path": "util/topgen/templates/xbar_env_pkg__params.sv.tpl",
      "score": 100
    }
  ]
}
