)]}'
{
  "commit": "5a3c15e71088c8d33ffffa16241037c5fb3e49da",
  "tree": "949f213de0db84765891f01df9afdd4db1df54d6",
  "parents": [
    "26b242fc52cb54480a4b7c358ad8efd8c1046077"
  ],
  "author": {
    "name": "Michael Schaffner",
    "email": "msf@opentitan.org",
    "time": "Fri Jan 08 20:10:34 2021 -0800"
  },
  "committer": {
    "name": "Michael Schaffner",
    "email": "msf@google.com",
    "time": "Wed Jan 20 19:12:27 2021 -0800"
  },
  "message": "[lc_ctrl/otp_ctrl] Update mmap and state generation scripts\n\nThis moves the OTP scrambling constant generation (for keys and\ndigests) into the memory map generation script instead of using\nthe topgen RndCnt mechanism.\n\nLikewise, the generation of the RAW unlock token is moved into\nthe life cycle state generation script.\n\nThese changes have a couple of advantages later on:\n- The scrambling keys are conveniently available in the OTP memory map\nconfiguration, which eases generation of the OTP preload image later on.\n- The RAW unlock token does not have to be \"statically\" hashed in RTL,\nbut can be hashed in Python as a preprocessing step before dumping it\ninto the template.\n- It will be easier to replace the token hashing algo with KMAC later\non.\n\nNote that we do not expect to have multiple instances of the OTP or life\ncycle controllers in our top-level, hence moving away from the RndCnst\nmechanism (which uses instantiation paramters) is safe.\n\nSigned-off-by: Michael Schaffner \u003cmsf@opentitan.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad0d611e4748b3f71877383b60603958d6369c9e",
      "old_mode": 33188,
      "old_path": "hw/ip/lc_ctrl/data/lc_ctrl_state.hjson",
      "new_id": "5550320b7c121c8607647594d9c5204082e32d23",
      "new_mode": 33188,
      "new_path": "hw/ip/lc_ctrl/data/lc_ctrl_state.hjson"
    },
    {
      "type": "modify",
      "old_id": "b7977a1920d1b758c5ce934b00961fc2c426bd93",
      "old_mode": 33188,
      "old_path": "hw/ip/lc_ctrl/rtl/lc_ctrl_state_pkg.sv.tpl",
      "new_id": "9ea44f487040b427b34a812091a92d174b035199",
      "new_mode": 33188,
      "new_path": "hw/ip/lc_ctrl/rtl/lc_ctrl_state_pkg.sv.tpl"
    },
    {
      "type": "modify",
      "old_id": "eb8eebeee262d464bb257ae9014d764b62ba7868",
      "old_mode": 33188,
      "old_path": "hw/ip/otp_ctrl/data/otp_ctrl.hjson.tpl",
      "new_id": "4885a6fb19052f0480aae773253e5a7e0576e63d",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/data/otp_ctrl.hjson.tpl"
    },
    {
      "type": "modify",
      "old_id": "c78517222dd6b979fda63f80cf73d3492173c0d2",
      "old_mode": 33188,
      "old_path": "hw/ip/otp_ctrl/data/otp_ctrl_mmap.hjson",
      "new_id": "ed13db606756f612a0379d8874a92f9316f0b938",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/data/otp_ctrl_mmap.hjson"
    },
    {
      "type": "modify",
      "old_id": "8b0c72ebcfc0d11da65641072977edca189b3eb0",
      "old_mode": 33188,
      "old_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_part_pkg.sv.tpl",
      "new_id": "84f823aac85868b6aa407c2e72330d3b5a1579ab",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_part_pkg.sv.tpl"
    },
    {
      "type": "modify",
      "old_id": "9b92ea214089350103d0862a6f392fd38cbab013",
      "old_mode": 33188,
      "old_path": "util/design/lib/LcStEnc.py",
      "new_id": "35261533593260461998ab0d8d5b333f53df4cf3",
      "new_mode": 33188,
      "new_path": "util/design/lib/LcStEnc.py"
    },
    {
      "type": "modify",
      "old_id": "0601481ce9257fd02a4c1636a8ba3d3fb23c4ab5",
      "old_mode": 33188,
      "old_path": "util/design/lib/OtpMemMap.py",
      "new_id": "ab5731a27772cf21e10ea7195a7783426416a9ca",
      "new_mode": 33188,
      "new_path": "util/design/lib/OtpMemMap.py"
    },
    {
      "type": "modify",
      "old_id": "0d12e922e63a737a701c04978d3e473eff5ba7ca",
      "old_mode": 33188,
      "old_path": "util/design/lib/common.py",
      "new_id": "20e2ba941860da77c5f839eec66a859d6cc80b53",
      "new_mode": 33188,
      "new_path": "util/design/lib/common.py"
    }
  ]
}
