samcheetah
Advanced Member level 2

what is the difference between inferring a block RAM and instantiating a block RAM. what i have understood is that instantiating something means that you have to tell the synthesizer that i want such and such thing like a RAMB16 etc. whereas if you declare a reg like
this is inferring block RAM.
so why are there two ways? and which one is better
Code:
reg [3:0] abc [3:0];
this is inferring block RAM.
so why are there two ways? and which one is better