User Tag List

Страница 59 из 81 ПерваяПервая ... 555657585960616263 ... ПоследняяПоследняя
Показано с 581 по 590 из 803

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

  1. #581

    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    974
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    164 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  2. #582

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    ПС: раннее я предлагал поделить всю схему на блоки - обозвать их. и потом собирать из этих кубиков ТОП
    Ну просто Z80 не такой большой процессор, чтобы бить его на модули.
    Я смотрел, некоторые реализации так и сделаны, одним файлом.
    Некоторые разбиты на АЛУ и прочее.

  3. #583

    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    974
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    164 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    по мне блочный дизайн проще исправлять, редактировать (да и моделировать сперва по частям). не требуется бегать по паре тыщ строк в поисках нужной части кода/схемы

  4. #584

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

    По умолчанию

    Переделал блок управления памятью в полностью синхронный вариант.

    Пришлось пол-дня повозиться, крепкий орешек.
    Все дело в том, что это самый кривосинхронный блок в процессоре. Одни циклы длятся 2, другие 3, третьи 4 ПОЛУ-такта, не такта. Да и еще в зависимости от разных условий. Самым оптимальным оказалось добавить на выходные линии простые обрезалки сигналов в нужные фазы. Тут пол-такта отрезаем, сям пол-такта. Тут режем, тут не режем, а тут рыбу заворачивали. Зато вынеся нестандартности за скобки, внутри схемы остался качественный синхронный дизайн.

    Изначально попробовал - как Vivado отнесется к RS-триггерам, у которых что-то устанавливается по спаду CLK, что-то по фронту? Оказалось, что никак вообще. И это к лучшему.

    Скрытый текст

    [свернуть]


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

    Да, кроме того, в оригинальной схеме каждый из трех триггеров мог встать 'р@ком', если в неподходящие T-циклы приходил ресет. Особенно короткий ресет. Но повторять это нет смысла, потому что все равно плавающее кратковременное состояние не повторишь, а при ресете длинной >1 такта и так все нормализуется. Даже в оптимизированной текущей схеме еще не убран кофликт R и S при неподходящем времени ресета.

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

    Интересно, как себя ведет Xilinx, если на R и S поданы 1?

  5. #585

    Регистрация
    12.12.2007
    Адрес
    Жлобин
    Сообщений
    47
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    79
    Поблагодарили
    40 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Интересно, как себя ведет Xilinx, если на R и S поданы 1?
    Если посмотреть технологическую карту после синтеза, то можно заметить, что любой из триггеров T, JK, SR, - получается из D триггера. В данном случае будет кольцо из DFF + OR + AND. И тут главное при описании на верилоге правильно расставить приоритеты для R и S. И в таком случае один из входов будет проигнорирован, ибо у него меньший приоритет (т.е. он дальше от ДФФ). А вот при использовании прозрачной D защелки, она собирается без участия ресурса DFF на одной комбинаторике и по сути своей асинхронна, на что получим сразу предупреждение от TimeQuest-a. По крайней мере в Квартусе так, подозреваю, что для Xilinx-a все аналогично.

  6. #586

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

    По умолчанию

    Цитата Сообщение от and1981 Посмотреть сообщение
    И тут главное при описании на верилоге правильно расставить приоритеты для R и S.
    Как проставить приоритет?

    Прозрачные защелки я не использую.

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

    Цитата Сообщение от and1981 Посмотреть сообщение
    В данном случае будет кольцо из DFF + OR + AND.
    Как выглядит это кольцо?

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

  8. #587

    Регистрация
    12.12.2007
    Адрес
    Жлобин
    Сообщений
    47
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    79
    Поблагодарили
    40 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как проставить приоритет?

    Прозрачные защелки я не использую.

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


    Как выглядит это кольцо?


    Касаемо триггеров и приоритетов HardWareMan достаточно хорошо описал это здесь: https://zx-pk.ru/threads/27091-potak...l=1#post890718

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

    Titus(20.10.2024)

  9. #588

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

    По умолчанию

    Цитата Сообщение от and1981 Посмотреть сообщение
    При таком построении, R имеет высший приоритет.

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

    Цитата Сообщение от and1981 Посмотреть сообщение
    Касаемо триггеров и приоритетов HardWareMan достаточно хорошо описал это здесь:
    Правда, я так и не понял, что будет в ПЛИС, если R и S подать одновременно)

  10. #589

    Регистрация
    12.12.2007
    Адрес
    Жлобин
    Сообщений
    47
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    79
    Поблагодарили
    40 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, можно тусовать OR и AND местами, и приоритет будет у того, кто ближе к DFF.

    При одновременной подаче единиц на входы S и R, будет запомнено состояние более приоритетного входа.

    Последний раз редактировалось and1981; 20.10.2024 в 14:34.

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

    Titus(20.10.2024)

  11. #590

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

    По умолчанию

    Цитата Сообщение от and1981 Посмотреть сообщение
    При одновременной подаче единиц на входы S и R, будет запомнено состояние более приоритетного входа.
    Какой будет более приоритетный вход, если на Verilog'е я напишу так:

    Код:
    begin
    always @ (posedge clk)
        if (set)
            Q = 1;
        else if (reset)
            Q = 0;
    end

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

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

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

Эту тему просматривают: 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

Ваши права

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