УДК 004:519.713
С. А. ЗАЙЧЕНКО, П.В. ЛЕШТАЕВ, Б.Н. ГУРЕЕВ, М. М. ШЛЯХТУН
КЛЮЧЕВЫЕ ПРАВИЛА ПРОЕКТИРОВАНИЯ ДЛЯ ПЕРЕСЕЧЕНИЙ ТАКТОВЫХ ДОМЕНОВ В ЦИФРОВЫХ СИСТЕМАХ НА КРИСТАЛЛАХ
Рассматривается проблема обеспечения надежности функционирования пересечений независимых тактовых доменов в моделях цифровых систем на кристаллах. Предлагается подход к организации процесса верификации, ориентированный на автоматизацию статической проверки правил на топологии, обнаруживающих типовые ошибки проектирования.
1. Введение
Число тактовых сигналов, одновременно используемых в современных системах на кристаллах, содержащих разнообразные виды основных и периферийных компонентов, может достигать десятков и даже сотен. Все эти компоненты взаимодействуют друг с другом, интенсивно передавая данные для обработки и управляющую информацию. Переходы, соединяющие подобные взаимодействующие компоненты, управляемые несвязанными тактовыми сигналами, называют пересечениями тактовых доменов (CDC - Clock Domain Crossing). Проектирование и верификация CDC-пересечений относятся к наиболее критичным проблемам в современном цикле проектирования SoC [1].
Ключевую проблему, проявляющуюся при переходе сигналов через CDC-пересечения, составляет эффект метастабильного состояния сигналов [2]. Суть этого вероятностного эффекта состоит в проявляющемся в неожиданные моменты времени неопределенном результирующем уровне передаваемого сигнала на выходах первых по цепочке элементов, расположенных за CDC-пересечением. Фактически уровень сигнала колеблется между стандартными уровнями напряжения для значений 0 или 1 недетерминированным способом в течение непредсказуемого периода времени. В результате принимающая логика может зафиксировать любое из значений вместо фактического, искажая переданные данные и команды. Это приводит к случайным функциональным нарушениям, которые не выявляет обычное моделирование в симуляторе.
При проектировании схем синхронизации их эффективность измеряют по показателю MTBF (Mean Time Between Failures) - среднее время между сбоями на одном CDC-пересечении, который может быть подсчитан по следующей формуле [3]:
t met/ e /А2
MTBF =-, (1)
A1 xfQxfC2
где fCi и fC2 - частоты взаимодействующих тактовых сигналов; Ai и А2 - константы,
зависящие от технологического процесса производства триггеров, а tMET - допустимое время стабилизации метастабильного сигнала у известного логического уровня напряжения до момента его считывания на следующем фронте на принимающей стороне ("окно стабилизации)".
Избежать явления метастабильного состояния полностью не представляется возможным. Однако имеется возможность воздействовать на соответствующие показатели, в первую очередь, на окно стабилизации, влияющие на соотношение (1) по экспоненциальному закону. Минимально приемлемым значением показателя MTBF для некритических систем считается период в 1000 лет [2,3].
На окно стабилизации влияет любая задержка, которая теоретически может возникнуть при транспортировании сигнала через пересечение. В связи с этим во многих литературных источниках делается значительный акцент на соблюдении ключевых правил проектирования в зоне пересечения тактовых доменов, в частности [4,5]:
- на пересечении тактовых доменов не должно быть схождения нескольких сигналов;
- пересечение тактовых доменов не должно разветвляться;
- на пересечении тактовых доменов не должно размещаться комбинационной логики.
Учитывая сверхбольшие размеры современных систем на кристалле, а также применение в них десятков и сотен тактовых сигналов, столь серьезные правила нуждаются в полностью автоматическом выявлении нарушений. Такая задача востребована для программных инструментов статического анализа моделей цифровых систем (системы лин-тинга) и специализированных инструментов по CDC-верификации [6,7].
Рассматриваемая предметная область анализа пересечений тактовых доменов достаточна сложна, поэтому автоматизации проверки правил должно предшествовать математическое моделирование и формальная постановка задачи.
Цель работы - повышение надежности цифровых систем на кристаллах, использующих взаимодействие компонентов, управляемых независимыми тактовыми сигналами, путем автоматизации проверки ключевых правил проектирования, применяемых к пересечениям между тактовыми доменами.
Задачи исследования:
1) Формулировка математической модели, описывающей внутреннюю структуру тактовых доменов, которые входят в их состав тактовых сигналов и отношений между ними.
2) Разработка процедуры, определенной на предложенной модели тактовых доменов, обнаруживающих исходное множество их пересечений.
3) Разработка процедур, проверяющих ключевые правила проектирования о схождении, расхождении и комбинационной логике в зоне пересечения тактовых доменов.
2. Тактовые домены
Тактовый домен (clock domain) D представляет собой совокупность входящих в его состав множества тактовых сигналов CD, имеющих связанные характеристики фазы и частоты, и множества всех тактируемых этими сигналами элементов ED :
D = {CD ED} . (2)
Любая нетривиальная цифровая система содержит как минимум один тактовый домен либо несколько таких доменов. Когда в системе имеется только один тактовый домен, задача анализа пересечений не имеет смысла. В данном исследовании рассматриваются случаи, когда система содержит хотя бы два тактовых домена Dj и D 2. На практике, схемы с одним тактовым доменом встречаются, чаще всего, лишь на уровне отдельных функциональных блоков.
К тактируемым элементам (clocked element) ED выбранного домена относятся любые примитивы иерархии проекта, к точкам которых подключен хотя бы один из
DE тактовых сигналов C того же домена. Сами элементы состоят из набора точек p и
E
связанных с элементами тактовых сигналов C :
E = {pE,CE} . (3)
Очевидно, множества тактовых сигналов самого домена и тактируемого элемента выбранного домена пересекаются:
CEeD n CD * 0 . (4)
Точки р представляют собой элементарную единицу в модели и соответствуют набору входных и выходных контактов любых задействуемых в цифровой системе технологических примитивов (вентилей, макросов), экземпляров IP-блоков, а также набору входных и выходных внешних портов. Каждой индивидуальной точке соответствует конкретное местоположение в иерархии проекта, уникально идентифицируемое при помощи строки вложенных имен с иерархическими разделителями (например, "top/CPU/IR/Q[0]"). Каждой точке может быть присуща некоторая функциональная роль (тактовый вход, вход асинхронного либо синхронного сброса, вход данных, вход разрешения, вход управления, выход), определяемая элементом, в состав которого она входит.
Подключение тактовых сигналов допускается не к любым точкам элементов, а лишь к предназначенным для данной цели, т.е. имеющим функциональную роль тактового входа. Неожиданные подключения к точкам, не интерпретируемым примитивами в качестве тактовых входов в нормальной ситуации, являются грубой ошибкой проектирования, требующей незамедлительного устранения. Исключение составляют входы различных схем преобразования тактовых сигналов, которые следует рассматривать только целиком как единый составной объект.
Чаще всего множество тактовых сигналов тактируемого элемента состоит только из одного объекта. Наиболее простым и распространенным тактируемым элементом является триггер, на тактовый вход которого подключен единственный интересующий тактовый сигнал. В общем случае, один элемент может тактироваться несколькими тактовыми сигналами, независимо от их вхождения в тактовые домены. Примером с двумя тактовыми сигналами являются примитивы двухпортовой памяти, распространенные в FPGA-устройствах. Более сложные примитивы производителей кристаллов либо поставщиков IP-блоков могут содержать несколько независимых тактовых входов, которые следует учитывать при анализе.
Тактовый домен содержит один или несколько тактовых сигналов C. С точки зрения анализа рассматриваемого в данной работе тактового сигнала необходимо знать такие
С С
характеристики: набор точек-источников S в иерархии проекта, частоту fС (МГц) и
С
смещение ф фазы (радианы) относительно условного момента времени, принимаемого за 0:
C = {SG, f С, фС},
С (5)
SС = {Р1,..., PN }.
Период тактового сигнала, очевидно, можно получить обращением частоты. Более низкоуровневыми характеристиками, такими как коэффициент заполнения (duty cycle) и скважность, в данном исследовании можно пренебречь, как невлияющими на конечный результат.
Чаще всего тактовый сигнал содержит только один источник. Однако допустимы случаи и с несколькими идентичными источниками. Эта ситуация может соответствовать различным низкоуровневым приемам размещения дерева тактовых сигналов в цифровом устройстве (например, репликация источника в идентичных экземплярах подсистем, дополнительные буферы для уменьшения энергозатрат на распространение тактового сигнала через длинные цепи). Характеристики фазы и частоты каждого из источников одного и того же тактового сигнала должны быть идентичны. Хотя на физическом уровне наличие двух различных источников неизбежно будет связано с некоторым смещением фазы относительно друг друга, можно принять, что смещение между различными источниками одного и того же тактового сигнала стремится к 0.
Лишь в простейших случаях тактовый домен состоит только из одного тактового сигнала. В зависимости от потребностей, в первую очередь, для оптимизации быстродействия основной тактовый сигнал может подвергаться различным преобразованиям, таким как инверсия:
- I f C1 = fC 2
С1 = С2 Л|фCi -фC2|= п. (6)
Деление либо умножение частоты на константный положительный действительный коэффициент X:
[fCl = X х fC2, X> 0, Xe R,
| ф^ =фC2. (7)
Допустимы и более сложные преобразования с использованием специализированных технологических примитивов.
Одним тактовым доменом можно признать только такую совокупность тактовых сигналов, частоты которых отличаются друг от друга на степень двойки, а разница фазовых смещений равна 0 либо п:
(Ci,C2) £ D ^
f Cl = 2k x f C2 ,k £ N;
9C1 -9C 2
(8)
При обмене данными между элементами, синхронизируемыми такими тактовыми сигналами, вероятность возникновения эффекта метастабильности стремится к 0. Утверждать о полном отсутствии такой вероятности можно только теоретически, поскольку любая схема распространения разветвленных сигналов вносит некоторые незначительные фазовые смещения.
Построение модели тактовых доменов, включая выявление всех тактовых сигналов, отношений частоты и фазы между ними, а также набора элементов, тактируемых данными тактовыми сигналами, является хорошо изученной задачей. Если проект цифровой системы использует типовые схемы преобразования тактовых сигналов, не содержит сложных переключаемых режимов, а функциональные роли точек всех технологических примитивов известны, многие средства автоматизированного проектирования в состоянии построить модель тактовых доменов полностью автоматически по исходному коду описания RTL-уровня. Более сложные схемы тактирования могут потребовать ручного вмешательства пользователя для разъяснения соотношений. Такую информацию проектировщик цифровой системы может указать в виде описания ограничений в распространенном формате SDC (Synopsys Design Constraints). Данный формат популярен в различных САПР как для ASIC-проектов, так и для FPGA.
3. Временные пути и пересечения между тактовыми доменами
Временным путем (timing path) на схеме считается путь распространения сигнала от его стартовой точки, источника события, до конечной точки, в которой требуется синхронизация с другими сигналами, в частности, с тактовым. При прохождении вдоль временного пути сигнал лишь накапливает транспортную задержку на линиях и на логических элементах, но не ждет каких-либо других событий.
Временные пути могут исходить из внешних входных портов, выходов триггеров, элементов памяти, а также синхронизированных выходов "черных ящиков". В качестве конечных точек временных путей могут выступать внешние выходные порты, синхронизированные с тактовым сигналом входы триггеров и элементов памяти, аналогично, синхронизированные с тактовым контактом входы "черных ящиков".
Не все входы триггеров являются завершениями временных путей; в частности, при подаче импульса на входы асинхронного сброса и установки сигнал проходит на выходы триггера, не дожидаясь тактового фронта. Подобные асинхронные пути могут существовать от входов к выходам "черных ящиков", включая различные технологические примитивы от FPGA-производителей и различные Hard-IP в мире ASIC-проектов. Чтобы различать синхронные и асинхронные пути через блоки, реализация которых неизвестна, необходимы соответствующие мета-описания для инструментов. Подобные описания выходят за рамки стандарта SDC, и каждый инструмент определяет подобную информацию в собственном проприетарном формате.
Из одной стартовой точки может исходить большое количество временных путей, поскольку сигнал может разветвиться (divergence) при транспортировании. Аналогично, одна конечная точка может быть завершением большого количества временных путей от других источников при схождении (convergence). Также между конкретной парой стартовой и конечной точки может существовать более одного пути. Такая ситуация называется сходящимся разветвлением (reconvergence). Данный случай весьма интересен при статическом временном анализе, поскольку для определения задержек должен использоваться наиболее длинный путь. Однако с точки зрения анализа пересечений тактовых доменов множественность путей между парой точек не играет никакой роли, а такой набор соединений можно условно принимать аналогично единственному пути, поскольку интересует только сам факт наличия хотя бы одного пути.
Пусть П - бинарный предикат, обозначающий наличие комбинационного пути между точками pi и p2 . Если временной путь между данной парой точек существует, предикат выдает единицу:
П(Р1, Р2) = 1. (9)
Если предикат (9) равен единице для pi и Р2, из этого не следует, но и не исключается, что предикат будет справедлив для обратного порядка аргументов. Если выполняется соотношение:
П(Р1, Р2) = П(Р2, pi) = 1, (10)
это означает, что речь идет о двух различных временных путях, один из которых является обратной связью по отношению к противоположному.
Пересечение между тактовыми доменами (CDC - Clock Doman Crossing) - это пара точек в модели, относящихся к тактируемым элементам разных доменов, связанная временным путем:
Vpi е P, pk £ P,i * k,D1 * D2,
[П(Р i, Р k) = 1 I
(pi, pk) £^D1 ^D 2 4 _ D1 E D 2f (11)
[p i е E 1, p k е E 2 J,
где P- множество всех интересующих точек проекта; D1 и D2 - два различных тактовых домена; ^D1 ^D 2 - множество пересечений между данными доменами в направлении от D1 к D2.
Направление пересечения играет важную роль. Хотя одни точки первого домена могут передавать сигналы в другой домен, а затем данные могут возвращаться обратно в первый домен, речь всегда будет идти абсолютно о других наборах временных путей, пересекающих границы двух доменов в противоположных направлениях:
4D ^d2 ^D2 ^D1 =0 . (12)
Для всех выявленных пересечений тактовых доменов необходимо производить проверку важных топологических правил, а также осуществлять поиск синхронизирующих структур.
Для упрощения изложения дальнейших процедур также необходимо ввести понятие входов и выходов тактового домена. Входы тактового домена - множество конечных точек временных путей, входящих в состав пар точек во всех множествах CDC-пересече-ний данного домена:
pi е PjDt ^3Dx,pj е EDX ,(pj,pi) е ^dx^DT , (13)
где Dt - интересующий целевой тактовый домен; PDt - множество входов данного тактового домена; p i - конкретная точка, являющаяся одним из входов данного тактового домена; Dx - другой тактовый домен, имеющий точку pj, такую что между ней и pi имеется CDC-переход, принадлежащий известному к данному моменту множеству ^DX ^DT .
Аналогично, выходы тактового домена - множество начальных точек временных путей, входящих в состав пар точек во всех множествах CDC-пересечений данного домена:
pi е P<Ds ^3Dx,pj е EDx ,(К,pi) £^ds ^dx , (14)
здесь D§ - интересующий тактовый домен-источник; P^ - множество выходов данного тактового домена; p i - конкретная точка, являющаяся одним из выходов данного тактового домена; Dx - другой тактовый домен, имеющий точку p j, такую что между pi и ней
имеется CDC-переход, принадлежащий известному к данному моменту множеству
Наличие подготовленных множеств входов и выходов каждого из тактовых доменов значительно упрощает дальнейшие процедуры обработки.
4. Схождение и расхождение временных путей в зоне пересечения тактовых
доменов
Крайне неблагоприятной является ситуация, при которой к одной точке в целевом тактовом домене сходится два и более временных путей, исходящих от точек в других тактовых доменах (convergence on crossover path). Во-первых, в момент переключения сигналов на схождении возможны кратковременные всплески (glitch), к чему очень чувствительны пересечения тактовых доменов. Во-вторых, схождение через комбинационную логику повышает вероятность сбоя на пересечении тактовых доменов, поскольку задержка на логическом вентиле отнимает время из ограниченного бюджета для стабилизации. В-третьих, большинство средств статического анализа воспринимает временные пути, уходящие в другие тактовые домены, как незначимые, что означает отсутствие стимулов для системы логического синтеза по оптимизации данного временного пути. Последняя причина может значительно усугубить вторую проблему.
В приведенном на рис. 1 примере выходы двух триггеров, находящиеся в домене с тактовым сигналом CLK_TX, объединяются при помощи логического вентиля И, выход которого направляется к входу триггера в домене с тактовым сигналом CLK_RX.
Подобные ситуации необходимо обнаруживать и устранять на ранних этапах проектирования. Чтобы идентифицировать вход тактового домена, на котором нарушается данное правило, необходима следующая вычислительная процедура. Если находится вход p тактового домена D, на котором сумма
Vp е PD,X-f1,3pJ £ POk,(PJ,p) e TDk^D1 > !
принимает значение больше 1, это означает, что на данном входе имеется нежелательное схождение. В (15) p j - потенциально существующий выход другого домена Dk, от которого исходит пересечение с интересующей точкой p тактового домена D.
(15)
Рис. 1. Схождение временных путей на пересечении тактовых доменов
Правильный подход для устранения проблемы схождения на пересечении тактовых доменов состоит в выносе самого схождения до триггера, с выхода которого пересечение исходит (рис. 2) - такой подход более чем приемлем, поскольку на пересечении не будет происходить всплесков, а задержка на комбинационном элементе будет отнесена в зону путей в рамках одного тактового домена, что никак не повлияет на надежность последующей асинхронной передачи.
DFF_1
Рис. 2. Схождение временных путей до пересечения тактовых доменов
Подобную задачу составляет поиск расхождений на пересечениях тактовых доменов (divergence on crossover path). Между разошедшимися ветвями может отличаться задержка распространения сигнала и, как следствие, время стабилизации метаста-бильного состояния. Поскольку вероятность сбоя на пересечении тактовых доменов зависит от имеющегося окна стабилизации по экспоненциальному закону, даже малейшее расхождение задержек копий может привести к значительному ухудшению надежности одной из ветвей. В дальнейшем одна из ветвей может считать неправильное логическое значение передаваемого сигнала, что может привести к серьезным функциональным ошибкам. Дополнительно, разветвление сигнала увеличивает его емкость, что влияет на задержку распространения. В обычной ситуации такое изменение задержки ничтожно мало, но учитывая экспоненциальную зависимость (1), влияние данного фактора также заметно.
На рис. 3 показан пример описанной выше проблемной ситуации. Здесь выход триггера, находящегося в домене с тактовым сигналом CLK_TX, расходится и достигает двух триггеров, расположенных в домене с тактовым сигналом CLK_RX. Наличие комбинационной логики (инвертор) не является принципиальным для рассматриваемого правила проектирования, однако без такого размещенного вентиля, при отсутствии иерархических границ в схеме, большинство средств логического синтеза автоматически объединит разошедшиеся ветви как эквивалентные.
Рис. 3. Расхождение временных путей на пересечении тактовых доменов
Для обнаружения ситуации необходим подход, зеркально противоположный процедуре (15). Если находится выход р тактового домена D, на котором сумма (16) принимает значение больше 1, это означает, что за данным выходом имеется нежелательное расхождение:
Ур е:
р§, е!1 ^ е PIDk,(p, pj) 1
(16)
где Р] - потенциально существующий вход другого домена Dk, к которому приходит пересечение с интересующей точкой р от тактового домена D.
При обнаружении таких выходов тактовых доменов расхождение следует поместить по завершению синхронизации пересечения (рис. 4).
Рис. 4. Расхождение путей после синхронизации пересечения тактовых доменов
В таком случае упомянутое выше расхождение задержки между ветвями не окажет критического влияния на функциональные ошибки, поскольку от данной задержки более не будет зависеть окно стабилизации на переходе.
5. Логические элементы на пересечении тактовых доменов Согласно (1), вероятность сбоя на CDC-пересечении растет при уменьшении окна стабилизации по экспоненциальному закону. Соответственно, величина окна стабилизации является доминирующим фактором, влияющим на надежность. Поскольку большинство средств статического временного анализа не рассматривают пути, уходящие в другие тактовые домены, ответственность за получение минимальной задержки распространения сигнала через пересечение тактовых доменов полностью лежит на проектировщике.
В связи с этим категорически запрещается размещение на пересечении тактовых доменов любой комбинационной логики, как значительного источника задержек, даже если речь идет всего лишь об инверторе (рис. 5):
Рис. 5. Комбинационный элемент на пересечении тактовых доменов
Чтобы упростить обнаружение подобных топологических нарушений, необходимо ввести функцию фактической длины временного пути L(pl,Р2). Пусть фактическая длина временного пути представляет собой количество точек модели, входящих в его состав, исключая внутренние иерархические границы (входы и выходы дочерних блоков системы и их внутренние порты). Такую величину не представляет труда подсчитать при формировании данных о временных путях, достаточно лишь продвигать по пути распространения сигнала текущее значение длины, увеличивая ее на количество значащих точек, посещаемых при прохождении. Минимальной фактической длиной существующего временного
пути будет значение 2, что включает исходную и конечную точку, между которым имеется прямое иерархическое соединение без какой-либо логики. Если же путь проходит через какой-либо логический вентиль, его фактическая длина увеличится еще на 2, что будет соответствовать точкам входа и выхода вентиля. Интересно, что при таком определении функция фактической длины временного пути будет всегда выдавать исключительно четные значения.
Имея в распоряжении функцию фактической длины временного пути, предикат (9) представляется возможным выразить через данную функцию:
[1Л(рь Р2) > 2,
П(рь Р2) =
0
(17)
Чтобы обнаружить топологические нарушения, пример которых показан на рис. 5, необходимо проанализировать каждое пересечение тактовых доменов и выявить те из них, которые содержат дополнительные логические элементы, используя введенное понятие фактической длины временного пути:
((рЬр] е ^Бу) л(ЦрЬр] > 2)
(18)
где Dx и Бу - два взаимодействующих тактовых домена; (р 1, р])- временные пути на пересечении между данными тактовыми доменами.
Корректным исправлением является помещение логических элементов до или после пересечения, как показано на рис. 6, где он не будет влиять на величину окна стабилизации.
Рис. 6. Комбинационный элемент, вынесенный за пределы пересечения тактовых доменов
Комбинационная логика также не должна встречаться между первым и вторым триггером после пересечения тактовых доменов. По сути, помещение логики в эту часть схемы препятствует созданию классического синхронизатора из двух близко расположенных друг к другу триггеров (рис. 7).
Рис. 7. Комбинационный элемент, нарушающий классический 2БЕБ-синхронизатор
Такая проверка требует правильной выборки первого и второго триггера, а затем проверки функции фактической длины временного пути, по аналогии с (18). Первый триггер после пересечения есть не что иное, как вход тактового домена (13). Для выбора вторых триггеров во всех цепочках после пересечения потребуется такое выражение:
Vpi e PjD,3pj e ED,n(pi,pj) = 1, (19)
где pi - точка выхода первого триггера, которая определяется простейшей текстовой
подстановкой, имея путь к входу первого триггера pi. Для подстановки достаточно сменить в местоположении название входного контакта D на название выходного Q.
Далее, нарушение о комбинационном элементе между первым и вторым триггером выявляется путем проверки функции фактической длины временного пути между точкой выхода первого и точкой входа второго триггера:
L(p i, pj) > 2. (20)
Перемещение логики за выход второго триггера решает проблему уменьшения вероятности стабилизации метастабильного сигнала.
6. Выводы
В ходе исследования были решены ключевые поставленные задачи:
1) Сформулирована базовая математическая модель, описывающая внутреннюю структуру тактовых доменов, входящих в их состав тактовых сигналов и частотно-фазовых отношений между ними.
2) Разработана процедура, определенная на предложенной модели тактовых доменов, обнаруживающая исходное множество их пересечений путем эффективной выборки данных из множества временных путей.
3) Разработаны процедуры, осуществляющие проверку ключевых правил проектирования о схождении, расхождении и комбинационной логике в зоне пересечений тактовых доменов.
Главный научный результат исследования состоит в формулировке математической базы для методов верификации и различных процедур анализа внутренней структуры и взаимоотношений независимых тактовых доменов в моделях цифровых систем на кристаллах.
Ключевым практическим результатом исследования является повышение надежности цифровых систем на кристаллах путем детальной формализации комплекса необходимых вычислительных процедур на модели тактовых доменов, направленных на автоматизацию проверок ключевых правил проектирования, применяемых к CDC-пересечениям.
Риск возникновения сложных функциональных ошибок, проявляющихся из-за эффекта метастабильного состояния при некорректном взаимодействии между компонентами систем на кристалле, управляемых различными тактовыми доменами, может быть существенно снижен. Хотя полностью исключить явление метастабильности не представляется возможным, систематическое применение автоматизированных ключевых правил проектирования, обнаруживающих наиболее часто возникающие ошибки, способно удерживать среднее время между сбоями на пересечениях тактовых доменов в приемлемых рамках (более 1000 лет).
Перспективной возможностью видится внедрение предложенной модели и процедур в состав программного комплекса по CDC-верификации.
Список литературы: 1. Vimjam V. C., Joseph A. Challenges in Verification of Clock Domain Crossings // Real Intent Inc., Design Automation Conference (DAC'47). 2010. 2. Haseloff E. Metastable Response in 5-V Logic Circuits // Texas Instruments Application Note SDYA006. 1997. 3. VeendrickH. J. M. The Behavior of Flip-Flops Used as Synchronizers and Prediction of Their Failure Rate // IEEE Journal of Solid-State Circuits. 1980. Vol. 15.Р. 169-176. 4. SarwaryS., VermaS. Critical clock-domain crossing bugs // Atrenta Inc. 2013. 5. Ginosar R. Fourteen Ways to Fool Your Synchronizer // Proc. Ninth IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC). 2003. P. 89. 6. Chaturvedi S. Static analysis of asynchronous clock domain crossings // Proceeding DATE ' 12 Proceedings of the Conference on Design, Automation and Test in Europe. 2012. Р. 1122-1125. 7. Cummings C. Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog // Synopsys User Group Conference (SNUG). 2008.
Поступила в редколлегию 11.02.2015
Зайченко Сергей Александрович, канд. техн. наук, директор ООО "Алдек-КТС" (г. Харьков), доцент кафедры АПВТ ХНУРЭ. Научные интересы: автоматизированное проектирование и верификация цифровых систем. Адрес: Украина, 61045, Харьков, ул. Космическая, 23а, тел. (057)-760-47-25.
Лештаев Павел Викторович, ведущий инженер ООО "Алдек-КТС" (г. Харьков). Научные интересы: автоматизированное проектирование и верификация цифровых систем. Адрес: Украина, 61045, Харьков, ул. Космическая, 23а, тел. (057)-760-47-25. Гуреев Богдан Николаевич, магистрант факультета КИУ ХНУРЭ, инженер-программист ООО "Алдек-КТС" (г. Харьков). Научные интересы: автоматизированное проектирование и верификация цифровых систем. Адрес: Украина, 61045, Харьков, ул. Космическая, 23а, тел. (057)-760-47-25.
Шляхтун Максим Михайлович, магистрант факультета КИУ ХНУРЭ, инженер-программист ООО "Алдек-КТС" (г. Харьков). Научные интересы: автоматизированное проектирование и верификация цифровых систем. Адрес: Украина, 61045, Харьков, ул. Космическая, 23а, тел. (057)-760-47-25.
УДК 519.876.2
И.Г. ОКСАНИЧ, Н.В. РЫЛОВА
РАЗРАБОТКА НЕЧЕТКОЙ МОДЕЛИ ОЦЕНКИ СИТУАЦИИ В ПРОЦЕССЕ ПРОИЗВОДСТВА ПОЛУПРОВОДНИКОВЫХ МАТЕРИАЛОВ
Рассматривается модель оценки производственной ситуации в системе поддержки принятия оперативных решений. Приводится описание этапов подготовительной процедуры и разработка нечеткой модели оценки производственной ситуации для определения оптимальной альтернативы реагирования на возникшие отклонения от хода производства. Созданные база знаний и механизм вывода решений на базе нечеткой логики являются основой автоматизированной системы оперативного управления.
1. Введение
Изменчивость производственного процесса и среды функционирования предприятия требуют от информационных систем управления способности обеспечивать решение функциональных задач в ограниченное время, а в некоторых случаях и в режиме реального времени. Кроме того, значение элемента мобильности в управлении предприятием неразрывно связано с эффективным использованием выделенных в распоряжение производства материальных, трудовых и финансовых ресурсов. Это в полной мере относится и к оперативному управлению, роль которого заключается в непрерывном учете текущей информации о фактическом ходе работ по выполнению установленного графика производства; выявлении и анализе причин отклонений от установленных плановых заданий и календарных графиков производства; принятии оперативных решений по координации текущей работы взаимосвязанных звеньев производства в целях обеспечения ритмичного хода работы по установленному графику [1].
Для оперативного управления производством монокристаллов полупроводников характерно принятие решений в условиях существенной неопределенности, связанной с неопределенностью свойств объекта управления и влияния внешней среды. В то же время получение рациональных управленческих решений с использованием классических аналитических моделей является невозможным в силу сложности и неопределенности некоторых свойств объекта управления. Отсюда вытекает актуальность задач разработки моделей и алгоритмов, которые обеспечивают синтез рациональных управленческих решений и оценку возможных последствий принятия этих решений.
2. Описание этапов подготовительной процедуры для дальнейшей
разработки нечеткой модели оценки производственной ситуации
Как правило, модель распознавания ситуаций и принятия оперативных решений строится на основе матрицы знаний или эквивалентной ей системе логических высказываний, позво-14