Описал для virtex6 чтение по двум портам на verilog из rom:
Код
reg [11:0] rom [2**10-1:0];
reg signed [11:0] output_data_sin,output_data_cos;
initial
$readmemh("../sin_table.txt", rom, 0, 1023);
always @(posedge clk) begin
output_data_sin <= rom[addr_sin_s];
output_data_cos <= rom[addr_cos_s];
end
В planahead после разводки наблюдаю две банки памяти. Собрал корку и подключил ее вместо этого описания:
Код
wire signed [11:0] output_data_sin,output_data_cos;
rom_2port rom(
.clka(clk),
.addra(addr_sin_s),
.douta(output_data_sin),
.clkb(clk),
.addrb(addr_cos_s),
.doutb(output_data_cos)
);
Функционал тот же, но банк один. Что я не так сделал?