{"action":"created","issue":{"url":"https://api.github.com/repos/freechipsproject/chisel3/issues/943","repository_url":"https://api.github.com/repos/freechipsproject/chisel3","labels_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/943/labels{/name}","comments_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/943/comments","events_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/943/events","html_url":"https://github.com/freechipsproject/chisel3/pull/943","id":381765380,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMxNjU5MzQ1","number":943,"title":"RFC: Add Rocket Chip-style clonemodule as CloneAndGetIO to experimental","user":{"login":"albert-magyar","id":1076244,"node_id":"MDQ6VXNlcjEwNzYyNDQ=","avatar_url":"https://avatars2.githubusercontent.com/u/1076244?v=4","gravatar_id":"","url":"https://api.github.com/users/albert-magyar","html_url":"https://github.com/albert-magyar","followers_url":"https://api.github.com/users/albert-magyar/followers","following_url":"https://api.github.com/users/albert-magyar/following{/other_user}","gists_url":"https://api.github.com/users/albert-magyar/gists{/gist_id}","starred_url":"https://api.github.com/users/albert-magyar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/albert-magyar/subscriptions","organizations_url":"https://api.github.com/users/albert-magyar/orgs","repos_url":"https://api.github.com/users/albert-magyar/repos","events_url":"https://api.github.com/users/albert-magyar/events{/privacy}","received_events_url":"https://api.github.com/users/albert-magyar/received_events","type":"User","site_admin":false},"labels":[{"id":567932038,"node_id":"MDU6TGFiZWw1Njc5MzIwMzg=","url":"https://api.github.com/repos/freechipsproject/chisel3/labels/API%20Addition","name":"API Addition","color":"f9d0c4","default":false},{"id":602335518,"node_id":"MDU6TGFiZWw2MDIzMzU1MTg=","url":"https://api.github.com/repos/freechipsproject/chisel3/labels/DO%20NOT%20MERGE","name":"DO NOT MERGE","color":"b60205","default":false},{"id":779178809,"node_id":"MDU6TGFiZWw3NzkxNzg4MDk=","url":"https://api.github.com/repos/freechipsproject/chisel3/labels/Request%20For%20Comment","name":"Request For Comment","color":"ffa500","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-11-16T21:23:57Z","updated_at":"2018-12-07T21:34:30Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/freechipsproject/chisel3/pulls/943","html_url":"https://github.com/freechipsproject/chisel3/pull/943","diff_url":"https://github.com/freechipsproject/chisel3/pull/943.diff","patch_url":"https://github.com/freechipsproject/chisel3/pull/943.patch"},"body":"**Related issue**: #618 \r\n**Type of change**:  feature request\r\n**Impact**: API addition (no impact on existing code)\r\n**Development Phase**: proposal &&  implementation\r\n\r\n**EXAMPLE USAGE**\r\n\r\n```\r\nval q1 = Module(new Queue(...))\r\nval q2_io = CloneAndGetIO(q1)(\"io\").asInstanceOf[q1.io.type]\r\nq2_io.enq <> q1.io.deq\r\n```\r\n\r\n**Release Notes**:\r\nThis is a port of Rocket Chip's `CloneModule` functionality (which returns a `Record`) as `chisel3.experimental.CloneAndGetIO`. This simplifies the implementation drastically, as it can live inside chisel3. The idea here is that there may be some desire to have this live alongside a full `CloneModule` implementation that returns a `Module`, as the API for using the `Record`-returning version is much simpler for basic use cases.\r\n\r\n**Pros**: it makes the simple use cases simple. Also, I am almost positive that anything returning something more module-like would have also have large, non-overlapping caveats associated with its use, which incentivizes having both variants.\r\n**Cons**: it might be confusing to have both `CloneAndGetIO` and another version of `CloneModule` that returns a `Module`. Also, more API features means more to support ad infinitum.\r\n"},"comment":{"url":"https://api.github.com/repos/freechipsproject/chisel3/issues/comments/445372519","html_url":"https://github.com/freechipsproject/chisel3/pull/943#issuecomment-445372519","issue_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/943","id":445372519,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NTM3MjUxOQ==","user":{"login":"albert-magyar","id":1076244,"node_id":"MDQ6VXNlcjEwNzYyNDQ=","avatar_url":"https://avatars2.githubusercontent.com/u/1076244?v=4","gravatar_id":"","url":"https://api.github.com/users/albert-magyar","html_url":"https://github.com/albert-magyar","followers_url":"https://api.github.com/users/albert-magyar/followers","following_url":"https://api.github.com/users/albert-magyar/following{/other_user}","gists_url":"https://api.github.com/users/albert-magyar/gists{/gist_id}","starred_url":"https://api.github.com/users/albert-magyar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/albert-magyar/subscriptions","organizations_url":"https://api.github.com/users/albert-magyar/orgs","repos_url":"https://api.github.com/users/albert-magyar/repos","events_url":"https://api.github.com/users/albert-magyar/events{/privacy}","received_events_url":"https://api.github.com/users/albert-magyar/received_events","type":"User","site_admin":false},"created_at":"2018-12-07T21:34:30Z","updated_at":"2018-12-07T21:34:30Z","author_association":"CONTRIBUTOR","body":"@stevenmburns (sorry I should have tagged you earlier), it would be interesting to see if this would work for your use case."}}
{"actor":{"display_login":"albert-magyar"}}