{"action":"created","issue":{"url":"https://api.github.com/repos/freechipsproject/chisel3/issues/694","repository_url":"https://api.github.com/repos/freechipsproject/chisel3","labels_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/694/labels{/name}","comments_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/694/comments","events_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/694/events","html_url":"https://github.com/freechipsproject/chisel3/pull/694","id":258211952,"number":694,"title":"Aggregates can now be marked as literals.","user":{"login":"grebe","id":1581988,"avatar_url":"https://avatars2.githubusercontent.com/u/1581988?v=4","gravatar_id":"","url":"https://api.github.com/users/grebe","html_url":"https://github.com/grebe","followers_url":"https://api.github.com/users/grebe/followers","following_url":"https://api.github.com/users/grebe/following{/other_user}","gists_url":"https://api.github.com/users/grebe/gists{/gist_id}","starred_url":"https://api.github.com/users/grebe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grebe/subscriptions","organizations_url":"https://api.github.com/users/grebe/orgs","repos_url":"https://api.github.com/users/grebe/repos","events_url":"https://api.github.com/users/grebe/events{/privacy}","received_events_url":"https://api.github.com/users/grebe/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-09-16T06:18:24Z","updated_at":"2018-05-24T21:07:40Z","closed_at":"2018-05-24T20:53:43Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/freechipsproject/chisel3/pulls/694","html_url":"https://github.com/freechipsproject/chisel3/pull/694","diff_url":"https://github.com/freechipsproject/chisel3/pull/694.diff","patch_url":"https://github.com/freechipsproject/chisel3/pull/694.patch"},"body":"This is inspired by dsptools DspReal(), which is implemented as a Bundle with a UInt inside. Bundles currently can't be literals, which causes problems because it is totally natural to want a literal DspReal().\r\n\r\nThis is an initial stab at making literal bundles work in this context. It doesn't go anywhere towards addressing #417, although I think it does address #418 to an extent. This is also related to ucb-bar/dsptools#55 and perhaps ucb-bar/dsptools#87.\r\n\r\nThe big difference between how lits need to work for Aggregates and UInt/SInt/etc. is that UInt/SInt/etc aren't meant to be subclassed, whereas Aggregates are (especially Bundle and Record). Some API needs to be provided for users to mark things as literals (checking that they actually are).\r\n\r\nCurrently, I check by calling isLit() on all children. This is fine for UInt/SInt/etc., but is problematic for Aggregates because they currently don't mark themselves as lits. I added a private var that gets set to something when you try to mark an Aggregate as a lit, but the actual value is ignored because I don't do anything with it. I'm not a fan of doing this, but not familiar enough with the backend to know what a better alternative would be.\r\n\r\n@ducky64 @jackkoenig @chick "},"comment":{"url":"https://api.github.com/repos/freechipsproject/chisel3/issues/comments/391862780","html_url":"https://github.com/freechipsproject/chisel3/pull/694#issuecomment-391862780","issue_url":"https://api.github.com/repos/freechipsproject/chisel3/issues/694","id":391862780,"user":{"login":"grebe","id":1581988,"avatar_url":"https://avatars2.githubusercontent.com/u/1581988?v=4","gravatar_id":"","url":"https://api.github.com/users/grebe","html_url":"https://github.com/grebe","followers_url":"https://api.github.com/users/grebe/followers","following_url":"https://api.github.com/users/grebe/following{/other_user}","gists_url":"https://api.github.com/users/grebe/gists{/gist_id}","starred_url":"https://api.github.com/users/grebe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grebe/subscriptions","organizations_url":"https://api.github.com/users/grebe/orgs","repos_url":"https://api.github.com/users/grebe/repos","events_url":"https://api.github.com/users/grebe/events{/privacy}","received_events_url":"https://api.github.com/users/grebe/received_events","type":"User","site_admin":false},"created_at":"2018-05-24T21:07:40Z","updated_at":"2018-05-24T21:07:40Z","author_association":"CONTRIBUTOR","body":"Yeah, this should be closed."}}
{"actor":{"display_login":"grebe"}}