[an error occurred while processing this directive]
Открытое письмо снобу Pashke про "миллионники". Или что лучше: "схематика" или AHDL?
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено SSE 12 июля 2002 г. 03:20

Я тут давно и часто бываю, но публично выступаю впервые.
Поэтому, не обессудьте, оттянусь по полной программе.

Представлюсь сразу: я, как тот попугай, разговаривать вообще не умею (в смысле xHDL и прочих языков), но все остальные зовут меня шефом.

Решали мы как-то одну локальную задачку.
Решал ее наш программист, очень опытный и классный. Который одинаково хорошо владеет "разговорным жанром" на всех возможных языках, начиная от фени и кончая С (с плюсами и без), Паскалями и Перлами. В том числе и ВХДЛем с АХДЛем. И милионник ему залить кодами - как два пальца об асфальт.
Но не получалась у него та задачка, хоть тресни! Потому, что по ее условиям необходимо было уместиться в ЕРМ3256.
Главное, и разговор у меня с ним даже не получался при попытках совместно разобраться в причинах: мыслит он на этих языках, а я - не умею.
И пришлось мне, старому пеньку, напрячься маленько и порисовать схемки на бумажке. (Я их потом выкинул и никому не показывал даже.) Но в результате этих упражнений был придуман алгоритм, который лего формулировался в десяти словах на чистом русском самого высокого уровня.
С некоторым скепсисом программист взялся переводить мой опус на AHDL. Через час подошел ко мне в слегка подавленном состоянии. Пойдем, говорит, покажу...
Оказывается, он уже все скомпилировал, в Максе просимулировал, вмонтировал в общий проект и уже залил в плисину.
Ну, говорю, работает, замечательно, в чем дело-то? А он мне в ответ показывает максовский отчет по компиляции проекта. Вот, говорит, в чем....

Задачка успешно разрешилась ценой 13-и макроячеек. А в его версиях на нее уходила почти половина ресурсов кристалла.

Позднее выяснилось, что помимо основной функции (убрать джиттер), ради которой все и затевалось, этот виртуальный четырехполюсник является отличным фильтром во временнОй области вплоть до "нулевой" частоты, и, как следствие, замечательно справляется с синхронизацией по потоку данных со стороны ведущего (мастер) устройства. Из этого проистекала дополнительная и весьма существенная экономия ресурсов ПЛИС.

Как Вам, Pashka, цифровой ФАПЧ-фильтр на 13-и макроячейках 7000/3000-ка?
Попробуйте скомпилировать любую альтеровскую PLL-мегафункцию. Как Вы думаете, она одна, сама по себе, даже усеченная до предела параметризацией, влезет хоть в самый емкий кристалл EPLD?

К чему я все это? А вот к чему.
Язык - это отнюдь не только дело вкуса и личных пристрастий. Язык, которым человек (специалист) привыкает пользоваться, накладывает каинову печать на его образ мышления. Чем больше человек привыкает пользоваться формализованным языком в своей области деятельности, тем болше он утрачивает способность мыслить образно и гасит свою интуицию, превращаясь в ПРОГРАММИСТА. А программист (не хочу никого обидеть) - по определению человек, который умеет превратить любой алгоритм в некие исполняемые коды. И чем лучше программист, тем изящнее и компактнее его коды, НО.
Вот только ЭФФЕКТИВНЫЙ для конкретной задачи алгоритм он уже не может придумать. А это, как раз, - главное. И рисование схем, как виагра, этому весьма способствует.

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

Способность сконфигурить "миллионник" само по себе никого не характеризует как хорошего или плохого спеца. Согласен, с использованием AHDL забить любой миллионник конфигурационными кодами несравненно легче, чем тернистымм путем рисования схем.
Но ведь весь вопрс не в количестве, а в качестве загружаемого в него продукта и вашего труда. Миллионник тянет под полторы тонны баксов. А, может быть, ваша задача имеет решение на порядок дешевле? В эту сторону профи иногда просто обязан думать.
Что скажет ваше руководство, если ему вдруг кто-нибудь докажет, что КПД ваших миллионников тянет аж процентов на 10-15?
Ну, конечно, вероятность этого - ноль. Кому это надо заниматься какими-то проверками качества ваших кодов? Зачем?

Вот, разве что, вашим конкурентм, создающим аналогичную продукцию?




Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru