Часть 5: Свойства соединений


plug

5-2: Ограничения

plug



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

Жесткие и с фиксированным углом дуги

Первое ограничение в Electric - это ограничение жесткости (rigid). Когда дуга сделана жесткой, она не может изменять длину. Если узел, или конец, перемещаются, другой узел и дуга перемещаются на то же расстояние. Кроме сохранения ограничения на длину, жесткие дуги присоединены к их узлам фиксированным образом. Что означает, что если узел поворачивается или отражается, дуга вращается так же, таким образом, полная конфигурация остается неизменной. Без этого ограничения жесткости дуги просто растягиваются и вращаются для поддержания их связности.

Второе ограничение, которое используется только, если дуга не жесткая, это ограничение фиксации-угла (fixed-angle). Это ограничение заставляет проводники поддерживать постоянный угол (обычно используются горизонтальные и вертикальные проводники в их  Manhattan ориентации). Например, если вертикальная с фиксированным углом дуга соединяет два узла, и нижний узел перемещается влево, тогда дуга и верхний узел также перемещаются  влево на то же расстояние. Если этот нижний узел перемещается вниз, дуга просто вытягивается без влияния на другой узел. Если нижний узел перемещается вниз и влево, дуга и перемещается, и вытягивается. Поворот узла не меняет дуг с фиксированным углом, если дуга не соединена с нецентральным портом, в последнем случае некоторое перемещение и растяжение могут иметь место.

Большинство компоновок IC выполняется с Manhattan геометрией. Если вы подозреваете,  что некоторые из ваших проводников перекашиваются, используйте субкоманду Show Nonmanhattan команды Cleanup Facet меню Edit.

Figure 5.1

Скользящие дуги

Третье ограничение, также относящееся к не жестким дугам, это скольжение (slidability). Когда дуга скользящая, она может двигаться внутри ее порта. Чтобы это полностью осознать, вы должны знать в точности, где располагается конец (endpoint) дуги. Большинство дуг определены так, чтобы продлевать окончание на половину их ширины. Это означает, что конец дуги центрирован в конечном прямоугольнике. Если дуга двойной ширины, тогда конец дуги находится на расстоянии ширины от края прямоугольника. Все концы дуг должны быть внутри порта, к которому они присоединены. Если порт - это единственная точка, тогда нет вопроса, где может прикрепляться дуга. Если же, однако, порт имеет большую область, как в случае контакта, тогда дуга может соединяться в любом, или нескольких местах.

Figure 5.2

Скользящие дуги скорее размещаются внутри пространства порта, чем перемещаются. Например, если движение узла таково, что дуга может скользить без перемещения, тогда не будет происходить изменения дуги или другого узла. Без ограничения скольжения движение дуги оставляет соединение в том же месте внутри порта. Скользящая разводка работает двояко, поскольку, если дуга движется, но может скользить внутри порта другого узла, тогда этот узел не перемещается. Заметьте, что скольжение проявляется только для полного движения, а не для частичного смещения. Если узел сдвигается на 10 и может скользить на 1, тогда он перемещает дугу на все 10, а скольжение не проявляется, только движение на 1 или меньше будет скользящим.

Поскольку порты имеют протяженность, и поскольку концы дуг где-то внутри этой области, реальный конец дуги может быть очень изменчив. Если дуга в дальнем конце порта, она может выглядывать за пределы дальней стороны узла, создавая нежелательное прибавление геометрии. Вы можете укоротить дугу, так чтобы расположить конец дуги в ближней части порта субкомандой Shorten Selected Arcs команды Cleanup Facet меню Edit.

Размножение ограничения

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

Figure 5.6

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

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


Prev

Предыдущий

   

Contents

Содержание

   

Следующий

Next