-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The complex times a fixedpoint problem #80
Comments
I did investigate this last week and ran into problems. I'll summarize the approaches I played around with. Zero width wire hack Scalar Traits Using Optionable Bundles Record hack @jackkoenig, Suppose I have a class (call it |
So there is an open Chisel task (couldn't find a Github issue though), to be able to bulk connect child bundles to instances of their parent types. This is a little different though, since Bundles can only ever add fields to their parents, it is safer than what you're doing here. This example is especially weird because the child has fewer fields than the parent. I'm not sure if this "bulkConnectToParent" operation even really makes sense on Records, it seems like more of a Bundle thing. My suggestion is to define your own "casting" methods, like |
@stevobailey has identified a problem where parameterized types being passed to a module may result in operators being applied to two different types. For example: a FixedPoint number being multiplied with a DspComplex[FixedPoint]. Type classes do not help us here because the operand are not of the same type. @grebe created an implementation using additional implicits that allow the FixedPoint to be coerced upward in order to correctly apply the desired operations. After a long discussion with @stevobailey @shunshou @chick and @grebe it was believed that we identified an simpler more explicable scheme involving traits that can be added to modules that would get the desired results. This issue is to make sure we don't lose track of that goal.
The text was updated successfully, but these errors were encountered: