Структурный синтез СБИС ⇐ ПредыдущаяСтр 2 из 2
В последние годы для решения задач структурного синтеза все чаще применяются методы искусственного интеллекта, в частности, экспертные системы. При этом полезно представить процесс проектирования сложной технической системы (СТС), в том числе СБИС, в обобщенном виде. В научной литературе рассматриваются три таких представления: линейное, треугольное и Y- представление. С точки зрения содержащейся в них информации они равноценны, однако, с точки зрения наглядности несомненным преимуществом обладает Y- представление [3.2]. Заметим, что в зарубежной научной литературе вместо более коррентного термина «модель процесса проектирования» используется более краткий «модель проекта». В дальнейшем будут использоваться оба термина. Традиционныйвподход, используемый для описания проекта СБИС и соответствующей документации, имеет единственно доступный инструмент — язык высокого уровня описания аппаратуры (HDL). Обычно большинство этих языков позволяют описывать как поведенческую, так и структурную составляющие проекта. Однако такое представление не обладает наглядностью. Чтобы представлять все более и более сложные проекты, разрабатываемые в настоящее время, рассмотрим обобщенную модель представления проекта, которая использует три области описания: поведенческую, структурную и физическую и позволяет представить полный проект в более наглядной форме.
Рис. 3.1. Линейное представление проекта СБИС Рис. 3.2. Треугольное представление проекта СБИС Так как инструментальные средства для решения задач структурного синтеза СБИС становятся все более и более важными, данная модель может служить и как модель для их решения, иллюстрируя различные задачи синтеза, которые могли бы быть решены. При нисходящем проектировании решение задач синтеза создает все более и более детализированное представление как в рамках своей области, так и дополнительных связей между областями, поскольку они преобразовывают поведенческое описание к структурному описанию и далее к физическому описанию. Модель представления проекта можно описать, используя три оси, на каждой из которых представлена одна из трех областей описания. По каждой из этих осей представлены уровни абстракции, или уровни детализации (рис. 3.3 и 3.4). Первый рисунок показывает три области описания, названные поведенческими, структурными и физическими областями. Эти области представлены тремя осями, приближающимися к общей вершине, с уровнем уменьшения абстракции представления проекта по направлению к этой вершине. Следующий рисунок изображает то же самое представление, добавляя в обычный набор уровней абстракции представления проекта кольца, которые проходят через все три области. Таблица 3.1 является более привычным представлением этой же самой модели проекта. Она представляет модель как таблицу с уровнями абстракции, представленными строками, и тремя областями описания — столбцами. Как и в предыдущей модели, проект включает компоненты от всех трех областей. В этой модели представления проекта каждая область иерархически разделена на различные уровни абстракции. Каждая из областей описания представляет только одну часть полного описания проекта и должна быть скоординирована с другими областями через связи между ними. В этой модели представления проекта каждая область иерархически разделена на различные уровни абстракции. Рис. 3.3. Y-представление проекта СБИС
Рис. 3.4. Уровни абстракции и области описания проекта СБИС
Поведенческая область описывает поведение, или функциональные возможности проекта, и содержит статическую и динамическую составляющие. Статическая составляющая описывает операции, в то время как динамическая составляющая — их упорядочение во времени и синхронизацию. Таким образом, различия в функциональных возможностях, конвейерной обработке и синхронизации — все эти изменения отражаются в поведении. Например, на уровне функционального блока поведенческая область описывает проект в терминах регистровых передач, по возможности включая синхронизацию информации. Если на уровне регистрового описания произошли изменения, то и статическая составляющая в поведенческой области также изменится. Точно так же изменение или введение конвейерной обработки или синхронизации информации изменяет динамическую составляющую и, возможно, также статическую составляющую.
Таблица 3.1. Уровни абстракции и области описания — табличное представление
Структурная область описывает логическую структуру СБИС в виде взаимосвязанного набора структурных компонентов из соответствующего базиса, и находится между поведенческой и физической областями. Например, на уровне функционального блока структурная область описывает проект в терминах абстрактных АЛУ, мультиплексоров и регистров, необходимых для реализации уровня регистровых передач, требуемых поведенческой областью. Физическая область описывает физическое воплощение проекта, или реализацию абстрактных структурных компонентов структурной области в виде реальных физических компонентов. На верхних уровнях абстракции эта область обычно содержит ограничения на декомпозицию или разработку общей топологии кристалла проекта. Например, на уровне функционального блока физическая область описывает план кристалла, необходимый, чтобы реализовать требуемые абстрактные АЛУ, мультиплексоры и регистры. На всех уровнях расчет быстродействия, потребляемой мощности и ограничений на площадь кристалла часто является частью проектных работ в физической области. На более низких уровнях абстракции эта область содержит описание реальных физических компонентов и их геометрии. Каждая из этих трех областей описания иерархически разделяет проект на различные уровни абстракции. Таким образом, чтобы представить проект как скоординированное представление из этих трех областей, необходимо использовать три различных структуры декомпозиции проекта. Каждая из этих трех областей может также иметь и статическую и динамическую составляющие. На верхнем уровне абстракции статическая составляющая описывает инвариантную от времени часть описания — операции, структуры и т. д. Типичные статические составляющие — операции сложения и вычитания в поведенческой области, и сумматоры и вычита- тели в структурной и физической областях. Динамическая составляющая описывает упорядочение операций и времени между операциями. Типичными динамическими составляющими являются временные ограничения в поведенческой области, времена выполнения для абстрактных операторов в структурной области и реальные времена выполнения в физической области. Каждая из этих трех областей может также содержать и компонент описания и компонент ограничения. Первый компонент, описание, является представлением проекта, поскольку оно существует в процессе проектирования. Это описание может обеспечиваться пользователем (например, как входное описание для системы структурного синтеза) или оно может быть построено как промежуточное или заключительное представление проекта и привязано к снабженной пользователем информации. Второй компонент каждой области, набор ограничений — временные ограничения, ограничения по площади кристалла и мощности потребления являются типичными примерами. В модели представления проекта СБИС имеется ряд уровней абстракции, причем каждый содержит поведенческую, структурную и физическую области. Архитектурный уровень. Поведенческая область на этом уровне описывает поведение системы как набор спецификаций. Это обусловлено теми частями аппаратных средств, которые управляют данными и сохраняют результаты без того, чтобы интересоваться алгоритмами, описывающими детали того, как это происходит. Во многих случаях эти спецификации представлены как комбинация неформального поведенческого описания и ограничений физической области. Компоненты структурной области, которые соответствуют этим спецификациям, — процессоры, модули памяти, выключатели, шины и контроллеры устройства. Обычно полагают, что эти устройства работают согласованно и связываются через порты или шины. В наиболее формальных описаниях на этом уровне, структурная информация составляет основу описания, возможно из-за недостатка формальных методов для описания поведения. В физической области высокоуровневая декомпозиция проекта может быть также описана. В зависимости от технологии изготовления и сложности проекта, это могло бы соответствовать кристаллу или макроблочному уровню декомпозиции. Помимо описания, физическая область может также содержать ограничения (например, на потребляемую мощность, площадь кристалла и т. д.). Алгоритмический уровень. Этот уровень, часто называемый поведенческим уровнем, описывает проект на языке, синтаксически подобном языкам программирования. Сложные алгоритмические выражения, структуры данных, процедуры, процессы и scoped (контекстные) переменные — все используются, чтобы описать поведение проекта. Алгоритмы описывают необходимую манипуляцию структурами данных, процедурами, процессами и контекстными переменными, чтобы обеспечивать необходимое управление кодами. Примеры компонентов поведенческой области на этом уровне — инструкции по декодированию команд, эффективное вычисление адреса и исполнение команды. В структурной области аппаратные модули (например, канал данных и контроллер) соответствуют процессам в поведенческой области. Полагают, что эти аппаратные модули работают параллельно, хотя их внутренние операции могут выполняться как последовательно, так и параллельно. В физической области кластеризация операторов в физических подсистемах также может быть описана. Кластеризацию относят к группированию функционально подобных операций, как определенную некоторой мерой близости. Операторы с высокой близостью имеют высокую вероятность для совместного использования аппаратных средств и могут быть сгруппированы вместе в той же самой физической подсистеме. Помимо этой составляющей описания, ограничения на потребляемую мощность, площадь кристалла и т. д. могут также быть описаны. Синхронизация может стать проблемой на этом уровне, также как и высокоуровневые поведенческие ограничения синхронизации. Например, если разрабатываемые аппаратные средства должны быть связаны с помощью интерфейса с другими аппаратными средствами, необходимо будет описать ограничения на его время выполнения и на синхронизацию интерфейса. Эти ограничения могут или быть описаны как часть поведенческих описаний, или они могут быть описаны на отдельном языке ограничений. Уровень функционального блока, часто называемый уровнем регистровых передач, описывает проект на уровне ближе к основным аппаратным средствам, чем предыдущие уровни. Поведенческая область содержит описание арифметических или логических операций и передач между регистрами (отсюда и название — регистровые передачи). Широкий диапазон методов используется, чтобы описать это поведение — от функциональных или потоковых языков до непроцедурных, машинно-ориентированных языков. Поведение в структурной области на этом уровне осуществляется, используя АЛУ, сумматоры, компараторы, регистры и некоторые другие структурные компоненты. В зависимости от конкретной технологии, возможно воплотить структурное описание непосредственно в аппаратные средства. Если желательны большие подробности, физическая область на этом уровне могла бы быть связана с планированием топологии проекта, определяя геометрические конфигурации структурных компонентов. Наконец, как и с верхними уровнями абстракции, решение проблем потребляемой мощности и ограничений по площади кристалла могут также быть частью работ в этой области. Так как этот уровень ближе к основным аппаратным средствам, чем предыдущие уровни, синхронизации принадлежит большая роль, чем прежде. На этом уровне синхронизация состоит из главных циклов, или машинных циклов, и далее делится на установленное число младших циклов, или потоковых циклов. Синхронизация на этом уровне может также содержать ссылки на дискретные события, особенно в асинхронных проектах. На этом уровне составляющая поведенческой области описывает манипуляцию и установление последовательности сигналов управления, которые в свою очередь производят действия с данными. Составляющая структурный области, представляя абстрактное воплощение, описывает абстрактные структуры типа PLA и микрокодированные управляющие ROM. Составляющая физической области — воплощение проекта в аппаратных средствах, или в планировании топологии кристалла. Логический уровень, часто называемый вентильным уровнем, является детализацией уровня функционального блока. В поведенческой области он описывает проект как переключающуюся схему, выражая ее поведение в терминах булевых уравнений и конечных автоматов. В структурной области это поведение осуществляется логическими ключами, триггерами и регистрами. Подобно уровню функционального блока, в физической области на этом уровне проект может быть непосредственно реализован в аппаратных средствах. Например, в проекте, основанном на TTL-логике, компоненты уровня функционального блока могли бы быть иерархически декомпозированы в ключи, триггеры и т. д., которые могут быть реализованы в аппаратных средствах. Наконец, как и на верхних уровнях, решение проблем потребляемой мощности и ограничений по площади кристалла могут также быть частью проектных работ в этой области. Поскольку выполнение проекта становится все более и более детальным, временные описания и ограничения также могут стать более детальными, возможно во всех трех областях. Схемотехнический уровень в поведенческой области описывает поведение проекта в терминах электрических потенциалов и токов, используя дифференциальные уравнения. В структурной области он описывает структуру проекта в терминах таких компонентов схемы, как транзисторы, диоды, резисторы и конденсаторы. В физической области имеются два действия, доминирующие в проекте СБИС. Сначала это получение эскиза топологии схемы в терминах приблизительных конфигураций и их размещения. Во вторых, детализация ячеек определяет точную геометрию и размещение компонентов. Эта модель представления проекта также служит как модель синтеза проекта, используя многоуровневые абстракции в трех областях описания, определенных ранее. В пределах этой модели синтез проекта определяется одним из вариантов: • преобразование проекта из поведенческой области к структурной области; • преобразование проекта из структурной области к физической области; или • преобразование проекта с более высокого уровня абстракции в одной области к более низкому уровню абстракции в этой же самой области или в другую область. Этот процесс пошагового преобразования означает, что может быть много структурных реализаций для отдельного поведения и много физических реализаций для каждой структуры, но для данного физического исполнения имеется немного соответствующих ему структур, и для данной структуры есть немного соответствующих поведенческих описаний. В более привычных терминах, синтез проекта СБИС — процесс трансляции описания высокого уровня абстракции из поведенческой области к уровню описания в физической области. Этот процесс синтеза включает трансляцию и формирование межобластных связей от поведенческой к структурной и далее к физической области, а также добавление достаточного числа дополнительных деталей, чтобы произвести описание низкого уровня из высокого уровня. Таким образом, конечная цель синтеза состоит в том, чтобы произвести описание проекта в физической области на уровне, который будет осуществлен в аппаратных средствах. Рис. 3.5 показывает некоторые примеры задач синтеза конкретного проекта.
Физическое Рис. 3.5. Задачи синтеза Первой задачей является трансляция с высокого уровня абстракции в поведенческой области к более низкому уровню абстракции в этой же самой области. Второй задачей является трансляция от поведенческой области до структурной области на том же самом уровне абстракции. Третья задача определена подобно, но включает структурную и физическую области. Все три задачи — пошаговые трансляции в том смысле, что, например, для данного набора регистровых передач (поведенческая область) есть много наборов АЛУ, мультиплексоров, регистров, и т. д. (структурная область), которые могут использоваться, чтобы определить абстрактное выполнение этих регистровых передач. Выбор одной из этих многих альтернатив реально может быть осуществлен только с помощью экспертных систем. Следует особо подчеркнуть, что любой шаг в процессе проектирования, как в пределах одной области описания, так и между областями требует применения соответствующего алгоритма или экспертной системы. После определения структуры проектируемого объекта необходимо разработать его математическую модель. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|