Skip to content

Commit

Permalink
ElasticBuffer: infer reset
Browse files Browse the repository at this point in the history
jordens committed Oct 13, 2016
1 parent 15c0d1c commit 199800e
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions migen/genlib/cdc.py
Original file line number Diff line number Diff line change
@@ -162,21 +162,22 @@ def __init__(self, width):

class ElasticBuffer(Module):
def __init__(self, width, depth, idomain, odomain):
self.reset = Signal()
self.din = Signal(width)
self.dout = Signal(width)

# # #

reset = Signal()
cd_write = ClockDomain()
cd_read = ClockDomain()
self.comb += [
cd_write.clk.eq(ClockSignal(idomain)),
cd_read.clk.eq(ClockSignal(odomain))
cd_read.clk.eq(ClockSignal(odomain)),
reset.eq(ResetSignal(idomain) | ResetSignal(odomain))
]
self.specials += [
AsyncResetSynchronizer(cd_write, self.reset),
AsyncResetSynchronizer(cd_read, self.reset)
AsyncResetSynchronizer(cd_write, reset),
AsyncResetSynchronizer(cd_read, reset)
]
self.clock_domains += cd_write, cd_read

0 comments on commit 199800e

Please sign in to comment.