Здавалка
Главная | Обратная связь

Структурный синтез СБИС



 

В последние годы для решения задач структурного синтеза все чаще применяются методы искусственного интеллекта, в частности, экспертные системы. При этом полезно представить процесс проектирования сложной технической системы (СТС), в том числе СБИС, в обобщенном виде. В научной литературе рассматриваются три таких представления: линейное, треугольное и 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 Все права принадлежат авторам размещенных материалов.