)]}'
{
  "commit": "c4bd318e76240d3e6a95109c19641cdfd86517b8",
  "tree": "652f7209fd5b65045084914b04f98fbbaecede3e",
  "parents": [
    "5110a34dd74bc96c47d4aef47bc155110de2d87e"
  ],
  "author": {
    "name": "Marcin Kościelnicki",
    "email": "koriakin@0x04.net",
    "time": "Fri Nov 01 14:00:15 2019 +0000"
  },
  "committer": {
    "name": "Marcin Kościelnicki",
    "email": "mwk@0x04.net",
    "time": "Wed Nov 06 15:11:27 2019 +0100"
  },
  "message": "synth_xilinx: Merge blackbox primitive libraries.\n\nFirst, there are no longer separate cell libraries for xc6s/xc7/xcu.\nManually instantiating a primitive for a \"wrong\" family will result\nin yosys passing it straight through to the output, and it will be\neither upgraded or rejected by the P\u0026R tool.\n\nSecond, the blackbox library is expanded to cover many more families:\neverything from Spartan 3 up is included.  Primitives for Virtex and\nVirtex 2 are listed in the Python file as well if we ever want to\ninclude them, but that would require having two different ISE versions\n(10.1 and 14.7) available when running cells_xtra.py, and so is probably\nmore trouble than it\u0027s worth.\n\nThird, the blockram blackboxes are no longer in separate files — there\nis no practical reason to do so (from synthesis PoV, they are no\ndifferent from any other cells_xtra blackbox), and they needlessly\ncomplicated the flow (among other things, merging them allows the user\nto use eg. Series 7 primitives and have them auto-upgraded to\nUltrascale).\n\nLast, since xc5v logic synthesis appears to work reasonably well\n(the only major problem is lack of blockram inference support), xc5v is\nnow an accepted setting for the -family option.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "debe8a6a093256c1b388a039ecae2962cad53bb3",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/Makefile.inc",
      "new_id": "3ebc72fe83eb625db6b6e410ac4eedad66209ed8",
      "new_mode": 33188,
      "new_path": "techlibs/xilinx/Makefile.inc"
    },
    {
      "type": "modify",
      "old_id": "7cf1162bdda84c088f445c95f8a57b2770e3644f",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/cells_xtra.py",
      "new_id": "ef7ce856adf77c42a7c9dc5c5a235542f7fc96b9",
      "new_mode": 33188,
      "new_path": "techlibs/xilinx/cells_xtra.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "72a3b6cbb18de1ea0d570781214973176d464b4d",
      "new_mode": 33188,
      "new_path": "techlibs/xilinx/cells_xtra.v"
    },
    {
      "type": "modify",
      "old_id": "69b071d34dc35cba179eea37928131c7820cc992",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/synth_xilinx.cc",
      "new_id": "3d4a65c5dfe1aa2c3f08f574c27d3acbaa474c2f",
      "new_mode": 33188,
      "new_path": "techlibs/xilinx/synth_xilinx.cc"
    },
    {
      "type": "delete",
      "old_id": "3c323a90b32518e6a455fb095a55a2aeaf8218fc",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/xc6s_brams_bb.v",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7c0462b52433fd564087fa336bb26419b9a2b81e",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/xc6s_cells_xtra.v",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "87656fa492ac0d615e0f3a3c47ffb0a38cb29b2b",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/xc6v_cells_xtra.v",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "c374f26b962b9e4a97054b6b3fbaaf285827e913",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/xc7_brams_bb.v",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "10eea4a5f3c1950e42c913d9e980add37cc551f4",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/xc7_cells_xtra.v",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "cc70ce371ff3672e4d8854247982330243881ac4",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/xcu_brams_bb.v",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "3c83e0ef1b457ab4e8cc69f7336c70e323abce88",
      "old_mode": 33188,
      "old_path": "techlibs/xilinx/xcu_cells_xtra.v",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
