Why is the address register not pulled into the block RAM when it has a feedback structure?
Currently the address register is not pulled into the block RAM if it has a feedback structure.
See the example below:
As a temporary workaround you can use the switch below in the Tcl console before launching synthesis:
set_param synth.elaboration.rodinMoreOptions "rt::set_parameter forcePackBramAddrReg true"
This will allow you to pull in the address register to block RAM.
Starting from Vivado 2015.3, this parameter is turned on by default in Synthesis.