lib.cdc: use a local clock domain in ResetSynchronizer.
This reverts commit779f3ee906. This reverts commit300d47ca2e. This reverts commit9c54d0c061.
This commit is contained in:
parent
71ee64c403
commit
a069d975b2
2 changed files with 9 additions and 31 deletions
|
|
@ -82,16 +82,12 @@ class ResetSynchronizer(Elaboratable):
|
|||
return platform.get_reset_sync(self)
|
||||
|
||||
m = Module()
|
||||
for i, o in zip((Const(0, 1), *self._regs), self._regs):
|
||||
m.submodules += Instance("$adff",
|
||||
p_CLK_POLARITY=1,
|
||||
p_ARST_POLARITY=1,
|
||||
p_ARST_VALUE=Const(1, 1),
|
||||
p_WIDTH=1,
|
||||
i_CLK=ClockSignal(self.domain),
|
||||
i_ARST=self.arst,
|
||||
i_D=i,
|
||||
o_Q=o
|
||||
)
|
||||
m.d.comb += ResetSignal(self.domain).eq(self._regs[-1])
|
||||
m.domains += ClockDomain("reset_sync", async_reset=True, local=True)
|
||||
for i, o in zip((0, *self._regs), self._regs):
|
||||
m.d.reset_sync += o.eq(i)
|
||||
m.d.comb += [
|
||||
ClockSignal("reset_sync").eq(ClockSignal(self.domain)),
|
||||
ResetSignal("reset_sync").eq(self.arst),
|
||||
ResetSignal(self.domain).eq(self._regs[-1])
|
||||
]
|
||||
return m
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue