Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Материалы к лабораторным работам / ЛЕКЦИИ / Физическая и логическая связность

.docx
Скачиваний:
91
Добавлен:
15.02.2021
Размер:
2.74 Mб
Скачать

Физическая и логическая связность

На схеме вы можете задать связь с помощью провода (объекта Wire), проложенного от одного компонента к другому – это называется физической связностью.

Вы также можете соединить один вывод с другим, разместив короткий отрезок объекта Wire и метку цепи (Net Label) на каждом из этих выводов. При компиляции проекта система определит эти две части цепи и соединит их между собой для формирования единой цепи. Такая связность называется логической.

Физическая связность позволяет отследить каждый провод при чтении схемы, но большое количество связей может привести к загромождению схемы. С другой стороны, метки цепей Net Label сокращают количество проводов, но в этом случае необходимо просматривать схему, чтобы найти все возможные соединения. Как разработчик, вы можете свободно выбирать, какая модель связности лучше подходит в вашем проекте, или использовать оба этих способа.

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

Помимо создания логической связности в пределах листа схемы, существуют также объекты для создания логической связности между листами схемы. Способ связности будет зависеть от структуры схемы – является ли она плоской или иерархической. Подробнее об этом ниже.

Существует ряд идентификаторов цепей, которые можно использовать для создания связи между листами.

Объекты, используемые для создания связности

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

ИДЕНТИФИКАТОР ЦЕПИ

НАЗНАЧЕНИЕ

Bus (Шина)

Используется для объединения набора цепей, например Data[0..7]. Цепи должны именоваться последовательно, с помощью определенной схемы именования (например, Data0, Data1,... Data7), и это именование определяет название шины, например Data[0..7].

Bus Entry (Вход в шину)

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

OffSheet Connector (Межлистовой соединитель)

Используется для соединения цепи на разных листах схемы (не в пределах одного листа). Поддерживает только горизонтальную связность (плоские проекты). Межлистовые соединители имеют ограниченную функциональность по сравнению с объектами Port.

Net Label (Метка цепи)

Используется для создания связности с другими метками цепей с тем же именем на одном листе. Цепь автоматически именуется по имени метки цепи. Метки цепей могут быть размещены на выводах компонентов, проводах и шинах. Обратите внимание, что метки цепей не создают связи между листами, пока в настройках проекта параметру Net Identifier Scope не задано значение Global.

Pin (Вывод)

Выводы размещаются в редакторе схемных символов для представления физического контакта компонента. Электрически активным является только один конец вывода, который называется электрической точкой вывода.

Port (Порт)

Используется для соединения на разных листах схемы. Связность может быть вертикальной в иерархическом проекте или горизонтальной в плоском проекте (о вертикальной и горизонтальной связности сказано ниже). Имена портов используются для именования цепей, если на вкладке Options диалогового окна Options for Project включен параметр Allow Ports to Name Nets. В этом случае, порты также создают связи в пределах листа схемы.

Power Port (Порт питания)

Создает связность со всеми другими портами питания с тем же именем во всем проекте, независимо от структуры проекта. Цепь автоматически именуется по порту питания. При необходимости цепь может быть локализована определенным листом схемы.

Sheet Entry (Вход в лист)

Разместите в символе листа Sheet Symbol, чтобы создать связность с портом с тем же именем на дочернем по отношению к символу листа схеме. Входы в лист используются в качестве имен цепей, если на вкладке Options диалогового окна Options for Project включен параметр Allow Sheet Entries to Name Nets.

Signal Harness (Сигнальный жгут)

Используется для группирования любого сочетания цепей, шин и жгутов более низкого уровня.

Wire (Провод)

Электрический примитив-полилиния, который используется для формирования электрических соединений между точками на схеме. Является аналогом физического провода.

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

Как структура проекта влияет на связность

Связанная страница: Многолистовые и многоканальные проекты

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

Создание многолистовых проектов осуществляется путем размещения объектов Sheet Symbol на родительском листе, который представляет связанный дочерний лист, как показано на изображении ниже.

Объекты Sheet Symbol представляют связанные листы более низкого уровня. В плоских проектах у этой структуры может быть только один уровень глубины, в иерархических проектах ограничения на количество уровней нет.

Что определяет, является ли проект плоским или иерархическим? Это задается настройкой параметра Net Identifier Scope, который определяет, как вы хотите создать связь между листами. Эта настройка осуществляется на вкладке Options диалогового окна Options for Project.

Проект может содержать только один лист верхнего уровня. Ссылки на остальные исходные документы должны быть заданы символами листов. Символ листа не может ссылаться на лист, на котором он находится, либо ссылать на лист более верхнего уровня, поскольку это создаст неразрешимую петлю в структуре проекта.

Плоский проект

Связанная страница: Многолистовые и многоканальные проекты

Проект называется плоским, если связность создается непосредственно от одного листа к другому, а не через объекты Sheet Symbol на родительском листе. В плоском проекте символы листов лишь представляют дочерние листы (и ссылаются на них). Все листы проекта отображаются в панели Projects на одном уровне, поскольку иерархии нет. На обоих изображениях ниже показан плоский проект.

Создавать плоские проекты проще. Плоский проект может включать в себя лист верхнего уровня с объектами Sheet Symbol для каждого дочернего листа, но это не обязательно, поскольку этот лист верхнего уровня не используется для создания связи между листами. Для небольших проектов, который содержат только два или три листа схемы, лист верхнего уровня может не иметь смысла. Если количество листов велико, лист верхнего уровня может помочь читающему схему понять работу устройства по расположению логических блоков (объектов Sheet Symbol) на листе.

   Один и тот же проект без листа верхнего уровня (слева) и с листом верхнего уровня (справа). Оба являются примерами плоского проекта.

В плоском проекте, соединения между листами может быть создано с помощью объектов Port, Offsheet Connector, Power Port и Net Label, как показано на изображении с увеличительным стеклом выше. Рекомендуемым подходом является использование объектов Net Label в пределах листа и объектов Port для задания связи между листами. Порты предлагают больше функций, чем межлистовые соединители, в том числе возможность добавлять перекрестные ссылки Port Cross Reference, которые добавляют каждому порту ИмяЛиста[Координаты], ссылаясь на соответствующий порт на другом листе, как показано на изображении ниже.

Ограничения на количество листов в плоском проекте нет.

Возле каждого порта можно добавить перекрестную ссылку Port Cross Reference, которая показывает целевой лист и координаты соответствующего порта.

Поведение плоского проекта, где связность осуществляется непосредственно от одного листа до другого, определяется заданным параметру Net Identifier Scope значением Automatic, Flat или Global. Обратите внимание, что если вы решили использовать сочетание объектов Port и Net Label для создания связи между листами, вы не можете использовать опцию Automatic – в этом случае, необходимо вручную задать параметру Net Identifier Scope значение Global.

Иерархический проект

Главная страница: Многолистовые и многоканальные проекты

Проект называется иерархическим, если связность между листами осуществляется от объекта Sheet Symbol до дочернего листа, на который этот объект ссылается. На уровне цепей, связность создается между объектом Sheet Entry в этом символе листа Sheet Symbol и портом Port с тем же именем, что и у входа в лист, на дочернем листе. Такой тип связности также называется вертикальной, поскольку связь между листами создается только между родительским листом и его дочерними листами.

В иерархическом проекте связность на уровне цепей создается от объекта Sheet Entry на верхнем листе до соответствующего объекта Port на дочернем листе.

У иерархических проектов есть два главных преимущества.

  1. Первое заключается в возможности показать читающему схему функциональность устройства, поскольку листы схем систематизированы и представлены логическими блоками (объектами Sheet Symbol). Лист верхнего уровня представляет проект в качестве набора функциональных блоков высокого уровня, традиционное расположение слева направо, от входа к выходу которых отображает функционирование всей схемы. Если необходимо, эти блоки могут быть далее разбиты на более малые блоки, что позволяет создавать схемы нижнего уровня, на которых расположены компоненты, и формировать относительно простую структуру, с небольшим количеством компонентов. Поскольку каждый лист относительно прост, можно оставлять малый размер листов, что является большим преимуществом для печати схем.

  2. Другим основным преимуществом является то, что в иерархическом проекте отследить сигнал, как правило, проще, поскольку читающему схему нужно только сопоставить объект Sheet Entry на родительском листе и объект Port на дочернем листе, и отследить сигнал по линии связи на каждом листе.

Для формирования иерархического проекта необходимы дополнительные действия – в символах листов нужно создать входы в лист, и на листе верхнего уровня иерархии необходимо создать линии связи для определения сигналов между объектами Sheet Symbol. Система включает в себя средство, которое позволяет поддерживать синхронизацию объектов Sheet Entry с объектами Port на дочерних листах (Design » Synchronize Sheet Entries and Ports для всех объектов Sheet Symbol, либо Sheet Symbol Actions » Synchronize Sheet Entries and Ports из контекстного меню для отдельного объекта Sheet Symbol). Также есть средства, которые помогают разбить большой проект малые блоки (Edit » Refactor » Move Selected Sub-circuit to Different Sheet). Чтобы узнать больше об этих средствах, обратитесь к странице Реструктуризация проекта.

Ограничений на количество уровней и количество листов в иерархическом проекте нет.

Проект является иерархическим, когда связь между листами осуществляется только между объектами Sheet Entry на родительском листе и соответствующими объектами Port на дочернем листе. Это поведение иерархического проекта определяется заданным параметру Net Identifier Scope значением Automatic, Hierarchical или Strict Hierarchical.

Многоканальные проекты

Главная страница: Многолистовые и многоканальные проекты

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

   Слева показаны четыре объекта Sheet Symbol, каждый из которых ссылается на один лист схемы (PortIO.SchDoc). Справа показана схема InputChannel.SchDoc, продублированная восемь раз с помощью ключевого слова Repeat.

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

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

Для многоканального проекта задайте параметру Net Identifier Scope значение Automatic, Hierarchical или Strict Hierarchical.

Дублирование компонентов и цепей решается системой на основе схемы именования, выбранной на вкладке Multi-channel диалогового окна Options for Project.

Определение области действия идентификаторов цепей

Страница диалогового окна: Options for Project

При компиляции проекта система использует текущие настройки параметра Net Identifier Scope для определения того, как должна быть создана связность между листами схем. Настройка параметра Net Identifier Scope осуществляется на вкладке Options диалогового окна Options for Project (Project » Project Options).

Выберите режим Net Identifier Scope в соответствии со структурой вашего проекта

Поведение опций Global, Flat и Hierarchical показано на изображениях ниже.

    Простые примеры, показывающие создание связности для трех главных режимов (слева на право): Global, Flat, Hierarchical.

Помимо упомянутых выше трех опций (Global, Flat, Hierarchical), также существует опция Automatic. Как правило, лучше оставить эту настройку в состоянии Automatic – система выберет наиболее подходящий режим на основе структуры листов и наличия/отсутствия объектов Port и Sheet Entry.

Когда выбрано Automatic, система автоматически выбирает, какой из трех основных режимов идентификаторов цепей использовать, на основе следующих критериев:

  • Если на листе верхнего уровня есть входы в лист, будет использоваться Hierarchical.

  • Если нет входов в лист, но есть порты, то будет использоваться Flat.

  • Если нет ни входов в лист, ни портов, будет использоваться Global.

Режим Strict Hierarchical локализует все порты питания на каждом листе. В этом режиме необходимо связать все цепи питания (и земли) на каждом из дочерних листов с помощью объектов Ports и Sheet Entry. Вы можете сделать это для отдельных листов, не используя режим Strict Hierarchical, а разместив объекты Sheet Entry + Port для цепей питания, которые вы хотите локализовать.

Как именуются цепи

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

Цепям без идентификатора цепи присваивается заданное системой имя, на основе одного из выводов в этой цепи.

Объекты Net Label всегда именуют цепи, к которым они присоединяются. Точкой присоединения по умолчанию является нижний левый угол объекта Net Label, обозначенный небольшим перекрестием при перемещении объекта.

Другие идентификаторы будут именовать цепи, если в области Netlist Options вкладки Options диалогового окна Options for Project включены соответствующие параметры.

Идентификаторы цепей различных типов не соединяются друг с другом автоматически. Например, порт с именем Reset не будет соединен с меткой цепи с именем Reset, даже если в диалоговом окне Options for Project включен параметр Allow Ports to Name Nets. Связь между этими объектами необходимо задать проводом.

Множество идентификаторов в одной цепи

Вы не можете размещать множество объектов Net Label с различными именами на одной цепи в пределах одного листа схемы. Подобные ситуации будут помечаться ошибкой при компиляции проекта. Тем не менее, вы можете размещать множество идентификаторов на одной цепи в различных листах схем, где эта цепь присутствует.

Это позволяет разработчику следующее:

  • Изменять имя цепи на различных уровнях иерархии для лучшего отражения назначения цепи на разных листах.

  • Повторно использовать дочерние листы схем без необходимости переименовывать цепи на них.

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

  • Измените настройки проверки ошибки Nets with Multiple Names на вкладке Error Reporting диалогового окна Options for Project

  • Подавите отдельные предупреждения путем размещения объекта Specific No ERC Marker на каждом из них. Обратите внимание, что объект Specific No ERC Marker можно разместить, щелкнув ПКМ по предупреждению в списке в панели Messages или щелкнув ПКМ по цветной волнистой линии, обозначающей нарушение на листе схемы. Вид и цвет объекта можно изменить в панели Properties, когда объект No ERC Marker выделен.

Настройки для управления именованием цепей

Страница диалогового окна: Options for Project

В конечном итоге, у цепи на плате может быть только одно имя (у одной цепи платы не может быть два имени, пока вы намеренно не объедините две цепи с помощью Net Tie). Система автоматически обрабатывает цепи со множеством имен, чтобы при компиляции проекта у цепи было только одно имя, но это может быть не то имя, которое вы ожидаете. Для управления тем, какое имя будет выбрано, существует ряд параметров в области Netlist Options на вкладке Options диалогового окна Options for Project. Обратитесь к странице диалогового окна Options for Project для получения более подробной информации об этих параметрах.

Хорошим подходом является включение параметров Allow Ports to Name Nets и Higher Level Names Take Priority. В сочетании с разумным использованием меток для значимых цепей на каждом листе, это позволяет обеспечить именование всех важных цепей, в том числе тех, которые используются на множестве листов, и обеспечить использование имен, присвоенных на схемах более высокого уровня, на схемах более низкого уровня.

Если включены параметры именования множества цепей, используется следующий порядок приоритетов именования цепей:

  • Если параметр Power Port Names Take Priority выключен, используется следующий порядок: Net Label, Power Port, Port, Pin.

  • Если параметр Power Port Names Take Priority включен, используется следующий порядок: Power Port, Net Label, Port, Pin.

Две отдельные цепи с одним именем

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

Эту ситуацию можно решить включением параметра Append Sheet Numbers to Local Net на вкладке Options диалогового окна Options for Project. Если этот параметр включен, именам всех локальных цепей будет добавлен параметр SheetNumber, как показано на изображении ниже.

   Поскольку метка цепи Input была использована на множестве листов, был включен параметр Append Sheet Numbers to Local Net для предотвращения появления ошибки Duplicate Nets. Результат можно увидеть, щелкнув по вкладке скомпилированного листа (изображение справа). Обратите внимание, что имени цепи было добавлено _2.

Параметр Append Sheet Numbers to Local Net будет работать, только если листам схем были назначены уникальные параметры SheetNumber. Параметр SheetNumber присваивается на вкладке Parameters панели Properties в режиме Document Options, для каждого схемного листа. Вместо присвоения уникальных номеров каждому схемному листу вручную вы можете использовать команду Tools » Annotation » Number Schematic Sheets, которая откроет диалоговое окно Sheet Numbering for Project. Его можно использовать для присвоения уникальных параметров SheetNumbers (числовое значение для каждого листа) и DocumentNumbers (обычно используется для нумерации документов согласно выбранной предприятием схеме) всем листам.

Намеренное соединение двух цепей<

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

Это можно сделать, соединив две цепи с помощью компонента Net Tie. Компонент Net Tie является не более чем управляемым замыканием, которое позволяет конструктору определить место соединения цепей на плате. На схеме у компонента Net Tie присутствуют два (или больше) вывода, которые подсоединяются к одной из цепей, которые необходимо замкнуть. Свойству Component Type задано значение Net Tie, как показано ниже.

Компонент Net Tie, используемый для трассировки одного тактового сигнала к двум тактовым выводам ПЛИС на схеме.

Обратите внимание, что выводы не связываются друг с другом на схеме, но они соединяются вместе внутри посадочного места.

На стороне печатной платы, посадочное место содержит столько же контактных площадок, сколько выводов присутствует в схемном компоненте, с проводником между ними. На изображении примера, показанном ниже, это осуществляется соединением двух квадратных контактных площадок трассой внутри посадочного места в редакторе библиотек посадочных мест. Свойству Component Type также задано значение Net Tie.

Система автоматически игнорирует короткие замыкания, созданные внутри компонента Net Tie на плате, поэтому ошибка не будет создаваться.

The same Net Tie component on the PCB, the pads (selected) in the Net Tie footprint are shorted with a track.

Когда для соединения двух различных цепей используется компонент Net Tie, каждая цепь сохраняет собственное имя, как на схеме, так и на плате.

  • При создании символа и посадочного места компонента Net Tie, есть два режима Component Type для Net Tie: один включает Net Tie в BOM (например, если Net Tie является перемычкой), второй исключает его из BOM (если Net Tie является просто отрезком провода).

  • При трассировке компонента Net Tie на плате можно использовать любые режимы для трассировки от контактной площадки компонента Net Tie. Для трассировки кконтактной площадке компонента Net Tie необходимо переключиться в режим Stop at First Obstacle или Ignore Obstacle. ► Показать анимацию.

Цепи питания

Настройки по умолчанию предполагают, что цепи питания являются глобальными, т.е. они будут доступны на любом схемном листе. Чтобы получить доступ к цепи питания, просто разместите объект Power Port с нужным именем цепи, затем задайте связи между компонентами и этими портами питания.

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

Локализация цепи питания – Глобально

Как упоминалось ранее, в иерархическом проекте цепи питания можно локализовать в каждом листе схемы путем выбора опции Strict Hierarchical у параметра Net Identifier Scope. Этот подход локализует все цепи питания на каждом листе, поэтому эти цепи необходимо связать между собой тем же образом, что и сигнальные цепи. Если этого не сделать, то при компиляции проекта появится ошибка Duplicate Net Name для каждой цепи питания, которая присутствует на каждом листе схемы. Также необходимо задать настройки Connection Matrix, чтобы объекты Port могли быть подключены к объектам Power Port.

Если параметру Net Identifier Scope задано значение Strict Hierarchy, то цепи питания необходимо связать вручную на каждом листе, где они используются.

Локализация цепи питания – Индивидуально