Включение новой модели сопровождается появлением новых фазовых переменных. Очевидно, что для продолже­ния анализа должны быть определены значения этих пере­менных в момент t вкл включения модели. Расчет этих зна­чений целесообразно выполнять повторным интегрировани­ем подсистемы дифференциальных уравнений включаемой модели на интервале [0, t вкл].

8.6. Методы анализа логических и функциональных схем консультируемых проблем

Методы решения логических уравнений. Анализ пере­ходных процессов в логических схемах консультируемых проблем выполняют с помо­щью асинхронных моделей (6.93), т. е. на основе асинхрон­ного моделирования. К началу очередного такта ti известны значения векторов внутренних Vi=(v1i, v2i, ..., vni) и вход­ных Ui переменных. Подставляя Vi и Ui в правую часть выражений (6.94), получаем новые значения v'ki, которые примут внутренние переменные в моменты времени ti+τk, где τk — внутренняя задержка распространения сигнала vk в соответствующем элементе схемы. Далее переходим к сле­дующему такту, в котором вычисления по (6.94) повторя­ются со значениями векторов V и U, соответствующими но­вому моменту времени ti+1=t1+1 (напомним, что время измеряется в количестве тактов). Асинхронное моделирова­ние называют потактовым.

Если длительность такта превышает задержку в неко­торых элементах, т. е. для некоторых k имеем τk≈0, то в модели (6.94) последовательностной схемы появляются от­дельные неявные относительно vk выражения, а это приво­дит к необходимости решать подсистемы логических урав­нений в пределах каждого такта. Если задержки не учиты­вать во всех элементах, то имеем синхронную модель (6.93), с помощью которой анализируются установившиеся состоя­ния в схеме и могут определяться статические и динамические риски сбоя. Синхронная модель — это система логи­ческих уравнений

НЕ нашли? Не то? Что вы ищете?

V=F(V,U). (8.103)

Для синхронного моделирования (решения систем логи­ческих уравнений) используются итерационные методы про­стой итерации и Зейделя.

Алгоритм метода простой итерации при решении (8.103) совпадает с алгоритмом асинхронного моделирования при τk = 1. На первой итерации (такте) выбирается начальное приближение V0 и подставляется в правую часть (8.103), при этом определяется новое приближение V1. На второй итерации рассчитывается V2 при подстановке V1 в правую часть (8.103) и т. д. Условием прекращения итераций является или совпадение результатов двух последних итераций Vi = Vi-1, где i — номер итерации, или выполнение равенства i= imаx, где imаx — предельно допустимое число итераций. В послед­нем случае делается заключение о несходимости вычисли­тельного процесса из-за генерирования колебаний в моде­лируемой схеме.

Итерации по методу Зейделя отличаются от простых ите­раций тем, что новое значение k-гo элемента вектора Vi сразу же после его вычисления на i-й итерации заменяет старое значение и используется для вычисления новых зна­чений следующих элементов вектора Vi на той же i-й ите­рации, т. е.

vk, i = F(v1i, v2i..... vk-1,i, vk, i-1 ,..., vn. i-1).

В правильно составленной комбинационной схеме каждому входному вектору U соответствует одно определен­ное решение V* системы логических уравнений (8.103). Ко­рень V* может быть найден при произвольном начальном приближении как методом простой итерации, так и методом Зейделя. Однако в последовательностной схеме система уравнений (8.103) имеет несколько решений, соответствую­щих различным устойчивым состояниям схемы. Обычно тре­буется найти то состояние, в которое переходит схема из заданного исходного состояния при заданном входном воз­действии. Пусть заданному исходному состоянию соответст­вует значение Vисх вектора V. Тогда для решения сформу­лированной задачи рекомендуется выбрать начальное при­ближение V0 = Vисх и, кроме того, в методе Зейделя необходимо привести в соответствие последовательности вы­числений по уравнениям модели и прохождения сигналов в схеме. Последнее условие выполняется с помощью алгорит­мов ранжирования, что способствует определению искомо­го корня за малое число итераций. Например, для комби­национной схемы решение получается за одну итерацию.

Ранжирование логических схем и уравнений. Алгоритмы ранжирования комбинационных схем аналогичны алгорит­мам ранжирования электронных схем в методе однонаправ­ленных моделей. Ранг 0 присваивается входным цепям, по которым поступают сигналы на схему извне. Ранг r при­сваивается элементам, все входы которых ранжированы и старший из рангов равен r —1. Ранг r присваивается также выходам элементов ранга r. После этого логические уравне­ния упорядочиваются по значениям рангов соответствую­щих элементов схемы.

В последовательностных схемах ранжирование может быть выполнено таким же образом после преобразования схемы в комбинационную с помощью разрывов обратных связей. Ранжирование последовательностей схемы начина­ется так же, как и комбинационной, но проранжировать таким образом удается только часть элементов. Далее нуж­но выполнить разрывы контуров обратной связи. Контуры обратной связи ищутся среди элементов, которые проранжи­ровать не удалось. Выбирается любой из этих элементов, например А, к нему добавляется элемент В, выход которого связан с не имеющим ранга входом элемента А. Очевидно, что такой элемент В имеется, иначе элемент А был бы проранжирован. Далее таким же образом присоединяется эле­мент С к элементу В и т. д., пока в цепочке из элементов А, В, С... не встретится повторно какой-либо из элементов, уже включенных в цепочку. Эта ситуация означает обнару­жение контура обратной связи. Далее одна из связей в кон­туре обратной связи обрывается. Входы элементов от ра­зорванных связей, называемые псевдовходами, получают ранг 0. После этого ранжирование возобновляется. Опера­ции выделения контуров и ранжирования повторяются до тех пор, пока в схеме не останется непроранжированных элементов.

Повышение эффективности моделирования логических и функциональных схем. Для повышения эффективности ре­шения уравнений методом Зейделя целесообразно исполь­зовать диакоптический подход, в рамках которого итерации выполняются отдельно по фрагментам логической схемы. Введем следующие понятия: составной элемент — множест­во контуров обратной связи, имеющих попарно общие свя­зи; фрагмент логической схемы — составной элемент или комбинационная схема, состоящая из взаимосвязанных ло­гических элементов, не вошедших в составные элементы.

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

Другим способом повышения эффективности является параллельное моделирование, основанное на том, что для представления логической переменной достаточно k разря­дов, где k=1 в двузначном алфавите и k =2 в трехзначном. Тогда моделирование одной и той же схемы можно выпол­нять одновременно для т=s/k различных наборов вход­ных сигналов, где s — количество разрядов в разрядной сетке ЭВМ. Подобное параллельное моделирование эффек­тивно используется при синтезе тестов для проверки логи­ческих схем, где требуется определить реакцию схемы на большое количество входных тестовых наборов.

Наиболее общим направлением повышения эффективно­сти математического обеспечения как синхронного, так и асинхронного моделирования является учет событийности.

При анализе логических и функциональных схем событием называют изменение состояния любого элемента или, что то же самое, изменение значения любой переменной состоя­ния.

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

Рассмотрим алгоритм асинхронного событийного моде­лирования. В алгоритме используются списки текущих и будущих событий. Все события привязаны к моментам дис­кретного модельного времени. Ссылки на события, происхо­дящие в текущий момент, находятся в списке текущих со­бытий, а ссылки на те события, наступление которых можно предвидеть, помещаются в список будущих событий. Мо­делирование текущих событий означает обращение к моделям соответствующих элементов, после чего становятся известными изменяющиеся выходные переменные и задерж­ки в их изменении по отношению к текущему моменту мо­дельного времени. Эти изменения суть события, и сведения о них заносятся в список будущих событий. После того как список текущих событий полностью отработан, модельное время увеличивается и соответствующая часть списка бу­дущих событий становится списком текущих событий. Так как в сложных схемах на каждом такте активными явля­ются не более нескольких процентов элементов, то учет со­бытийности позволяет существенно уменьшить затраты ма­шинного времени.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106