Реструктуризация проекта
Главная страница: Подробнее о схемах
В традиционном понимании, рефакторинг – это процесс реструктуризации существующего проекта (или программного кода) без изменения функциональности этого проекта (или кода). С точки зрения проектирования плат, существуют различные ситуации, когда инструменты реструктуризации могут быть полезными и своевременными:
- Компонент устарел, и его необходимо заменить функционально эквивалентной схемой (перейти).
- Проект необходимо преобразовать в схему для использования в более крупном проекте (перейти).
- Существующий лист схемы необходимо преобразовать в лист устройства для повторного использования в будущих проектах (перейти).
- Существующий лист устройства необходимо локализовать и изменить для текущего проекта (перейти).
- Участок схемы необходимо переместить на другой лист (перейти).
Altium Designer предлагает ряд функциональных возможностей, который в совокупности составляют инструменты реструктуризации (рефакторинга) проекта.
Преобразование компонента в символ листа
Эта возможность идеально подходит в случаях, когда существующий компонент устарел и его необходимо заменить функционально эквивалентной схемой, заданной на отдельном листе.
Щелкните ПКМ по компоненту и выберите команду Part Actions » Convert Part To Sheet Symbol из контекстного меню, чтобы преобразовать символ компонента в символ листа. Связность сохраняется, поскольку входы в лист называются в соответствии с изначальными названиями выводов, а типы входа/выхода (I/O Type) задаются в соответствии с электрически типами изначальных выводов.
Обозначение (Designator) символа листа изначально задается в соответствии позиционным обозначением исходного компонента, а имя файла (File Name) – в соответствии с комментарием компонента.
Если нужный дочерний лист существует, измените File Name символа листа, чтобы он указывал на этот лист. В противном случае, подчиненный лист можно быстро создать, щелкнув ПКМ по символу листа и выбрав команду Sheet Symbol Actions » Create Sheet From Sheet Symbol. В этом случае, в новом подчиненном листе будут размещены порты, соответствующие входам в лист символа листа, и в нем можно формировать эквивалентную схему.
Передача компонента в новый подчиненный лист
Чтобы достичь того же конечного результата другим и, возможно, более быстрым способом, щелкните ПКМ по нужному компоненту и выберите команду Part Actions » Push Part To Sheet. По сути, произойдет следующая последовательность действий:
- Компонент будет скопирован.
- Изначальный компонент будет преобразован в символ листа с обозначением (Designator), заданным в соответствии с обозначением изначального компонента, и именем файла (File Name), заданным как
<КомментарийИзначальногоКомпонента>.SchDoc
. Опять же, имена входов в лист и их тип I/O Type отражают соответствующие свойства изначального компонента. - Из символа листа будет создан новый лист схемы, названный в соответствии со значением свойства File Name символа.
- В центр листа будет добавлена копия изначального компонента, с размещенными портами, соответствующими входам в лист символа листа и соединенными с выводами компонента.
Вы можете удалить компонент и заменить его нужной функционально эквивалентной схемой.
Преобразование компонента в порты
Эта возможность идеально подходит в тех случаях, когда необходимо преобразовать отдельный существующий проект, например плату источника питания, в схему, которая будет использоваться в более крупном проекте платы. Возможно, так будет уменьшены затраты на производство. Это процесс обратный тому, что был описан в предыдущем разделе, где компонент заменялся схемой более низкого уровня. Здесь, напротив, схема подключается к проекту более высокого уровня, что делает ее доступной для подключения к точке на более высоком уровне иерархии.
Щелкните ПКМ по компоненту и выберите команду Part Actions » Convert Part To Ports из контекстного меню. Символ компонента будет преобразован в набор портов. Связность сохраняется, поскольку порты называются в соответствии с изначальными названиями выводов, а типы входа/выхода (I/O Type) задаются в соответствии с электрически типами изначальных выводов.
Вставка схемы в иерархию завершается добавлением символа листа в нужный лист более высокого уровня. Для этого необходимо выполнить следующее:
- Сделайте нужный родительский лист активным.
- Используйте команду Design » Create Sheet Symbol From Sheet.
- Выберите документ, в котором содержатся созданные из компонента порты, в диалоговом окне Choose Document to Place.
- Символ листа появится под курсором – расположите его в нужном месте и щелкните ЛКМ, чтобы выполнить размещение.
Символ листа будет ссылаться на дочерний лист (через свойство File Name), и его входы в лист будут соответствовать портам на дочернем листе.
Преобразование листа схемы в лист устройства
На определенном этапе у концепции повторного использования проектных данных повышается уровень абстракции. Если остановиться на уровне компонентов, то создание проектов с одинаковыми участками функциональности, например USB-интерфейсом или регулятором напряжения, превратится в изобретение велосипеда. И здесь станут полезными листы устройств – листы схем, разработанные для определенной функциональности. Их использование сокращает риски, связанные с традиционным подходом копирования и вставки. Кроме того, они устраняют необходимость в повторении определенных участков схем, когда они добавлены на уровень проектных данных, которые можно использовать в будущих проектах.
Редактор схем в своем наборе инструментов реструктуризации предлагает возможность быстро преобразовать существующий стандартный лист схемы в лист устройства для его повторного использования в других проектах.
Чтобы преобразовать существующий лист схемы в лист устройства:
- Найдите символ листа, ссылающийся на нужный лист, на соответствующем родительском листе в иерархии проекта.
-
Выделите символ листа и выберите команду Edit » Refactor » Convert Selected Schematic Sheet To Device Sheet из главного меню. Будет открыто диалоговое окно Convert Schematic Sheet to Device Sheet. Выберите целевое расположение, в котором будет храниться новый лист устройства, а также область действия преобразования, т.е. нужно ли обновлять текущий символ листа или все соответствующие символы листов в рабочей области или в активном проекте. Последний вариант может быть особенно полезным в многоканальном проекте, где существует несколько экземпляров схемы.
-
Нажмите OK. Символ листа будет преобразован в символ листа устройства, а схема будет перемещена в указанное расположение листов устройств.
Преобразование листа устройства в лист схемы
Листы устройств позволяют сформировать участок схемы и повторно использовать его в других проектах. Тем не менее, может возникнуть необходимость изменить существующий участок схемы для определенного проекта. Вместо изменения самого листа устройства редактор схем позволяет создать копию листа устройства, что сделает его схему доступной на обычном листе схемы. Это позволит внести в локальную копию изменения в соответствии с требованиями текущего проекта и оставить исходный лист устройства нетронутым.
Для преобразования существующего листа устройства в лист схемы выполните следующее:
- Найдите символ листа устройства, который ссылается на нужный лист устройства.
-
Выделите символ листа устройства и выберите команду Edit » Refactor » Convert Device Sheet To Schematic Sheet из главного меню. Будет открыто диалоговое окно Convert Device Sheet to Schematic Sheet. Выберите целевое расположение, в котором будет храниться новый лист схемы, а также область действия преобразования, т.е. нужно ли обновлять текущий символ листа устройства или все соответствующие символы листов устройств в рабочей области или в активном проекте.
-
Нажмите OK. Символ листа устройства будет преобразован в символ листа, и копия листа устройства будет сохранена в указанном расположении локально как обычный (незащищенный от изменений) лист. Символ листа будет ссылаться на этот локальный лист.
Перемещение выделенного участка цепи на другой лист
По мере развития проекта, может возникнуть необходимость в перемещении содержимого исходных листов схем, которые составляют этот проект. Например, если лист стал перегружен, то определенную часть схемы может разместить на отдельном листе, чтобы улучшить читаемость схемы.
Еще одним инструментом реструктуризации является возможность выделения одного или множества объектов на листе и перемещение этого набора выделенных объектов на другой лист. Для этого необходимо выполнить следующее:
- Выделите участок схемы, который нужно переместить.
-
Щелкните ПКМ и выберите команду Edit » Refactor » Move Selected Subcircuit to Different Sheet из контекстного меню. Будет открыто диалоговое окно Choose Destination Document – используйте его, чтобы указать целевой лист схемы.
- Нажмите OK. Выбранный лист станет активным, и выделенный участок схемы появится под курсором.
- Расположите схему на листе нужным образом и щелкните ЛКМ, чтобы выполнить размещение. После размещения этот участок схемы будет удален из изначального листа.
- При размещении на новом листе добавьте символ листа на соответствующую родительскую страницу, чтобы лист был корректно добавлен в иерархию проекта.