Knowledge Base Article
How can I create VHDL for a byte-enabled true dual-port RAM to enable correct inference during Quartus II synthesis and correct behavior during RTL simulation?
Description
Due to a problem in the Quartus® II software versions 11.0 and earlier, the Byte-enabled True Dual Port RAM VHDL template does not correctly infer a RAM megafunction in the Quartus II synthesis and does not simulate correct behavior in RTL simulation.
To work around this problem, make the following changes in the Byte-enabled True Dual Port RAM VHDL template:
- Change the declaration of
ramfromsignaltoshared variable.
- Add the following lines after the declaration of
ram:attribute ramstyle : string;
attribute ramstyle of ram : variable is "no_rw_check"; - Change the operator for all assignments to
ramfrom<=to:=.
Download a version of the template with the necessary changes from the following link:
The Byte-enabled True Dual Port RAM VHDL template is scheduled to be fixed in a future release of the Quartus II software.
Updated 1 month ago
Version 2.0No CommentsBe the first to comment