Skip to content

Memory with async read ports can synthesize to a BRAM on Xilinx platforms #218

Open
@nmigen-issue-migration

Description

@nmigen-issue-migration

Issue by whitequark
Friday Sep 20, 2019 at 20:13 GMT
Originally opened as m-labs/nmigen#218


Due to what is arguably a bug in the Xilinx toolchain (since it synthesizes perfectly well-formed behavioral Verilog to something that has different behavior), any Memory with an asynchronous read port (often a SyncFIFO) can synthesize to a BRAM in an unpredictable way. To avoid this, a platform-specific pass should insert an attribute for any memory with asynchronous read ports that makes sure it ends up as distributed RAM.

@nakengelhardt tried to fix this in oMigen in m-labs/migen#105, but oMigen does not have the infrastructure required to fix this properly.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions