Код
always @(posedge master_clk)
begin
if (!master_write_waitrequest)
write_address <= ((write_address + 2 /*16 битная шина*/) & 32'h1ffffff);
if (!master_read_waitrequest)
read_address <= ((read_address + 2/*16 битная шина*/) & 32'h1ffffff) | 32'h02000000;
end
begin
if (!master_write_waitrequest)
write_address <= ((write_address + 2 /*16 битная шина*/) & 32'h1ffffff);
if (!master_read_waitrequest)
read_address <= ((read_address + 2/*16 битная шина*/) & 32'h1ffffff) | 32'h02000000;
end
TAP-ом гляжу . С write все хорошо. А вот с Read... выходит мне контроллер SDRAM read_waitrequest на целых 7 тактов выставляет ?? А как с этим бороться ? Родной DMA и тот получше себя ведет =( И еще вопросик - если другой мастер пытается тоже читать с тех же адресов - SDRAM контроллер все равно делает PRECHARGE и открывает банк заново, хотя адрес не менялся. С чем такое может быть связано ?
