Алгоритм размещения элементов регулярных структур с учётом временных параметров

Известия ТРТУ

Тематический выпуск

Исследована возможность использования эвристик для определения порядка выполнения процессов назначенных на один процессор. Их использование не оказывает значительного влияния на качество получаемого решения, но снижается сложность алгоритма из-за уменьшения длины битовой строки.

УДК 681.323

М.В. Рыбальченко АЛГОРИТМ РАЗМЕЩЕНИЯ ЭЛЕМЕНТОВ РЕГУЛЯРНЫХ СТРУКТУР С УЧЁТОМ ВРЕМЕННЫХ ПАРАМЕТРОВ

Благодаря использованию СБИС технологии внутримодульные задержки сигналов уменьшаются, а суммарная задержка схемы определяется, главным образом, задержками межмодульных связей. Наличие жёстких временных ограничений на задержки сигналов делает проектирование топологии интегральных схем с учетом временных параметров важной областью изучения. Для сокращения сроков и затрат на проектирование целесообразно, чтобы временной анализ и верификация проводились в ходе физического проектирования. Это обуславливает развитие средств проектирования, которые одновременно оптимизируют как топологические характеристики, так и задержки сигналов /1/.

В данной работе рассматривается алгоритм размещения, ориентированный на ИС с регулярной структурой (например, РРОА), который отыскивает размещение, допустимое по временным параметрам, и одновременно, обеспечивает максимальную трассируемость соединений, причём алгоритм одновременно размещает как логические модули, так и входные/выходные контакты.

Входными данными для алгоритма является схема С, состоящая из набора модулей {М1, М2, М„}, связанных так, чтобы реализовать заданные функции. Топология схемы может

быть абстрактно рассмотрена как граф схемы Сс(Ус.Ес), где Ус- -вершина (модуль), Ес -ребро между двумя вершинами. Пусть Р1 = {х^хг.—.х^} - множество первичных входов схемы, а РО = {1^2,...,Г|} - множество первичных выходов. Также задаются времена прибытия сигналов на первичные входы А(х^, требуемые времена прибытия Я(Г,) на первичные выходы, и внутренние задержки (1(М|) модулей.

Для упрощения вычислений задержки допустим, что:

• входными данными модулей могут быть все логические комбинации;

• выходной сигнал определяется последним приходящим сигналом.

Алгоритм использует итерационный подход и на каждой итерации выполняются фазы сжатия и релаксации. Итерационный процесс завершается, когда удовлетворены все временные ограничения.

Фаза сжатия пытается сделать допустимой задержку выходных сигналов путем укорачивания наиболее длинных путей, определяющих превышение задержки. Однако на фазе сжатия может быть получено недопустимое размещение, в котором на некоторых позициях находится 2 (но не больше двух) модуля. Это позволяет фазе сжатия быть более гибкой и достигать требуемого сокращения задержки.

Если на фазе сжатия было сформировано недопустимое размещение, то на фазе релаксации оно преобразуется в допустимое за счет «временной» реконфигурации. Для достижения достаточно хорошей реконфигурации в смысле, что задержки в критических цепях будут гарантированно меньше заданной величины, используется граф допустимых окрестностей. Граф окрестностей вычисляется с использованием временных допусков реконфигурируемого размещения. Он ограничивает свободу перемещения модулей без нарушения временных ограничений.

Рассмотрим основные шаги фаз сжатия и релаксации.

На фазе сжатия выполняются следующие операции:

1. Анализ временных задержек текущего (начального) размещения:

Материалы Международной конференции

“Интеллектуальные САПР”

• расчет задержек всех цепей (например, как величин, пропорциональных полупериметрам описанных прямоугольников);

• построение конуса для каждого выхода схемы (определение множества путей, оканчивающихся на данном выходе);

• выбор конусов, для которых нарушаются временные ограничения и определение конуса с наибольшим нарушением.

2. Сжатие конуса с наибольшим нарушением временных ограничений:

• нахождение в конусе дерева наидлиннейших путей;

• сжатие ребер в наидлиннейшем пути, путем перемещения модулей в направление выхода.

На фазе релаксации выполняются:

1. Вычисление временных допусков для каждого ребра: s(e).

2. Вычисление распределенных по рёбрам допусков: ds(e).

3. Вычисление релаксированных допусков s(e) = ds(e)+X,, где X - параметр релаксации, который «увеличивает» возможность преобразования недопустимого размещения в допустимое.

4. Формирование графа допустимых окресностей для модулей, занимающих одну и ту же позицию.

5. Определение весов ребер графа допустимых окрестностей с учётом градиента загруженности рабочего поля.

6. Реконфигурация размещения (на основе потоков) в физически допустимое на основе графа допустимых окрестностей.

Как показали проведенные экспериментальные исследования, в большинстве итераций происходит существенное уменьшение задержки на одном из выходов, соответствующем конусу, который сжимается на данной итерации. При этом времена прибытия на другие выходы могут несколько возрастать из-за фазы релаксации. Однако, использование допустимой окрестности для релаксации гарантирует, что увеличение задержки находится в допустимых пределах и сумма времён прибытия на выходы практически всегда уменьшается от одной итерации к другой.

ЛИТЕРАТУРА

1. Timen-driven placement algorithm for regular architecture. IEEE Trans. On Computer-Aided Design. 1998 .

УДК. 681.3

И.В. Гречин НЕКОТОРЫЕ ПРОБЛЕМЫ СОЗДАНИЯ ЭКСПЕРТНЫХ СИСТЕМ

Прогрессирующим направлением в области искусственного интеллекта (ИИ) стали экспертные системы (ЭС). ЭС - это набор программ, выполняющих функции эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Пожалуй, не найдётся такой проблемной области, в которой не было бы создано ни одной ЭС или по крайне мере такие попытки не предпринимались бы.

Однако уже на начальных этапах создания ЭС выявились серьёзные принципиальные трудности, препятствующие более широкому распространению ЭС и серьёзно замедляющие и осложняющие их разработку. Чёткое понимание проблем даёт возможность гораздо успешнее их решать.

Основная проблема - трудности в приобретении знаний. Эта проблема возникает при передачи знаний, которыми обладают эксперты люди для создания программы. Для того чтобы обучить знаниям компьютерную систему, прежде всего, требуется сформулировать,