User Tag List

Страница 105 из 174 ПерваяПервая ... 101102103104105106107108109 ... ПоследняяПоследняя
Показано с 1,041 по 1,050 из 1740

Тема: Реверс-инжиниринг УКНЦ (1515ХМ1&2, 1801ВП1, 1801ВМ2)

  1. #1041

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    @Vslav, обратил внимание, что схема ветвлений тоже не должна работать в статике. Правда, подробно еще не разбирался, но похоже, PLM ветвлений чисто динамическая.
    М-м-м...
    1. Что значит "не должна" ? Реальный ВМ2 успешно работает в статике.
    2. Что значит "тоже"? Если ты про IR_STB, то я уверен что там некомплементарных состояний не бывает.

    По поводу пункта 2. Такие триггеры c потенциальным некомплементарным учитывались и анализировались (я не помню конкретно про IR_STB, скорее всего - да, он прошел через эту итерацию, потому что прямой анализ там сложноват):
    - если у триггера используется только один выход, то он "правильно" учитывает зависимость от входных RS
    - если у триггера используется оба выхода (Q и ~Q) и есть оба RS и предпосылки к проблемам, то при начальном моделировании создавалось ДВА триггера, name_p и name_n, и сигнал разницы name_cmp = name_p ^ ~name_q
    - на сигнал разницы name_cmp ставился assert - если name_cmp высокий, то выводится сообщение и моделирование останавливается
    - прогонялись тесты 40x, плюс иногда дополнительно моделировались дополнительные сигналы (помню с прерываниями возни много было - надо было несколько фаз пробовать, делал счетчик, привязанный к IR_STB, и прерывание генерировалось на 0..15 такте этого счетчика)
    В итоге я могу сказать, что верификация возможного некомплементарного состояния проводилась, и вероятность что оно там есть - очень небольшая. Возможно, где-то некомплементарность и возникала (я уже не помню сейчас), но влияние на потребителей анализировалось и учитывалось. Но, ЕМНИП, ничего существенного найдено не было - иначе мы увидели бы в модели такие спаренные латчи.

  2. #1042

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Поверь,
    "Никому нельзя верить. Мне - можно." (с) Мюллер

  3. #1043

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

    По умолчанию

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

  4. #1044

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    но это такая морока.
    Почему морока? Если ветка одна - даже когда несколько человек коммитят - особых проблем нет. А уж когда один коммит - какие проблемы?

    Вот когда несколько веток и коммиты между ветками - тут можно легко армаггедец устроить

  5. #1045

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Дык, дело не в недоверии, жаль что детали теряются. У меня тоже, я вот подумываю побольше коммитов в гите делать, чтобы путь можно было отследить, но это такая морока.
    Детали никуда не теряются. Есть потранзисторный оригинальный реверс твой, а есть логическое оптимизированное представление, которое ПОЛНОСТЬЮ идентично потранзисторной схеме. За исключением одного - убрана всякая избыточность затрудняющая понимание логики этой схемы.
    Представь, что если бы тебе предложили бегло поискать по карте города районы с круглыми домами, но при этом дали карту размером с футбольное поле. Вот так же и транзисторная схема - вроде все четко и оригинально, но ориентироваться, тем более бегло - нереально. Ну разве что только тебе. Но я говорю об обычных, человеческих людях, которым нужен смысл, а не незначительные детали.

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

    Цитата Сообщение от Vslav Посмотреть сообщение
    1. Что значит "не должна" ? Реальный ВМ2 успешно работает в статике.
    Давай уточним - в статике - это при приостановке тактирования по CLCI, или же просто в пошаговом режиме?

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

    Цитата Сообщение от Vslav Посмотреть сообщение
    - на сигнал разницы name_cmp ставился assert - если name_cmp высокий, то выводится сообщение и моделирование останавливается
    Это попытка выловить последствия на конкретных примерах. Однако прогнанные примеры могут не задействовать это третье состояние.

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

    Цитата Сообщение от Vslav Посмотреть сообщение
    - прогонялись тесты 40x
    Тест должен быть написан для вылавливания конкретной особенности. Если тест ничего не знает о ней, то 100500 других тестов ее могут никогда не показать.

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

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

  6. #1046

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Давай уточним - в статике - это при приостановке тактирования по CLCI, или же просто в пошаговом режиме?
    Какой-такой пошаговый режим? RPLY задержать для 1801 надолго нельзя, будет тайм-аут шины, задерживать AR особо смысла нет. ЕМНИП, Mix64 делал стенд на ВМ2, и тактировал от порта микроконтроллера.

    Цитата Сообщение от Titus Посмотреть сообщение
    Это попытка выловить последствия на конкретных примерах. Однако прогнанные примеры могут не задействовать это третье состояние.
    Тест должен быть написан для вылавливания конкретной особенности. Если тест ничего не знает о ней, то 100500 других тестов ее могут никогда не показать.
    По возможности моделировались все входы. Вот тот же, IR_STB - с чего ты взял что там будет некомплиментарное состояние? А потому что оно все упирается в сложный автомат состояний, который ты проанализировать без инструмента не можешь, более того - этот совокупный автомат рулится микрокодом, матрицу которого "человеческий человек", без аутизма, проанализировать "руками" не может. Вот именно поэтому инструмент (моделирование) и применялось. Я понимаю, что гораздо проще сказать - "хей, у тебя два RS входа, оно непонятно, значит будет неверная работа". Так вот - я прилагал максимум усилий, чтобы "стало понятно", используя известные мне инструменты. Есть предложения лучше? Ну, давай свой анализ. Примитив - "Есть RS и оно может одновременно быть активным" - не катит, нужен полный развернутый анализ всего автомата и микрокода. Полный анализ и документирование микрокода 1801ВМ1 занял примерно год, для ВМ2 я делал уже очень ограниченный анализ - времени жрет много, результат непонятный.

    Цитата Сообщение от Titus Посмотреть сообщение
    Когда перевожу схему в логику, у меня такой вероятности нет вообще.
    Ты посмотри чего и как там рулится микрокодом, потом поговорим про прямой анализ и вероятности. CEND - это command end, как раз рулится из микроинструкций (строб генерируется последней микроинструкцией обработки команды PDP-11, перед переходом на начало рабочего цикла). Есть вероятность ошибки в микрокоде? Есть. Вот тогда IR_STB теоретически может быть неверным. Найдешь анализом ошибку в микрокоде? Я - точно нет, по крайней мере за разумное время. Хотя, если ты собираешься делать программный эмулятор на базе микрокода, то баги микрокода могут и повылазить, было бы интеренсно.

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

    BTW, я сейчас микрокод М4 разбираю, там неверной комбинацией микроинструкции можно вообще конфликты на шинах создавать, но как-то люди все правильно написали и работает

  7. #1047

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

    По умолчанию

    Да, надо анализировать микрокод. Без этого никак.

  8. #1048

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Да, надо анализировать микрокод. Без этого никак.
    Эмулятор микрокода собираешься делать?
    Посмотрел сейчас свой анализатор микрокода ВМ1, примерно 200К сишного голого исходника, там в-основном ручками прописывался интересующий код на выходе (какое-то поле выходных сигналов матрицы), а потом запускался перебор всех допустимых входных значений, считалось минутами. Сейчас я бы это с AVX инструкциями переписал, если будешь делать эмулятор - то использовать AVX для вычисления выходов матрицы plm - самое оно. Возможно попробую реализовать для анализатора ВМ3.

  9. #1049

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Эмулятор микрокода собираешься делать?
    Вряд ли. Скорее преобразую микрокод в что-нибудь.

    Ты как проверял соответствие PLM-ок в реверсе оригиналу? Сравнивал ли нарисованное с оригиналом 10 раз? )
    Потому что если накосячил в схеме, это скорее всего будет заметно, а вот косяк в ПЛМ может всплыть через 100 лет или никогда.

  10. #1050

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Вряд ли. Скорее преобразую микрокод в что-нибудь.
    Во что?

    Цитата Сообщение от Titus Посмотреть сообщение
    Ты как проверял соответствие PLM-ок в реверсе оригиналу? Сравнивал ли нарисованное с оригиналом 10 раз? )
    Вроде того, в Sprint Layout по фоновой фотографии это несложно. Далее, написал экстрактор списка цепей PCAD - сразу верилог на выходе дает (не хватало еще такое ручками переводить).
    Есть другой путь - утилита bitract, но у нее точность 99+ процентов, как верифицировать не очень понятно, автор ее для экстрации ROM использует.

    Цитата Сообщение от Titus Посмотреть сообщение
    Потому что если накосячил в схеме, это скорее всего будет заметно, а вот косяк в ПЛМ может всплыть через 100 лет или никогда.
    Если никогда - то это вообще неважно. А так, по моему опыту - одиночные ошибки в PLM тесты выявляют вполне надежно, для двойных и выше - вероятность маленькая ну очень.
    Тебе надо с Сергеем Вакуленко пообщаться, он вроде занимался верификацией ядер на математической основе, можешь попробовать его уговорить доказать что ВМ1/ВМ2 работают верно

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

    Titus(06.09.2020)

Страница 105 из 174 ПерваяПервая ... 101102103104105106107108109 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 32
    Последнее: 18.12.2024, 18:19
  2. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 41
    Последнее: 09.01.2022, 23:07
  3. Реверс инжиниринг печатной платы
    от Filin в разделе Несортированное железо
    Ответов: 36
    Последнее: 11.03.2018, 22:46
  4. Куплю 1515ХМ1-6006, 1515ХМ1−6008
    от moxjemi в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 10.01.2012, 17:23
  5. 1801ВМ2 А и Б
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 03.05.2010, 11:51

Ваши права

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