velu.plg,
Do not call
distributed RAM "DRAM". The acronym DRAM typically stands for
Dynamic Random Access Memory. This is why acronyms should not be used unless they are ubiquitous e.g. LED, USB, CD, etc.
The closest match between the two types of memory is:
- BRAM with no extra registering being done and the ENA/ENB turned off with setting for the Enable port type set to Always enabled.
- With the Distributed RAM the input registers enabled, the output registers disabled, the input clock enable not selected, and the dual port address enabled, the qdpo_clk will be the read port clock and clk will be the write port clock. Note you can not create a true dual port but only a simple dual port in the distributed RAM so we have to assume that is how the BRAM is configured.
Without actually implementing both of these myself (and verifying) I think this should be the closest in compatibility, but you will still need to create a wrapper for the distributed RAM to match the BRAM ports.