User Tag List

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

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

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

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

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Т.е. я еще и должен подумать о том, чтобы избавиться от асинхронных R/S-триггеров, чтобы все было адаптировано под современные ПЛИС? Это жестко, т.к. процессор Z80 изобилует ими.
    Жестко только на первый взгляд. Надо просто почесать голову и придумать решение без асинхронных RS-триггеров. На самом деле, асинхронные RS-триггеры - зло. Почему?

    При переходе сигнала R (для S рассуждения аналогичны) из неактивного в активный уровень проблем не возникает. Триггер просто сбрасывается, независимо от входов CLK и D. Однако переход R из активного в неактивный уровень должен быть обязательно согласован с тактовой частотой. В противном случае может возникнуть метастабильность. Если снятие R и фронт CLK приходят на триггер почти одновременно - то неизвестно, какой (из-за задержек разводки связей на чипе и т.п. эффектов) придет раньше. И если вход D=1, то R может быть снят как раз в тот короткий промежуток времени, когда информация с входа D проходит на выход триггера. И тогда триггер может остаться в промежуточном состоянии между 0 и 1 на длительное время (один-два такта, изредка более). При этом, до перехода триггера в какое-нибудь (заранее неизвестное!) стабильное состояние, схема, которая смотрит на его выход, может увидеть несколько переключений.

    Как лучше всего перевести схему с асинхронных на синхронные RS-триггеры - этот вопрос решается индивидуально в каждом конкретном случае. Если столкнешься с практическим примером, который трудно самому решить - приведи схему, попробуем покумекать вместе.
    Цитата Сообщение от Titus Посмотреть сообщение
    Как схематически обозначаются синхронные R/S-триггеры и синхроные R/S входы на D-триггерах?
    Это зависит от ГОСТов той страны, в которой ведется разработка. Иногда еще от "стандартов" фирмы-производителя FPGA. Конкретно у Xilinx приняты следующие обозначения:
    триггер с асинхронным сбросом - FDC, вход сброса - CLR
    триггер с синхронным сбросом - FDR, вход сброса - R
    триггер с асинхронной установкой - FDP, вход установки - PRE (от слова Preset)
    триггер с синхронной установкой - FDS, вход установки - S
    По ГОСТ 2.743-91, триггеры обозначаются символами T или TT. Вход установки - SET или S, сброс - RES или R (синхронность или асинхронность задается не буквами, а графическим "указателем свойства выводов").
    Цитата Сообщение от Titus Посмотреть сообщение
    Да, и как реализуются схемы с многопортовыми D-триггерами на ПЛИСах?
    Что значит "многопортовыми"? Параллельные регистры с несколькими триггерами? Просто задаешь входные и выходные шины данных для этих регистров в виде "векторных" сигналов на языке (Verilog/VHDL). Задаешь один "процесс", запускающийся по фронту тактовой частоты. Внутри процесса (и, возможно, блока if) одна команда - запись выходных сигналов регистра на его выход. Еще можно сделать регистру вход разрешения записи (CE) путем помещения в "процесс" команды IF, которая позволяет запись на выходы регистра только если CE='1'. Триггеры внутри FPGA имеют вход разрешения записи, им можно и нужно пользоваться.

    Для более подробной информации рекомендую документ Xilinx UG626 "Synthesis and Simulation Design Guide". Там глава 5 "Coding for FPGA Device Flow", подраздел "Registers in FPGA Design".

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Что значит "многопортовыми"? Параллельные регистры с несколькими триггерами?
    Нет, многопортовые - это вот:



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

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Пускай учится сразу делать эффективные и надежные схемы! Предупреждение о типичных ловушках сэкономит ему много времени на отладку. Другие люди набивали эти шишки на своем, а не чужом, опыте.
    Совершенно согласен.
    Лучше уже нацелиться на самые-самые ограничения для всех ПЛИС, но зато сделать хорошо компилируемую и стабильную схему. Но для этого эти комплексные ограничения надо все знать.

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

    Обозначение синхронного RS-триггера я нашел:



    А вот D-триггера, у которого есть еще синхронные RS-входы - нет.

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

    Кстати, можно сказать, что большинство RS-триггеров в Z80 фактически синхронные. Просто я рисовал - отдельно базовый RS-триггер, и отдельно 2И элементы на входе со входами CLK для синхронного переключения. Можно было это сразу упаковать в синхронный RS-триггер.

  4. #3

    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    735
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Нет, многопортовые - это вот:
    А какова логика работы такого триггера?
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  5. #4

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    А какова логика работы такого триггера?
    Присоединяюсь. Мне из графического изображения непонятно, как он работает. Там по два входа D и C, но только один выход. Каким образом комбинируется информация в этом элементе схемы? Два триггера и логическая функция на их выходе? Или один триггер и логическая функция на его входе?

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

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

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

Похожие темы

  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

Ваши права

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