Вот состряпал я тогда мастер на основе HDL файла, где эти сигналы транслируются на выход:
Цитата
module reader_mm (
avm_m0_address,
avm_m0_read_n,
avm_m0_readdata,
avm_m0_readdatavalid,
avm_m0_waitrequest,
i_addr,
i_r_n,
o_rdata,
o_rdatavalid,
o_wait
);
output [23:0] avm_m0_address; //это мастер
output avm_m0_read_n;
input [15:0] avm_m0_readdata;
input avm_m0_readdatavalid;
input avm_m0_waitrequest;
input [23:0] i_addr; //наружу
input i_r_n;
output [15:0] o_rdata;
output o_rdatavalid;
output o_wait;
assign avm_m0_address = i_addr;
assign avm_m0_read_n = i_r_n;
assign o_rdata = avm_m0_readdata;
assign o_rdatavalid = avm_m0_readdatavalid;
assign o_wait = avm_m0_waitrequest;
endmodule
avm_m0_address,
avm_m0_read_n,
avm_m0_readdata,
avm_m0_readdatavalid,
avm_m0_waitrequest,
i_addr,
i_r_n,
o_rdata,
o_rdatavalid,
o_wait
);
output [23:0] avm_m0_address; //это мастер
output avm_m0_read_n;
input [15:0] avm_m0_readdata;
input avm_m0_readdatavalid;
input avm_m0_waitrequest;
input [23:0] i_addr; //наружу
input i_r_n;
output [15:0] o_rdata;
output o_rdatavalid;
output o_wait;
assign avm_m0_address = i_addr;
assign avm_m0_read_n = i_r_n;
assign o_rdata = avm_m0_readdata;
assign o_rdatavalid = avm_m0_readdatavalid;
assign o_wait = avm_m0_waitrequest;
endmodule
Подобный же для записи.
И вот, собрал систему из такого модуля и on_chip памяти. Поглядел в симуляторе - читает.
- Но, во-первых, когда стал использовать его для чтения DDR, увидел что чтение не пакетами, а слово, ожидание, слово, ожидание... Как ему указать чтобы читал пакетами (в арбитраже выставляю скажем 50)?
- Во-вторых, я обратил внимание, что нету выбора глобального тактового. Не знаю нужен ли он, ведь тут только assign-ы. Или для генерируемой сопцом логики это необходимо - тогда как его задать? Не вкуриваю, напишите пожалуйста куда его в этом HDL прикрутить... Управление всеми сигналами идет по тактовому для памяти.
Вот добавляю я gls_clk, который как следует из доки будет распознан как глобальный сигнал - редактор компонентов его все-равно как slave найдет...
Он же глобальный, какой тут нахрен слейв?