Skip to content

Implementing buffer with axis_fifo or axis_pipeline_fifo #37

Description

@keegandent

These modules are incredibly useful, but I'm a little unclear as to which of the two makes sense for a buffer. (I think what I want is a skid buffer, but honestly I'm struggling to understand the difference. I need to buffer UART RX because my module sometimes has to transmit more data than it receives, but obviously there's no way to convey backpressure over UART without flow control.) I would have thought that axis_pipeline_fifo would make more sense, but despite the ram_style directives, it still uses tens of thousands of registers for a 4096-byte buffer. I would have thought given the 400Kb distributed memory capacity of the Basys3's chip, it would not have difficulty accommodating a FIFO this deep, but maybe I'm fundamentally misunderstanding the buffer mechanisms here. Considering the number of FIFOs in this repo, could there be some sort of decision tree to help those of us struggling to navigate the code as to which one we need to pull? I could try to help or create a visual for it once I understand.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions