-
Notifications
You must be signed in to change notification settings - Fork 27
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
Native Async reset support in RtlNetlist? #45
Comments
I propose following solution:
With this you will be using async reset on Units with async reset if you do not override reset in I wish I know:
|
Hi @Nic30: We prefer to reuse the classes defined in hwtLib for ASIC design without manually converting them to an async reset style. If your solution can provide that, it is very welcome. Thanks. Also, here are my opinions about your questions for reference:
It is possible, but in our async-reset design style, we usually treat the sync reset as another data signal if needed.
IMHO, letting users choose either of the reset styles is enough in most cases.
No, we never saw that kind of register in ASIC's standard cell library.
Our coding rules for your reference:
|
Hi @jesseclin , in this case, lets do this:
Example of use: class Reg(Unit):
def _config(self):
self.rst_IS_SYNC = Param(NOT_SPECIFIED)
def _declr(self):
addClkRst(self)
self.rst.IS_SYNC = self.rst_IS_SYNC
self.din = Signal()
self.dout = Signal()._m()
def _impl(self):
internReg = self._reg("internReg", BIT, def_val=False)
internReg(self.din)
self.dout(internReg)
u = Reg()
print(to_rtl_str(u, rarget_platform=DummyPlatform(defaultResetType = RESET_TYPE.ASYNC)))
# internReg will have async reset as platform specifies
u = Reg()
print(to_rtl_str(u))
# internReg will have sync reset because it is default in DummyPlatform constructor and not overridden
u = Reg()
u.rst_IS_SYNC = True
print(to_rtl_str(u, rarget_platform=DummyPlatform( defaultResetType = RESET_TYPE.ASYNC)))
# internReg will have sync reset because it uses default reset of component which is explicitly set to be synchronous Do you see any issue with this approach? |
Hi @Nic30: Great, and it should be able to fulfill our needs; thanks. |
Dear @Nic30:
Do you consider adding native asynchronous reset support with hwtLib compatibility like this in RtlNetlist to make it more ASIC-friendly(IMHO)? Thanks.
The text was updated successfully, but these errors were encountered: