Главная
Новости рынка
Рубрикатор



Архив новостей -->



 



   

В. Лобанов

Заметки о проектировании современных цифровых систем управления на отечественной элементной базе

Проходившие 12 ноября 2002 г. в НИИ "АРГОН" и 29 января 2003 г. в ГНПП "РЕГИОН" межотраслевые совещания по вопросу перехода с зарубежной элементной базы на отечественную затронули ряд проблем, связанных с состоянием электронной промышленности России. Широкое внедрение импортной комплектации в разработки специальных бортовых систем управления вызывает определённые опасения. Эту тревогу несколько рассеяли доклады представителей ГУП НПЦ "ЭЛВИС" и ОАО "Ангстрем". Весьма кстати пришлись последние публикации в журнале "Chip News" [1,2], оказавшиеся в центре обсуждения перспективных направлений электроники. Статья в некоторой степени отражает вопросы, затронутые на совещаниях.

Уровень современных разработок и элементная база: ПЛИС, сигнальные процессоры и отечественные аналоги

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

Что может в настоящее время предложить для этого возрождаемая электронная промышленность России?

В области сигнальных процессоров [1] разработаны в ГУП НПЦ ЭЛВИС двухпроцессорные (RISC- и DSP-ядро) микросхемы Мультикор-11хх (МС-11хх) на основе 0,54-мкм технологии (3 металла) и библиотеки отечественного изготовителя ОАО "Ангстрем". Микросхема МС-11Т имеет интеграцию около 2 млн. вентилей и размеры кристалла 10,1x10,1 мм. Функциональные возможности Мультикор-11 на уровне сигнального 32-разрядного процессора TMS320VC5470. Опытные образцы МС-11Т получены в IV квартале 2002 года. На их основе созданы платы KIT, с помощью которых проверяется работа САПР отладки программного обеспечения для МС-11Т. Автор присутствовал при демонстрации процесса отладки САПР. Завершается разработка RTL-модели микросхемы (МС-02В). Данная микросхема при реализации по технологии 0,25 мкм обеспечит пиковую производительность не менее 2 млрд. операций с плавающей точкой. Запуск в изготовление опытных тестовых образцов СБИС Мультикор-01/02 по технологии 0,52 мкм (0,35 или 0,25 мкм) при наличии инвестиций может быть выполнен на ОАО "Ангстрем" или за рубежом (фирма TSMC) в 2003 г. К концу 2003 г. планируется получение базовой версии инструментального программного обеспечения MCS для СБИС на базе платформы "Мультикор". Демо-версия MCS была любезно предоставлена автору руководством ГУП НПЦ ЭЛВИС. Дополнительная информация о фирме и её разработках может быть получена на сайте www.sic-elvis.ru.

В области БМК достаточно широкая номенклатура от Н1806ХМ1 (1,5 тыс. вентилей) до 1592ХМ1 (100 тыс. вентилей, 50 МГц). Более подробную информацию можно получить на сайте www.angstrem.ru. Можно лишь отметить, что отечественные БМК в настоящее время решают все проблемы по замене ПЛИС фирмы Altera вплоть до реализации проектов, выполненных на EP1K50. Перевод одной ПЛИС в настоящее время обходится в 440 тыс. руб. Это относительно дорого, но альтернатива отсутствует: кто не любит свою армию - кормит чужую. Кстати, по западным меркам цена чрезвычайно низкая.

Проблемы проектирования современных цифровых систем управления

Современное проектирование цифровых устройств и систем предъявляет к разработчику повышенные требования, что вызывает появление ряда проблем. Использование ПЛИС и БМК только обострило эти проблемы. Постараемся рассмотреть их комплексно.

Во-первых, по роду своей предыдущей деятельности мне приходилось общаться почти со всеми разработчиками в СССР и анализировать зарубежные проекты, поэтому я с полным основанием утверждаю, что советские (российские ещё не родились) инженеры — самые талантливые и образованные в мире.

Во-вторых, современные разработки предъявляют более жёсткие требования к проектировщикам, поэтому поговорим о наших недостатках.

Значительный опыт разработок цифровых систем управления, разработка и внедрение в народное хозяйство микропроцессорных систем, а также участие в разработках изделий других ведомств оборонного характера позволили накопить определённый практический и теоретический багаж. Программирование на языках высокого уровня: Фортран, Алгол, Паскаль, Си, Форт, РАЯ и использование не менее двух десятков ассемблеров приводит к выводу, что далеко не всё благополучно в стане программистов. Опыт схемотехнического проектирования и постоянные контакты с разработчиками Советского Союза выявили слабую теоретическую подготовку отечественных разработчиков в области синтеза микропрограммных автоматов (МПА). Непродолжительное, к сожалению, взаимодействие с ведущими специалистами СССР в области диагностики тем не менее привело к мысли о низком профессиональном уровне разработчиков цифровых систем управления в области обеспечения контролепригодности своих разработок и их тестировании (автор не является исключением).

Формализация ТЗ

Три года назад, выполняя какую-то разработку, я с удивлением обнаружил, что опытные профессионалы, описывая работу МПА, рисуют многочисленные циклограммы. Во-первых, это не гарантирует полного и корректного описания работы МПА, во-вторых, обременительно. Попытался привить им культуру задания МПА с помощью граф-схем алгоритмов (ГСА). Кажется, удалось обратить их в свою веру. Спустя два года, сотрудничая со специалистами другой фирмы, я столкнулся с необходимостью введения некоторого более мощного формального языка описания работы МПА. В качестве такого инструмента может использоваться П-код ("Дисциплина программирования" Дзержинского Ф.Я. и Завгороднего Н.В., М., 1983 г.) или Псевдо-Паскаль. Заманчиво с этой целью использовать просто Паскаль или Си: можно получить вместе с ТЗ и математическую модель проектируемого МПА. Однако, при этом теряется прозрачность ТЗ. Тем не менее, решение этой проблемы весьма желательно.

Частичное описание на Псевдо-Паскале работы МПА для управления БИС динамической памяти на 256 Мбайт показано на врезке.

Примерно такие же по объёму алгоритмы подготовки к работе ОЗУ и записи в ОЗУ, поэтому ГСА получается довольно громоздкой. Кстати, традиционная эвристическая реализация такого МПА выглядит уже неразумной, поскольку очевиден явно программный характер задачи.

Программирование и микропрограммирование

Уже в 70-е годы прошлого столетия стала проявляться тенденция превращения цифровых схемотехников в программистов. Во-первых, потому, что в разработки был внедрён синтез микропрограммных автоматов [3], а во-вторых, потому, что каждый инженер обязан владеть программированием (но не обязательно программировать!), поскольку для него это то же самое, что в 19 веке счёты для бухгалтера. В настоящее время синтез цифровых систем выполняется на формальных микро-языках VHDL, AHDL и VERILOG. Схемотехники стали микропрограммистами. А следовательно, и проблемы схемотехников и программистов стали общими. Например, программисты не умеют верифицировать свои программы [4, стр. 15], схемотехники тоже недолюбливают схемную диагностику [5, стр. 64].

Простой тест для программистов: из файла триадами поступают целые числа, которые интерпретируются как длины сторон треугольника. Программа определяет тип треугольника. Ни один из программистов не определил все 14 наборов тестов. Даже профессионально разработанное программное обеспечение (ПО) имеет серьёзные дефекты.

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

Кроме того, наше программное обеспечение построено на западных операционных системах (ОС) и языках программирования, не защищено от взлома, вскрытия, то есть не соблюдается элементарная информационная безопасность. Выход из тупика - в использовании отечественных технологий. Примером такой технологии является ДССП и язык РАЯ (МГУ, Брусенцов Н.П.). РАЯ — единственный в мире истинно структурированный язык: Паскаль позволяет писать структурированные программы, а РАЯ - не разрешает писать неструктурированные программы. Разработка ПО в ДССП ведётся снизу-вверх, что обеспечивает надёжную верификацию программного продукта. Сегодня переход на отечественные программные технологии нереален, но когда-то нужно опомниться.

Далее, технология структурированного программирования мало что даёт, если объём ПО превышает 1000 страниц текста на языке Си. Микропрограммисты решают проблему создания относительно прозрачной схемы текстографическим проектированием. Возможно, на этом же пути находится решение проблем дисциплины программирования. В качестве примера текстографического проектирования приводится частичное описание 4-канального фильтра 4-го порядка. Здесь верхние уровни иерархии представлены в графическом виде, а микроподпрограммы нижнего уровня создаются в текстовом формате.

Структурная схема 4-канального цифрового фильтра 4-го порядка
Рисунок 1. Структурная схема 4-канального цифрового фильтра 4-го порядка

Схема демультиплексора
Рисунок 2. Схема демультиплексора

Формальный синтез МПА при использовании ПЛИС

Широкое внедрение ПЛИС фирмы Altera в практику цифровых разработок связано не только с достоинствами этих микросхем, но и не в последнюю очередь с появлением отечественной литературы по данному вопросу [6,7]. Десять лет тому назад появление САПР ПЛИС Xilinx сопровождалось такими сложностями, что применять эту систему в практических разработках не было ни малейшего желания. В прекрасном практическом курсе [7] не только разобран весь процесс проектирования, но ещё и приложен компакт-диск с самой САПР MAX+PLUS II. Эта САПР имеет ряд существенных недостатков, но позволяет даже радиолюбителю решать серьёзные задачи.

Однако, перевод полученного решения на БМК требует знания формальных методов синтеза МПА [3,8-11]. Прежде всего, это связано с минимизацией булевых функций, поскольку такая операция не только экономит ресурсы, но и минимизирует задержку комбинационной схемы. Аппарат минимизации в САПР реализован из рук вон плохо.

Следовательно, цифровику необходимо знать азбуку своей профессии: на калькулятор надейся, а таблицу умножения не забывай. Кто умеет работать с картами Карно на 8-10 переменных? Никто. А ведь это азбука [10,11]. Не всегда есть под рукой эффективная программа минимизации, да зачастую (в 99% всех случаев) она и не требуется. Кстати, самым эффективным алгоритмом минимизации обладает метод обобщённых кодов. Этот метод был разработан в конце 60-х годов 20-го века в Академии им. Ф.Э. Дзержинского д.т.н. Лавренковым Леонидом Трофимовичем. Дальнейшее развитие метода и доведение его до инженерных методик было выполнено сотрудниками кафедры к.т.н. Кустенко А.С., к.т.н. Кузнецовым Н.В. и к.т.н. Салтыковым Ю.А. (“Вопросы оборонной техники”, 1972 г.). В открытой печати этот метод появился в 1977 году [9].

Формальный синтез МПА в САПР также имеет дефекты [12]. Недостатков в САПР слишком много, но это тема для отдельного разговора. Таким образом, САПР MAX+PLUS II не удовлетворяет запросам профессиональных разработчиков. При работе с БМК проектировщик всегда должен быть готов к тому, что некоторые элементы и модули ему придётся строить формально. В частности, цифровик обязан уметь создавать любую элементную базу на основе схемы И-НЕ (функционально полный элемент ИЛИ-НЕ в MAX+PLUS II и OrCAD не позволит создать SR-триггер из-за гонок). Применять эвристику для решения подобных задач всё равно, что забивать гвозди микроскопом.

Контроль и диагностика

Наиболее важной проблемой при переводе ПЛИС на БМК является обеспечение контролепригодности и самодиагностируемости. Связано это с ограниченным числом выводов и невозможностью доступа ко всем узловым точкам проектируемой БИС. Требование управляемости и наблюдаемости может быть выполнено на основе технологии так называемого сквозного сдвигового регистра LSSD [5]. Требование по самодиагностируемости может быть удовлетворено на основе технологии BILBO.

Различают два вида контроля: функциональный и тестовый. Функциональный контроль безусловно необходим, но он не обеспечивает полноты тестирования всех элементов схемы. Тестовый контроль в состоянии решить эту проблему лишь в случае LSSD-технологии. В этой ситуации схема разбивается на комбинационную часть и сдвиговые регистры, для которых вполне возможно разработать тесты, обеспечивающие 100% полноту контроля. При традиционном проектировании контролепригодность обеспечивалась введением дополнительных технологических разъёмов и контрольных точек, размещаемых в середине платы. Такой подход в БМК не может быть реализован. Кроме того, оценка полноты тестирования в этом случае исключена или требуется приобретение чрезвычайно дорогих программ моделирования неисправностей (CAMELOT). Правда, в конце 70-х аналогичная отечественная программа работала на НПП "Алмаз" и ряде других оборонных фирм.

Диагностический процессор

Применение микропроцессоров породило проблему помехоустойчивости. Сбои в работе процессора могли приводить к катастрофическим последствиям. Поэтому появились всевозможные "войч-доги", которые контролировали время выполнения циклических участков программы. Однако этот приём оказался малоэффективным. На смену "сторожевым собачкам" пришёл диагностический процессор (ДП) CERBERUS-16. Но высокая сложность устройства, большой латентный период обнаружения ошибки и сложность подготовки программы ДП не позволили внедрить его в производство. В ХПИ им. В.И. Ленина, на кафедре автоматики и телемеханики в 1985 году был разработан отечественный ДП, лишённый вышеуказанных недостатков [13]. Работами по созданию и испытаниям ДП руководил проф. Леонид Викторович Дербунович. Кроме самой схемы, был разработан транслятор с ассемблера КМ1816ВЕ48 на язык диагностического процессора. ДП успешно прошёл испытания и был рекомендован в 1990 году к производству в виде специализированной БИС. Отсутствие финансирования и развал Советского Союза похоронили перспективный проект. Автор попытался перевести схему ХПИ на ПЛИС Xilinx, но низкий уровень интеграции позволил сократить объём с 66 корпусов лишь до 11. Такой результат не имеет практической ценности. Появление ПЛИС и БМК высокой интеграции позволяют возродить надежду на реализацию идей харьковчан в виде одной ПЛИС, а возможно, и одного отечественного БМК.

Аппаратура контроля и отладки

По окончании этапа разработки даже на стадии выпуска опытной партии цифровых приборов возникают проблемы организации контроля и диагностики. Ручной контроль чрезвычайно обременителен и ненадежён. Организация автоматизированного контроля требует разработки соответствующего оборудования. Зарубежное стоит чрезвычайно дорого. Цена систем контроля достигает нескольких десятков тысяч долларов. Поэтому значительно дешевле разработать достаточно простые и надёжные системы на базе персонального компьютера (ПК). Такая система в простейшем случае состоит из платы параллельного интерфейса и блока контрольно-диагностического устройства (КДУ). КДУ для проверки любого цифрового устройства, имеющего не более 24 входов/выходов, было реализовано автором в конце 80-х на 6 микросхемах среднего уровня интеграции. КДУ позволяло не только проводить входной контроль микросхем, но и проверять готовые изделия на частотах порядка 500 кГц. Переход на более высокие частоты связан с введением ОЗУ и не представляет собой сложной проблемы.

Программная поддержка проста, но громоздкая база данных потребует значительных усилий по её наращиванию, введению данных по новой комплектации. Однако уровень программистов для пополнения этой базы данных может быть очень низким. В принципе на основе ПК может быть создано рабочее место разработчика, включающее в себя средства отладки [14] и контроля. Такой инженерный комплекс автоматизации разработок (ИКАР) явился бы весьма эффективным инструментом для отечественных приборостроителей.

Более профессиональный подход заключается в использовании крейтов, плат виртуальных измерительных приборов, плат сопряжения и соответствующего программного обеспечения. Четверть века назад этот подход был реализован в виде автоматизированных контрольно-измерительных систем (АКИС) на многих предприятиях, в том числе, и в НИИРТА. В настоящее время опыт создания и эксплуатации таких систем с серьёзными характеристиками утрачен. Весьма актуальной является проблема разработки инженерного языка создания систем контроля. Этот язык должен быть не хуже, чем в LabView.

Иногда имеет смысл создание автономных адаптируемых средств контроля на базе ПЛИС. Это обеспечивает гибкость, относительную универсальность, сжатые сроки разработки (2–3 месяца) и низкую стоимость средств контроля.

Макетирование проектов

Несмотря на то, что САПР MAX+PLUS II при симуляции выдаёт достаточно корректные результаты, макетирование проектируемой схемы остаётся насущной необходимостью. Поэтому имеет смысл разработки макетной платы, которая содержит одну или несколько различных ПЛИС, несколько АЦП и ЦАП с возможностью коммутации связей. Это позволит проверять работу различных ПЛИС с различными периферийными устройствами. Такая предварительная проверка позволит подготовить проект для реализации его на БМК с минимальным количеством ошибок.

Кроме того, необходимо аналогичное макетирование для обеспечения входного контроля получаемых БМК.

В заключение считаю необходимым отметить ещё один недостаток, присущий многим отечественным инженерам и учёным: отсутствие дисциплины мышления. Связано это с незнанием математической логики. Основы этой дисциплины заложены русским учёным Порецким П.С. более ста лет назад, но до сих пор ни "физики", ни "лирики" не смогли освоить эффективный инструментарий мышления. Спустя несколько лет результаты русского логика были подтверждены Льюисом Кэрроллом, но и его работ не понял ни один математик. Российским разработчикам в сложившейся непростой ситуации весьма целесообразно освоить Русскую логику, развивающую достижения Порецкого П.С. Это может помочь в освоении так называемой нечёткой логики (fuzzy logic), контроллеры на основе которой широко внедряются в Японии и США. Основы Русской логики изложены на сайтах ruslogic.by.ru, ruslogic.narod.ru и в [15,16].

Литература

  1. Солохина Т. и др. Время кентавров: микросхемы отечественной серии Мультикор-11хх (МС-11хх) для встраиваемых и мобильных применений // Chip News. 2002. № 8. С.10–16.
  2. В. Никольский и др. Интегрированная среда разработки и отладки программ для модулей сигнальных контроллеров на базе ИМС платформы МУЛЬТИКОР // Chip News. 2002. № 9. С. 46–55.
  3. Баранов С.И. Синтез микропрограммных автоматов. Л.: Энергия, 1974.
  4. Майерс Г. Искусство тестирования программ. М.: ФиС, 1982.
  5. Беннетс Р.Дж. Проектирование тестопригодных логических схем. М.: РиС, 1990.
  6. Стешенко В.Б. ПЛИС фирмы ALTERA: элементная база, система проектирования и языки описания аппаратуры. М., 2002.
  7. Антонов А.П. Язык описания цифровых устройств AlteraHDL. М., 2001.
  8. Гутников В.С. Интегральная электроника в измерительных приборах. Л.: Энергия, 1974.
  9. Лобанов В.И. Инженерные методы разработки цифровых устройств. М.: НИИРТА, 1977. (Шифр Центральной Политехнической Библиотеки — W145 4/231.)
  10. Лобанов В.И. Синтез и минимизация комбинационных схем // Информатика и образование. 2002. № 5. С. 60–63.
  11. Лобанов В.И. Азбука разработчика цифровых устройств. М. 2001.
  12. Лобанов В.И. Технический минимум пользователя САПР MAX+PLUS II // Chip News. 2001. № 1. С. 56–58.
  13. Дербунович Л.В., Нешвеев В.В., Мызь А.Н., Антосик В.В., Бохан В.Ф. Разработка методов и схем обеспечения контролепригодности электронной аппаратуры: Отчёт о НИР / ХПИ им. В.И. Ленина. Харьков, 1987.
  14. А.с. № 523 (Роспатент) на полезную модель "Адаптируемое устройство для отладки микроконтроллеров" от 16.06.1995 // Держатель патента Лобанов В.И.
  15. Лобанов В.И. Русская логика против классической (азбука математической логики). М.: Компания Спутник+, 2002. 126с.
  16. Лобанов В.И. Решебник по Русской логике. М.: Компания Спутник+, 2002. 133 с.






Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники