User Tag List

Страница 56 из 81 ПерваяПервая ... 525354555657585960 ... ПоследняяПоследняя
Показано с 551 по 560 из 803

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

  1. #551

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

    По умолчанию

    1) какая операционка на хосте (на компе)? вин или линух ? номер версии ?
    2) демо плату совсем не обязательно устанавливать/использовать. Можно просто указать тип плисы: пример xc7s50csga324-1 (там в окошке выбирается)
    3) Сколько памяти ? своп в наличии ?
    4) слева есть FLOW Navigator - там все основные "нужные" кнопки
    5) загляни в DOCNAV (красивая красная иконка)- там офигеный каталог документации. Единственно он потом докачивает из инета pdf-ки.
    6) ug893 vivado Design Suite UserGuideUsing the Vivado IDE - тута в картинках где нужные кнопки и куда смотреть.
    7) и да местами синтез энд компани струдом переваривают "заворо кишок" таки как на скриншоте. вход с выходом закорочен. может по этому вылетать. Аксакалы уровня 3+ такие схемы обычно уже не рисуют.
    Алгоритм (очень усреднённо)
    1) после наколачивания текстов запускаю eleborated/schematic
    2) думать. если надо см п1
    3) симулятор behavearal
    4) думать. если надо см п1

    По началу этого за глаза и уши хватит.
    ПС если не устанавливать файл с лицензиями - то вивадо умеет работать токмо с младшими семействами плис Спарта/Артикс/Кинтекс (это если кратенько) . Но опять же этого выше крыши для бытовых целей.
    Последний раз редактировалось AlexG; 16.10.2024 в 21:01.

  2. #552

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    1) какая операционка на хосте (на компе)? вин или линух ? номер версии ?
    Windows 10

    Цитата Сообщение от AlexG Посмотреть сообщение
    2) демо плату совсем не обязательно устанавливать/использовать. Можно просто указать тип плисы: пример xc7s50csga324-1 (там в окошке выбирается)
    Так и сделал

    Цитата Сообщение от AlexG Посмотреть сообщение
    3) Сколько памяти ? своп в наличии ?
    Памяти 32Гиг

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

    В общем, мое впечатление от вивады пока что прекрасное по сравнению с модельсимом. Дружественно человеку.

    На счет двунаправленных шин я так решил - не надо делать то, что не реализуемо в железе (ПЛИС). Надо сделать отдельно шину DataIn, отдельно DataOut. Ну и всякие дополнительные сигналы типа DataZ. А уж внешние модули сами будут решать, как обьединить процессор, память и т.д. Либо же, если порты проброшены на реальные порты ПЛИС, то там уже будет реальная двунаправленная шина с Z-состоянием.

  3. #553

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

    По умолчанию

    Еще несколько вопросов по Verilog:

    1. Какова область видимости модулей? Сколько может быть модулей верхнего уровня в одном проекте, и как IDE определяет, какой модуль является верхним?
    2. Зачем при определении регистров в примерах иногда есть присвоения, например: reg [7:0] reg1 = 8'h0? В какой момент исполнения идет это присвоение? Если один раз при старте проекта, то чем оно отличается от присвоения в блоке initial? Эти начальные присвоения нужны только для тестирования в симуляторе, или же они работают так же в реальной FPGA? Если в реальной тоже, то в какой момент времени и как эти начальные значения загружаются в регистры?э
    3. Какие правила 'хорошего тона' в именовании цепей и именовании модулей? Каков стандарт табуляции, сколько пробелов? Ну и другие правила хорошего тона в написании.
    Последний раз редактировалось Titus; 17.10.2024 в 17:49.

  4. #554

    Регистрация
    20.12.2006
    Адрес
    Minsk
    Сообщений
    375
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    28
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Сколько может быть модулей верхнего уровня в одном проекте
    я далеко не профи (тоже учусь в этой области, правда VHDL) но, как говорится , в правильно поставленном вопросе есть ПОЛОВИНА ответа)))
    Так вот - на то он и верхний уровень - он сверху над всеми и значит ОН - ОДИН)))

    Цитата Сообщение от Titus Посмотреть сообщение
    как IDE определяет, какой модуль является верхним
    юзер САМ ОБЯЗАН его указать IDE.

  5. #555

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

    По умолчанию

    1) Общее правило. Один модуль == Один файл == Одинаковое название.
    2) Топ всегда единственен. ИДЕ (если включено автоматическое обновление иерархии - обычно по умолчанию включено) сам выбирает ТОП. если есть варианты - то предлагает выбрать. Можно ручками указать. ПКМ на файле с нужным модулем и "set as top".
    3) reg [7:0] reg1 = 8'h0 оное подразумевает исходное однократное инициализация триггеров. Должно работать в реальной плисе.
    initial - это в общем случае я использую только для симуляции. Более точнее область применения надо читать ГОСТ на язык.
    initial "выполняется" с "нулевого времени симуляции". initial может быть больше одного. Выполняются в параллель.
    4) эстетику можно посмотреть где-то здесь
    C:\Xilinx\Vivado\2024.1\data\ip\xilinx\axi_tft_v2_ 0\hdl\axi_tft_v2_0_rfs.v
    ПС: я больше "топлю" за systemverilog. Повторюсь: это работа "над ошибками" в реализации verilog. Плюс добавлено куча всего для тестирования (это вообще заоблачный экспириенс).
    из явного и простого:
    1) можно "забыть" про wire и reg ибо всё есть logic
    2) многомерные массивы
    3) можно явно указывать где схема просто логическая, а где с триггерами
    4) зачётное понятие интерфейсы. это чтото типа
    struct {
    wire [15:0] adr;
    wire [7:0] data;
    wire rd;
    wire wr;
    } bus;

    а потом использовать bus.rd или bus.data

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

    Titus(17.10.2024)

  6. #556

    Регистрация
    20.12.2006
    Адрес
    Minsk
    Сообщений
    375
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    28
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    ИДЕ (если включено автоматическое обновление иерархии - обычно по умолчанию включено) сам выбирает ТОП. если есть варианты - то предлагает выбрать. Можно ручками указать
    будем знать)

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

  8. #557

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

    По умолчанию

    Про видимость я не понял вопроса.
    1) в любом модуле можно использовать любой другой.
    2) в ниже стоящем нельзя использовать ТОП
    3) Рекурсия запрещена.
    4) если одно описание модуля используется несколько раз в других - значит создаётся столько же реальных экземпляров этого модуля.

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

    В догонку. ТОП - это модуль, порты которого можно цеплять в выводам самой плисы.
    Для проектов, которые предназначены только для отладки отдельных частей цеплять порты на выводы совсем не обязательно. да и имплемент тоже совсем не обязательно делать.
    И да. аналогично назначается ТОП и для симуляции.


    Про симулятор:
    Глобально у симулятора три "режима"
    - поведенчиский
    - после синтеза (кажется с учётом задержек по элементам)
    - после имплемента с учётом всех временных задержек (логики+дорожки).
    первый самый быстрый
    последний самый тормоз по симуляции

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

    про видимость
    по крайней мере в модуле для tb (точно работает в sv, в верилоге не в курсе) можно "вытаскивать наружу" любой сигнал из любого модуля из любого уровня вложенности

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

    Titus(17.10.2024)

  9. #558

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

    По умолчанию

    Как реализовать ОЗУ, в котором изначально в некоторые ячейки записаны какие-то значения?

    Просто тупо в блоке initial присвоить?

  10. #559

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

    По умолчанию

    Один из вариантов (initial $readmemb("ram.mif", reg_array)

    module ram_xil(clk, addr, we, data_in, data_out);
    parameter n = 4;

    input wire clk, we;
    input wire [n-1:0] addr;
    input wire [7:0] data_in;
    output reg [7:0] data_out;

    reg [7:0] reg_array [2**n-1:0];

    initial $readmemb("ram.mif", reg_array);

    always_ff @(posedge clk)
    begin
    if (we == 1) begin
    reg_array[addr] <= data_in;
    end
    data_out = reg_array[addr];
    end

    endmodule

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

    Ну или (это общий стиль, сам пример по значениям ошибочен)
    reg [15:0] cache_lru [0:3]; =
    '{{2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0, 2'h0},
    {2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1, 2'h1},
    {2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2, 2'h2},
    {2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3, 2'h3}};

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

    вот только не помню initial здесь синтезируемая конструция или нет - старый стал , склероз мучает ;-)

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

    но для симулятора точно работает

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

    В меню tools-> language template можно смотреть примеры кода.

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

    Titus(17.10.2024)

  11. #560

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    522
    Спасибо Благодарностей получено 
    251
    Поблагодарили
    225 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А дата изготовления?
    у чипов DC год неделя, только британцы по своему выеживаются

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

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

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

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

Ваши права

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