В. Лобанов
Широкое внедрение ПЛИС фирмы Altera в практику цифровых разработок связано не только с достоинствами этих микросхем, но и с появлением отечественной литературы по данному вопросу [1,2]. 10 лет тому назад появление САПР ПЛИС Xilinx сопровождалось такими сложностями, что применять эту систему в практических разработках не было ни малейшего желания. В прекрасном практическом курсе [2] не только разобран весь процесс проектирования, но и приложен компакт-диск с самой САПР. Это уже выше всех ожиданий, поскольку покупка MAX+PLUS II обошлась бы разработчику в $1000.
Но как же поступают наши и зарубежные разработчики, получив в руки такое мощное оружие? Очень просто: они рисуют схемы в графическом редакторе. Некоторые называют такой подход вентильным мышлением. Я называю подобный метод 'технологией мартышки с арифмометром'. Обиднее всего то, что данную 'технологию' используют безусловно талантливые и высокопрофессиональные разработчики с прекрасной математической подготовкой.
Слабым утешением может служить тот факт, что и зарубежные цифровики не блещут широкой эрудицией. У отечественных разработчиков начинает просыпаться интерес к синтезу микропрограммных автоматов [3], хотя и происходит спустя 30 лет после выхода в печать популяризаторской работы [4].
А 'передовой Запад' допускает ошибки даже в таком суперважном программном продукте, как MAX+PLUS II. На рис. 1 представлен файл ka2.tdf (в оригинале - moore2.tdf) микропрограммного автомата (МПА), позаимствованный из фирменных материалов. После трансляции файла ka2.tdf и симуляции файла ka2.scf были получены временные диаграммы работы этого МПА (рис. 2). Если не полениться и вручную проверить работу описанного в файле ka2.tdf МПА, то получим иные временные диаграммы (рис. 3). Кстати, пришлось вначале формально построить МПА, а потом нарисовать его схему в графическом редакторе. Симулятор и в данном случае подтвердил промашку фирмы. После анализа огрехов фирмы Altera был найден способ автоматического решения проблемы. Это фундаментальная ошибка, поскольку она не позволяет использовать формальный синтез МПА. Удивительно, но она не была обнаружена за рубежом вплоть до появления САПР в России, то есть в течение по меньшей мере 5 лет.
Мой опыт работы с САПР MAX+PLUS II чрезвычайно мал: в общей сложности едва ли наберутся 2 месяца. Однако, он не помешал в течение одной недели выловить эту погрешность САПР фирмы Altera. Это говорит, во-первых, о простоте AHDL и САПР в целом, а во-вторых, о жёсткой необходимости владения инструментом формального синтеза МПА. Мой стаж работы в области цифровых разработок составляет более четверти века, что позволяет сделать некоторые выводы.
Во-первых, профессионал - это не тот, кто всё знает, а специалист, который умеет ориентироваться в море информации и осваивать новые перспективные направления.
Во-вторых, при освоениии новых технологий, дабы не превратиться в 'мартышку с арифмометром', нужно знать азбуку своей профессии. Для цифровика эта азбука включает в себя:
алгебру логики;
умение использовать Карты Карно на 8-12 переменных как наиболее эффективный способ ручной минимизации Булевых функций;
метод обобщённых кодов как наиболее эффективный машинный метод минимизации Булевых функций от большого числа переменных (32 и более);
формальный синтез МПА;
эвристические методы синтеза последовательностных схем.
Без знания этих основ цифровик не может считаться настоящим инженером. Синтез МПА фундаментально изложен в [4]. Однако элегантность и математическая строгость изложения не позволили подавляющему большинству инженеров освоить формальный синтез. Эвристические методы прекрасно и просто описаны в [5].
Метод обобщённых кодов был разработан в конце 60-х годов в Академии им. Дзержинского Лавренковым Л.Т. Дальнейшее развитие метода и доведение его до инженерных методик было выполнено Кустенко А.С., Кузнецовым Н.В. и Салтыковым Ю.А.
Все 5 пунктов 'цифрового букваря' достаточно просто изложены в техническом руководстве по материалам лекций, прочитанных автором в 1976 г. для ведущих специалистов НИИРТА [6].
Но кроме теоретического багажа, разработчику нужен инструментарий для физического моделирования (макетирования) проектируемого устройства. Этап макетирования в серьёзных разработках никто не отменит. В качестве готовых средств для данного этапа можно порекомендовать STK8000 (Starter KIT для работы с PLD Altera EPF8282, EPF8456), ISP7000 (EPM7000S, Atmel ATF502-08 в корпусах PLCC44/68/84). Цены на порядок ниже, чем у зарубежных аналогов, то есть всего около $60. Эти и другие более мощные инструментальные средства разработаны и предлагаются лабораторией 'Микропроцессорные системы МИФИ'.
По моему мнению, в связи с бурным развитием микроконтроллерных семейств произойдёт если не отмирание, то значительное сокращение сферы применения ПЛИС. Более того, в [3] уже предлагается весьма удобная реализация МПА по образу и подобию микроконтроллера со специфической системой команд. Сегодня применение микроконтроллеров (МК) сдерживается из-за нерешённых проблем помехоустойчивости. В решении этой проблемы добился значительных результатов Дербунович Л.В., создавший диагностический процессор, отслеживающий ход выполнения программы и компенсирующий сбойные ситуации. Автор принимал косвенное участие в синтезе диагностического процессора (ДП) на базе ПЛИС фирмы Xilinx [7]. Тогда ДП удалось спроектировать на 12 ПЛИС, что, конечно, никого не обрадовало. Нужно построить ДП на 1-2 ПЛИС. Можно было бы создать ДП на БМК, но отсутствие финансирования не позволило решить эту архиважную задачу. В настоящее время наличие ПЛИС Apex позволяет надеяться, что проблема создания ДП будет разрешена.
К сиюминутным задачам, где можно с успехом применить ПЛИС, нужно отнести разработку универсального контрольно-диагностического устройства (КДУ) и адаптируемой отладочной системы (АОС) [8]. Безусловно, КДУ и АОС должны быть построены на базе персонального компьютера, но сиюминутные интересы иногда заставляют принимать не лучшие решения. КДУ может быть использовано и для входного функционального контроля ПЛИС. Например, для ПЛИС семейства MAX7000 и им подобных достаточно запрограммировать архитектуру сдвигового регистра, охватывающего все элементы памяти, а всю комбинационную часть выполнить в виде параллельного сумматора с последовательным переносом с максимально возможным числом входов и выходов. Тогда тест, эквивалентный тривиальному, для комбинационной части ПЛИС по длине не превысит 8. Такой тест был построен автором в НИИРТА в 1978 году, то есть намного раньше, чем в США. Проверка сдвигового регистра примитивна.
Чрезвычайно важным является вопрос создания отечественного диагностического ДССП-процессора, разработанного в проблемной лаборатории МГУ под руководством автора единственной в мире троичной ЭВМ 'Сетунь-70' Н.П. Брусенцова. Попытки реализовать самые прогрессивные идеи на основе БМК не увенчались успехом опять-таки из-за отсутствия финансирования. Наличие современных ПЛИС и мощных САПР для них позволяют решить эту задачу при минимальном объёме финансирования в сжатые сроки (не более 6 месяцев).
С решением проблемы помехоустойчивости МК повысится интерес к отладочным системам, в первую очередь к внутрисхемным эмуляторам (ВСЭ). Этот интерес и теперь достаточно высок, о чём свидетельствуют многочисленные публикации. Однако настораживает практическое отсутствие среди них адаптируемых отладочных средств. Десять лет тому назад в ЦНИИ 'Циклон' была создана, запущена в малую серию и спустя 5 лет запатентована адаптируемая отладочная система для 8-бит микроконтроллеров с открытой шиной адреса-данных [8]. Сроки разработки ВСЭ были сокращены с 2 лет до 2 недель. До сих пор никто так и не освоил этой технологии. Связано это, в первую очередь, с незнанием формального синтеза МПА. С появлением новых поколений ПЛИС возможности АОС значительно возрастут.
Кроме вышеперечисленного, разработчику-цифровику необходимо осваивать и классическую логику. Связано это с тем, что XXI век называют веком искусственного интеллекта(ИИ). Задачи ИИ будут решать цифровики, но его фундаментом являются логика суждений и силлогистика. Проблемы этих дисциплин, с инженерной точки зрения, абсолютно прозрачны и впервые решены в России [9-17], их результатами первыми должны воспользоваться российские инженеры.
Литература
1. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. - М. - 2000.
2. Антонов А.П. Язык описания цифровых устройств AlteraHDL. - М. - 2001.
3. Семёнов и др. Микропрограммный автомат на базе специализированных БИС // Chip News. - 2000. - ? 7. - С. 51-53.
4. Баранов С.И. Синтез микропрограммных автоматов. - Л.: Энергия. - 1974.
5. Гутников В.С. Интегральная электроника в измерительных приборах. - Л.:Энергия. - 1974.
6. Лобанов В.И. Инженерные методы разработки цифровых устройств. - М.: НИИРТА. - 1977 ( Шифр Центральной Политехнической Библиотеки - W145 4/231).
7. Дербунович Л.В., Лобанов В.И. Диагностические процессоры в системах управления технологическим оборудованием // Энергетика. Известия вузов. - 1988. - ? 9.
8. Лобанов В.И. Адаптируемая отладочная система для проектирования микроконтроллеров // Приборы и системы управления. - 1988. - ? 7.
9. Лобанов В.И. Кризис логики суждений и некоторые пути выхода из него // Современная логика: проблемы теории, истории и применения в науке (Материалы V Общероссийской научной конференции). - СПб. - 1998.
10. Лобанов В.И. Решение логических уравнений // Научно-техническая информация, сер. 2, Информационные процессы и системы. - 1988. - ? 9. - С. 34-40.
11. Лобанов В.И. Многозначная силлогистика без кванторов // НТИ. сер. 2. Информ. процессы и системы. - 1988. - ? 10. - С. 27-36.
12. Лобанов В.И. Силлогистика Аристотеля-Жергонна // НТИ, сер. 2, Информационные процессы и системы. - 1999. - ? 9. - С. 11-27.
13. Лобанов В.И. Фундамент искусственного интеллекта // НТИ, сер. 2, Информационные процессы и системы. - 2000. - ? 5. - С. 6-18.
14. Лобанов В.И. Базовые проблемы классической логики // Современная логика: Проблемы теории, истории и применения в науке (Материалы VI Общероссийской научной конференции). - С. 499-504.
15. Лобанов В.И. Синтез и минимизация комбинационных схем // Информатика и образование. - 2000. - ? 5. - С. 60-63.
16. V.I. Lobanov. The solution of logical equations // Documentation and Mathematical Linguistics. - vol. 32. - ? 5. - p. 16-34.
17. V.I. Lobanov. Many-valued quantifier-free syllogism (second basis) // Documentation and Mathematical Linguistics. - vol. 32. - ? 5. - p. 27-40.
Ваш комментарий к статье | ||||