Перейти к содержанию
    

count_enable

Свой
  • Постов

    339
  • Зарегистрирован

  • Посещение

Весь контент count_enable


  1. alxkon, мы поднимали MIPI более года назад, точно сейчас не припомню, но больших проблем не было. Если успешно подключите какую-то другую камеру (не IMXxxx) - дайте знать, самому интересно. Софт не требует лицензионного сервера и может ставится на нескольких компьютерах. Сейчас обкатываем новые Titanium. Первые впечатления неплохие: дизайн ужался где-то на 10%, частоты подросли раза в три. Вполне реально получить 300 МГц на них.
  2. Каждый разработчик пишет свои тестбенчи, во время разработки блока они выполняются локально. Когда блок коммитится, добавляются тесты на регрессию и производительность в CI/CD. Но должен сказать что упор у нас всё же делается на тесты на железе. 1. Есть несколько задач. Сначала простой "дымовой тест" что код синтезировался\скомпилировался. Потом тесты на симуляторе. Потом на железе. Есть пайплайны для железа и для софта. Разработчик может сам выбирать нужную глубину. 2. Да, ночи хватает на синтез и полный набор тестов. 3. Да, иногда у нас были фейлы из-за таймаута, дали запас по времени. 4,5. Мы разрабатываем ускорители, со внешним железом плисина не особо взаимодействует. 6. Нам хватает логов. При необходимости фризим.
  3. Мы построили CI/CD систему с тестированием коммитов на железе. Очень улучшает жизнь и качество проектов, даже если блок делается одним разработчиком. Упрощает ведение документации и отслеживание изменений в проекте. Меньше багов т.к. невозможно забыть прогнать тесты. Проверка на различных железных платформах. Старый код регулярно проверяется и поддерживается в рабочем состоянии. Дисциплинирует, не даёт делать сотни веток "а попробую я это", "это не работает с квестой, временный костыль" и т.д. Можно прогонять большие наборы тестов автоматически ночью, а с утра разбирать логи. Система масштабируется как по размеру команды, так и по сложности кода. Все разрабы довольны. Наш случай это когда разрабатывается RTL, софт для встроенного проца + математика. Три независимые команды. RTL делает несколько людей. Совместная разработка не на уровне счётчиков и автоматов (хотя и делаем совместные code review), а на уровне интерфейсов между блоками. Кто-то делает блок памяти, кто-то математический блок, кто-то интегрирует внешнюю память и CI/CD гарантирует что у нас получится один проект с новейшей кодовой базой, а не три несовместимых. Так что очень рекомендую.
  4. Спасибо за ценные замечания! Жаль никто не делает бенчмарков на digital design софте. Подумаем над райзеном.
  5. Xeon в первую очередь обнадёживает большим кешем и контроллерами памяти.
  6. Не хочу плодить похожие темы, поэтому спрошу здесь. Какая конфигурация нужна для Questa Modelsim? Стоит ли добавлять больше памяти, больше ядер, или быстрый SSD? Кто-то пробовал ставить Квесту на Xeon, как оно по сравнению с десктопными Core/Zen? Сейчас рассматриваем идею одного сервера симуляции с несколькими квестами работающими параллельно.
  7. Работаем с Т120, частоты небольшие, до сотни. Старые трионы не самые быстрые плисины. Новые пока не пробовали.
  8. Больших партий мы не закупаем, небольшие точно доступны. Киты тоже без проблем. Вполне неплохая рабочая платформа. К концу года обещают новое поколение 16нм, в софте уже новые плис добавлены. Ещё у них есть референсные SoC на RISC-V, работают без особых танцев с бубном. Для отладки правда лучше сделать отдельный Soft JTAG.
  9. Работаем с Efinix. По доступности, лицензиям не подскажу. Сами плисины неплохие, MIPI рабочее, контроллер DDR тоже. На официальном ките идёт от них демка с камерой IMX219 и дисплеем на HDMI. Софт похуже чем у Xilinx, но фатальных косяков нету. С мелкими платами типа Xyloni/FireAnt дела не имел.
  10. В абсолютном большинстве нейросети не "пишутся" на каком-то языке, а делаются с применением какого-то фреймворка. Из актуальных это Keras/Tensorflow, Pytorch, Caffe2, CNTK, OpenVINO для Интела.
  11. Все нейросети это одно большое матричное умножение. Алгоритмы Штрассена и Винограда ограниченно используются. Какое-то время Нвидия тоже экспериментировала с умножением по Винограду, было в их библиотеках. Поищите статьи по Strassennets, Wnograd convolution.
  12. ТС, в какой среде (фреймворке) работаете? Задача типичная, во всех ML-тулкитах (в питоне наверное самый простой будет scikit-learn) есть готовые инструменты. Кстати не факт что нейросеть покажет лучшую точность, вполне вероятно что регрессия или метод опорных векторов справятся лучше. Советую посмотреть примеры и курсы по машинному обучению. Лично мне понравилась документация к Матлабу (у них хороший тулкит для численных данных а не распознавания образов) и курс Andrew Ng. Оба очень простые.
  13. Спасибо всем откликнувшимся, исполнитель найден.
  14. Ищу специалиста хорошо знакомого с архитектурой PSOC5/6 - UDB и DMA для разовой работы с перспективой дальнейшего сотрудничества. Требуется реализовать один алгоритм с использованием цифровых блоков и сделать замеры производительности. Работа полностью удалённая. Подробности в ЛС.
  15. Есть примитив BSCANE, но он дает только возможность использовать JTAG User Instruction. А вот описанного способа как подключить свой JTAG внутри своей корки к цинковскому TAP найти не удалось. UPDATE: Похоже что проблема нерешаема. Есть один проект где используется BSCANE чтобы программировать RISC-V, но отладка таким образом невозможна. https://github.com/watz0n/learn-rv32i-arty
  16. Хочу запустить RISC-V ядро на Z7020. Система (Vexriscv) уже собрана, можно размещать. Можно ли как-то пробросить JTAG порт внутрь чтобы подцепить RISC-V к тому же интерфейсу на котором висит PS?
  17. Да, можно сжимать при помощи свёртки. Для этого придумали архитектуру под названием автоэнкодер. Сжатие будет с потерями, вычислительная сложность высокая, работать будет только на похожих типах изображений. Если натренировать автоэнкодер на портретах, а потом пережать например фотографию биокультуры под микроскопом, может получиться забавно. Но в принципе возможно.
  18. Achronix очень активно развивается. Он оседлал нишу 5G и активно её окучивает. Куча новых моделей плис у них на сайте, все заточенные под производительность. Технология это нишевая, но если надо возможность реконфигурации и низкий (доллары) unit cost то альтернатив нет.
  19. На T13F256 занимает около 10%, синтезируется на частоте 80 МГц. Да, делают настоящие чипы а не рекламу. Им бы ещё перейти на более новый техпроцесс и дать больше популярных хард-блоков. Пока кроме памяти и умножителей ничего нету.
  20. Слышал. Относительно молодой стартап, но делают хороший прогресс. Всё ещё довольно сырое, но пытаются улучшить. Хорошо идут на контакт и пытаются помочь. Софт очень простой, но тем не менее заработал сразу под Линуксом. Правда Efinity иде странно выглядит - проще писать код во внешнем редакторе и использовать для компиляции. Что-то разводить ещё не пробовал, потыкал в примеры которые дают с иде (FIR и древний R4000 проц). Верификацию делать не пробовал, обещают что с Моделсимом работать будет. В общем это явно не для коммерческого продукта, но уже пригодно для экспериментирования. Думаю через пару лет допилят до вполне рабочего состояния.
  21. Спасибо за ответы. HLS не подходит т.к. длина последовательности зависит от входных данных, плюс надо гибко переключаться между 3-4 типами последовательностей. Так что только программное управление. Конечные автоматы различной степени вложенности используем сейчас, но как я говорил, отладка затруднена (любое изменение задержек в выч. устройстве - переписывай код и отлаживай по новой), гибкость недостаточна, а ресурсов сожрали как почти полноценный процессор. Майорова пока найти не удалось, с альтеровским секвенсером знакомлюсь. Пока что мой секвенсер выглядит похоже на это: https://vak.dreamwidth.org/573813.html . Сейчас размышляю над двумя вариантами: - Вариант без циклов и переходов(линейный проход). Каждое слово в формате "опкод: количество повторений". МА очень простой тогда. Недостаток: может быть недостаточно эффективным. Пусть будет 1к 18-битных слов, 9 под команду, 9 под количество повторений. Тогда у нас может быть только 1024 смены опкода в программе, каждый опкод можно повторить 512 раз. Вроде хватает, но надо считать. - Вариант с переходами. Более близок к классическому МА, но мне жаль отдавать половину или больше каждого слова под адрес перехода.
  22. Не уверен что в правильном разделе, но так как разрабатываю я на ПЛИС, то пусть будет здесь. Появилась задача выполнять на ПЛИС очень длинные (тысячи и десятки тысяч) последовательности команд. Последовательности вычисляются нехитрым алгоритмом и представляют собой что-то типа: P+=A+B; P+=A+B; (8x repeat) P=P*A; BRAM(Addr)=P; P+=A+B; (64x repeat)... P=P*A; BRAM(Addr+1)=P; ..and so on and on and on... Хотя алгоритм вычисления и нехитрый, есть несколько десятков последовательностей которые надо выполнять. Сейчас на рассыпухе сделан генератор адресов и опкодов который это делает, но любое изменение алгоритма это огромный гемморой и недели отладки. Добавление новой последовательности приводит к ощутимому росту ресурсов. Процессор не справится - надо выдавать команды на 300+ МГц. Решил сделать это микропрограммным секвенсером - тем более что ветвлений (кроме циклов заданной длины) в алгоритме нет, вся последовательность строго детерминистична. К сожалению, не нашел ничего достойного в современной литературе на эту тему, сейчас работаю по разрозненных публикациях в интернете и руководству по серии Ам2900 из 80х годов. Не хотелось бы изобретать свой велосипед для в общем типовой задачи. Будут ли рекомендации?
  23. Могу только добавить что это нижняя планка. Перевозить менее опытного инженера нам пока не оплачивается. Коллектив частично русскоязычный, но рабочий язык английский.
×
×
  • Создать...