Источник: Комп’ютерний моніторинг та інформаційні технології — 2009 / Матеріали V науково-технічної конференції студентів, аспірантів та молодих учених. — Донецьк, ДонНТУ — 2009. — 368с.;іл.
Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, а особенно в системах управления самими разнообразными объектами и процессами является в настоящее время одним из основных направлений научно - технического прогресса[3]. Традиционно применяемый принцип микропрограммного управления предполагает, что цифровое устройство состоит из двух частей: операционный автомат (ОА) и управляющий автомат (УА). В операционном устройстве выполняются арифметические и логические операции, в качестве узлов в состав операционного устройства входят регистры, счетчики, сумматоры, дешифраторы и др. УА формирует последовательность управляющих сигналов для ОА, под воздействием которых операционный автомат реализует сложные алгоритмы. Такие последовательности операций называются микропрограммами, и часто записываются в виде граф-схемы алгоритма. Управляющие автоматы разделяются на большие группы: автоматы с жесткой логикой и автоматы с программируемой логикой. В свою очередь автоматы с жесткой логикой подразделяются на автоматы, функционирующие по закону Мили или Мура. В автоматах с жесткой логикой схема автомата однозначно интерпретирует схему графа микропрограммы.
В связи с тем, что системы функций возбуждения памяти (ФВП) и функций возбуждения состояний (ФВС) автоматов основаны на представлении функций в ДНФ, вполне логичной является реализация управляющих структур на программируемых логических интегральных схемах (ПЛИС).
Схема управляющего автомата Мили с формирователем адреса используется с целью оптимизации площади кристалла ПЛИС за счёт уменьшения числа выходов в сравнении с тривиальной реализацией УА Мили. Синтез схемы начинается с того, что кодируются строки прямой структурной таблицы автомата (ПСТ). Затем составляется преобразованная ПСТ – множеством Eh={e1,e2…en} кодируется номер строки таблицы. Следующим шагом кодируется набор микроопераций – множество выходных сигналов Y. Формируется таблица функции возбуждения памяти и кодируются наборы микроопераций (микрокоманды)[2]. Функционально схема реализации этого алгоритма состоит из следующих узлов (рис.1):
-ПЛМ – формирует коды строк ПСТ на основании входных сигналов Xl и кодов состояний am .
-ПЗУ1 – параллельно формирует ФВП и коды микрокоманд.
-ПЗУ2 – формирует выходные состояния автомата.
Рис.1. Структурная схема УА Мили с формирователем адреса
Как видно из структурной схемы, в автомате используется программируемая логическая матрица (ПЛМ). ПЛМ обладают наибольшей гибкостью применения, поскольку позволяют реализовать сокращённые ДНФ систем булевых фунцкций, причём число термов в каждой функции может быть произвольным. Технология ПЛМ является развитием технологи ППЗУ и впервые появилась в 1974г. ПЛМ состоит из входного и выходного буферов и программируемых матриц «И» и «ИЛИ». Однако в настоящее время ПЛМ фактически выбыли из производства и были заменены на другие устройства – CPLD (Комплексные программируемые логические устройства). Архитектура CPLD напоминает популярную PAL (Programmable Array Logic – Программируемая матрица логики) архитектуру, когда логические ресурсы реализуются массивом элементов И, объединённых элементами ИЛИ, в свою очередь соединяемые с триггерми или непосредственно с выходным буфером. Такая логическая структура достаточно проста для понимания, обеспечивает чрезвычайно короткое время компиляции и минимальные задержки pin-to-pin[3].
Одним из способов реализации автомата на CPLD является его полное описание на одном из аппаратных языков программирования (VHDL, Verilog) с последующей прошивкой на кристалл. Каждый из элементов схемы (ПЛМ, ПЗУ, Регистр) описывается поведенческим стилем, моделируется в одной из САПР, а затем синтезируется. Данный способ позволяет проверить работу устройства на этапе программирования, а также весьма удобен для отладки проекта. Однако как показывают проведённые исследования, эмуляция ПЗУ на CPLD отрицательным образом сказывается на площади, которую занимает кристалл.
Другой способ реализации УА – использование CPLD в качестве ПЛМ (рис.1). В соответствии с формулами, полученными из ПСТ, кодируется матрица «И» и «ИЛИ». А память и регистр сопрягаются с платой с помощью внешних подключений. Для больших ГСА, которые могут быть реализованы на данной стандартной CPLD, становится возможной значительная экономия площади. Однако, из-за подключения внешних устройств (ПЗУ, регистр) уменьшается скорость работы устройства. Также данная схема неэффективна для малых ГСА, которые целиком можно реализовать на одной CPLD.
В перспективе планируется сравнительное исследование эффективности применения каждого из двух вышеописанных способов реализации автомата Мили в базисе CPLD CoolRunnerII фирмы Xilinx для реализации алгоритмов управления с различными характеристиками, такими как число вершин, степень разветвлённости и т.п.
Также планируется разработка программного модуля, который, получая на входе ГСА, описанную в формате *.xml, определяет параметры устройств, необходимых для синтеза схемы управляющего автомата, а также площадь самой схемы. Кроме того, программный модуль должен выполнять синтез схемы устройства управления согласно заданной структуре с преобразователем кодов.