Согласен, непонятно написал. Имелся ввиду конечно же уже собранный код.
Вид для печати
Г.Г.Гришин и другие. Микропроцессоры (Справочное пособие для разработчиков РЭА)
страница 207
http://publ.lib.ru/ARCHIVES/G/GRISHI...shin_G.G..html
Возник у меня вопрос по использованию DMA с wishbone-моделью ВМ2. Я по жизни раньше с этой шиной дела не имел, поэтому и обращаюсь за помощью.
В оригинальном ВМ2 для того, чтобы отобрать шину у процессора, надо было выставить ему сигнал DMR, дождаться подтверждения DMGO, выставить сигнал SACK и снять DMR, и далее делать с шиной все что угодно, пока не снят сигнал SACK.
Я правильно понимаю, что в синхронной схеме c wishbone-интерфейсом достаточно в любой момент, пока шина не занята (CYC=0), по фронту sys_clk_p выставить сигнал wbm_gnt_i=0 ? И после этого процессор не будет трогать шину, пока этот сигнал не вернется обратно в 1.
Нет, арбитраж засовывать в каждую модель (ВМ1/2/LSI...) было бы накладно и сложновато (там хватает проблем с конверсией Qbus в Winshbone), поэтому он предполагается внешний и я им еще не занимался (к DMA еще нужен хороший SDRAM контроллер, с пакетным режимом и поддержкой открытых страниц). Процессор просто выставляет wb_cyc/wb_stb и ждет wb_ack. А если шина занята кем-то и шина не достается процессору, то сигнал wbm_gnt_i служит для остановки внутреннего таймера транзации. То есть затянувшийся DMA не будет вызывать ошибку по тайм-ауту шины.
- - - Добавлено - - -
Сегодняшние обновления, выложены на github:
- исправлена ошибка с модератором шины (тот который имитирует низкую тактовую частоту), при неудачной смене режима шина могла зависнуть
- для платы DE0 создан единый проект, в его рамках могут быть собраны все имеющиеся модели процессоров (ВМ1/2/LSI). Сейчас есть 3 модели и 7 отладочных плат - 21 проект, планируется добавить еще два процессора и минимум две платы - станет 4*9 проектов, поддерживать и развивать это сложно, там копится мусор, поэтому двигаюсь в сторону унификации, все особенности семейства FPGA/платы вынесены в отдельные файлы, для процессора делается унифицированный компонент, который втыкается в любую плату и получаем 3 + 7 = 10 (вместо 3 * 7 = 21) уже на сейчас.
ВМ1 поднялся до 128МГц на DE0 :)
Вот эта в их число входит?
Нет, но из DE2-115 (которая тоже на Cyclone-IV) за пару часов переделывается.
Вообще-то проект Open Source, и не просто так выложен на github. Каждый может клонировать репку, добавить что-то свое и сделать Pull Request. У Вас есть эта плата? Отлично, давайте я закончу общий консолидированный проект на DE2-115, а потом Вы его портанете на свою плату, сделаете PR и мы его замерждим? И любой сможет пользоваться результатами Вашего порта, и коммит Ваш именной будет вклад увековечивать. Ну да, желательно потом поддерживать, добавлять новые процессоры по мере выхода, но то такое.
- - - Добавлено - - -
588ВС2 куплена у 3.3volt.ua, оплачена, скоро поедет, и это удивительно.
Остальные продавцы - "на морозе". Ничего нового, все как всегда.
Vslav, ВУ2-0006-0007 то нужны?
По 4 могу выслать :)