3.1. Структура и поведение
При проектировании аппаратуры применяют представление проекта с различной степенью детализации, иными словами различные модели. Модель, отражающая объект проектирования в форме правил преобразования входных данных в выходные, называется поведенческой. Применяя поведенческое описание, проектировщик абстрагируются от вопросов технической реализации, сосредотачивая внимание на алгоритмических аспектах работы проектируемого изделия, в том числе на отладке алгоритма функционирования. Поведенческое представления обеспечивает лучший уровень взаимопонимания в коллективе разработчиков, а в ряде случаев также и разработчиков с покупателями проекта, включая распространение результатов проектирования как объектов интеллектуальной собственности (IP-блоков). Одним из преимуществ поведенческого описания является возможность относительно легкого переноса описания в различные САПР и для реализации (синтеза) на основе различных технологий.
Большинство практических разработок строятся из блоков, либо стандартных, либо создаваемых параллельно несколькими исполнителями. Структурная модель описывает проект в виде совокупности модулей, каждый из которых реализует определенную часть задачи, и набора связей между ними. Современные САПР способны синтезировать аппаратную реализацию, как на основе поведенческого представления, так и структурного и смешанного. Однако при этом предполагается, что каждый подблок структуры уже имеет свое описание. При проектировании на VHDL это означает, что описаны и доступны ENTITY и архитектурное тело, определяющее поведение или внутреннюю структуру подблока. В конечном счете, необходимо, чтобы для всех модулей проекта в проектной библиотеке содержались поведенческие модели. В том числе, если компоненты модуля представлены структурными моделями, то компоненты таких вложенных структур в свою очередь должны иметь поведенческое описание, и так далее.
Структурная модель является естественным способом создания сложных проектов, описание которых целесообразно выполнить по иерархическому принципу. Структурная модель приближает описание к реальной конфигурации проектируемого устройства, а, как минимум, к представлению разработчика об этой конфигурации, то есть обеспечивает некоторое влияние разработчика на результат синтеза, например, для учета плохо формализуемых требований к проекту. К тому же надо иметь в виду, что компилятор при синтезе на базе «чисто поведенческого» описания может синтезировать недостаточно эффективные реализации.
Использование структурных моделей кроме того обеспечивает возможность:
- использования широкого набора типовых компонентов, содержащихся в библиотеках систем автоматизированного проектирования;
- многократного использования ранее созданных проектной группой узлов в новых проектах (так называемый процесс reusing);
- параллельной «доработки» фрагментов проекта несколькими разработчиками.
Большинство современных языков проектирования аппаратуры поддерживают возможность описания проекта, как в поведенческой форме, так и в виде совокупности заранее описанных компонентов и их связей (то есть в структурной форме), и язык VHDL не является исключением.
Всякая иерархия представлена главным проектным модулем, который называют вершиной проекта, и совокупностью подчиненных проектных модулей. Вершина проекта содержит объявления портов и внутренних связей, а также так называемые операторы вхождения компонентов (INSTANTION STATEMENT), т. е. определенные синтаксисом языка указания на включенные компоненты и способ их соединений. В VHDL такое описание называют структурным архитектурным телом (SAB – structural architectural body). Подчиненный проектный модуль может быть, в свою очередь, вершиной следующей иерархии. В общем случае, проектные модули независимы в том смысле, что каждый может использоваться самостоятельно в различных конструкциях и быть вершиной проекта. Проектные модули, относящиеся к одному проекту, могут находиться в одном файле или представляться несколькими файлами. В последнем случае проектные файлы должны компилироваться в библиотеку проекта в порядке их вхождения в иерархию снизу вверх.
- 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.