User Tag List

Страница 50 из 81 ПерваяПервая ... 464748495051525354 ... ПоследняяПоследняя
Показано с 491 по 500 из 803

Тема: Реверс-инжиниринг Z80

  1. #491

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

    По умолчанию

    Цитата Сообщение от org Посмотреть сообщение
    Выполнена основная часть исследования по регблоку TOSHIBA Z80 MPU (CMOS).
    Я так понял, потранзисторную схему всего чипа никто рисовать не будет?

    - - - Добавлено - - -

    Тошиба случайно не TMPZ84C00AP-6?
    Она в тестах SCF9 давала другие результаты, чем все остальные Zilog'овские CMOS.

  2. #492

    Регистрация
    20.06.2014
    Адрес
    г. Чехов
    Сообщений
    56
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    30 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я так понял, потранзисторную схему всего чипа никто рисовать не будет?
    Транзисторные схемы мы уже давно не делаем для всего чипа, сразу переходим к модульному дизайну (вентили целиком, стандартные ячейки). Для некоторых хитрых модулей трансы иногда используются для уточнения работы ячеек.

    Цитата Сообщение от Titus Посмотреть сообщение
    Тошиба случайно не TMPZ84C00AP-6?
    T84C00AM-5.

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

    Titus(09.10.2024)

  3. #493

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

    По умолчанию

    Цитата Сообщение от org Посмотреть сообщение
    Транзисторные схемы мы уже давно не делаем для всего чипа, сразу переходим к модульному дизайну (вентили целиком, стандартные ячейки).
    Не больше ли шансов накосячить, пропуская этап транзисторной схемы? Я понимаю, для регулярных структур, типа регистров, можно не рисовать все. Но для всякой разнообразной мелкой нерегулярной логики, которой бывает изрядно много?

  4. #494

    Регистрация
    20.06.2014
    Адрес
    г. Чехов
    Сообщений
    56
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    30 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Не больше ли шансов накосячить, пропуская этап транзисторной схемы? Я понимаю, для регулярных структур, типа регистров, можно не рисовать все. Но для всякой разнообразной мелкой нерегулярной логики, которой бывает изрядно много?
    Шанс накосячить в трансах гораздо выше чем в ячейках, но да, ошибки случаются, исправляются. Цифровая логика она, знаешь ли, очень логичная Если где-то косяк, то его сразу видно на прогоне в тест бенче или логисиме.

    - - - Добавлено - - -

    P.S. Если интересно какой у нас workflow, то его можно наблюдать из раздела по IDU CLA: https://github.com/emu-russia/SEGACh...arry-lookahead

    1. Получается топология (необязательно, если вместо кастомного дизайна используются стандартные ячейки)
    2. Из топологии выделяются логические элементы (в IDU CLA это куча nand, not, nor)
    3. Определяются порты (input, output) исследуемого куска схемы
    4. В утилите Deroute получается netlist. Этот шаг можно представить по аналогии с дизассемблированием программ - получается как бы "исходник" (дизасм)
    5. Утилита Deroute умеет экспортировать готовый к употреблению Verilog исходник ( https://github.com/emu-russia/SEGACh...list/idu_cla.v )
    6. Полученный верилог можно запихать куда угодно (для симуляции например). В частности верилог был запихнут в Xilinx PlanAhead и она сама "нарисовала" логическую схему которую можно вдумчиво вкурить, разобрать на части, проверить в логисиме. Или сразу использовать верилог в прикладных целях.

    Такой подход мы используем где-то последние два года и он МЕГА эффективный для изучения микросхем.

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

    Titus(09.10.2024)

  5. #495

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

    По умолчанию

    Цитата Сообщение от org Посмотреть сообщение
    2. Из топологии выделяются логические элементы (в IDU CLA это куча nand, not, nor)
    Т.е. базовым элементом отреверсенной схемы является логический n-входовый элемент?
    Ну это тоже неплохо.

    - - - Добавлено - - -

    Цитата Сообщение от org Посмотреть сообщение
    Цифровая логика она, знаешь ли, очень логичная Если где-то косяк, то его сразу видно на прогоне в тест бенче или логисиме.
    В основном да. Но могут быть нюансы, если, например, перепутал полярность тактового сигнала, и что-то сдвинулось на пол-такта. Вроде и работает по скорости так же, а тайминг чуть нарушен.

  6. #496

    Регистрация
    20.06.2014
    Адрес
    г. Чехов
    Сообщений
    56
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    30 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Т.е. базовым элементом отреверсенной схемы является логический n-входовый элемент?
    Ну это тоже неплохо.

    - - - Добавлено - - -


    В основном да. Но могут быть нюансы, если, например, перепутал полярность тактового сигнала, и что-то сдвинулось на пол-такта. Вроде и работает по скорости так же, а тайминг чуть нарушен.
    Не обязательно один логический, это может быть композитная ячейка составленная из кучки nand,nor,mux и часто повторяющаяся (например DFF). Тут применяется подход, схожий с "макро-программированием" (макросы).

    Про полярность сигнала это старая боль, нужно просто глаз набить на это. Есть простое правило как не запутаться в полярности - если сигнал проходит not, nor или nand, то не важно с какими другими сигналами он замешивается - на выходе полярность поменяется.
    То есть если условно на вход какой-то схемы пришёл сигнал "a" с точно известной полярностью и нужно узнать полярность выходных сигналов, нужно всего-лишь пробежаться по цепочке элементов и каждый раз менять полярность после прохода через not,nand,nor.
    (причём это можно делать и задом-наперёд)

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

  8. #497

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

    По умолчанию Особенности работы M-циклов

    Предварительное описание особенностей работы M-циклов:

    • Каждый M-цикл отвечает за новый доступ к памяти. Поэтому, собственно, он и называется M-циклом.

    • M1 отвечает за выборку кода операции. В общем случае длится 4 такта, но может увеличиваться до 6 тактов. Во время этого цикла выполняется текущая и завершается предыдущая стандартная АЛУ-операция.

    • M2 отвечает за выборку байта смещения для индексной адресации. В общем случае длится 3 такта. Он используется как в методах адресации с индексными регистрами, так и в командах относительного перехода (JR, DJNZ). Если цикл используется в команде условного перехода, и условие не соблюдено, то является последним циклом команды.
      В этом цикле после чтения байта смещения из памяти происходит его загрузка в ALUB, а младший байт адреса (PC.L или IDX.L) загружается в ALUA. После чего складывается младшая часть адреса и байт индекса. Далее устанавливается знак для следующей АЛУ-операции (плюс или минус) в зависимости от старшего бита байта смещения, если это команда относительного перехода.

    • M3 отвечает за продолжение вычисления исполнительного адреса для индексной адресации. Обычно длится 5 тактов.
      Так как этот цикл используется для вычисления исполнительного адреса, в нем блокируется доступ к внешней памяти по адресу, автоматически загруженному в PCR в предыущей команде.
      В этом цикле полученный в АЛУ младший байта адреса сохраняется PC.L или WZ.L, затем в АЛУ загружается старшая часть адреса, и константа 0, для сложения со старшей частью адреса, и снова складывается и записывается в PC.H или WZ.H.
      В результате, если это команда перехода, в регистре PC получаем новый адрес. Если же это команда индексной адресации, то в регистре WZ получаем исполнительный адрес.

    • Циклы M2 и M3 могут быть пропущены, если команда не использует индексную адресацию.

    • M4 отвечает за байтовый доступ к памяти в стандартных командах типа ADD A,(HL) или ADD A,(IX+nn). Обычно длится 3 такта.

    • M5 пока не изучался, но, похоже используется в 16-битных командах, таких как ADD HL,dd, PUSH/POP HL, LD (nn),dd и т.д.


    - - - Добавлено - - -

    p.s.: Небольшая ремарка. Некоторые действия могут инициироваться в одном M-цикле, а завершаться в следующем, т.к. чуть ли не большая часть активности процессора всегда задержана на пол-такта или такт относительно такта, инициировавшего ее.

    Эти 2 пользователя(ей) поблагодарили Titus за это полезное сообщение:

    creator(09.10.2024), org(09.10.2024)

  9. #498

    Регистрация
    20.06.2014
    Адрес
    г. Чехов
    Сообщений
    56
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    30 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    M-цикл это "машинный цикл", из официального программинг мануала от создателей: https://www.zilog.com/docs/z80/um0080.pdf

  10. #499

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

    По умолчанию

    Цитата Сообщение от org Посмотреть сообщение
    M-цикл это "машинный цикл", из официального программинг мануала от создателей:
    И так так тоже подходит по смыслу)

    - - - Добавлено - - -

    Цитата Сообщение от org Посмотреть сообщение
    Про полярность сигнала это старая боль, нужно просто глаз набить на это.
    Как не набивай глаз, невнимательность никто не отменял. Особенно при работе с большими схемами. У меня это почти единственный тип ошибок при переводе транзисторной схемы в логическую. И да, 99% таких ошибок, если не 99.99% приведут к неработоспособности того или иного участка схемы и будут замечены.

  11. #500

    Регистрация
    20.06.2014
    Адрес
    г. Чехов
    Сообщений
    56
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    30 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как не набивай глаз, невнимательность никто не отменял. Особенно при работе с большими схемами. У меня это почти единственный тип ошибок при переводе транзисторной схемы в логическую. И да, 99% таких ошибок, если не 99.99% приведут к неработоспособности того или иного участка схемы и будут замечены.
    Не очень понял как можно сломать схему, если перепутать название (полярность) сигнала, ну да ладно

Страница 50 из 81 ПерваяПервая ... 464748495051525354 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 1739
    Последнее: 09.01.2025, 10:55
  2. Ответов: 32
    Последнее: 18.12.2024, 18:19
  3. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 41
    Последнее: 09.01.2022, 23:07
  4. Реверс МК-92
    от Случайность в разделе Программируемые калькуляторы
    Ответов: 55
    Последнее: 24.04.2021, 23:47
  5. Реверс инжиниринг печатной платы
    от Filin в разделе Несортированное железо
    Ответов: 36
    Последнее: 11.03.2018, 22:46

Ваши права

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