Pull to refresh
27
0
Stanislav Zhelnio @SparF

Пользователь

Send message

Вам попадался курс или книга по ТАУ, построенные по похожему принципу? Вот с радостью бы приобрел, если честно

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

См. Харрис&Харрис, раздел 4.5.4 "Блокирующие и неблокирующие присваивания". Приведены примеры, почему не стоит использовать блокирующие присваивания в последовательностной логике, и неблокирующие в комбинационной. В одном случае это может привести к некорректному синтезу, а в другом — к замедлению симуляции

Для использования inferred ram/rom не нужно явно инстанцировать какую-то IP или мегафункцию. Средства симуляции и синтеза успешно распознают написанную определенным образом Verilog-конструкцию и сами добавляют "вместо нее" блочную память (к слову, это же справедливо для умножителей, DSP-блоков, буферов и т.д.). Для Vivado см. UG901, раздел "RAM HDL Coding Guidelines", для Quartus: Quartus Handbook, раздел "Inferring Memory Functions from HDL Code".
Примеры можно посмотреть вот здесь: интерфейс Quartus — Create New File, Verilog; меню Edit -> Insert Template.
Там есть небольшие различия: какой-то код может синтезится в блокрам для квартуса, но при этом собираться на лутах под вивадой, либо наоборот. Но чаще всего можно прийти к общему знаменателю.
Еще примеры: раз, два.

  1. использование блокирующих присваиваний (=) в последовательностном блоке (always @(posedge clk)) является некорректным;
  2. у производителей ПЛИС есть рекомендации на тему использования синхронного/асинхронного ресета и его уровня, следовать им — хороший тон;
  3. почитайте про inferred ram, inferred rom и функции readmemh, readmemb — с помощью этого можно избежать "зашивания" данных (lut[0] = ...) в код

Это реальные отзывы, написанные реальными студентами. Попросил прислать их уже после завершения школы: получил 5 отзывов от 16 человек. Имхо, неплохой КПД с поправкой на лень или опасения "собственного косноязычия", и это при том, что я не настоящий преподаватель. Вы считаете, что приведенный текст не соответствует формату Хабра?

В том же Quartus или ModelSim встроенные редакторы действительно ужасны чуть меньше чем полностью. Данный факт коробит ровно до осознания того, что это очень ускоспециализированный софт. Как итог: Verilog разработка у меня живет в любимом VSCode, ModelSim c нужными параметрами запускается из скрипта (a-la makefile), Quartus — только для синтеза.
В качестве аналогии: у gcc вообще нет графического интерфейса, но как компилятор он свою функцию выполняет.
Как-то так.

Т.к. статья преимущественно о самообразовании и преподавании, то очень хочется сказать вам, что "учиться никогда не поздно, и я вас верю". Но вы, наверное, просто хотите накинуть на вентилятор и начать холивар.

Не хочу претендавать на знание абсолютной истины и скатываться к холивару. Поэтому тезисно моя позиция заключается в следующем:


  • проект MIPSfpga — это прекрасная возможность разобраться в работе современного промышленного процессорного ядра. И это очень важно в эпоху, когда все больше и больше модулей поставляется в виде blackbox, что сопровождается некоторым падением компетенций.
  • инженер, понимающий, как работает ядро одной архитектуры, всегда разберется с тем, как работает ядро другой архитектуры: все используют одни и те же или очень похожие подходы. И потратит на это гораздо меньше времени, имея (благодаря MIPSfpga) соответствующий backgroud.
  • образовательная программа Imagination отличается некоторой целостностью: от книги Харрис&Харрис (в появлении русского перевода которой есть их заслуга), которая дает базовые знания и рассматривает в т.ч. MIPS-архитектуру, в ходе лабораторных работ с системой вы эволюционируете до ковыряния в современном ядре, опять же MIPS-архитектуры.

Существуют ли более удачные архитектуры? Возможно.
Существуют ли более мощные и интересные ядра? Конечно, как MIPS, так и не MIPS?
Какое из них (именно промышленное, а не академическое) доступно в виде исходников, чтобы можно было засучить рукава и залезть "под капот"? Причем так, чтобы это сопровождалось документацией именно образовательной направленности и некоторой поддержкой от производителя?


Вот такие критерии и рассуждения. Я не навязываю MIPS как серебряную пулю и универсальный рецепт для любой задачи. Мне просто интересно ковыряться с MIPSfpga и MIPSfpga-plus. Для реальных промышленных задач выбор инструмента решения зависит от бОльшего числа факторов.

На всякий случай: я привел данные по MIPSfpga-plus в конфигурации MIPSfpga+SDRAM+UART.
Если говорить про schoolMIPS — то там потребность вообще смешная.

Quartus Prime Version   16.1.0 Build 196 10/24/2016 SJ Lite Edition
Family                  MAX 10
Device                  10M50DAF484C7G
Total logic elements    16,893 / 49,760 ( 34 % )
Total registers         8160
Total pins              148 / 360 ( 41 % )
Total virtual pins      0
Total memory bits       111,232 / 1,677,312 ( 7 % )
Embedded Multiplier 9-bit elements  0 / 288 ( 0 % )
Total PLLs              1 / 4 ( 25 % )
UFM blocks              0 / 1 ( 0 % )
ADC blocks              0 / 2 ( 0 % )

VS Code — прекрасен, мое основное средство для разработки MIPSfpga-plus. В одном редакторе одинаково удобно править Verilog, C и asm. Но когда, когда они наконец реализуют memory view???
https://github.com/Microsoft/vscode-cpptools/issues/509

Это круто. Это очень круто, настолько, что на текущий момент почти бесполезно для домашнего пользователя. Окружающее пространство пока что не настолько перегружено источниками сигнала, чтобы их пеленговать. Хотя иногда может быть полезно, это да.
А может стоит взглянуть на это с другой стороны? Вот есть у вас, к примеру, огромный склад с кучей всякой ерунды, настолько сложной и разнообразной, что работники склада даже не знают, «что это за фигня и как ее найти». Я сталкивался с такой ситуаций, когда центральный склад привезли кучу связного оборудования. И пеленг RFID-меток, возможно, тогда бы выручил.
Что еще приходит в голову: поиск авто на подземной стоянке, контейнера с грузом, посылки, письма. А еще метку можно повесить на ключи или приклеить на документы (паспорт, пропуск, проездной).

UPDATE 2017.06.05
Т.к. плата Pinboard II, которой я пользуюсь в качестве отладчика, есть далеко не у всех, заказал на Aliexpress один из модулей (на нужном чипе). Цена — около $15. Работает успешно, со своей задачей справляется.
Но без нюансов не обошлось:


  • плата поставляется без разъемов PLS — гребенку штырей (если планируете использовать) придется напаивать самостоятельно;
  • цепь сброса не смонтирована, соответствующей ввод чипа просто висит в воздухе. При помехах или наводках это может привести к сбросу в самый непредвиденный момент;
  • нанесенные шелкографией наименования шин — не корректны. Корректные наименование указаны на фото.
  • если будете заказывать аналогичную, обращайте, пожалуйста, внимание на то, какая микросхема используется — когда искал, попадались упоминания таких плат с чипами без поддержки MPSSE.

Фото модуля


Там разные файлы на входе, закодированные разными кодеками. Один короткий (x265), другой — длинный (x264). Отсюда разница.

SIMD в байкале замедляет?

прочитайте, пожалуйста, внимательно: 113 сек (с поддержкой SIMD) < 164 сек (без SIMD).


Так же и с непонятным байкалом, кому он нужен, если остальные ездят на x86, arm и тд.

Время рассудит. А между делом никому не нужный процессор собираются выпустить партией до 100 тыс. штук: http://www.baikalelectronics.ru/about/press-center/news/FRP_project/

было бы интересней если бы

Я не ставил перед собой задачу проводить какой-то анализ в стиле "MIPS vs неMIPS" или "Байкал vs Intel vs AMD vs ARM".
Если у вас есть серьезное желание провести подобные сравнительные тесты на производительность, и вы готовы собрать соответствующий стенд в стиле iXBT — обратитесь к производителю: https://habrahabr.ru/post/328566/#comment_10220052 — думаю, что вам помогут получить удаленный доступ к Байкалу. У меня с этим проблем не возникло.
Что касается цены, то ее предоставлении по запросу является политикой производителя. При всем сожалении — не мне ее менять.


БТРы на колесах тоже существуют

Не понимаю сути данного выпада.
Для информации: в городских условиях у вас гораздо больше шансов встретить колесный бронетранспортер (БТР-80, -82), чем гусеничный (МТ-ЛБ) или любую иную бронетехнику. В силу того, что колесная техника в мирное время может (в отличии от гусеничной) передвигаться по дорогам общего пользования. Именно поэтому колесные БТР стоят на вооружении внутренних войск, или, как сейчас их называют — Росгвардии.
Пожалуйста, учите матчасть или формулируйте свои мысли более четко.


В таблице скорее всего ошибка

Покажите, пожалуйста, где. Выкопировки из логов, так же как ссылка на полные логи — приведены в составе статьи.

Какой смысл вы вкладываете во фразу «работала с тормозами»? ffmpeg — это консольное приложение, поэтому у него нет «времени отклика на действия с элементами GUI», высокое значения которого принято называть «тормозами»

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity