реклама на сайте
подробности

 
 
10 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> О философии HDL-дизайнера, Поделитесь мудростью вашего ремесла. Почти пятничное..
Мур
сообщение Sep 8 2017, 12:15
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 763
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Наткнулся в переписке с коллегами на сжатую справку о своей работе с ПЛИС. Мне это понравилось. Выношу на обсуждение.

Цитата
Укоренилось мнение, что создание дизайна на ПЛИС осуществляют программисты и сам процесс его создания есть программирование. Это факт, что это делают программисты, но это миф, что это программирование. Это создание цифровой архитектуры.

1. Рекомендую при участии в конференциях по отношению к ПЛИС не употреблять слова "програмное обеспечение". Для этого говорят - HDL-дизайн.
2. Прошу усвоить, что результат работы HDL-дизайнера есть архитектура, уже её надо будет программировать. Программистами.
3. Самым сложным и затратным(до 80% времени) в работе HDL-дизайнера является этап верификации, поскольку он состоит из прохождения 3х этапов:
a) Создание и применение Тест-бенчей при написании фрагментов дизайна;
б) Создание и применение Набора Тест-бенчей для перекрестных проверок поведения модулей в сборке всего дизайна. Тут важна вариационность тестов, чтобы выявить конфликты в общей работе дизайна;
г) Создание дополнительных дизайнов при выявлении ошибок и сбора информации о поведении "на железе" в комбинации с SignalTab(или ChipScope). Тут неизбежно сотрудничество непосредственно с программистом, который будет пользователем этой архитектуры на ПЛИС, либо имитирует её внешний мир(по заранее определенной методике);
Игнорирование этих особенностей загоняют проблемы в глубь и ставят под угрозу сроки создания систем в целом. Не выявленные проблемы все равно заставят их пройти сполна.
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 8 2017, 13:41
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 161
Регистрация: 3-03-06
Пользователь №: 14 942



Мне это напоминает использование «крайний» вместо «последний». Такое буквоедство не импонирует.
Между тем, у создания HDL-архитектуры и программирования на ЯВУ много общего в стратегиях, подходах, ошибках и т.д.
И один, и другой работает на высоком уровне абстракции. И последние тенденции говорят о плавном срастании HDL и SW областей проектирования.
Все остальное нюансы на уровне терминологии.
Но за мысли спасибо.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Sep 8 2017, 13:41
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 423
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата
Укоренилось мнение, что создание дизайна на ПЛИС осуществляют программисты и сам процесс его создания есть программирование. Это факт, что это делают программисты, но это миф, что это программирование. Это создание цифровой архитектуры.

А среди кого укоренилось такое мнение ?
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 8 2017, 13:45
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 763
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Flip-fl0p @ Sep 8 2017, 16:41) *
А среди кого укоренилось такое мнение ?

rolleyes.gif У менагеров....
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Sep 8 2017, 13:53
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 423
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(Мур @ Sep 8 2017, 16:45) *
rolleyes.gif У менагеров....

Вот если вышестоящее руководство так думает - тогда проблема. А манагеры пусть думают что хотят. Лишь бы не мешали maniac.gif

Сообщение отредактировал Flip-fl0p - Sep 8 2017, 13:53
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 8 2017, 14:09
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 763
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Flip-fl0p @ Sep 8 2017, 16:53) *
Вот если вышестоящее руководство так думает - тогда проблема. А манагеры пусть думают что хотят. Лишь бы не мешали maniac.gif

В моем случае это проблема. Тут у меня только 2 человека(включая меня) компетентных. Начальство не из их числа... Везде в документации фигурирует ПО на FPGA. Мне стыдно перед приезжими, что более продвинуты в вопросе.

Мешают. И ставят в упрек как по срокам, так и по надежности(сделали серьезный дизайн за 6 месяцев. Хотя должно быть год.

И теперь за контроллеры! Следующий "забег"(с языком на плече) возможен через год....
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 8 2017, 14:21
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 7 704
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Расшифруйте аббревиатуру FPGA.
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 8 2017, 14:31
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 763
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(ViKo @ Sep 8 2017, 17:21) *
Расшифруйте аббревиатуру FPGA.

Программируемые пользователем вентильные матрицы.

Встречный вопрос,- что такое Verilog или VHDL?
Утрирую дополнительно ситуацию,- микросхема контоллера, только что прошедшая корпусирование у производителя и не имеющая пока целевую заливку имеет ПО? Вот и ПЛИС, с залитой конфигурацией, пока только архитектура. Её предстоит использовать.

Говорят мне,- "А там есть алгоритмы?" Да, конечно, но это проблемно-ориентированная система, как периферия у процессорного ядра. Она есть, но все там используется!
http://www.lcard.ru/lexicon/fpga
Цитата
--К программному или аппаратному обеспечению следует относить саму прошивку FPGA (или CPLD) и проект этой прошивки в какой-либо среде программирования?

Подобный вопрос может возникнуть, например, при согласовании технического задания. Рассматривая уровни программных и аппаратных средств обобщённой пользовательской системы, мы видим, что прошивки FPGA (или CPLD) фактически находятся между сущностями HARD и SOFT. Это означает (исходя из сказанного выше), что тот уровень прошивки, в котором реализована "жёсткая логика" с параллельной топологией взаимосвязей ячеек FPGA и учётом физических задержек распространения сигнала (наподобие электрической схемы), очевидно является аппаратным уровнем (HARD). А тот уровень прошивки, в котором рассматривается программа процессора, реализованного в FPGA, очевидно является программным уровнем системы. Подразумевается, что логика работы рассматриваемого процессора должна быть основана на последовательно исполняемом программном коде, который может быть изменён (перепрограммирован) без модификации физического уровня проекта.

В то же время, проекты FPGA или CPLD (в той или иной среде программирования), не входят в рассматриваемую обобщённую пользовательскую систему, а является технологическим средством проектирования (со своими программными и аппаратными уровнями).
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 8 2017, 14:38
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 161
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(Мур @ Sep 8 2017, 17:09) *
В моем случае это проблема.

Много копий сломано в подобных спорах.
ПЛИС -- программируемая интегральная схема. Кто-то её программирует. В общем, я бы на вашем месте не заморачивался ВООБЩЕ.
Важен результат, а не то, как он называется.
Во всем мире это называется кодом. HDL код. То есть последовательность упорядоченных множеств слов и символов, принадлежащих некоторому конечному алфавиту. Это и есть программное обеспечение. Для этого был придуман язык описания аппаратуры, чтобы уйти от схематичной архитектуры к её языковому представлению. Языковое представление однозначным образом программирует цифровое устройство на определенное поведение, выполнение каких-то функций.
Предлагаю тему закрыть во избежании холивара. А ведь он будет. biggrin.gif
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Sep 8 2017, 14:39
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 423
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(Мур @ Sep 8 2017, 17:31) *
Программируемые пользователем вентильные матрицы.

Встречный вопрос,- что такое Verilog или VHDL?

Не совсем так. Тут перевод более правильный "Программируемые на лету вентильные матрицы"
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 8 2017, 14:57
Сообщение #11


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 098
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Я тоже считаю что "писать для ПЛИС" это НЕ программирование. Но последнее время задумываюсь - да ведь это ж самое настоящее обыкновенное программирование, с отладкой, с юнит-тестами, системами сборки, системами контроля версий, с релизами, с модулями, с отладкой через принтинг - вот прямо как программу отлаживаю принтингом, так и работу схемы отлаживаю принтингом.


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 8 2017, 15:06
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 161
Регистрация: 3-03-06
Пользователь №: 14 942



А если в симулинке (матлабе) накидать блоков, соединить их стрелочками, а потом одной кнопкой: скодогенерить и сразу же скомпилировать прошивку, которая сразу же отправится в микроконтроллер.
Можно сказать, что человек программист и занимается при этом программированием?

А далее вопрос абстракции. Если пишете (создаете) HDL-код, то физический уровень для вас -- это уровень вентилей, логических ячеек, блоков памяти, архитектуры самой микросхемы, изменить которую нельзя. А уровень, на котором вы создаете свой код -- это software, из которого получается firmware, которое программирует hardware.
В современных многопроцессорных системах с операционной системой, GPU и прочим, линейное программирование тоже весьма условно линейное. Надо многое синхронизировать.

Сообщение отредактировал x736C - Sep 8 2017, 15:19
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 8 2017, 15:15
Сообщение #13


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 7 704
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Программируемый в полевых условиях массив вентилей - так будет еще правильнее.
В "Искусстве схемотехники" упоминается ОУ с задаваемым током потребления, они называют, "программируемый". А так, да, пустобрехство это все.
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 8 2017, 16:23
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 763
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(AVR @ Sep 8 2017, 17:57) *
Я тоже считаю что "писать для ПЛИС" это НЕ программирование. Но последнее время задумываюсь - да ведь это ж самое настоящее обыкновенное программирование, с отладкой, с юнит-тестами, системами сборки, системами контроля версий, с релизами, с модулями, с отладкой через принтинг - вот прямо как программу отлаживаю принтингом, так и работу схемы отлаживаю принтингом.


Вот такое восприятие и дает основание управляющим без тени сомнения давать задание программисту контроллеров заниматься ПЛИС. Хотя это иная Вселенная... Программист? Вперед!...
Хотя человеку, который идет из ПЛИС на контроллеры, это возможно, а вот наоборот - проблемно. Потому как подходы иные. Параллельное (на тысячи процессов) или последовательное программирование(один программный счетчик и стек для контекстов(или по числу задач)). Человеком, с прошлым схемотехника, семантика HDL воспринимается вполне естественно.

Да и сам процесс написания кода выглядит как пожелание(синтезируемое и не синтезируемое(!) подмножество). В процессе усложнения дизайна уже проверенный на железе код вдруг начинает чудить.... Такое для контроллеров - экзотика. А в ПЛИС - спошь и рядом. Почему каждый раз проверку проходит ВЕСЬ дизайн. А расположение ножек, его смена - может тоже вызвать проблемы. Хотя дизайн уже закончен и отлажен...

Схемотехника в N-слоях ПЛИС (как разводка в 2х слоях PCAD)... Вижу аналогию!

Цитата(x736C @ Sep 8 2017, 18:06) *
А далее вопрос абстракции. Если пишете (создаете) HDL-код, то физический уровень для вас -- это уровень вентилей, логических ячеек, блоков памяти, архитектуры самой микросхемы, изменить которую нельзя. А уровень, на котором вы создаете свой код -- это software, из которого получается firmware, которое программирует hardware.


Работу с ПЛИС часто воспринимаю как программирование контроллера на ассемблере... Не тот уровень абстракции...
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 8 2017, 16:33
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1 161
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(Мур @ Sep 8 2017, 19:23) *
Вот такое восприятие и дает основание управляющим без тени сомнения давать задание программисту контроллеров заниматься ПЛИС. Хотя это иная Вселенная... Программист? Вперед!...
С таким подходом можно сравнить программистов JAVA и PHP. Если начальство дурноватое, то это совсем другая проблема. Нужно либо уметь доносить до начальства нужные мысли, либо его менять.
Go to the top of the page
 
+Quote Post

10 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th November 2017 - 14:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016