User Tag List

Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 31 по 40 из 65

Тема: Экспериментальные процессорные модули 2х1801ВМ1 и 1801ВМ2

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил логический анализатор (SignalTap), теперь можно не отходя от монитора смотреть чего там на шине реального процессора происходит. На прерывание таймера добавил переключатель, теперь можно отключать, как в реально машине, а то мешает тестам 401/404. Тест 401 зациклил, выводит счетчик циклов на семисегментный индикатор не плате.
    Выкладываю первую ревизию 1.0a для платы DE0
    В первом посте темы будут выкладываться обновленные ссылки.
    Последний раз редактировалось Vslav; 27.11.2015 в 23:18.

    Этот пользователь поблагодарил Vslav за это полезное сообщение:

    Sergey(22.09.2020)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Модуль на 1801ВМ2 успешно заработал. Процессоры устойчива работают на 10МГц. На 12,5МГц из 4-х штук не захотел ни один.
    Также спаян модуль с 1801ВМ3, там с прошивкой МАХ придется чуток повозиться.
    Выглядит вот так:

    Этот пользователь поблагодарил Vslav за это полезное сообщение:

    Sergey(22.09.2020)

  4. #3

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Запустил модуль 1801ВМ3. Есть некоторые непонятки, просто изложу ситуацию.
    SSYNC сидит на земле, стабильное питание 4.75В, все временные диаграммы обмена по шине в норме (смотрел анализатором).
    Пробовал три экземпляра процессоров, с датами 9002 (без точки), 9202 (с точкой), 9201 (без точки).
    Прогнал тест вычисления числа Пи.
    На частоте 4.2 МГц все три процессора работают правильно, никаких проблем нет, работает в цикле часами.
    На частоте 5.0МГц есть странность - при включенных прерываниях таймера 50Гц (подключено к EVNT) процессор теряет управление.
    Если прерываний таймера нет, то число Пи на 5МГц считается успешно (просто время не отсчитывается)
    Все три процессора после сбоя ведут себя одинаково - при новом прерывании EVNT они сохраняют состояние по адресу 076:074, и стартую с нулевого адреса (нет обращения к вектору 100!), при этом нормальный режим работы не восстанавливается. В итоге выяснилось, если есть инструкция считывания данных со значением 177777 (например mov #177777, R0, регистр значения не имеет, или mov adr, R1 (в ячейке 177777)) то происходит сбой.
    Запрет прерываний в момент выполнения такой инструкции не помогает, видимо имеет место какой-то аппаратный сбой внутри процессора.
    Еще особенность - сразу при включении питания, пока процессор холодный, то может правильно работать на 5Мгц, по мере прогрева - начинаются проблемы. То есть, на ошибку в FPGA-платформе непохоже, там сразу бы не работало.

    Все материалы по модулям vmod_rev12a.rar

  5. #4

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Пожалуй, без реверса ВМ3 не обойтись

  6. #5

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Пожалуй, без реверса ВМ3 не обойтись
    А может лучше 1811ВМ1? Надо бы к нему переходник спаять и погонять.
    1801ВМ3 не демонcтрирует чудес производительности и явно уступает 1801ВМ2. Похоже что введение уже трех режимов (пользователя, ядра и пульта) уже критично сказалось на микропрограмме.

  7. #6

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    А может лучше 1811ВМ1?
    Как угодно. Хотя он в плане эмуляции ретрокомпов менее интересен. Главное вм2 добить.

  8. #7

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как угодно. Хотя он в плане эмуляции ретрокомпов менее интересен. Главное вм2 добить.
    ВМ2 добьем . Но 1801ВМ3 или 1811ВМ1 все равно нужен, хочется же RSX-11M нормально запустить.

  9. #8

    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,246
    Спасибо Благодарностей отдано 
    498
    Спасибо Благодарностей получено 
    557
    Поблагодарили
    436 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если 1801ВМ3 трапует при чтении числа 177777 - верный косяк трекинга шины.
    У БИС 1801ВМ3 ножки не сильнее 1801ВМ1, так что дребезга на МПИ - более, чем достаточно.
    Вообще, для полного понимания процессов внути устройств на 1801ВМ3 необходим 32-х канальный осциллограф, не менее 4 бит на канал, не менее 100 мгц строб - там будет все ясно.
    *
    Переход к выполнению с 000000 адреса - ВМ3 в пульт валится. Пока не выберется из пульта - все прерывания запрещены, включая ЕМТ.
    Вероятно, или гнилой тактовый сигнал - не пропорция 50%, или недостаточно питания - +5.70 в. может и не хватать.
    Так же обязательно необходимо предусмотреть подтяжки до +5 в - особенности реализации процессора, например см. о тактировании Z80 - тоже строго до +4.5 в, не менее.
    *
    Правильная реализация малогабаритной ( до 120х120 мм ) системы на 1801ВМ3 - от ног процессора подтяжки 1 ком до +5. 00 в, потом канал 530АП2, с др. стороны 530АП2 - подтяжка 150 ом к +5в. - если есть несколько потребителей сигнала, или 330 ом - если 1 потребитель. Коаксильность МПП - крайне желательна.
    *
    1801ВМ3А при 6 мгц 0 тактов СОЗУ ( SSYNC - 0v ) выдает не менее 1.5 млн рег-рег, что реально никак не делает 1801ВМ2А при любом разгоне. Типовой 1801ВМ3А отлично гонится до 6.75 мгц.
    Последний раз редактировалось MM; 08.12.2015 в 18:59.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU

  10. #9

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    Если 1801ВМ3 трапует при чтении числа 177777 - верный косяк трекинга шины.
    Он не трапует именно по чтению 177777 - данные читает успешно, проблемы возникают позже при прерывании на входе EVNT.

    Цитата Сообщение от MM Посмотреть сообщение
    У БИС 1801ВМ3 ножки не сильнее 1801ВМ1, так что дребезга на МПИ - более, чем достаточно.
    Там все соединения точка-точка, то есть просто отрезок провода от микросхемы к микросхеме, и очень близко к ножке процессора установлен резистор 2K2 на +3.3. ПЛИС не нужен уровень +5В, ей отлично +3.3CMOS хватает. Правда корпус здоровый, длинный проводник внутри корпуса процессора никуда не делся. Картинка - желтый DIN, выход процессора, голубой читаемый ~AD0, сигнал формируется 74LVC245.



    Шина данных немного шумит, я делал в основной ПЛИС степпинг для читаемых данных - разбил вывод на шину на 4 такта (100МГц), в первом такте выводятся линии [3:0], во втором [7:4], в третьем [11:8], в последнем [15:12], теперь при чтении 177777 физические нули не сразу толпой из 16 штук на шину вываливаются. Это немного снизило видимые шумы на осцилографе, но проблему не решило.

    Цитата Сообщение от MM Посмотреть сообщение
    Вообще, для полного понимания процессов внути устройств на 1801ВМ3 необходим 32-х канальный осциллограф, не менее 4 бит на канал, не менее 100 мгц строб - там будет все ясно.
    Есть логический анализатор до 36 каналов (не SignalTap в ПЛИС, а обычный железный анализатор), до 4Гигасемплов/секунда, показывает что с циклами шины все OK. Осциллограф в форме сигналов криминала особого не видит, уровни и выбросы приемлемые, борьбы никакой не видно.

    Цитата Сообщение от MM Посмотреть сообщение
    Переход к выполнению с 000000 адреса - ВМ3 в пульт валится.
    Да, валится в пульт, выход HLTМ переходит в низкий.
    Я сделал прерывание EVNT по кнопочке - кнопочку нажал, возникает одиночный импульс. Если нигде не читается 177777, то процессор нормально прерывается по 100 вектору. А если было где-то чтение 177777 (ранее, не в прерываемой инструкции!, поэтому то запрет прерываний и не помогал) - то улетает в пульт, причем сразу, по фронту EVNT.

    Картинка: []
    Там видно и степпинг по данным (значение устанавливается за несколько тактов) и видно что по EVNT сразу не стал читать вектор 100, как при обычном прерывании, а пошел сохранять PSW по адресу 076, и PC по адресу 074. В сохраняемом PSW никакого криминала не видно.

    Цитата Сообщение от MM Посмотреть сообщение
    Вероятно, или гнилой тактовый сигнал - не пропорция 50%
    Да, был слегка "гнилой". С пропорциями все ОК, но иногда в середине фазы были очень приличные помехи уровнем до полутора вольт. Я стал искать причину, пробежал вторым каналом осциллографа по выводам процессора, и помеха оказалась синхронна с линией AD3. Прикол, ставишь щуп AD3 - и помеха на CLK пропадает. Я припаял туда 10пФ и сигнал на CLK стал таким (включено послесвечение, показать что в других циклах тоже все OK):



    После этого процессор уверено стартанул на 6.25МГц. После обнаружения такого прикола я долго лазил по плате с осциллографом, сделал степпинг в ПЛИС, ограничил токи выводов ПЛИС, добавил Slew Rate (зарезал немножко фронты), все это не помогло, источником помехи является сам процессор. Почему ему помогло 10пФ на одной линии - не очень понятно.

    Цитата Сообщение от MM Посмотреть сообщение
    , или недостаточно питания - +4.70 в. может и не хватать.
    Подал питание +5.2В от внешнего источника, проблема осталась. Процессор кушает при вычислении Пи всего 150мА, так что греется несильно - 0.75Вт всего.

    Цитата Сообщение от MM Посмотреть сообщение
    Так же обязательно необходимо предусмотреть подтяжки до +5 в
    Предусмотрено, 2К2 на +3.3в. Это усиливает верхние ключи для выходов процессора, внешним схемам +5В не нужны. Процессору +5V сигналы тоже не нужны, входной буфер (я не видел пока, по аналогии с ВМ1/ВМ2) устроен так что ему именно достаточно +2.4В (как в даташите) для полного открытия транзистора. Практика - критерий истины - число Пи на 6.25МГц успешно считается в полностью 3.3-вольтовой среде.

    Цитата Сообщение от MM Посмотреть сообщение
    Правильная реализация малогабаритной ( до 120х120 мм ) системы на 1801ВМ3 - от ног процессора подтяжки 1 ком до +5. 00 в, потом канал 530АП2
    Все это прекрасно, но втыкать абсолютно некуда - Циклоны принципиально больше 4.6вольта не переживают, а еще и частенько горят от выбросов.

    Цитата Сообщение от MM Посмотреть сообщение
    1801ВМ3А при 6 мгц 0 тактов СОЗУ ( SSYNC - 0v ) выдает не менее 1.5 млн рег-рег
    Мне такого добиться не удалось. Там выше выложена диаграммка (с прерыванием которая), из нее следует что самый короткий цикл занимает 5 тактов извлечения инструкции, причем видно что процессор снимает DIN по второму фронту CLK при активном RPLY, точно как это делают ВМ1/ВМ2. Возможно ВМ3 заканчивает цикл по первому же фронту CLK активного RPLY (слегка нарушая спецификацию МПИ), значит RPLY просто не сразу был обнаружен. Статья в МПСС по ВМ3 говорит что данные принимаются по срезу CLK после обнаружения RPLY на фронте CLК. То есть DIN по первому CLK снять нельзя - устройство уйдет с шины, прочтется мусор. Точно мы это узнаем когда реверс ВМ3 закончим. У меня итоговая производительность на 6МГц/5тактов - 1.2Мипс. Такое я увидел на блоке инструкций mov R,R. Также видно что один такт тратиться между циклами, но RPLY снимается быстро, SYNC снимается позже, то есть мы ничего тут сделать не можем. У Вас точно получалось извлекать и исполнять инструкцию за 4 такта?


    Цитата Сообщение от MM Посмотреть сообщение
    1801ВМ3А отлично гонится до 6.75 мгц.
    Уже посчиталось Пи на 7.14МГц, на сигналах 3.3В и питании +4.75В. Все правильно считает, но вот по EVNТ валится в пульт. Я вот думаю, а может забить на этот EVNT? Сделаю его векторным, буду просто 100 подсовывать и усе. Векторные же от 065-ой никак не виснут.
    Последний раз редактировалось Vslav; 09.12.2015 в 00:44.

  11. #10

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    точно получалось извлекать и исполнять инструкцию за 4 такта?
    Результаты тестирования это подтверждают :

    Код:
    .RUN OP1
    Op1 - v1.1
    CPU KHz:  3930 > 3954
    CPU KHz:  3954
     
    SOB : 18 ! Last SOB :  9 ! Br  : 15 ! BCS :  7 ! BCC : 15 ! SeC :  4
     
                   R0  (R0)  (R2)+  @(R2)+  -(R1)  @-(R1)  Addr  (PC)+  @Tab(R0)
     
    Tst             4   13    14      21      14      23    15    11      23
    TstB            4   13    14      21      14      23    15    11      23
    Inc             4   17    18      25      18      26    21    21      30
    IncB            4   22    22      28      22      30    27    27      35
    Clr             4   13    14      24      14      23    18    18      25
    ClrB            4   18    18      28      18      25    23    23      31
    MTPS           25   35    39      45      36      46    39    32      46
    MFPS           18   25    26      37      26      34    28    28      36
    XOr             4   20    21      28      21      29    23    23      31
    SwaB            9   23    27      31      24      32    27    27      35
    SXt             9   19    23      30      20      28    24    24      31
     
    Program completed.

Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Модули памяти
    от moxjemi в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 21.03.2011, 12:49
  2. 1801ВМ2 А и Б
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 03.05.2010, 11:51
  3. Ответов: 26
    Последнее: 14.04.2010, 23:55
  4. музыкальные модули
    от Sinus в разделе Программирование
    Ответов: 14
    Последнее: 20.11.2006, 13:04
  5. Библиотеки-модули-программы...
    от Vitamin в разделе Программирование
    Ответов: 319
    Последнее: 19.10.2006, 15:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •