User Tag List

Страница 12 из 81 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 803

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

  1. #111

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    4. Есть ли пример проекта какого-то простенького спектрума, чтобы посмотреть, как вообще это делают.
    https://github.com/AtlasFPGA/zx?tab=readme-ov-file

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

    Titus(27.08.2024)

  2. #112

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я может не так выразился) Не один тот же триггер чтобы работал по фронту и спаду, а чтобы на кристалле были триггеры, одни из которых по фронту, другие по спаду.

    Вообще, я думаю, что может быть зря обходил стороной сферу эмуляции в FPGA. Ведь гораздо проще перенести логическую схему в FPGA с небольшими адаптациями, чем программно эмулировать тоже самое на компьютере (с адекватной скоростью, на на уровне симуляции работы транзисторов, как в Z80 Explorer). Хотя, программная эмуляция мне наиболее интересна, т.к. привычнее.

    Отсюда пара оффтопных вопросов:

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


    1. Какие сейчас самые хорошие и ходовые вместительные FPGA? Производитель, серия? (китайцев лучше не предлагать). И чтобы отладочная плата продавалась готовая с HDMI, VGA, даже может композитом.
    2. В каких средах и на каких языках сейчас пишут под FPGA? Какой есть нормальный симулятор, чтобы загрузил проект, и мог посмотреть симуляцию работы в виде диаграмм?
    3. Какие есть учебники/ролики и т.д. чтобы ознакомиться с темой?
    4. Есть ли пример проекта какого-то простенького спектрума, чтобы посмотреть, как вообще это делают.
    [свернуть]
    Буду дома - попробую с картинками ответить.

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

    Titus(27.08.2024)

  3. #113

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

    По умолчанию

    1) если не смотреть на китайцев - только два варианта Альтера и Ксалинкс. Лично я за Ксалинкс (это мой "хлеб") . Инструментарий Ксалинкс на порядок лучше чем Альтера ("сравнивал" на одном проекте). Единственный минус - это его медлительность в "синтезе/компиляции".
    По платам: нынче одинаково фигово. Лично у меня есть ZedBoard (vga hdmi audio), + ещё парочка плат (заводская и самопал).
    2) пишут нынче на vhdl verilog systemverilog - остальные экзотика. Лично я за systemverilog - современный, лаконичный, практичен и море возможностей (помесь Си и Паскаля). vhdl - много лишнего "текста", местами сложен (аля язык АДА).
    Симулятор входит в комплект инструментария (Альтера и Ксалинкс).
    3) для начала можно посмотреть https://marsohod.org (не фонтан, но для беглого ознакомления норм, к сожалению заточен на альтеру)
    4) народ подскажет.

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

    src.pdf rez.pdf
    исходно есть:
    - два 4-х канальных буфера с Z-выходом
    - первый триггер работает по фронту 0/1
    - второй триггер работает по фронту 1/0
    всё это превращается в три слоя логики ( первый LUT, остальные триггера)

    В реальных плисах нет Z-логики в железе. В железе всегда либо 0 либо 1. Z-значение в реальности тоже 0 или 1 (на усмотрение синтезатора). В этой схеме когда оба EN_A EN_B в нулях или в единице на выходе будет значение, которое "удобно" синтезатору. Если это не устраивает - то для этой ситуации надо модернизировать исходную схему.

    ПС: LUT это по факту комбинаторная логика от 1 до 6 входов
    Последний раз редактировалось AlexG; 27.08.2024 в 23:55.

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

    Titus(28.08.2024)

  4. #114

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

    По умолчанию

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

    Когда все триггеры работают на одной тактовой частоте - то становится возможным предсказать и оптимизировать быстродействие схемы. Нужно лишь гарантировать, что выходы одних триггеров, пройдя через комбинационную логику, попадают на входы последующих триггеров - грубо говоря - не позднее следующего фронта тактовой частоты. Время прохождения сигналов через комбинационную логику зависит от сложности этой логики и разводки схемы на ПЛИС. Контролем и оптимизацией сложности и разводки занимается среда разработки для соответствующего типа ПЛИС.
    Цитата Сообщение от Titus Посмотреть сообщение
    1. Какие сейчас самые хорошие и ходовые вместительные FPGA? Производитель, серия? (китайцев лучше не предлагать).
    Производители: Xilinx (некоторое время назад перекуплено AMD) и Altera (некоторое время назад перекуплено Intel).

    "Самые хорошие и вместительные" - из последних серий, они обычно настолько дорогие (тысячи и десятки тысяч $ за чип), что для большинства проектов себя не оправдывают. Для больших проектов за более-менее вменяемую цену следует использовать FPGA ценовой категории 50-60$/чип. Как правило, это бюджетные либо устаревшие серии FPGA. Для Xilinx это будет, на сегодняшний день, что-то из серии Spartan-7, Artix-7. Но Спектрум полностью (включая процессор) можно с большим запасом реализовать и на Spartan-6. Для Altera это будет что-то из серии Cyclone (какие у них там актуальные), с ними я не работал.
    Цитата Сообщение от Titus Посмотреть сообщение
    2. В каких средах и на каких языках сейчас пишут под FPGA?
    Среды разработки поставляются производителем FPGA. Для Xilinx Spartan-6 и более ранних серий это ISE (для проектов со встроенными процессорами еще нужны платные пакеты XPS/SDK). Для более новых Artix-7, Spartan-7 это Vivado Design Studio. Для Altera не знаю - надо смотреть соответствующие серии FPGA, какие у них там инструменты разработки. Сторонних пакетов для разработки на FPGA не существует, так как внутренняя архитектура и формат данных конфигурации до конца не документированы. А без этого невозможно создать конкурирующую среду разработки.

    Языки разработки - VHDL, Verilog. "System Verilog", о котором тут шла речь - не знаю, в чем его отличия от обычного Verilog.
    Цитата Сообщение от Titus Посмотреть сообщение
    Какой есть нормальный симулятор, чтобы загрузил проект, и мог посмотреть симуляцию работы в виде диаграмм?
    В среде разработки обычно есть и симулятор. Программу для симуляции нужно создавать на том же языке, на котором разрабатывается проект (VHDL или Verilog). Дело в том, что оба упомянутых языка - это фактически языки симуляции, они так задумывались. На них задается поведение симулируемой схемы, а также входные сигналы для нее. Это уже потом появился софт, который описание поведения схемы на языке симуляции преобразует в собственно схему. А еще позже задание схемы на языке симуляции стало стандартом. Лишь небольшое подмножество возможностей языков (Verilog/VHDL) разрешается использовать для описания схем, которые подлежат "синтезу" (т.е. преобразованию в схемотехнический формат). Поэтому для схемотехника, для разработки на FPGA на упомянутых языках, нужно существенно перестроить мозги. Но ничего лучшего на сегодняшний день нет.

    Также симуляции обычно подлежит не весь проект целиком, а отдельные его блоки. Лишь после отладки и симуляции блоков можно приступать к отладке проекта целиком в железе. Обычно допускаешь в проекте много ошибок, и без предварительной симуляции и отладки запускать проект на железе практически безнадежно.

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

    Titus(28.08.2024)

  5. #115

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    0. Не один тот же триггер чтобы работал по фронту и спаду, а чтобы на кристалле были триггеры, одни из которых по фронту, другие по спаду.
    1. Какие сейчас самые хорошие и ходовые вместительные FPGA? Производитель, серия? (китайцев лучше не предлагать). И чтобы отладочная плата продавалась готовая с HDMI, VGA, даже может композитом.
    2. В каких средах и на каких языках сейчас пишут под FPGA? Какой есть нормальный симулятор, чтобы загрузил проект, и мог посмотреть симуляцию работы в виде диаграмм?
    3. Какие есть учебники/ролики и т.д. чтобы ознакомиться с темой?
    4. Есть ли пример проекта какого-то простенького спектрума, чтобы посмотреть, как вообще это делают.
    0. Так можно, но лучше сделать удвоенную частоту и 1-битный счетчик. Тогда все триггеры будут переключаться по фронту, но одни при значении счетчика 0, другие при 1.
    1. Я бы смотрел в сторону Cyclone4 (Intel). По другим сказать не могу
    2. Я рекомендую Verilog. Симуляторы: iverilog (бесплатный, рекомендую), ModelSim(Questa Sim) - бесплатный StarterEdition, Aldec Active-HDL
    3. https://iosifk.narod.ru/hdl_coding/verilog.htm https://marsohod.org/verilog
    Референсный справочник по Verilog есть в Сети, еще советую почитать Gotcha's - типичные ошибки
    4. Думаю, тут, в конференции есть. Opencores.org, GitHub - там можно поискать
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

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

    Titus(28.08.2024)

  6. #116

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

    По умолчанию

    Barmaley_m

    Согласен на 99.9%
    Уточню что "System Verilog" это "работа над ошибками" языка "Verilog" (+ у него более продвинутая возможность по тестированию)

    IanPo
    Согласен на 25% (пункт 3 и 4)

    "0. Так можно, но лучше сделать удвоенную частоту и 1-битный счетчик. Тогда все триггеры будут переключаться по фронту, но одни при значении счетчика 0, другие при 1."
    Можно - но не нужно так делать. Будут дополнительные заморочки по быстродействию схемы.
    Последний раз редактировалось AlexG; 28.08.2024 в 09:49.

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

    Barmaley_m(30.08.2024), Titus(28.08.2024)

  7. #117

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если писать на Verilog, то для симуляции есть Icarus Verilog. Просмотр результата в GTKWave.

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

    Titus(28.08.2024)

  8. #118

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

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Если писать на Verilog, то для симуляции есть Icarus Verilog. Просмотр результата в GTKWave.
    Смысл делать симуляцию в стороннем ПО, когда есть "штатный" симулятор ? при том достаточно плотно (доп. удобства для отладки) интегрирован в среду разработки...

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

    Barmaley_m(30.08.2024)

  9. #119

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    Смысл делать симуляцию в стороннем ПО, когда есть "штатный" симулятор ?
    iverilog быстрый и не требует штатного ПО вообще. Достаточно написать текст модуля, прогнать его в икарусе и посмотреть результат в gtkwave. Потом уже собирать в Квартусе или еще где
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  10. #120

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    Смысл делать симуляцию в стороннем ПО, когда есть "штатный" симулятор ?
    Ну давай ещё подискутируем, что лучше: Altera или Xilinx (или Lattice).

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

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

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

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

Ваши права

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