-
Notifications
You must be signed in to change notification settings - Fork 16
Clean up IOCell types and parameterization #86
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A little late since this was merged already, but I think this actually regresses on some features and should be partially reverted.
|
||
abstract class AnalogIOCell extends IOCell { | ||
val io: AnalogIOCellBundle |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think you should have changed this; it was done this way intentionally to allow the user to extend the IOCellBundle with foundry IO cell pins. Can you have multiple IO
s in BlackBox
es now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can add this feature back in
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool, thanks. I think everything else looks good, for the record.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, it seems like you can already do this in the current system:
class FancyDigitalGPIOCellBundle extends DigitalGPIOCellBundle {
val extra = Output(Bool())
}
class FancyDigitalGPIOCell extends GenericIOCell with DigitalGPIOCell {
override val io = IO(new FancyDigitalGPIOCellBundle)
}
so no changes are necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think override
works- you'll call IO
twice and end up with phantom IO
s that are disconnected (also I don't think you can call IO
twice in BlackBox
anyway)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NVM the above doesn't work.
No description provided.