Компиляция и верификация проекта

Вы просматриваете версию 19.1. Для самой новой информации, перейдите на страницу Компиляция и верификация проекта для версии 25

 

Главная страница: Подробнее о схемах

Компиляция проекта

Что означает компиляция проекта? Зачем необходимо компилировать проект? Почему система не может просто отслеживать связность схемы в процессе ее создания?

Система управляет связанными данными на схеме и на плате.
Система управляет связанными данными на схеме и на плате.

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

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

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

Когда проект готов к компиляции, выберите команду Compile PCB Project в меню Project.

Система:

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

Благодаря этому подходу, редактор схем становится интеллектуальным средством черчения, а не просто инструментом для определения связей. Когда вы соединяете два вывода с помощью провода, вы, по сути, фиксируете свой инженерный замысел, а не создаете цепь. Цепь не будет создана до момента компиляции проекта, и этот процесс управляется алгоритмами за пределами редактора схем. Как упоминалось ранее, существует ряд преимуществ этого подхода, самым большим из которых является то, что скомпилированная модель проекта находится вне редактора схем и редактора плат. Скомпилированная модель называется унифицированной моделью данных (Unified Data Model – UDM). Эта модель включает в себя подробное описание каждого компонента в проекте и его связь с другими компонентами.

Чтобы узнать подробнее о создании связности, перейдите на страницу Создание связности.

Унифицированная модель данных

В основе системы лежит унифицированная модель данных (Unified Data Model – UDM). При компиляции проекта происходит создание единой связанной модели, которая занимает центральное место в процессе проектирования. Данные этой модели затем можно открывать и изменять с помощью различных редакторов и служб системы. Вместо того, чтобы хранить данные каждого аспекта проектирования по отдельности, модель UDM структурирована для хранения всей информации о проекте, в том числе о компонентах и связи между ними.

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

Итак, как же взаимодействовать с унифицированной моделью данных, чтобы, например, отследить цепь в проекте? Это осуществляется через панель Navigator.

Изучение связности в панели Navigator

Справочная страница: Панель Navigator

Если проект большой и разбит на множество листов, может быть сложно отследить цепь и проверить связность проекта, просто взглянув на схему. Чтобы упростить этот процесс, используется панель Navigator. Панель отображает весь скомпилированный проект, поэтому она будет пустой, пока вы не скомпилируете проект (Project » Compile PCB Project). Панель Navigator можно открыть, нажав кнопку Panels в нижней правой части приложения и выбрав Navigator.

Чтобы использовать панель:

  • Задайте поведение просмотра, нажав кнопку  в верхней части панели – будет открыта страница System - Navigation диалогового окна Preferences, где вы сможете задать предпочитаемый метод подсветки (настройки области Highlight Methods). Либо щелкните ПКМ по интересующему объекту в панели и используйте команды контекстного меню для настройки поведения навигации.
  • Задайте область просмотра в первой области панели. Для просмотра всего проекта выберите Flattened Hierarchy.
  • Щелкните мышью по компоненту в области Instance панели, чтобы перейти к этому компоненту, или разверните компонент, чтобы найти вывод и перейти к нему.
  • Щелкните мышью по цепи или шине в области Net / Bus, чтобы перейти к этой цепи или шине, или разверните цепь или шину, чтобы найти вывод и перейти к нему.

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

Верификация компонентов

Главная страница: Подробнее о компонентах и библиотеках

Ключевым аспектом верификации проекта является проверка корректности компонентов. Как правило, это осуществляется при добавлении компонентов в библиотеки предприятия. Типовые ошибки в компонентах, которые вызывают ошибки на плате, включают в себя:

  • Некорректная ссылка на посадочное место – компонент ссылается на недоступное посадочное место. В процессе передачи проекта из редактора схем в редактор плат система ищет посадочное место в панели Components, в соответствии с настройками библиотеки, заданных для каждого посадочного места в диалоговом окне PCB Model.
  • Выводы не соответствуют контактным площадкам – номера выводов символа компонента не соответствуют номерам контактных площадок. Система предполагает однозначное отображение: например, вывод 4 схемного символа соответствует контактной площадке 4 посадочного места. Это не обязательно – если номера не соответствуют друг другу, соответствие выводов и посадочных мест должно быть задано в процессе создания компонента в диалоговом окне PCB Model.

Прочие нарушения в компонентах, которые могут вызвать ошибки в проектах, включают в себя:

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

Настройка верификации

Главная страница: Диалоговое окно Project Options

Существует обширный ряд графических и электрических проверок, которые можно осуществить для компилируемого проекта. Эти проверки настраиваются в параметрах проекта. Выберите команду Project » Project Options, чтобы открыть диалоговое окно Project Options (последовательность клавиш: C, O). Настройки по умолчанию не подойдут для всех проектов, поэтому важно ознакомиться с ними и понять, как их задавать в соответствии с вашим проектом.

Графические проверки

В ходе компиляции, общие ошибки графики и редактирования проверяются в соответствии с настройками на вкладке Error Reporting диалогового окна Project Options.

Настройка требуемых проверок.
Настройка требуемых проверок.

Проверки сгруппированы по категориям, например Violations Associated with Nets (Нарушения, связанные с цепями), Violations Associated with Documents (Нарушения, связанные с документами), Violations Associated with Components (Нарушения, связанные с компонентами) и т.д. Группы представлены в списке в алфавитном порядке.

Режим отчета для каждого нарушения задан в столбце Report Mode, и для него можно выбрать одно из четырех значений, щелкнув по нему и выбрав нужный вариант из выпадающего списка: Fatal Error (Критическая ошибка), Error (Ошибка), Warning (Предупреждение), No Report (Без отчета).

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

Одной из важных настроек является Nets with only one pin (Цепи только с одним выводом). Ее можно использовать для поиска цепей только с одним узлом, где вывод соединен с портом или меткой цепи, но не соединен с другим выводом. По умолчанию для этого нарушения не задан отчет, но его можно изменить на предупреждение для обнаружения таких цепей.

Проверки связности

Проверка электрической связности осуществляется в соответствии с настройками на вкладке Connection Matrix диалогового окна Project Options.

Матрица соединений определяет допустимые и недопустимые электрические состояния.
Матрица соединений определяет допустимые и недопустимые электрические состояния.

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

Щелкайте по маленькому квадрату в матрице для изменения определенного правила. Каждое правило определяет уровень отчета для данного сочетания выводов/идентификаторов цепей. Для каждого правила существует четыре возможных значения: Fatal Error (Критическая ошибка), Error (Ошибка), Warning (Предупреждение), No Report (Без отчета).

Настройки на вкладках Error Reporting и Connection Matrix должны быть заданы в соответствии с требованиями текущего проекта.

Осмысление сообщений и поиск ошибок

Главная страница: Панель Messages

После компиляции проекта все предупреждения и ошибки приводятся в панели Messages. Обратите внимание, что панель Messages открывается автоматически, только если существуют ошибки. Чтобы проверить предупреждения, необходимо открыть панель. Нажмите кнопку Panels в нижней правой части приложения, чтобы открыть панель Messages. После того, как проект скомпилирован, в панели будут перечислены все найденные ошибки и предупреждения.

Панель Messages отображает найденные в проекте предупреждения и ошибки.
Панель Messages отображает найденные в проекте предупреждения и ошибки.

Панель Messages является центром управления, где отображаются нарушения компиляции. Следует иметь в виду следующее:

  • Nets with no driving source (Цепи без источника возбуждения, категория Violations associated with Nets) – если цепь не содержит вывод с электрическим типом Output или I/O, возникает эта ошибка. Это может произойти и в корректных состояниях, например, если цепь соединяет вывод соединителя со входным выводом.
  • Nets with multiple names (Цепи со множеством имен, категория Violations associated with Nets) – эта ошибка возникает, если вы изменяете имя цепи. Например, вы подключаете проименованную цепь ко входу в лист с другим именем (что допустимо), поскольку это имя входа в лист лучше отражает функцию цепи на листе более низкого уровня иерархии. Это также происходит в многоканальных проектах, где система должна назначить уникальное имя каждой повторяемой цепи.
  • Component Revision has Inapplicable State (Ревизия компонента в неприменимом состоянии, категория Violations associated with Components) – при этой проверке появляется сообщение Can't perform revision state validation (Невозможно провести валидацию состояния ревизии). Это нарушение возникает, когда ревизия компонента, размещенного с сервера управляемых данных, находится в неприменимом состоянии.
  • Панель Messages разделена на две области – в верхней части представлена таблица всех предупреждений/ошибок, в нижней – описание выбранного в данный момент предупреждения/ошибки.
  • Дважды щелкните по сообщению, чтобы перейти к этому предупреждению/ошибке. Дважды щелкните мышью по описанию, чтобы отобразить конкретный объект.
  • Вы можете щелкнуть по заголовку столбца в панели Messages (например, Class, Document, Message), чтобы отсортировать ошибки и предупреждения.
  • Щелкните ПКМ в панели Messages и выберите команду Clear, чтобы очистить сообщения, или Export, чтобы экспортировать их в отчет.
  • Панель включает в себя предупреждения и ошибки, обнаруженные в соответствии с настройками на вкладках Error Reporting и Connection Matrix.
  • Чтобы открыть диалоговое окно Place Specific No ERC, нажмите кнопку  в панели инструментов Wiring. В диалоговом окне представлен список текущих предупреждений/ошибок компиляции. Здесь поддерживается переход к ошибке и размещение предварительно настроенной специфичной директивы No ERC для выбранной ошибки.
  • При щелчке ПКМ по предупреждению/ошибке в панели Messages и выборе команды Place Specific No ERC for this violation вы автоматически перейдете к месту ошибки, и под курсором появится директива No ERC, готовая к размещению в месте ошибки. Нажмите клавишу Tab, чтобы отредактировать свойства директивы перед ее размещением, если необходимо.
    • Общая директива подавит все проверки ошибок в точке своего размещения.
    • Специфичная директива подавит только заданные проверки в точке своего размещения.

Исправление предупреждений и ошибок

Важно обращать внимание на все обнаруженные предупреждения и ошибки. Не все отчеты, заданные в настройках по умолчанию, могут быть проблемой на самом деле, но вы можете самостоятельно смягчить условия проверок. Например, в проекте может понадобиться, чтобы выводы входа-выхода были подключены ко входным портам, и для этого нужно настроить соответствующую ячейку на вкладке Connection Matrix. Другой проверкой, которую, как правило, нужно изменить, является Net has no driving source (Цепи без источника возбуждения), которую следует отключить на вкладке Error Reporting.

Могут быть ситуации, когда вам необходимо проверить весь проект на определенное условие, но вы хотите проигнорировать предупреждение/ошибку в определенном месте схемы. Например, вы хотите, чтобы цепь была переименована в определенном месте, но только в этом месте. Это можно сделать, разместив в этом месте директиву No ERC.

Использование директивы No ERC

Главная страница: Объект No ERC

Если необходимо, чтобы определенная точка схемы не формировала ошибку, разместите директиву No ERC (Electrical Rules Check – Проверка электрических правил) на этой точке (Place » Directives » Generic No ERC), что будет означать: "не помечать это место как предупреждение/ошибку". Настройте стиль и цвет символа No ERC в соответствии с его предназначением на схеме в режиме No ERC панели Properties.

Разместите директиву No ERC, чтобы подавить предупреждения или ошибки в этом определенном месте.Разместите директиву No ERC, чтобы подавить предупреждения или ошибки в этом определенном месте.

Обратите внимание, что директивы No ERC можно исключить из распечаток, если необходимо, включив соответствующие параметры в диалоговом окне Schematic Print Properties.

Вы можете разместить директиву Specific No ERC непосредственно в месте ошибки из панели Messages (щелкните ПКМ и выберите команду Place Specific No ERC for this violation, как показано на изображении ниже) или на нарушении.

Команда контекстного меню позволяет легко разместить специфическую директиву No ERC непосредственно в месте ошибки либо из панели Messages, либо из нарушения.
Команда контекстного меню позволяет легко разместить специфическую директиву No ERC непосредственно в месте ошибки либо из панели Messages, либо из нарушения.

Обратите внимание, что директивы No ERC нельзя использовать для подавления всех типов проверок. Когда диалоговое окно No ERC находится в состоянии Violation Types, в нем отображен список типов нарушений, которые можно подавить. Используйте его для изучения того, какие проверки можно подавить.

Подробнее об ошибках компилятора

Система может проверять большое количество состояний потенциальных ошибок. Информация о каждой проверке доступна в Справочнике по нарушениям компиляции проекта.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Примечание

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

Если вы не видите в своем ПО функцию, описанную здесь, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Content