{"action":"created","comment":{"url":"https://api.github.com/repos/OPAE/opae-sdk/pulls/comments/157654419","pull_request_review_id":84331776,"id":157654419,"diff_hunk":"@@ -59,10 +48,106 @@\n                      \"is the virtual channel number.)  Maximum bandwidth is typically a\",\n                      \"function of the number lines in flight, indepent of request sizes.\"\n                   ],\n-               \"max-bw-active-lines-c0\": \"{ 768, 512, 256, 256 }\",\n+               \"max-bw-active-lines-c0\": \"{ 512, 512, 256, 256 }\",\n                \"max-bw-active-lines-c1\": \"{ 512, 256, 128, 128 }\",\n \n-               \"max-outstanding-mmio-rd-reqs\": 32\n+               \"max-outstanding-mmio-rd-reqs\": 32,\n+\n+               \"comment\":\n+                  [\n+                     \"CCI-P requires that an AFU register both the request and response\",\n+                     \"signals before any combinational logic.  On some platforms, it\",\n+                     \"is easier to meet timing when there is more than one register\",\n+                     \"stage.  num-timing-reg-stages is a platform-specific recommendation\",\n+                     \"to AFUs, suggesting the number of registered CCI-P request and\",\n+                     \"response stages for timing across the partial reconfiguration boundary.\",\n+                     \"\",\n+                     \"Note: There is no extra platform-side buffering added for handling\",\n+                     \"extra almost full signals!  Extra buffering beyond one stage\",\n+                     \"counts against the sending limit following almost full.  Typically,\",\n+                     \"2 * (num-timing-reg-stages - 1) slots are lost to buffering.\",\n+                     \"This accounts for the added latency of receiving almost full and\",\n+                     \"also accounts for extra in-flight requests beyond the CCI-P\",\n+                     \"allotted single stage.\"\n+                  ],\n+               \"num-timing-reg-stages\": 1,\n+\n+               \"comment\":\n+                  [\n+                     \"This field requests that the platform register CCI-P requests\",\n+                     \"and responses on the AFU side of the partial reconfiguration\",\n+                     \"boundary.  Register stages injected here count against the\",\n+                     \"almost full sending limit in both directions!\",\n+                     \"See num-timing-reg-stages above for a discussion.\",\n+                     \"\",\n+                     \"In addition to integer counts, the string 'auto' (use double\",\n+                     \"quotes) will request (num-timing-reg-stages - 1) auto-inserted\",\n+                     \"stages.  One is subtracted because the AFU is still expected\",\n+                     \"to register the CCI-P signals.  Automatic mode shifts\",\n+                     \"responsibility for managing variations in num-timing-reg-stages\",\n+                     \"from AFUs to the platform.\"\n+                  ],\n+               \"num-auto-timing-reg-stages\": null,\n+\n+               \"comment\":\n+                  [\n+                     \"AFUs may request that the platform transform the CCI-P clock\",\n+                     \"to a different clock domain by setting this value to the\",\n+                     \"name of another incoming clock.\"","path":"platforms/platform_db/platform_defaults.json","position":71,"original_position":69,"commit_id":"4cd9f34b267bb257065e8b55450d5e62dbc499d9","original_commit_id":"63d97ebf5b8c9e92599e3f45e572312cf479b9f3","user":{"login":"michael-adler","id":10950878,"avatar_url":"https://avatars0.githubusercontent.com/u/10950878?v=4","gravatar_id":"","url":"https://api.github.com/users/michael-adler","html_url":"https://github.com/michael-adler","followers_url":"https://api.github.com/users/michael-adler/followers","following_url":"https://api.github.com/users/michael-adler/following{/other_user}","gists_url":"https://api.github.com/users/michael-adler/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-adler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-adler/subscriptions","organizations_url":"https://api.github.com/users/michael-adler/orgs","repos_url":"https://api.github.com/users/michael-adler/repos","events_url":"https://api.github.com/users/michael-adler/events{/privacy}","received_events_url":"https://api.github.com/users/michael-adler/received_events","type":"User","site_admin":false},"body":"And the user clocks so you can have any frequency. Ok, I will.","created_at":"2017-12-19T02:57:09Z","updated_at":"2017-12-19T02:57:09Z","html_url":"https://github.com/OPAE/opae-sdk/pull/114#discussion_r157654419","pull_request_url":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/OPAE/opae-sdk/pulls/comments/157654419"},"html":{"href":"https://github.com/OPAE/opae-sdk/pull/114#discussion_r157654419"},"pull_request":{"href":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114"}},"in_reply_to_id":157619154},"pull_request":{"url":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114","id":158977379,"html_url":"https://github.com/OPAE/opae-sdk/pull/114","diff_url":"https://github.com/OPAE/opae-sdk/pull/114.diff","patch_url":"https://github.com/OPAE/opae-sdk/pull/114.patch","issue_url":"https://api.github.com/repos/OPAE/opae-sdk/issues/114","number":114,"state":"open","locked":false,"title":"Add shims to the OPAE RTL platform between the top-level PR boundary and the AFU","user":{"login":"michael-adler","id":10950878,"avatar_url":"https://avatars0.githubusercontent.com/u/10950878?v=4","gravatar_id":"","url":"https://api.github.com/users/michael-adler","html_url":"https://github.com/michael-adler","followers_url":"https://api.github.com/users/michael-adler/followers","following_url":"https://api.github.com/users/michael-adler/following{/other_user}","gists_url":"https://api.github.com/users/michael-adler/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-adler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-adler/subscriptions","organizations_url":"https://api.github.com/users/michael-adler/orgs","repos_url":"https://api.github.com/users/michael-adler/repos","events_url":"https://api.github.com/users/michael-adler/events{/privacy}","received_events_url":"https://api.github.com/users/michael-adler/received_events","type":"User","site_admin":false},"body":"- JSON configurable clock domains for CCI-P and local memory.\r\n- Platform-dependent auto-insertion of register stages to reduce timing pressure.","created_at":"2017-12-18T17:48:18Z","updated_at":"2017-12-19T02:57:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d5ff7066a1c25f4bd7680421dca266ccec193803","assignee":{"login":"michael-adler","id":10950878,"avatar_url":"https://avatars0.githubusercontent.com/u/10950878?v=4","gravatar_id":"","url":"https://api.github.com/users/michael-adler","html_url":"https://github.com/michael-adler","followers_url":"https://api.github.com/users/michael-adler/followers","following_url":"https://api.github.com/users/michael-adler/following{/other_user}","gists_url":"https://api.github.com/users/michael-adler/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-adler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-adler/subscriptions","organizations_url":"https://api.github.com/users/michael-adler/orgs","repos_url":"https://api.github.com/users/michael-adler/repos","events_url":"https://api.github.com/users/michael-adler/events{/privacy}","received_events_url":"https://api.github.com/users/michael-adler/received_events","type":"User","site_admin":false},"assignees":[{"login":"michael-adler","id":10950878,"avatar_url":"https://avatars0.githubusercontent.com/u/10950878?v=4","gravatar_id":"","url":"https://api.github.com/users/michael-adler","html_url":"https://github.com/michael-adler","followers_url":"https://api.github.com/users/michael-adler/followers","following_url":"https://api.github.com/users/michael-adler/following{/other_user}","gists_url":"https://api.github.com/users/michael-adler/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-adler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-adler/subscriptions","organizations_url":"https://api.github.com/users/michael-adler/orgs","repos_url":"https://api.github.com/users/michael-adler/repos","events_url":"https://api.github.com/users/michael-adler/events{/privacy}","received_events_url":"https://api.github.com/users/michael-adler/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"diptisherlekar","id":31354987,"avatar_url":"https://avatars0.githubusercontent.com/u/31354987?v=4","gravatar_id":"","url":"https://api.github.com/users/diptisherlekar","html_url":"https://github.com/diptisherlekar","followers_url":"https://api.github.com/users/diptisherlekar/followers","following_url":"https://api.github.com/users/diptisherlekar/following{/other_user}","gists_url":"https://api.github.com/users/diptisherlekar/gists{/gist_id}","starred_url":"https://api.github.com/users/diptisherlekar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diptisherlekar/subscriptions","organizations_url":"https://api.github.com/users/diptisherlekar/orgs","repos_url":"https://api.github.com/users/diptisherlekar/repos","events_url":"https://api.github.com/users/diptisherlekar/events{/privacy}","received_events_url":"https://api.github.com/users/diptisherlekar/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114/commits","review_comments_url":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114/comments","review_comment_url":"https://api.github.com/repos/OPAE/opae-sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OPAE/opae-sdk/issues/114/comments","statuses_url":"https://api.github.com/repos/OPAE/opae-sdk/statuses/4cd9f34b267bb257065e8b55450d5e62dbc499d9","head":{"label":"OPAE:mcadler/platform_clk_reg","ref":"mcadler/platform_clk_reg","sha":"4cd9f34b267bb257065e8b55450d5e62dbc499d9","user":{"login":"OPAE","id":30705801,"avatar_url":"https://avatars2.githubusercontent.com/u/30705801?v=4","gravatar_id":"","url":"https://api.github.com/users/OPAE","html_url":"https://github.com/OPAE","followers_url":"https://api.github.com/users/OPAE/followers","following_url":"https://api.github.com/users/OPAE/following{/other_user}","gists_url":"https://api.github.com/users/OPAE/gists{/gist_id}","starred_url":"https://api.github.com/users/OPAE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OPAE/subscriptions","organizations_url":"https://api.github.com/users/OPAE/orgs","repos_url":"https://api.github.com/users/OPAE/repos","events_url":"https://api.github.com/users/OPAE/events{/privacy}","received_events_url":"https://api.github.com/users/OPAE/received_events","type":"Organization","site_admin":false},"repo":{"id":102083635,"name":"opae-sdk","full_name":"OPAE/opae-sdk","owner":{"login":"OPAE","id":30705801,"avatar_url":"https://avatars2.githubusercontent.com/u/30705801?v=4","gravatar_id":"","url":"https://api.github.com/users/OPAE","html_url":"https://github.com/OPAE","followers_url":"https://api.github.com/users/OPAE/followers","following_url":"https://api.github.com/users/OPAE/following{/other_user}","gists_url":"https://api.github.com/users/OPAE/gists{/gist_id}","starred_url":"https://api.github.com/users/OPAE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OPAE/subscriptions","organizations_url":"https://api.github.com/users/OPAE/orgs","repos_url":"https://api.github.com/users/OPAE/repos","events_url":"https://api.github.com/users/OPAE/events{/privacy}","received_events_url":"https://api.github.com/users/OPAE/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OPAE/opae-sdk","description":"Open Programmable Acceleration Engine","fork":false,"url":"https://api.github.com/repos/OPAE/opae-sdk","forks_url":"https://api.github.com/repos/OPAE/opae-sdk/forks","keys_url":"https://api.github.com/repos/OPAE/opae-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OPAE/opae-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OPAE/opae-sdk/teams","hooks_url":"https://api.github.com/repos/OPAE/opae-sdk/hooks","issue_events_url":"https://api.github.com/repos/OPAE/opae-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/OPAE/opae-sdk/events","assignees_url":"https://api.github.com/repos/OPAE/opae-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/OPAE/opae-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/OPAE/opae-sdk/tags","blobs_url":"https://api.github.com/repos/OPAE/opae-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OPAE/opae-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OPAE/opae-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/OPAE/opae-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OPAE/opae-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/OPAE/opae-sdk/languages","stargazers_url":"https://api.github.com/repos/OPAE/opae-sdk/stargazers","contributors_url":"https://api.github.com/repos/OPAE/opae-sdk/contributors","subscribers_url":"https://api.github.com/repos/OPAE/opae-sdk/subscribers","subscription_url":"https://api.github.com/repos/OPAE/opae-sdk/subscription","commits_url":"https://api.github.com/repos/OPAE/opae-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/OPAE/opae-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/OPAE/opae-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/OPAE/opae-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/OPAE/opae-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/OPAE/opae-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OPAE/opae-sdk/merges","archive_url":"https://api.github.com/repos/OPAE/opae-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OPAE/opae-sdk/downloads","issues_url":"https://api.github.com/repos/OPAE/opae-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/OPAE/opae-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/OPAE/opae-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/OPAE/opae-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OPAE/opae-sdk/labels{/name}","releases_url":"https://api.github.com/repos/OPAE/opae-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/OPAE/opae-sdk/deployments","created_at":"2017-09-01T07:00:50Z","updated_at":"2017-12-18T01:03:36Z","pushed_at":"2017-12-19T01:17:43Z","git_url":"git://github.com/OPAE/opae-sdk.git","ssh_url":"git@github.com:OPAE/opae-sdk.git","clone_url":"https://github.com/OPAE/opae-sdk.git","svn_url":"https://github.com/OPAE/opae-sdk","homepage":"https://01.org/OPAE","size":2677,"stargazers_count":60,"watchers_count":60,"language":"Verilog","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":15,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":15,"open_issues":14,"watchers":60,"default_branch":"master"}},"base":{"label":"OPAE:master","ref":"master","sha":"dc5950ed80ad753ff9beff6df0eef664924638fa","user":{"login":"OPAE","id":30705801,"avatar_url":"https://avatars2.githubusercontent.com/u/30705801?v=4","gravatar_id":"","url":"https://api.github.com/users/OPAE","html_url":"https://github.com/OPAE","followers_url":"https://api.github.com/users/OPAE/followers","following_url":"https://api.github.com/users/OPAE/following{/other_user}","gists_url":"https://api.github.com/users/OPAE/gists{/gist_id}","starred_url":"https://api.github.com/users/OPAE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OPAE/subscriptions","organizations_url":"https://api.github.com/users/OPAE/orgs","repos_url":"https://api.github.com/users/OPAE/repos","events_url":"https://api.github.com/users/OPAE/events{/privacy}","received_events_url":"https://api.github.com/users/OPAE/received_events","type":"Organization","site_admin":false},"repo":{"id":102083635,"name":"opae-sdk","full_name":"OPAE/opae-sdk","owner":{"login":"OPAE","id":30705801,"avatar_url":"https://avatars2.githubusercontent.com/u/30705801?v=4","gravatar_id":"","url":"https://api.github.com/users/OPAE","html_url":"https://github.com/OPAE","followers_url":"https://api.github.com/users/OPAE/followers","following_url":"https://api.github.com/users/OPAE/following{/other_user}","gists_url":"https://api.github.com/users/OPAE/gists{/gist_id}","starred_url":"https://api.github.com/users/OPAE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OPAE/subscriptions","organizations_url":"https://api.github.com/users/OPAE/orgs","repos_url":"https://api.github.com/users/OPAE/repos","events_url":"https://api.github.com/users/OPAE/events{/privacy}","received_events_url":"https://api.github.com/users/OPAE/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OPAE/opae-sdk","description":"Open Programmable Acceleration Engine","fork":false,"url":"https://api.github.com/repos/OPAE/opae-sdk","forks_url":"https://api.github.com/repos/OPAE/opae-sdk/forks","keys_url":"https://api.github.com/repos/OPAE/opae-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OPAE/opae-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OPAE/opae-sdk/teams","hooks_url":"https://api.github.com/repos/OPAE/opae-sdk/hooks","issue_events_url":"https://api.github.com/repos/OPAE/opae-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/OPAE/opae-sdk/events","assignees_url":"https://api.github.com/repos/OPAE/opae-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/OPAE/opae-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/OPAE/opae-sdk/tags","blobs_url":"https://api.github.com/repos/OPAE/opae-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OPAE/opae-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OPAE/opae-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/OPAE/opae-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OPAE/opae-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/OPAE/opae-sdk/languages","stargazers_url":"https://api.github.com/repos/OPAE/opae-sdk/stargazers","contributors_url":"https://api.github.com/repos/OPAE/opae-sdk/contributors","subscribers_url":"https://api.github.com/repos/OPAE/opae-sdk/subscribers","subscription_url":"https://api.github.com/repos/OPAE/opae-sdk/subscription","commits_url":"https://api.github.com/repos/OPAE/opae-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/OPAE/opae-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/OPAE/opae-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/OPAE/opae-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/OPAE/opae-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/OPAE/opae-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OPAE/opae-sdk/merges","archive_url":"https://api.github.com/repos/OPAE/opae-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OPAE/opae-sdk/downloads","issues_url":"https://api.github.com/repos/OPAE/opae-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/OPAE/opae-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/OPAE/opae-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/OPAE/opae-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OPAE/opae-sdk/labels{/name}","releases_url":"https://api.github.com/repos/OPAE/opae-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/OPAE/opae-sdk/deployments","created_at":"2017-09-01T07:00:50Z","updated_at":"2017-12-18T01:03:36Z","pushed_at":"2017-12-19T01:17:43Z","git_url":"git://github.com/OPAE/opae-sdk.git","ssh_url":"git@github.com:OPAE/opae-sdk.git","clone_url":"https://github.com/OPAE/opae-sdk.git","svn_url":"https://github.com/OPAE/opae-sdk","homepage":"https://01.org/OPAE","size":2677,"stargazers_count":60,"watchers_count":60,"language":"Verilog","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":15,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":15,"open_issues":14,"watchers":60,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114"},"html":{"href":"https://github.com/OPAE/opae-sdk/pull/114"},"issue":{"href":"https://api.github.com/repos/OPAE/opae-sdk/issues/114"},"comments":{"href":"https://api.github.com/repos/OPAE/opae-sdk/issues/114/comments"},"review_comments":{"href":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114/comments"},"review_comment":{"href":"https://api.github.com/repos/OPAE/opae-sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OPAE/opae-sdk/pulls/114/commits"},"statuses":{"href":"https://api.github.com/repos/OPAE/opae-sdk/statuses/4cd9f34b267bb257065e8b55450d5e62dbc499d9"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"michael-adler"}}