Цитата(Serhiy_UA @ Jun 20 2012, 09:30)

Похоже, что Ваш FSM не верно обслуживает mt32 с локальной стороны.
Чтобы разобраться, выложите *.pdf PCI Megacore с которым работаете (их много), и ссылку на страницу и диаграмму. А также кратко, что выдается с локальной стороны в mt32 и что по диаграмме не так получается.
Есть еще и SignalTap II Logic Analyzer, который всегда поможет разобраться, покажите и его диаграммы.
Какой QII применяете?
Спасибо, что откликнулись)))
Применяю Quartus 9.1
Описание Core и диаграммы с SignalTab тоже выложил...
не смотрите на сигналы lt_ackn и lt_dxfrn, похоже неправильно нарисовал сигналтаб, т.к. lt_rdyn выставляется на них...
Адрес БАР0 именно 0xF8F0_0000
// выставление готовности при совпадении бар0
always @(posedge ClkPCI or negedge Reset)
begin
if(Reset == 0) ltrdyn <= 1;
else ltrdyn <= !(( bar0_hit) & cycle_start );
end
////////////// выставление с локальной стороны lt_framen ////////////
reg lt_framen_q;
always @ (posedge ClkPCI or negedge Reset)
begin
if (!Reset) lt_framen_q <= 1'b1;
else lt_framen_q <= !lt_framen;
end
//////////////////////////////////////////////////////////////////////////////
//установившийся сигнал обмена
wire cycle_start = (lt_framen_q & !lt_framen);
wire bar0_hit = lt_tsr[0]; // отслеживаем бит 0
// сигнал ответа готовности к обмену
reg ltrdyn;
assign lt_rdyn = ltrdyn;
Эскизы прикрепленных изображений
Прикрепленные файлы
ug_pci.zip ( 1.51 мегабайт )
Кол-во скачиваний: 28