User Tag List

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

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

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

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

    По умолчанию

    AlexG, всё верно. И именно поэтому надо смотреть в условный TimeQuest на Clock Skew или хотя-бы Fmax чтобы понимать, что фиттер положил насинтезированное так, что задержки укладываются в твой такт. Тогда проект будет работать на всех указанных тобой чипах в любых условиях, а не глючить в зависимости от фазы луны и желанию твоей левой пятки.

    Побольше синих и отсутствие красных. И ещё, если попытаешься комбинаторику в такты зарулить без правильного преобразования оно тебе прокричит про ripple clock.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    И ещё, если попытаешься комбинаторику в такты зарулить без правильного преобразования оно тебе прокричит про ripple clock.
    Что такое 'правильное преобразование'?

  4. #3
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Что такое 'правильное преобразование'?
    Есть несколько методов разного рода, когда действительно надо сформировать вторичный тактовый домен. Например, синхронизация через общую тактовую частоту. Но чаще проще просто оставаться в одном тактовом домене используя условия. Тогда при правильном описании синтезатор сам вместо муксов заюзает специальный сигнал ENA.


    PS В самом примитивном варианте, такты должны выходить из триггера. Точка.

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

    Titus(15.09.2024)

  5. #4

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

    По умолчанию

    В общем, что касается правильного тактирования схемотехнически, мне все более-менее понятно.

    В плане реализации этого на Verilo'е могут быть вопросы, но это спрошу, если понадобится.

    п.с.: Никто так и не заметил, что я накосячил, и случайно обьединил все 8-битные половинки регистров в 16-битные, из-за чего нельзя записывать половинки) Ну да, кому нужны схемы-то) Всем нужна готовая модель или эмулятор) Или какие-то вскрытые тайны и особенности простым языком)

  6. #5

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    такие вещи взглядом не заметишь. Это как программа написанная, но ни разу не скомпилированная. Смотришь вроде все правильно, а начнешь компилировать и дебажить и вылезут ошибки.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  7. #6

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

    По умолчанию

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

  8. #7

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

    По умолчанию

    1) У всех xilinx ( упоминал ранее UG768 v14.7) есть CE у триггеров.
    2) К примеру плиса о 200 выводов 53200 LUT (универсальная логика) + 106400 FF (триггера) имеют всего 32 BUFG (глобального буфера для распределения тактовой).
    3) зависит от настроек "компилятора" (наверное - я такое не практикую от слова совсем. посмотрел один раз на результат - ужаснулся, перекрестился, сплюнул три раза и зарёкся ТАК делать).
    ПС: не надо заморачиваться специально про СЕ. Достаточно писать
    always @(posedge clk) begin
    if (T1 == 1) begin
    ....
    синтезатор "сам придумает" схему как сделать лучше (через СЕ или через комбинационную схему или ...). Конечно есть специальные "указания/прагмы/аттрибуты" которые указавают КАК хочется автору (но это надо иметь экспириенс от 58).

    ----------------------------------------
    Триггеры:
    FDCE Primitive: D Flip-Flop with Clock Enable and Asynchronous Clear
    FDPE Primitive: D Flip-Flop with Clock Enable and Asynchronous Preset
    FDRE Primitive: D Flip-Flop with Clock Enable and Synchronous Reset
    FDSE Primitive: D Flip-Flop with Clock Enable and Synchronous Set
    Последний раз редактировалось AlexG; 18.09.2024 в 11:09.

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

    Barmaley_m(18.09.2024), Titus(18.09.2024)

  9. #8

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    3) зависит от настроек "компилятора"
    Это ответ на какой вопрос?

  10. #9

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    имеют всего 32 BUFG (глобального буфера для распределения тактовой).
    32 BUFG - это еще много. По-моему вся серия Spartan6 имеет только 16 BUFG. Но это не такое страшное ограничение, как может показаться. Даже в крупных проектах хватает за глаза. Не надо только без серьезной необходимости тактировать триггеры разной частотой.

    В моем большом проекте использовались следующие крупные области с разной тактовой частотой:
    1) Процессор и основная периферия, а также внутренние шины - 80 МГц
    2) Спец интерфейс - 960МГц (самые внешние его блоки ISERDES2), а связанная с ними FPGA-логика - 120МГц
    3) Ethernet MAC (та его часть, которая непосредственно связана с интерфейсом GMII) - 125МГц
    Если бы я использовал интерфейс HDMI - то там бы была еще область 1080МГц (для ISERDES2/OSERDES2). и 135МГц для "нормальной" связанной с этим FPGA-логики.

    В том чипе, с которым я работал, частоту выше 80МГц для основной схемы использовать не удавалось - ругался компилятор из-за расхождения Timing Constraints. На относительно высоких частотах в моем проекте (120 и 125МГц) работали только небольшие части всей схемы, где данные частоты были обусловлены требованиями к интерфейсам ввода-вывода.
    Последний раз редактировалось Barmaley_m; 18.09.2024 в 19:55.

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

    Titus(18.09.2024)

  11. #10

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Не надо только без серьезной необходимости тактировать триггеры разной частотой.
    Что делать, если выход одного триггера является тактовым сигналом для некоторых последующих участков схемы в данном процессоре.
    Но я уже понял, что там, где возможно, использовать CE для разрешения CLK.

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

    Barmaley_m(19.09.2024)

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

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

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

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

Похожие темы

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

Ваши права

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