class AsyncFIFO(_FIFOActor):
def __init__(self, layout, depth):
_FIFOActor.__init__(self, fifo.AsyncFIFO, layout, depth)
-
-
-def FIFO(layout, depth, buffered=False,
- sink_cd="sys", source_cd="sys"):
- if sink_cd != source_cd:
- if buffered:
- ValueError("AsyncFIFO does not support buffered mode")
- fifo = AsyncFIFO(layout, depth)
- return ClockDomainsRenamer({"write": sink_cd, "read": source_cd})(fifo)
- else:
- fifo = SyncFIFO(layout, depth, buffered)
- return ClockDomainsRenamer(sink_cd)(fifo)