User Tag List

Показано с 1 по 10 из 472

Тема: Потактовый клон i8080 на FPGA/CPLD

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

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

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    У меня есть плата, я бы тоже погонял. А что именно из тестов ALU не проходит?
    Тесты ALUOP NN и ALUOP <B, C, D, E, H, L, M, A> дают неверные CRC32. Думаю с корректностью установки флажков проблемы.
    Проект под DE0 в этом же архиве. Нужно только скомпилировать Execiser\Work\8080exe.asm при помощи zmac assembler (гуглится и выкачивается - мелкий), там есть .bat для этого и также препроцессор локальных меток (atxt32.exe).
    Вложения Вложения
    Последний раз редактировалось Vslav; 10.08.2014 в 23:02.

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

  3. #2

    Регистрация
    21.06.2014
    Адрес
    г. Киев, Украина
    Сообщений
    10
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Тесты ALUOP NN и ALUOP <B, C, D, E, H, L, M, A> дают неверные CRC32. Думаю с корректностью установки флажков проблемы.
    Эти тесты, насколько я понимаю, проверяют инструкции ADI и ADD. Обе они формируют id_add в верилог описании. В документе Intel MCS-80 к ним и некоторым другим инструкциям есть сноска:

    The results of these arithmetic, logical or rotate instructions
    are not moved into the accumulator (A) until
    state T2 of the next instruction cycle. That is, A is loaded
    while the next instruction is being fetched; this overlapping
    of operations allows for faster processing.
    Может быть в этом проблема?
    Из "других" инструкций, для которых действует вышеуказаное правило, тестируется только RLC в тесте <rlc,rrc,ral,rar>, но эта инструкция, видимо, работает правильно.

  4. #3

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

    По умолчанию

    Цитата Сообщение от Udillak Посмотреть сообщение
    Эти тесты, насколько я понимаю, проверяют инструкции ADI и ADD.
    Плюс к ним дополнительно SUB, SBB, CMP, ORA, ANA, XRA.

    Цитата Сообщение от Udillak Посмотреть сообщение
    MCS-80 к ним и некоторым другим инструкциям есть сноска:
    Этот момент работает нормально, когда разбирался я тоже заметил как поздно результат пишется. Это у них pipelinе такой - пока выбираем следующую команду, ALU отрабатывает всю свою длинную цепь переноса из целых 8 бит (для 1973 года - нормально, без сарказма) и наконец успевает выработать правильный результат. Хоть транзисторы и были медленные тогда, но принципы не меняются . Цепь переноса в ALU построена интересно - четные биты нормальные, а во нечетные инвертированные, такая вот самая быстрая физическая реализация в NOR/NAND логике, подозреваю что современные сумматоры тоже похоже устроены.

    Я думаю что, по-крайней мере, ADD, SUB, ORA, XRA, ANA, CMP дают верные результаты (значения аккумулятора как минимум), иначе экзорцист не работал бы - он сам использует эти инструкции для работы. Вероятнее проблема в ADC/SBB или в формировании какого-либо второстепенного флажка типа AC или P. Одну ошибку в формировании AC я уже вчера исправил (в архиве исправленная версия), но не помогло.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Vslav, имхо для упрощения и ускорения процесса выявления проблем нужен тест с пофлаговыми CRC, наподобие такого
    Да, спасибо за тест, но пока не хочу разбираться там с цветами и выводом. Я думаю чуть-чуть модифицировать уже портированный тест экзорциста - изолировать под одной логической инструкции и прогнать его на эталонной машине и получить верные значения CRC32 для этих изолированных тестов.
    Может у кого-от есть под рукой такая эталонная машина с живым 8080/580 и он согласится прогнать мой модифицированный экзорцист. Или кто посоветует эмулятор в котором экзорцист нормально проходит?
    Последний раз редактировалось Vslav; 11.08.2014 в 09:16.

  5. #4
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Нужно только скомпилировать Execiser\Work\8080exe.asm при помощи zmac assembler (гуглится и выкачивается - мелкий), там есть .bat для этого и также препроцессор локальных меток (atxt32.exe).
    Нагуглил ZMAC, пробую собрать Ексесайзер для Специалиста. Получаю кучу ошибок разного калибра. На первых парах пытаюсь собрать оригинал. ЧЯДНТ?

  6. #5

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Нагуглил ZMAC, пробую собрать Ексесайзер для Специалиста. Получаю кучу ошибок разного калибра. На первых парах пытаюсь собрать оригинал. ЧЯДНТ?
    Препроцессор локальных меток atxt32 в начале запускается? Там есть build.bat, можно в нем подглядеть процесс сборки.

    Update:
    - в HDL исправлены ошибки с командой rst
    - также решена проблема с HLT - не заходило в TW
    - проверены прерывания, симуляция + на реальной DE0
    - проверена работа READY, вроде все OK, циклы расширяются
    - почему-то умирает на HOLD, не рестартует после снятия, разбираюсь

    Цитата Сообщение от Titus Посмотреть сообщение
    Крутень) И хватило же терпения это все делать)
    Я так прикинул - 2 транзистора в минуту в среднем, 40 часов всего, как раз месяц вечерами рисовалось.

    Цитата Сообщение от Titus Посмотреть сообщение
    Жду не дождусь реверса линейки 1801ВМ1/2, и чипов от УКНЦ
    Закончим тут, будем потихоньку ВМ1 ковырять.
    Последний раз редактировалось Vslav; 12.08.2014 в 14:09.

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

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

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

Похожие темы

  1. Комманды ассемблера/коды i8080/КР580ВМ80А
    от sergey2b в разделе Разное
    Ответов: 4
    Последнее: 29.11.2015, 14:01
  2. МикроСтеплер. Компилятор ЯП СТЕПЛЕР для i8080
    от Kakos_nonos в разделе Программирование
    Ответов: 8
    Последнее: 31.05.2013, 16:34
  3. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43
  4. Использование FPGA и CPLD (ПЛИС и ПЛМ)
    от Mick в разделе Для начинающих
    Ответов: 69
    Последнее: 03.05.2006, 11:47

Ваши права

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