6.1. Методы построения операционных устройств
Понятие операционного устройства может трактоваться достаточно широко. Наибольшее распространение этот термин получил во времена стремительного развития ЭВМ. Операционные устройства выделялись как фрагмент из состава АЛУ (арифметико-логическое устройство) [12] и [14]. Поэтому под операционным устройством понимался вычислительный узел, способный многократно выполнять любое преобразование из набора, предусмотренного для этого узла, каждый раз, когда на него поступает сигнал, инициирующий преобразование (команда). В настоящее время понятие операционного устройства, сохраняя старое традиционное назначение, используется и для определения автономных устройств вычислительной техники, не обязательно включающих процессор. Операционные устройства можно классифицировать по виду обрабатываемой информации, по способу её обработки и по логической структуре. Диапазон логических структур и тесно связанных с ним поведений операционных устройств простирается от простейших до сложных. Структура сложных операционных устройств, как правило, может относиться к различным вариантами сетевой организации. Любой вариант реализация требуемых преобразований достигается передачей данных между узлами такой сети от входа к выходу. В зависимости от структуры задачи могут строиться как чисто последовательные схемы, так и схемы с распараллеливанием некоторых этапов. В основе сложных устройств могут лежать такие структуры как потоковые и конвейерные реализации.
В данном пособии рассмотрим только простейшие операционные устройства (хотя многие рассматриваемые вопросы сохраняют свое значение при проектировании более сложных устройств). Языки проектирования дискретных устройств (в частности язык VHDL), в принципе, позволяют описать любой алгоритм в последовательной форме, т. е. через последовательность операторов присваивания и принятия решений. Однако более удобный и чаще используемый подход к проектированию операционных устройств заключается в разделении устройства на два блока: операционный и управления. Операционный блок (ОБ) выполняет преобразование данных и строится из стандартных частей (частей с определенным поведением), а блок управления (устройство управления, УУ) обеспечивает необходимую последовательность операций, выполняемых в ОБ (одном или нескольких). Для этого УУ передает на входы ОБ управляющие сигналы. Последовательность действий (уникальная для данного класса устройств) и, следовательно, управляющих сигналов зависит от результатов операций в ОБ и внешних воздействий. Отсюда видно, что УУ удобно задавать в форме конечного автомата с памятью (АП) того или иного типа. Эффективность подобного подхода обусловлена не только отработанностью решений для большинства ОБ (не зависимо от технологической базы проектов), но и тем, что разработаны формальные методики преобразования алгоритмов, описывающих функционирование цифровых устройств, в описания конечных автоматов.
В более сложных проектах возможно разделение УУ на несколько функционально слабо связанных пар ОБ – УУ на одном уровне иерархии или создание пары, иерархически погруженной в ОБ (реже в УУ).
Элементный состав операционных блоков определяется иерархическим уровнем рассмотрения проекта (электронные блоки, функциональные узлы, логические элементы) и имеющимся в распоряжении разработчика набора стандартных элементов этого уровня. Подобному иерархическому разбиению соответствует и иерархическая организация библиотек САПР.
Операционный блок обычно представляют как набор регистров, логических блоков (как правило, многофункциональных, управляемых), буферных схем, а также коммутируемых связей между ними. При большом числе операций, выполняемых операционным устройством с ограниченным числом входящих в него операционных блоков, бывает удобно объединять набор управляющих действий (и в описаниях и технологически) в определенное множество с одним именем. Такой набор в этом случае называют микрооперацией, несколько одновременно выполняемых действий объединяются микрокомандой. Последовательность микрокоманд, исполняемых в процессе реализации команды, называют микропрограммой. Устройство управления, построенное на основе памяти, хранящей микропрограмму, носит название микропрограммный автомат. Подобный поход широко используется при построении операционных блоков ЭВМ и широко освещен в литературе [10]. В данном пособии будем рассматривать техническую реализацию, соответствующую построению конечного автомата, поддерживаемого современными САПР для ПЛИС.
- 1.1. Структура программы на vhdl. Её основные компоненты
- Практикум по теме
- 1.3. Контрольные вопросы
- 2. Представление комбинационных схем
- 2.1. Параллельные и последовательные операторы
- Переменные и сигналы
- 2.3. Данные, выражения и их интерпретация в цифровом устройстве
- Типичные ошибки при представлении комбинационных схем на vhdl
- Практикум по теме
- 2.5. Контрольные вопросы
- 3. Структурное представление устройств
- 3.1. Структура и поведение
- 3.2. Описание структур на языке vhdl
- 3.3. Практикум по теме
- 3.4. Контрольные вопросы
- 4. Описание и синтез последовательностных схем
- 4.1. Триггеры и регистровые схемы
- 4.2. Практикум по теме
- 4.3. Контрольные вопросы:
- 5. Описание и синтез автоматов
- 5.1. Классические понятия цифровых автоматов
- 5.2. Инженерный подход к проектированию цифровых автоматов
- 5.3. Практикум по теме
- 5.4. Контрольные вопросы
- 6. Проектирование операционных устройств
- 6.1. Методы построения операционных устройств
- 6.2. Основные этапы проектирования цифровых устройств
- 6.3 Пример проектирования
- 6.4. Имплементация и отладка проектов
- 6.5. Практикум по теме
- Рекомендуется придерживаться следующего порядка работы:
- 6.4. Контрольные вопросы
- I. Описание системы моделирования
- 1. Краткое знакомство с системой меню
- Окно библиотеки проекта – содержит список доступных библиотек пользователя и файлов, включенных в проект
- Примерный порядок работы в системе QuestaSim V.6.5/6.6
- 4. Компиляция и синтаксическая отладка
- 5. Моделирование
- II. Описание системы имплементации проектов в плис
- 2.1. Типовая последовательность выполнения работы.
- 2.2. Процесс моделирования работы узлов средствами пакета Quartus II
- Работа в редакторе временных диаграмм
- III. Создание программ, описывающих автоматы
- Рекомендованные номера контактов для проекта
- 3.2. Таблица соединений платы Cyclone II Starter Board.