Мур 1 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Наткнулся в переписке с коллегами на сжатую справку о своей работе с ПЛИС. Мне это понравилось. Выношу на обсуждение. Укоренилось мнение, что создание дизайна на ПЛИС осуществляют программисты и сам процесс его создания есть программирование. Это факт, что это делают программисты, но это миф, что это программирование. Это создание цифровой архитектуры. 1. Рекомендую при участии в конференциях по отношению к ПЛИС не употреблять слова "програмное обеспечение". Для этого говорят - HDL-дизайн. 2. Прошу усвоить, что результат работы HDL-дизайнера есть архитектура, уже её надо будет программировать. Программистами. 3. Самым сложным и затратным(до 80% времени) в работе HDL-дизайнера является этап верификации, поскольку он состоит из прохождения 3х этапов: a) Создание и применение Тест-бенчей при написании фрагментов дизайна; б) Создание и применение Набора Тест-бенчей для перекрестных проверок поведения модулей в сборке всего дизайна. Тут важна вариационность тестов, чтобы выявить конфликты в общей работе дизайна; г) Создание дополнительных дизайнов при выявлении ошибок и сбора информации о поведении "на железе" в комбинации с SignalTab(или ChipScope). Тут неизбежно сотрудничество непосредственно с программистом, который будет пользователем этой архитектуры на ПЛИС, либо имитирует её внешний мир(по заранее определенной методике); Игнорирование этих особенностей загоняют проблемы в глубь и ставят под угрозу сроки создания систем в целом. Не выявленные проблемы все равно заставят их пройти сполна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Мне это напоминает использование «крайний» вместо «последний». Такое буквоедство не импонирует. Между тем, у создания HDL-архитектуры и программирования на ЯВУ много общего в стратегиях, подходах, ошибках и т.д. И один, и другой работает на высоком уровне абстракции. И последние тенденции говорят о плавном срастании HDL и SW областей проектирования. Все остальное нюансы на уровне терминологии. Но за мысли спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Укоренилось мнение, что создание дизайна на ПЛИС осуществляют программисты и сам процесс его создания есть программирование. Это факт, что это делают программисты, но это миф, что это программирование. Это создание цифровой архитектуры. А среди кого укоренилось такое мнение ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба А среди кого укоренилось такое мнение ? :rolleyes: У менагеров.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 8 сентября, 2017 Опубликовано 8 сентября, 2017 (изменено) · Жалоба :rolleyes: У менагеров.... Вот если вышестоящее руководство так думает - тогда проблема. А манагеры пусть думают что хотят. Лишь бы не мешали :maniac: Изменено 8 сентября, 2017 пользователем Flip-fl0p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Вот если вышестоящее руководство так думает - тогда проблема. А манагеры пусть думают что хотят. Лишь бы не мешали :maniac: В моем случае это проблема. Тут у меня только 2 человека(включая меня) компетентных. Начальство не из их числа... Везде в документации фигурирует ПО на FPGA. Мне стыдно перед приезжими, что более продвинуты в вопросе. Мешают. И ставят в упрек как по срокам, так и по надежности(сделали серьезный дизайн за 6 месяцев. Хотя должно быть год. И теперь за контроллеры! Следующий "забег"(с языком на плече) возможен через год.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Расшифруйте аббревиатуру FPGA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Расшифруйте аббревиатуру FPGA. Программируемые пользователем вентильные матрицы. Встречный вопрос,- что такое Verilog или VHDL? Утрирую дополнительно ситуацию,- микросхема контоллера, только что прошедшая корпусирование у производителя и не имеющая пока целевую заливку имеет ПО? Вот и ПЛИС, с залитой конфигурацией, пока только архитектура. Её предстоит использовать. Говорят мне,- "А там есть алгоритмы?" Да, конечно, но это проблемно-ориентированная система, как периферия у процессорного ядра. Она есть, но все там используется! http://www.lcard.ru/lexicon/fpga --К программному или аппаратному обеспечению следует относить саму прошивку FPGA (или CPLD) и проект этой прошивки в какой-либо среде программирования? Подобный вопрос может возникнуть, например, при согласовании технического задания. Рассматривая уровни программных и аппаратных средств обобщённой пользовательской системы, мы видим, что прошивки FPGA (или CPLD) фактически находятся между сущностями HARD и SOFT. Это означает (исходя из сказанного выше), что тот уровень прошивки, в котором реализована "жёсткая логика" с параллельной топологией взаимосвязей ячеек FPGA и учётом физических задержек распространения сигнала (наподобие электрической схемы), очевидно является аппаратным уровнем (HARD). А тот уровень прошивки, в котором рассматривается программа процессора, реализованного в FPGA, очевидно является программным уровнем системы. Подразумевается, что логика работы рассматриваемого процессора должна быть основана на последовательно исполняемом программном коде, который может быть изменён (перепрограммирован) без модификации физического уровня проекта. В то же время, проекты FPGA или CPLD (в той или иной среде программирования), не входят в рассматриваемую обобщённую пользовательскую систему, а является технологическим средством проектирования (со своими программными и аппаратными уровнями). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба В моем случае это проблема. Много копий сломано в подобных спорах. ПЛИС -- программируемая интегральная схема. Кто-то её программирует. В общем, я бы на вашем месте не заморачивался ВООБЩЕ. Важен результат, а не то, как он называется. Во всем мире это называется кодом. HDL код. То есть последовательность упорядоченных множеств слов и символов, принадлежащих некоторому конечному алфавиту. Это и есть программное обеспечение. Для этого был придуман язык описания аппаратуры, чтобы уйти от схематичной архитектуры к её языковому представлению. Языковое представление однозначным образом программирует цифровое устройство на определенное поведение, выполнение каких-то функций. Предлагаю тему закрыть во избежании холивара. А ведь он будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Программируемые пользователем вентильные матрицы. Встречный вопрос,- что такое Verilog или VHDL? Не совсем так. Тут перевод более правильный "Программируемые на лету вентильные матрицы" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Я тоже считаю что "писать для ПЛИС" это НЕ программирование. Но последнее время задумываюсь - да ведь это ж самое настоящее обыкновенное программирование, с отладкой, с юнит-тестами, системами сборки, системами контроля версий, с релизами, с модулями, с отладкой через принтинг - вот прямо как программу отлаживаю принтингом, так и работу схемы отлаживаю принтингом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 8 сентября, 2017 Опубликовано 8 сентября, 2017 (изменено) · Жалоба А если в симулинке (матлабе) накидать блоков, соединить их стрелочками, а потом одной кнопкой: скодогенерить и сразу же скомпилировать прошивку, которая сразу же отправится в микроконтроллер. Можно сказать, что человек программист и занимается при этом программированием? А далее вопрос абстракции. Если пишете (создаете) HDL-код, то физический уровень для вас -- это уровень вентилей, логических ячеек, блоков памяти, архитектуры самой микросхемы, изменить которую нельзя. А уровень, на котором вы создаете свой код -- это software, из которого получается firmware, которое программирует hardware. В современных многопроцессорных системах с операционной системой, GPU и прочим, линейное программирование тоже весьма условно линейное. Надо многое синхронизировать. Изменено 8 сентября, 2017 пользователем x736C Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Программируемый в полевых условиях массив вентилей - так будет еще правильнее. В "Искусстве схемотехники" упоминается ОУ с задаваемым током потребления, они называют, "программируемый". А так, да, пустобрехство это все. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Я тоже считаю что "писать для ПЛИС" это НЕ программирование. Но последнее время задумываюсь - да ведь это ж самое настоящее обыкновенное программирование, с отладкой, с юнит-тестами, системами сборки, системами контроля версий, с релизами, с модулями, с отладкой через принтинг - вот прямо как программу отлаживаю принтингом, так и работу схемы отлаживаю принтингом. Вот такое восприятие и дает основание управляющим без тени сомнения давать задание программисту контроллеров заниматься ПЛИС. Хотя это иная Вселенная... Программист? Вперед!... Хотя человеку, который идет из ПЛИС на контроллеры, это возможно, а вот наоборот - проблемно. Потому как подходы иные. Параллельное (на тысячи процессов) или последовательное программирование(один программный счетчик и стек для контекстов(или по числу задач)). Человеком, с прошлым схемотехника, семантика HDL воспринимается вполне естественно. Да и сам процесс написания кода выглядит как пожелание(синтезируемое и не синтезируемое(!) подмножество). В процессе усложнения дизайна уже проверенный на железе код вдруг начинает чудить.... Такое для контроллеров - экзотика. А в ПЛИС - спошь и рядом. Почему каждый раз проверку проходит ВЕСЬ дизайн. А расположение ножек, его смена - может тоже вызвать проблемы. Хотя дизайн уже закончен и отлажен... Схемотехника в N-слоях ПЛИС (как разводка в 2х слоях PCAD)... Вижу аналогию! А далее вопрос абстракции. Если пишете (создаете) HDL-код, то физический уровень для вас -- это уровень вентилей, логических ячеек, блоков памяти, архитектуры самой микросхемы, изменить которую нельзя. А уровень, на котором вы создаете свой код -- это software, из которого получается firmware, которое программирует hardware. Работу с ПЛИС часто воспринимаю как программирование контроллера на ассемблере... Не тот уровень абстракции... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 8 сентября, 2017 Опубликовано 8 сентября, 2017 · Жалоба Вот такое восприятие и дает основание управляющим без тени сомнения давать задание программисту контроллеров заниматься ПЛИС. Хотя это иная Вселенная... Программист? Вперед!...С таким подходом можно сравнить программистов JAVA и PHP. Если начальство дурноватое, то это совсем другая проблема. Нужно либо уметь доносить до начальства нужные мысли, либо его менять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться