User Tag List

Страница 70 из 273 ПерваяПервая ... 666768697071727374 ... ПоследняяПоследняя
Показано с 691 по 700 из 2727

Тема: Цифровая археология: 1801 и все-все-все

  1. #691

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    командой bis #100, tps разрешается генерация векторного прерывания терминалом. Но поскольку прерывания разрешены, то сразу возникает прерывание по вектору 064.
    А почему сразу разрешается прерывание? Ведь до этого в TPB записывается значение, соответственно в TPS сбрасывается бит готовности в 7-ом разряде. Поэтому установка бита разрешения прерывания происходит при сброшенном бите готовности. А вот когда 1801ВП1-035/065 передаст этот байтик в терминал, то тогда и появится бит готовности, ну и произойдет прерывание.
    1801ВП1-035/065 имеют буферный регистр. Т.е. если ничего не передается, то первый записываемый байт из буферного регистра сразу же передается в сдвиговый и начинает передаваться со скоростью 9600. Следующий записанный байт остается в буферном регистре и ждет освобождения сдвигового. Вот когда сдвиговый освободится, то он перепишется туда, ну соответственно установится и бит готовности. Поэтому в тесте специально идет запись двух нулей в TPB. При первой записи значение практически сразу же попадает в сдвиговый регистр, ну и соответственно устанавливается бит готовности, а вот при записи второго байта оно уже остается в буферном регистре и ждет освобождения сдвигового, соответственно и бит готовности сброшен. За это время ожидания исполнятся и CLR STATUS, и MTPS STATUS. Ну и начнет выполняться WAIT.

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

  3. #692

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    При первой записи значение практически сразу же попадает в сдвиговый регистр, ну и соответственно устанавливается бит готовности
    Кстати - мы это тестировали и получилось, что 1801ВП1-035/065 после первой записи выдаёт прерывание ( если не ошибаюсь ) через 70 тактов CLC.

  4. #693

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    613
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    176
    Поблагодарили
    136 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А почему сразу разрешается прерывание?
    Потому, что я не знаю временных задержек, и написанная мной модель работает мгновенно. Где эти самые задержки посмотреть, я тоже не знаю.
    Записанное значение в TPB когда начинает передаваться с заданной скоростью (9600 по умолчанию), сразу после записи в регистр или через сколько-то тактов?
    Бит готовности устанавливается после окончания передачи сразу, или с какой-то задержкой?
    Когда возникает запрос на прерывание, если оно разрешено, после установки бита готовности, сразу, или через сколько-то тактов?
    Цитата Сообщение от Patron Посмотреть сообщение
    Кстати - мы это тестировали и получилось
    Где можно посмотреть результаты?

  5. #694

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

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Где можно посмотреть результаты?
    Тест здесь, результат запуска там же - в следующем сообщении.

    Цитата Сообщение от gid Посмотреть сообщение
    Записанное значение в TPB когда начинает передаваться с заданной скоростью (9600 по умолчанию), сразу после записи в регистр или через сколько-то тактов?
    После передачи байта из буферного регистра в сдвиговый. В тот же момент освобождается буферный регистр и устанавливается бит готовности. Время это для разных портов различается. Для 035/065 - это ( похоже ) 32 такта, для портов DEC больше ( весьма похоже на половину времени передачи одного бита ).

    Цитата Сообщение от gid Посмотреть сообщение
    Бит готовности устанавливается после окончания передачи сразу, или с какой-то задержкой?
    Бит готовности устанавливается после передачи байта из буферного регистра в сдвиговый. Время до установки бита готовности равно [ оставшееся время передачи байта из сдвигового регистра в линию + время передачи байта из буферного регистра в сдвиговый ]. Когда никакой байт ещё не передаётся - первое слагаемое равно нулю.

    Цитата Сообщение от gid Посмотреть сообщение
    Когда возникает запрос на прерывание, если оно разрешено, после установки бита готовности, сразу, или через сколько-то тактов?
    Похоже, что бит готовности и бит разрешения прерывания объединяются по И в сигнал IRQ - задержка там вряд ли привязана к тактам.

  6. #695

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    613
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    176
    Поблагодарили
    136 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наконец-то получилась рабочая модель процессора ВМ1 сконвертированная из верилога в си. Проходит тесты 791401 и 791404 (для типа процессора ВМ1А).
    Из недостатков: модель терминала так и осталась притянутой за уши, лишь бы тест 791404 проходил. Нет никаких удобств по разного рода тестированиям и экспериментам, всё интересуемое делается через правку исходников и перекомпиляцию в среде VS. Недостаточная визуализация работы процессора. Кривоватая реализация Z-состояний выходов процессора, без которой долго ничего не хотело работало.
    Из достоинств: в директории vm1cpu находится рабочая потактовая модель процессора (неоптимизированная, простой механический перевод из верилога как есть), пример её использования находится в директории qbusboard, там реализована простейшая материнская плата.
    Исходник VM1CPP.rar

  7. #696

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

    По умолчанию

    Давно было отфотографировано и отреверсено, оставалось доделать схему и промоделировать, ожидало пока время и настроение будут: Цифровая археология 1801: В чащах юга жил бы цитрус 065

    Сейчас в процессе перенос на "человеческий" Верилог (не автогенерация из пикада по библиотечным ячейкам) и прикручивание Wishbone. Думаю еще опционально FIFO на прием добавить, а также приемную передискретизацию и мажоритарку.

  8. #697

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

    По умолчанию

    Процессор 1801ВМ1, ревизия 1.4a:

    - удалены параметры глобальной конфигурации собственно из модуля vm1, теперь конфигурируется через параметры самого модуля (которые устанавливаются при имплементации модуля из глобальных параметров). Это рекомендация ведущих собаководов HDL-стиля OpenCores, позволяет в одном проекте применить модули с разными параметрами, например ВМ1А и ВМ1Г одновременно
    - написан параметризованный контроллер прерываний. Прерывания вынесены из периферии и собраны в одном месте, это упрощает модули периферии и позволяет легко модифицировать всю систему - осуществлять управление векторами и приоритетами запросов
    - написан UART в стиле 1801ВП1-065, содержит синтезатор опорной частоты для приемопередатчика на основе фазового аккумлятора (это позволяет сэкономить одну PLL), поддерживает скорости обмена до 921600 Бод, длину слова от 5 до 8 бит, а также дополнительную опцию одного стоп-бита (оригинальный 065 всегда посылал два стоп-бита, на приемник эта опция не влияет - всегда принимается половинка первого стоп-бита). Скорость обмена настраивается от 50 до 921600 Бод
    - реализован таймер генерации 50Гц на входе прерывания IRQ2
    - написан программа простого эхо-тест консоли, использует прерывания приемника и передатчика

    Итого - имеется реальная плата DE0, на которой поднята модель ВМ1 и 8КБ памяти, плата подключается по RS-232 к PC (где мы, разумеется, запустим терминалку), работают все таймеры, можно компилировать и запускать разнообразные тесты.

  9. #698

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

    По умолчанию

    А почему бы не продолжить и не сделать модуль для замены пин-то-пин КР1801ВМ1Г-50 мгц ? Параметры МПИ выставлять перемычками, адаптер шины - на Н530АП2/530АП2 ( в Москве ~ по 60 руб 1 шт. ).
    Какая могла бы быть цена такого модуля для россиян ?
    Для согласования тормозов МПИ предусмотреть следующие перемычки ( по 3 бита, со значением от 0 до 7 х ) :
    1. Предвыставление адреса ( до SYNC ) на МПИ - от 50 до 400 нс с шагом 50 нс
    2. Удержание адреса на МПИ ( после SYNC ) - от 50 до 400 нс с шагом 50 нс
    3. Предвыставление данных до подачи DOUT - от 50 до 400 нс
    4. Удержание данных после снятия DOUT - от 50 до 400 нс
    5. Задержка чтения процессором данны с МПИ после прихода RPLY - от 0 до 350 нс
    6. Умножение частоты со входа CLC - от 2 до 14 ( ? )
    Таймер при этом целесообразно тактировать от натурального входа CLC ( ? ).
    Вероятно, могут понадобится еще какие-нибуть настройки таймингов МПИ.
    Если мало ног у ПЛИС - поставить ЭКФ1564КП5 3-4 шт, на входы - перемычки.
    Спрос на такой модуль будет непременно, по крайней мере 1 шт.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU

  10. #699

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

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    А почему бы не продолжить и не сделать модуль для замены пин-то-пин КР1801ВМ1Г-50 мгц ?
    А чего только 50МГц? Проект с запасом на 100МГц собрался.
    Пока новый ретропроект начинать не хочу, надо старые доделать - точные реплики БК/ДВК.

    Как вариант - можно взять плату модуля на 2x1801ВМ1 и сделать макетку ВМ-мулятора на ней, оно же в обе стороны работать будет. То есть - вместо процессора на плату модуля запаять цанговые штыри, и втыкать вместо основного процессора, скажем, в плату БК. А сам проект FPGA-процессора разместить в той же DE0.

    Но старые платы не дадут большого выигрыша от замены процессора - там память медленная, надо будет еще и кеш внутри размещать. В-общем, посмотрим, но не "прямо щаз", пока есть что доделывать.

    Цитата Сообщение от MM Посмотреть сообщение
    Параметры МПИ выставлять перемычками, адаптер шины - на >Н530АП2/530АП2 ( в Москве ~ по 60 руб 1 шт. ).
    Да, адаптер МПИ буду делать, нужен для проекта ДВК, пока не решил - будет это заводская печатная плата или просто на макетке спаяю "для себя".
    Прикидывал ноги чтобы подключить МПИ в тот же штатный 40-пиновый разъем на платах DE, на 22-битный доступ немножко не хватает, а какой уплотнитель-мост городить не хочется, пока тоже обдумываю.

  11. #700

    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    2,164
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Но что то мне подсказывает что даже 50 МГц не будет работать в старых машинах из за памяти....
    Ведь там везде стоит динамика - средняя скорость доступа от 200 до 500 нс. Неужели будет работать без торможения проца ?
    Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
    Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
    ZX Evo 4Mb- в строю.
    Speccy2010 v1
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

Страница 70 из 273 ПерваяПервая ... 666768697071727374 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 17:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 22:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 23:13

Метки этой темы

Ваши права

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