Промежуточные данные. D - номер очередного слоя платы;
D - номер очередного слоя платы; Q - номер очередного соединения; A - номер очередного фронта волны; I - номер дискрета фронта волны; J - номер дискрета ДРП соседнего с I -м дискретом; L - номер дискрета в списках XL, YL (L); F - количество дискрет в списках XF, YF (F); XL, YL (L) - список координат дискрет А -го фронта; XF, YF (F) - список координат дискрет (A+ 1 ) -го фронта; TX, TY (4) - вспомогательные массивы для организации осмотра дискретов, соседних с I -м дискретом; X, Y (G, H) - координаты рассматриваемого дискрета. Описание схемы программы TRACE-3 (рис.15) Выбирается очередной слой платы (блоки 2, 3, 11) и формируется исходное ДРП (блок 4). При этом в соответствующие дискреты ДРП заносятся коды запрещенных областей, контактных площадок, незанятых дискретов. Затем поочередно для каждого соединения (блоки 5, 6, 9) проверяется принадлежность его выбранному слою (блок 7), и прокладывается трасса соединения (блок 8). После окончания трассировки слоя его эскиз формируется и выводится на экран видеотерминала (блок 10). Описание схемы подпрограммы WAVE (рис.16) Подпрограмма WAVE работает в 2 стадии: распространение числовой волны (блоки 1...I4) и проведение трассы (блоки 15...22). Вначале формируется фронт волны, состоящий из всех дискретов контактной площадки - источника волны (блок 2). Затем начинает формироваться очередной А +1 фронт волны (блок 4). Числа 1, 2... выбраны в качестве кодов (номеров цепей) проведенных трасс, поэтому для кодирования фронтов волны применяются числа 1001, 1002, 1003... Затем начинает формироваться очередной A +1 фронт волны (блок 4). Выбирается очередной I -й дискрет предыдущего А -го фронта (блоки 5, 11), осматриваются поочередно 4 дискрета, соседних с I -м (блоки 6, 10), отыскивается свободный дискрет блок 7). Если таковой найден, то в него записывается номер А +1 фронта, а в списки XL, YL(L) заносятся координаты этого дискрета. Если дискрет занят, то проверяется (блок 8), не достигла ли волна конечной контактной площадки или ранее протрассированного соединения " своей" цепи: DPX, Y = CCQ (X > = X2Q & X < X2Q +BX & Y > = Y2Q & Y < Y2Q + BY (2)
Рис. 15. Схема программы TRACE-3 ]
Рис.16. Схема подпрограммы WAVE Если нет, то продолжается осмотр дискретов ДРП до тех пор, пока не будут просмотрены все L дискрет (блок 11) А -го фронта. Затем проверяется (блок 12), удалось ли сформировать (А +1)-й фронт. Если удалось, то теперь (А +1)-й фронт становится (блок 13) опорным, и процедура повторяется. Если нет, то трассу провести не удалось, и выводится сообщение (блок 14) о номере не проведенного соединения и координатах его концов. Если логическое высказывание (2) оказалось истинным, то управление передается блоку 15 и начинается стадия проведения трассы. На этой стадии последовательно отыскивается новый дискрет (с координатами G и H), имеющий " вес", на единицу меньше " веса" последнего из найденных дискретов трассы, путем осмотра соседних дискретов (блоки 16, 17, 18). Когда такой дискрет найден (блок 19), в него записывается номер цепи и фиксируются его координаты (блок 20) Проведение трассы завершается " стиранием" остатков числовой волны (блок 22).
|