{"action":"created","issue":{"url":"https://api.github.com/repos/bradselw/tincr/issues/14","repository_url":"https://api.github.com/repos/bradselw/tincr","labels_url":"https://api.github.com/repos/bradselw/tincr/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/bradselw/tincr/issues/14/comments","events_url":"https://api.github.com/repos/bradselw/tincr/issues/14/events","html_url":"https://github.com/bradselw/tincr/issues/14","id":130814992,"number":14,"title":"Multiple IOB site names and inconsistency in XDLRC and placement.xdc files","user":{"login":"nelsobe","id":16314734,"avatar_url":"https://avatars.githubusercontent.com/u/16314734?v=3","gravatar_id":"","url":"https://api.github.com/users/nelsobe","html_url":"https://github.com/nelsobe","followers_url":"https://api.github.com/users/nelsobe/followers","following_url":"https://api.github.com/users/nelsobe/following{/other_user}","gists_url":"https://api.github.com/users/nelsobe/gists{/gist_id}","starred_url":"https://api.github.com/users/nelsobe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nelsobe/subscriptions","organizations_url":"https://api.github.com/users/nelsobe/orgs","repos_url":"https://api.github.com/users/nelsobe/repos","events_url":"https://api.github.com/users/nelsobe/events{/privacy}","received_events_url":"https://api.github.com/users/nelsobe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-02T21:01:29Z","updated_at":"2016-02-03T07:00:37Z","closed_at":null,"body":"There is an issue with IOB site names.  In Vivado's Tcl, if I execute:\r\n\r\nselect_objects [get_sites IOB_X0Y78]   or\r\nselect_objects [get_sites N15]\r\n\r\nit returns\r\n         INFO: [Coretcl 2-12] 'IOB_X0Y78' selected.\r\n\r\nin both cases.  Executing:\r\n\r\nget_selected_objects\r\n\r\nin either case returns a list of 2 items:   IOB_X0Y78 N15\r\n\r\nStrangely in either case, the properties window (^E) it shows that the IOB is named N15 and that there is an \"IOB alias\" of IOB_X0Y78.  The get_selected_objects command would suggest there are 2 sites getting selected but the properties window would suggest that there is only one site and it has 2 names (a real name and an alias).\r\n\r\nWhere this bites us is that the XDLRC files generated by Tincr use the name N15 for the site name but the Tincr checkpoint file placement.xdc uses the name IOB_X0Y78 when specifying a LOC for a cell.  The name IOB_X0Y78 doesn't exist in the XDLRC file and so a placement error occurs when processing a checkpoint.\r\n\r\nIt would seem that the right thing to do would be to be consistent and either always use the pin name (N15) or the positional site name (IOB_X0Y78) for the site.  It probably doesn't matter but given a choice I would prefer the latter since that matches how all other sites are named.\r\n\r\nAnyone else have any thoughts on this?\r\n"},"comment":{"url":"https://api.github.com/repos/bradselw/tincr/issues/comments/179052372","html_url":"https://github.com/bradselw/tincr/issues/14#issuecomment-179052372","issue_url":"https://api.github.com/repos/bradselw/tincr/issues/14","id":179052372,"user":{"login":"bradselw","id":4261702,"avatar_url":"https://avatars.githubusercontent.com/u/4261702?v=3","gravatar_id":"","url":"https://api.github.com/users/bradselw","html_url":"https://github.com/bradselw","followers_url":"https://api.github.com/users/bradselw/followers","following_url":"https://api.github.com/users/bradselw/following{/other_user}","gists_url":"https://api.github.com/users/bradselw/gists{/gist_id}","starred_url":"https://api.github.com/users/bradselw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradselw/subscriptions","organizations_url":"https://api.github.com/users/bradselw/orgs","repos_url":"https://api.github.com/users/bradselw/repos","events_url":"https://api.github.com/users/bradselw/events{/privacy}","received_events_url":"https://api.github.com/users/bradselw/received_events","type":"User","site_admin":false},"created_at":"2016-02-03T07:00:36Z","updated_at":"2016-02-03T07:00:36Z","body":"So I dug into the code here, and it looks like this is the expected behavior for bonded IOBs:\r\n```\r\n    foreach site $sites {\r\n        set state \"internal\"\r\n        set name [get_property NAME $site]\r\n        if {[get_property IS_PAD $site]} {\r\n            if {[get_property IS_BONDED $site]} {\r\n                set state \"bonded\"\r\n                set name [get_property NAME [get_package_pins -quiet -of_object $site]]\r\n            } else {\r\n                set state \"unbonded\"\r\n            }\r\n        }\r\n```\r\nI've confirmed that this is the same as XDLRC files generated by xdl.exe.\r\n\r\nI don't think that it is a good idea to deviate from parity with xdl.exe's XDLRC. We could talk about possibly changing how IOBs are represented in Tincr checkpoints."}}