Если Вы говорите об этом:
reg [15:0] dataA, dataB;
reg [(2**15)-1:0] addrA, addrB;
always @(posedge clk) begin
dataA <= ram1[addrA];
dataB <= ram1[addrB];
end
то это у меня сделано с самого начала.
Если Вы говорите о другом, то просьба: уточните, о чем речь?
Что касается UG687, то я его использовал (может что-то упустил?).