User Tag List

Страница 28 из 81 ПерваяПервая ... 242526272829303132 ... ПоследняяПоследняя
Показано с 271 по 280 из 803

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

  1. #271

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Я херею с вас, дорогая редакция...
    Могли бы хоть подсказать, кто в теме, что кто-то уже это делал и публиковал.

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

    Если это Z84C00, значит он CMOS?

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

    Судя по датам - 2023 год, это было сделано совсем недавно.

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

    По ПЛИСам еще такой вопрос.

    Как поступить в случае, когда какие-то триггеры тактируются фронтом не глобального CLK, а каким-то другим сигналом, например, T1 (им тактируется счетчик фаз M1, M2 и т.д.). Такое нормально?

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

    Как правильно сделать, вот так:

    Код:
    always @(posedge T1) begin
    ...
    end
    Либо же во так:
    Код:
    always @(posedge clk) begin
    if (T1 = 1) begin
    ...
    end
    end

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

  3. #272
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Судя по датам - 2023 год, это было сделано совсем недавно.
    Верно. Буквально осень 2023 - весна 2024. А модельки тестировались на экзорцисте. Там и М68К тоже свой, кстати. Хотя изначально брали сторонний.

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

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

    Код:
    always @(posedge T1) begin
    ...
    end
    Либо же во так:
    Код:
    always @(posedge clk) begin
    if (T1 = 1) begin
    ...
    end
    end
    Первый верный, будет чёткий posedge. А второй не верный, особенно, если CLK > T1 то условие будет стрелять несколько раз. Если CLK < T1 то вообще работать не будет. Так надо делать если ты пишешь общий дизайн, тактируемый повышенной частотой (например, 50МГц).

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

    Titus(13.09.2024)

  4. #273

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Там и М68К тоже свой, кстати.
    Вот это круто. Может и клон амиги сделают наконец)

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

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    А второй не верный, особенно, если CLK > T1 то условие будет стрелять несколько раз.
    Несколько раз не будет, потому что T1 синхронен с CLK и имеет длительность импульса равную ровно одному периоду CLK.

  5. #274

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

    По умолчанию

    В идеальном дизайне будет только вот такое

    always @(posedge clk)

    и надо стремиться к такому виду...
    пс: это если речь идёт о "работе" по фронтам сигнала-клока.

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

    Titus(13.09.2024)

  6. #275

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    и надо стремиться к такому виду...
    пс: это если речь идёт о "работе" по фронтам сигнала-клока.
    Но в моем случае, когда надо по фронтам T1 получить M1,2,3 - что лучше будет?

  7. #276

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

    По умолчанию

    Для какого "куска" на схеме.pdf ?
    ПС к сожалению смогу ответить не раньше воскресения..

    Малость теории.
    Пусть есть клок CLK и по его фронту некий тригер запоминает сигнал. По оному сигналу (выход триггера) формируется на логике некий сигнал фронт, которого "нам нужен" для формирования чего либо. И если вот это "что либо" должно появиться к следующему фронту CLK, то делаем однозначно так

    always @(posedge clk) begin
    if (T1 == 1) begin

    А если "что либо" используется "через следующий" фронт, то применяется ClockEnable методика. по сути это "накрывашка" на нужный фронт тактовой, когда "T1" имеет актуальное значение.

    always @(posedge clk) begin
    if ((T1 == 1) & CE) begin

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

    Titus(13.09.2024)

  8. #277

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    Для какого "куска" на схеме.pdf ?
    Вот для этого фрагмента (кстати, я его уже переписал на полностью синхронные триггеры):



    RES_TCLK равна последнему такту в команде, например, T4. А Т4 синхронно с CLK и длится один период CLK.

    |-----| - T4
    |__|--| - CLK

    RES_MCLK равна последнему циклу в команде, например M2, и тоже синхронна с CLK.

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

    Проще на графике посмотреть:

    Последний раз редактировалось Titus; 13.09.2024 в 15:59.

  9. #278

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Вот для этого фрагмента ...
    Код:
    always @(negedge CLK) begin
      if (RES_TCLK) begin
        M1 <= RES_MCLK;
        M2 <= U30_out;
        M3 <= U31_out;
      end
    end

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

    Titus(13.09.2024)

  10. #279

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

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    always @(negedge CLK) begin
    То есть все же лучше тактироваться по CLK, чем по выходу U263? Почему?

  11. #280

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    То есть все же лучше тактироваться по CLK, чем по выходу U263? Почему?
    Это я предложил вариант (не уверен что лучший), где только один клок и работаем и по переднему, и по заднему фронту, при этом не увеличиваем тактовую. А сигналы тактирующие другие триггеры заменяем на аналоги CS и EN.

    Почему тактировать от U263 не лучше - я не скажу, так как не спец. Выше вроде пытались разъяснить.

    P.S. Изучал тут проект Breaknes, так вот там есть изначальная verilog-модель и APU, и PPU на защёлках и прочем, с тактированием от всего подряд. А в конце уже синхронная (тут на форуме выкладывалась) на частоте х12 от частоты проца. Может сначала всё-таки перенести в верилог модель z80 как есть, со всеми защёлками, а потом её уже причесать под один клок?

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

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

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

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

Ваши права

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