Jump to content

    

AVR

Свой
  • Content Count

    1439
  • Joined

  • Last visited

Community Reputation

0 Обычный

About AVR

  • Rank
    фанат Linux'а

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    SPB.RU

Recent Profile Visitors

7480 profile views
  1. Спасибо, попробую сравнить это с моей реализацией. Хотя у себя я пробовал биты в разных направлениях, но я склонен к таким ошибкам, подобные задачи сопоставления битов и байтов даются мне крайне тяжело если нет референса, только усидчивость спасает...
  2. Насколько производительно такое типовое решение? Или ТСу не надо быстро? Я не увидел "подскажите способ медленного TCP/IP" :)
  3. Прошу помощи! Просимулил IP ядро MIPI CSI-2 от альтеры. Линии high speed поймал в файл. Анализирую скриптом на Python. Так начинается поток: 1110000000000000000000000000000000000000000000000000000000000000000000111010111100000100000000100000011000000001000001010000001100000111000000001000010010000010100001101000000110000101100000111000011110000000010001000100001001000110 Если найти синхробайт и перевести это в массив байт, выходит вот что: hdr(32)= 01111000001000000001000000110000 data(5164) orig: 1E 04 08 0C 10 14 18 1C 20 24 28 2C 30 34 38 3C 40 44 48 4C data(5164) swap: 78 20 10 30 08 28 18 38 04 24 14 34 0C 2C 1C 3C 02 22 12 32 Тут у меня swap это байты с перевернутым ходом бит (0x10 и 0x08 очевидный пример). Почему я уверен что это правильные байты? Хоть и IP ядро зашифровано по самые помидоры, но единственное что там открыто это байты на передачу, там есть тестовая реализация передающей части. Их я и увидел в симуляторе, и... они именно такие, какие извлекает мой скрипт. В чем состоит моя проблема? Я не могу посчитать ECC, не могу понять где тут заголовок. И вроде стандарт четко всё описывает. Причем у меня на Python есть ECC как по 24 битам так и по 64 битам. Правильно считает синдром, умеет корректировать ошибку, детектировать две ошибки. Корректность реализации ECC я установил из примера в стандарте. Но к сожалению, в стандарте не вижу нормального тестового вектора. Такой вектор есть для подсчета CRC16 - тут у меня всё сходится, считается верно. Но от ECC я уже в панике, работа завязла. И ни в каких проектах с гитхаба, будь то TX/RX, не могу увидеть что и как они считают для ECC. Что можно предпринять, что еще попробовать? Что-то в каком-то режиме может запустить?
  4. Не, надо блок схему рисовать. Кажется что это слишком сложно и бессмысленно, но именно сейчас я бы рекомендовал последовать совету и таки нарисовать эту блок схему. Надо учиться рисовать блоки, это просто и в какой то мере даже весело.
  5. Мне не срочно, но конкретных названий файлов, конкретных путей, никаких примеров я не нашел. Буду искать. Требуется лишь функциональное моделирование. ModelSim предпочтительнее. Кстати, а можно взять Modelsim Altera Started Edtion и приварить к нему Lattice симуль? Вот это было бы хорошо. Или нужна полная версия? Вижу diamond/3.10_x64/cae_library/simulation/verilog/ecp3 Тут куча всяких модулей, видимо модели встроенных аппаратных блоков, попробую с ними посимулить
  6. Допустим беру, допустим не привязан. На сайте Lattice есть нечто "ISP Lever", которое платное или требует регистрации платного аккаунта, вроде так, не бесплатно. Есть конкретная инструкция? Пока что для меня процесс добавления Lattice+Modelsim как в тумане.
  7. Добрый день! Прошу подсказать, как бы мне просимулировать проект Lattice Versa ECP3, а может и другой ПЛИС попроще? Вот у альтеры/ынтел есть Modelsim Starter Edition, с появлением Vivado есть шикарный xsim. Я по сусекам поскреб, активашдл ривиеру добыл, а как дальше то поддержку Lattice намазывать? Меня устроит даже демонстрационная урезанная версия, ограниченная по времени. Мне лишь бы небольшие пробные проекты просимулить и скриншотов наделать.
  8. Зашел в тему написать точно такой же комментарий: надо просто скомпилировать в САПР нужного производителя нужного семейства и результат будет очевиден и более менее достоверен.
  9. Ого, не знал. Хороший способ, буду иметь ввиду, благодарю. И ТС-у наверняка этот вариант годен.
  10. Я всё применял, и PLI/VPI и DPI. Проще всего было в Active HDL - там прям визард-добавлятор был. А для Modelsim/Questa я бы делал через скрипты запуска, вызывал бы сборку библиотеки сначала, а уже потом ее подключать.
  11. А, секунды, нормуль. У меня есть eval альтеровского MIPI CSI-2 ядра на TX. Не компилируется но моделируется. Вот я из него тайминги выдеру, там достаточно 160 МГц на одной lane для 640x480. Очень надеюсь что распберишка не откажется кушать на 160 МГц, 160 ведь не 1600. Знаю только что минимум это 80 МГц.
  12. Хорошая мысль, прекрасный план. Попробую просто запрашивать 640x480 с сенсора в raspivid, а сам подсовывать ему свой поток, думаю там четкой связи по времени придерживаться не нужно, раз ему нужно просто видеть ответы по I2C.
  13. Спасибо, очень интересная ссылка, как минимум на время отладки это поможет. Но мне нужно еще аппаратное сжатие, а raspiraw может не позволить этого
  14. Мне нужно сгенерировать в ПЛИС паттерн и принять его в Raspberry Pi (3 Model B). Нужно чтобы вместо покупной камеры с MIPI CSI-2 работал мой источник в ПЛИС с моей прошивкой. Понимание формата фреймов MIPI CSI-2 есть, макетная плата с RPi Compute Module есть, есть захваченный CCI обмен, есть ПЛИС подключенная ко второму порту CSI-2 на RPi. Ну почти всё есть, но не могу собрать целую картину. Сомневаюсь что если я просто подам CSI-2 поток минимально допустимого разрешения то вдруг всё чудесным образом заработает. Это сложная для меня задача, но я за нее взялся, и очень хочу завершить. Подводных камней тут миллиард, регистры сенсора не ясны и неясно нужен ли этот CCI вообще. Но чисто электрически схема есть, он будет давать нужные уровни как по стандарту MIPI CSI-2. В ПЛИС у меня есть мой генератор, он уже умеет все эти клоки подавать и данные, считать ECC, считать CRC payload-а, ну всё есть, пока для 1-lane. Почти