ЛЕКЦИЯ Языки описания аппаратуры
Детерминистский и системный подходы к описанию объекта Мы уже знаем (лекция 2), что существуют два подхода к моделированию и описанию объекта: детерминистский и системный. Детерминистский предлагает рассматривать объект как чёрный ящик, и, значит, мы можем описать только его внешний образ, поведение (функцию) и параметры. При системном подходе появляется возможность к названным описаниям добавить ещё и структурное описание. Рассмотрим различные подходы и способы описания объекта на примере мультиплексора MUX2
Детерминистский подход. Описания типа «чёрный ящик» Известны три вида описания: графическое, текстовое и табличное
Детерминистский подход. Описания типа «чёрный ящик» Описываем работу, функционирование, поведение объекта
Детерминистский подход. Описания типа «чёрный ящик»
Кроме описания внешнего вида (схемного или конструкторского) и функции объекта, на языки описания аппаратуры нередко возлагается ещё одна задача – описать выходные параметры объекта, характеризующие его качество.
Системный подход Кроме описания внешнего образа, поведения и параметров объекта при системном подходе появляется возможность создать структурное описание объекта Структурное описание тоже может быть представлено в любой из трёх форм: графической, текстовой или табличной Напомним, что под структурой понимается множество элементов, из которых построен объект, и связей между ними. Элементы описываются как чёрные ящики (детерминистский подход) и называются структурными примитивами. Всё ранее сказанное об объекте как чёрном ящике при системном подходе можно перенести на его структурные примитивы. Ну а сам объект теперь имеет не одно, а два описания: внешнее – чёрный ящик, и внутреннее - структуру.
Системный подход
Графическое описание можно представить списком элементов или списком цепей
Системный подход Описание структуры, ориентированное на элементы, удобно для имитационного моделирования. Для трассировки печатных плат он не пригоден из-за отсутствия конструкторской информации (не определены типы корпусов, питание и земля, «цоколёвка», упаковочная информация)
Системный подход Графическое представление схемы списком элементов или списком цепей не является доминирующим Обычно оно конвертируется в текстовое описание 1 2 3
Системный подход Список цепей обычно не несёт информации о функциональном назначении соединяемых контактов: мы не знаем, какой вывод элемента является входным, а какой – выходным. Однако в некоторых случаях, например, для контроля схемных ошибок, желательно знать о направлении передачи сигнала по цепи. Некоторые языки описания такую возможность предоставляют (например, язык HSL). F2 = FROM (DD1.3) TO (DD2.1); D0 = TO (DD1.1); Y = FROM (DD2.3); В принципе для трассировки печатных плат такая информация и не требуется.
Системный подход Табличное описание особенно легко получается из текстового формата, достаточно лишь разбить его на отдельные столбцы и, возможно, перегруппировать их. Преимущества табличного описания проявляются только при использовании в них системы ссылок, благодаря которым появляется возможность осуществлять направленный поиск требуемых в текущий момент данных (например, элементов- приёмников сигнала).
Потоковый стиль описания объекта Знание структуры объекта открывает перед разработчиком ещё одну возможность – описать его функцию на основании структурных данных. Эта уникальная возможность порождает так называемое потоковое описание, при котором структура представляется не списком элементов и цепей, а функциями этих элементов. На следующем слайде будет показана потоковая модель мультиплексора, записанная в формате языка DSL пакета DesignLab 8.0 (data flow) Значения сигналов определяются из выражений и передаются один другому – образуется «поток данных» На языке VHDL эта передача данных реализуется операторами назначения сигналов.
Потоковый стиль описания объекта При потоковом описании на переднем плане оказываются функции, выполняемые элементами, а не сами элементы. Структурные связи задаются неявно, не «афишируются», хотя и присутствуют в описании.
Потоковый стиль описания объекта Язык PML пакета PCAD 4.5 вообще не поддерживает структурное описание проекта, а потоковое описание возможно При потоковом описании мы наблюдаем попытку, задать структуру функциями, точнее использовать структурные данные не по прямому назначению, а косвенно - для описания функции объекта. При этом ненужные детали структурного описания опускаются, например мы можем не знать, что в нашей схеме четыре элемента и что их имена DD1…DD4. Для функционального моделирования такая информация и не требуется.
Потоковый стиль описания объекта При потоковом описании допускаются логические преобразования и подстановки, которые в конечном итоге превращают систему уравнений в одно булевское уравнение: Y = D0*/A+D1*A; а потоковую модель трансформируют в аналитическую (строго функциональную) модель. Некоторые языки, например VHDL или DSL допускают смешанное структурно-потоковое описание объекта Таким образом, потоковое описание занимает промежуточную нишу между строго функциональным (аналитическим) и чисто структурным описаниями объекта.
Потоковый стиль описания объекта Границы между стилями размыты – порой бывает трудно отнести написанный код к тому или иному стилю. Тогда, скорее всего, это смешанный стиль. Забегая вперёд, заметим, что стиль описания существенно влияет на порождаемую системой проектирования реализацию. Например, потоковый стиль описаний наиболее целесообразно использовать при автоматическом синтезе проекта
Языки описания аппаратуры Первые языки описания аппаратуры появились в начале 60-х годов, и к настоящему времени их насчитывается несколько сотен. Однако всерьёз можно говорить лишь о нескольких десятках более или менее удачных ЯОА, для которых были разработаны компиляторы и которые поддерживались в прошлом или поддерживаются сейчас соответствующими системами моделирования или САПР. В этот перечень можно включить такие языки: CDL, DDL, HSL, PML, DSL, Verilog, Digital SimCode, VHDL. О некоторых из них и пойдёт дальнейший разговор.
Заготовки Любой проект всегда начинается, сопровождается и заканчивается «ворохом» всевозможных описаний. Это ТЗ, уравнения, схемы, временные диаграммы, таблицы, спецификации, карты «прошивки», эскизы печатных плат и прочая техническая документация. Каждое такое описание создаётся по определённым правилам с использованием дозволенных символов и операций. Другими словами, работа выполняется с привлечением конкретного языка описания проекта. С точки зрения программиста язык моделирования состоит как бы из двух компонент: Общеалгоритмической (процедурной) Проблемно-ориентированной (описательной)