[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: внутри и font test ниже(+)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено IgorK 01 октября 2001 г. 00:35
В ответ на: Вопрос IgorK. отправлено Elresearch 29 сентября 2001 г. 15:20

>>PCI State Machine
FSM для ‘target’ из спецификации 2.1 слишком обобщена и вряд ли может быть использована напрямую (имеются в виду переменные в уравнениях). FSM для ‘master’ там гораздо лучше. Но начать нужно с разработки ‘target’ - все равно он должен быть. Нужно еще раз посмотреть подглавы 3.3.1, 3.3.2, 3.3.3 – стр. 36-49 (за исключением 3.3.3.3 которая может вообще не понадобиться) и Appendix C.
Советую начать вот с чего. Сделайте проект ‘target’ который будет либо “готов всегда” – тогда остается только Master Completion Termination (сделать nTRDY=!S_Data), либо ‘отвечать’ одновременной выборкой TRDY# и STOP# т.е. Всегда Безусловно на первом же такте пересылки (уже декодированы свой адрес и CBE[]#) происходит Disconnect With Data, S_Data зацикливается до первой пересылки. Пакетов (bursts) во втором случае не будет. Этим на первом этапе разработки круг возможных ошибок будет предельно сужен. О внутренних сигналах и состояниях Target FSM: Hit - селекция свой/чужой, результат сравнения CBE[]# и AD[] с ожидаемыми, Idle (шина свободна), Bus_Busy(в этом состоянии находимся всегда когда на шине происходит любая чужая транзакция). Из примера FSM в специф. выкидываются все лишние переменные - d_done (нужно только учесть задержку на декодирование адреса которая, ясно, не меняется), term, ready (=1), free, locked, l_lock, tar_dly, t_abort (=0), r_perr, last_target, кроме Hit.
Попадание в BACKOFF будет происходить при burst-попытках в варианте с приемом только однократных обращений => Disconnect Without Data в этом случае (но одна пересылка будет всегда!)
LOCK# (вместе с LOCK machine) и PERR#, SERR# не нужны.
Пользуйтесь везде только положительным перепадом CLK. Время ответа DEVSEL#, надо полагать, будет SLOW (третий такт после первой выборки FRAME# low), но это совершенно нормально.
Попробуйте проработать для второго варианта 3 возможных сценария (пользуясь в основном подглавой 3.3.3.2.1), если Hit всегда, можете расписать FSM, DEVSEL#, TRDY#, STOP#. Waveforms ниже в "font test".(НА второй диаграмме зазора между FRAME# и IRDY# нет).

--IgorK

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru