title: Better to use block RAM or distributed RAM?
body: <p>Now I am working on a project where I am sending over bytes from master to slave via i2c using fpgas. Now In my slave I want to store data coming in and I plan to have between 3-5 arrays like the following each with different indices ranging from 0 to 71 :</p>
  
  <pre><code>type array1 is array(0 to 49) of std_logic_vector(7 downto 0);
  
  type array2 is array(0 to 23) of std_logic_vector(7 downto 0);
  
  type array3 is array(0 to 71) of std_logic_vector(7 downto 0);
  </code></pre>
  
  <p>Been doing some research and I understand that there for xilinx there are two different types of ram known as Block and Distributed but that distributed should be used for small sized memories. Now my question is if I use these types of arrays is it small enough to use distributed? Or is it better to just go for Block?</p>