Instead of going with the much more expensive SRAM, someone decided that refreshing billions of capacitors hundreds of times a second while performing read and write operations is an acceptable way of storing data (even if only while powered).
I wonder what the managers who first heard the idea must've thought :D
And it works so well! It's probably one of the most reliable component in a computer.
Appears to have been invented by Dennard of Dennard Scaling: https://www.thoughtco.com/who-invented-the-intel-1103-dram-c...
FPGAs typically do contain dedicated RAM areas, because implementing it out of FPGA logic slices is terribly inefficient.
(* ram_style = "distributed" *) reg [data_size-1:0] myram [2**addr_size-1:0];
block: Instructs the tool to infer RAMB type components.
distributed: Instructs the tool to infer the LUT RAMs.
registers: Instructs the tool to infer registers instead of RAMs.
ultra: Instructs the tool to use the UltraScale+TM URAM primitives.
See: https://www.xilinx.com/support/documentation/sw_manuals/xili...
edit: formatting*
Finding a mentor is very difficult for me unfortunately (from a third world country, and not particularly rich). I will check out the books and research if there are any obsoleted / old parts. Thanks for the heads-up on SystemVerilog.
Thanks again :)