Also, if you want to instantiate a BRAM primitive of the device you selected, you can find it on user's guide. It talks about what primitive to use, how to initialize, etc.
Its an array~
r u sure arrays in a VHDL code are put into BRAM by default?
PS: the #1 post is from the user's guide template. I am not sure it is the origin VHDL? but i saw it call a library and using a predefined RAM module. I want to instantiate myself with only VHDL code.
Yes. It is an array which is accessed by two ports. Synthesizer should interpret it as a dual port memory.
I've done both ways and they worked.
If you want to target one specific device, I recommend to use the primitive from user's guide because it tells the tool what primitive to use. However, if you need to write a generic BRAM, behavioral model would be better.