Pull to refresh
144
7.2
Alexander Kapitanov @hukenovs

Train on test set is all you need

Send message
Да, вы правы. Пожалуй, добавлю ссылку в статью :)
Исправлено.
Если уж совсем на рассыпухе серии 7400, то выйдет красиво, но много микросхем. Главное математику (умножители и сумматоры) организовать, больше тут по сути ничего и нет. Тот же умножитель, если делать по алгоритму Бута — еще +20-30 сумматоров, в зависимости от разрядности данных. А сумматоры вообще разбить на логические функции. Рассыпухи станет будь здоров! Уж лучше на самом маленьком spartan3 сделать без извращений :)
На россыпи делал вот здесь товарищ с хабра. Как видите — тоже ничего сложного нет и все теплое «ламповое» аналоговое. :)
На дисплей не выводил, хотя задумка была и наработки для VGA-FPGA есть (см. сапёр на плис). Может как-нибудь прикручу, когда свободного времени будет побольше. Самому интересно это попробовать :)

Для Xilinx floating point сейчас только в виде IP-корок, но в Vivado HLS можно работать с плавающей точкой и даже проекты небольшие на выходе можно получить. За серьезные не ручаюсь :) А вот у Альтеры есть DSP ячейки с поддержкой плавающей точки (Arria 10, если мне память не изменяет).
Спасибо, интересная статья! Хотелось бы добавить, что в Vivado HLS от Xilinx большую роль играют директивы, с помощью которых можно получать те или иные результаты по пропускной способности, максимальной задержке и ресурсам. Сначала отлаживается алгоритм в чистом виде, без привязки к железу, а затем путем вставки директив в нужные места, идет борьба за ресурсы и скорость. Насчет handshake/axi вы правы, Xilinx может создать монстрообразную конструкцию с кучей лишних портов, которые потом придется на RTL уровне соединять. Но весь этот процесс можно обуздать. В любом случае, вендоры правильно поступают, привклекая Сишников в разработку на FPGA, особенно с учетом того, что современные кристаллы настолько огромные, что забить его чистым RTL-кодом не так-то и просто :)
Звучит интересно, мне всегда нравились подобные темы. Я желаю вам успехов на этом нелегком пути, у вас все получится. Ну и ждем продолжения статьи :)
Хотелось бы видеть какие-нибудь иллюстрации, примеры кода, объемы занимаемых ресурсов, скорость работы, входные и выходные данные, тип ПЛИС и т.д.
Мою первую статью, написанную на хабре, в свое время переместили сюда. Поищите на гиктаймс по метке или хабу "fpga" статьи — они практически все тут.
С хабра тематика FPGA давно переехала на гиктаймс :)
Мне кажется, что для современных ПЛИС использовать «большие» частоты дискертизации при обработке звука — ерунда. Например, поставить интерполятор на R(I) = 160, а затем дециматор на R(D) = 147 — не проблема. Частота обработки в любом случае будет много выше частоты дискретизации. Другов вопрос, что делать преобразование из 44.1 в 48 на таких ПЛИС как Kintex-7 или Stratix V не имеет смысла.
Думаю, ваше предположение верно о том, что команда чтения воспринималась как запись. Скорее всего портилось содержимое внутренних регистров таймера, поэтому он начинал сбоить. В процессе отладки проекта на первых стадиях мне иногда удавалось словить иероглифы, но причина была не в питании, а в неверной скорости записи/чтения из микросхемы.
С пропаданием напряжения иметь дело не приходилось. Но плату оставлял включенной более, чем на сутки, предварительно записав время реальное и отображаемое. Спустя ~30-31 час на дисплее отображались нужные значения, которые должны были натикать за это время в ds1302. :)
Интересная статья. Жаль, что Vivado у Xilinx заточен под 7 серию камней и выше.
а для Xilinx как дела обстоят?
Эх! По сравнению с монстрообразным VHDL, на которым мы сейчас пишем — SV кажется ну просто минималистичным и красивым.
Интересно, какие синтезаторы в настоящий момент поддерживают SV?
Отличная статья. После таких начинаешь думать, насколько скудны мои знания хотя бы в том же VHDL, несмотря на годы изучения. Вы — мастер! :)
Да, согласен. Когда варианты не слишком сильно отличаются — это нормально. Но иногда он выводит результаты, например, для 6, 8 и более человек. Хотя, как я уже говорил, в таких случаях я пользуюсь хитрым приёмом — ограничиваю ценовой диапазон сверху. До конца все ненужные варианты он не убирает, но неплохо фильтрует неинтересные предложения.
Плюс можно указать количество комнат или кроватей (жаль только, что не набором из списка).
Интересно, а можно ли в опциях поиска найти жилье по фильтрам только на конкретное количество человек?
Например, я ищу жилье на двоих, а сервис показыает мне результаты для двух и более. В связи с этим приходится использовать хитрости по другим фильтрам (например, урезать цену сверху), но все равно полностью исключить из списка предложения для >2 жильцов не всегда удается.
Статься понравилась.
Напишите еще цикл статей по использованию всех приложений от Xilinx. Буду их показывать в качестве дополнительного обучающего материала :)

Например,
— создание примитивных IP-ядер в Coregerator, их интеграция в проект.
— задание временных ограничений, правильное описание UCF (XDC) для ног ПЛИС, для компонентов внутри кристалла при включенной иерархии, (тут можно всю мощь PlanAhead и FPGA Editor подключить), и т.д и т.п.

Сам вот думаю написать про интеграцию блоков из System Generator и Matlab на примере динамических систем.

Information

Rating
752-nd
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity

Specialization

Specialist
Lead
Machine learning
Neural networks
Computer vision
OpenCV
Pytorch
Deep Learning
TENSORFLOW
Big data
Algorithms and data structures
Data Analysis