Создание символа. Первый вариант.
Предыдущая статья
В предыдущей статье было описано, как настроить библиотеку, а в этой статье я опишу как создал первый символ.
Это будет усилитель для наушников класса AB TDA1308T производства NXP. Ссылка на Datasheet: www.nxp.com/documents/data_sheet/TDA1308.pdf
Забегая вперед, скажу, что это всего лишь один из способов создания символа, и конечный вариант будет другим, а этот мы удалим. Хотя, и с этим тоже можно работать.
Библиотека electronics-lab.lmc должна быть открыта в Library Manager и оттуда нужно запустить Dx Symbol Editor. Это можно сделать, выбрав Tools->Symbol Editor, либо же выбрав соответствующий значок на панели инструментов.
Откроется программа Symbol Editor. Её интерфейс я описывать не буду — там всё довольно понятно. Но, чтобы было понятно о чем я пишу, советую всё-таки найти области Symbol, Pins, Properties и Console; также будет полезно научиться их включать и выключать (View->Windows-><выбранное окно>)
Если же вы собираетесь работать с дюймами, то эту настроечку можно пропустить.
Этими шагами мы упростили себе жизнь, теперь, выводы наших элементов (если дальше не накосячить, а я косячил и знаю теперь, что делать не надо) будут попадать в сетку 2,5 мм при создании разработ. Будем делать элементы как для схем с большой плотностью (где резистор размером 10Х4 слишком велик, поэтому, будет 5Х2), так и стандартные. большие элементы будут попадать выводами в сетку 5 мм, малые в сетку 2,5 мм.
Теперь (хотя, правильнее было сделать это и ранее) создадим раздел Headphone_amps в библиотеке символов (можно сразу и в библиотеке компонентов)
В моём случае это свойства Ref Designator, Manufacturer и Part Number, а также системные — PARTS, Level.
Ref Designator — это позиционное обозначение микросхемы.
Part Number — это номенклатурный номер. Я предпочитаю оставлять номенклатурный номер производителя, поэтому такой пользовательский параметр, как Manufacturer я тоже включаю в символ, и он означает производителя микросхемы.
PARTS — показывает из скольких одинаковых частей состоит микросхема. Например, наша — из двух, а простой транзистор — из одной, и т.п.
Level — используется нетлистером, показывает уровень иехархии компонента, например, если в схеме есть Verilog или VHDL символы, то для того, чтобы нетлистер не копался ниже в их иерархии и не искал там что-то своё, необходимо указать уровень Verilog или VHDL. С этим свойством я знаком лишь поверхностно, но для микросхем его надо устанавливать, как STD.
Ничего нового File->New либо кнопочка, либо Ctrl+N, и создается новый символ с именем unnamed.1, вот это имя мы сразу и переименуем в TDA1308_half.1 в области Properties.
Я добавил half, поскольку сама микросхема TDA1308 состоит из двух одинаковых каналов, и я хочу отображать их в схеме раздельно. Именно поэтому, свойство Parts необходимо установить в 2.
Свойство Symbol Type необходимо оставить как Module — это обозначает, что наш символ, который представляет компоненты для установки на печатную плату или HDL и SPICE модели. Символы типа MODULE не имеют внутреннего схемотехнического представления.
Forward PCB = True (По умолчанию для Symbol type = module) — разрешает упаковку символа, прямую аннотацию и размещение посадочного места для компонента на печатной плате.
Precision = High. Включает нормальную работу с миллиметрами. Backward Compartible — включает работу с дюймами, миллиметровые символы в этом режиме превращаются в нечто непечатаемое (жаль, что администрация проитв мата, порой он весьма кстати). Поэтому, оставляем High.
У каждой половинки микросхемы будет по три вывода — два аналоговых входа IN+ и IN- и один аналоговый выход — OUt. Кроме того, создадим два скрытых вывода, один подключенный в AGND, Второй — к VCC (AGND и VCC — Внутренние глобальные символы центральной библиотеки)
Выводы, которые будут перенесены на УГО уже созданы, но в самом левом ряду в каждой колонке стоит звездочка, указывающая, что выводы пока не перенесены в схему.
Немного объясню, что мы сейчас сделали:
Name — это название вывода, его назначение. Можно сделать видимым или невидимым.
Dir — это назначение вывода, потратил три дня, чтобы получить объяснение что когда применять, в Россиянии все умно морщили лоб, строили из себя шибко умных, но так ничего и не сказали, залез на вражий форум (communities.mentor.com) и получил ответ через 25 минут. Привожу перевод:
Наиболее используемые типы выводов — это IN, OUT, BI, ANALOG, POWER and GROUND. Кто-то добавляет к ним TRI, OEM and OCL. Вывод TERMINAL используется редко в контексте разработок печатных плат, только если вы не запускаете функциональное симулирование устройства в VHDL-AMS.
Side — это сторона УГО, на которой будет расположен вывод.
Pin Number — это порядковый номер вывода. Тут особо стоит отметить, что напротив одного вывода надо писть такое количество номеров, которое указано в свойстве Parts.
Перетащим выводы из окна Pins в окно Symbol Расположим их в узлах 5мм сетки, так, чтобы аналоговые выводы IN+ и IN- были выровнены по вертикали, и находились на расстоянии 10 см один над другим, а аналоговый вывод OUT расположим между ними по-вертикали и на 10 мм правее по-горизонтали.
Если не перетащить выводы из окна Pins в окно Symbol перед закрытием Symbol Editor'а, то они пропадут.
Формат свойства следующий: Signal = name;pin_number, pin_number,…
Это необязательно задавать в символе, это можно задать и в дальнейшем создании компонента, но можно сделать и следующим образом:
Но так сразу добавить свойство в Symbol Editor'е не получится, его для этого надо перезапустить, поэтому, сохраняем символ в разделе headphone_amps, закрываем Symbol Editor.
Запускаем его снова из Library Manager'а, например, двойным щелчком на символе TDA1308_half.1 в разделе headphone_amps, библиотеки символов в центральной библиотеке electroincs-lab.ru.
Кстати, память у программы, как у девушки. Она уже забыла, что я — приверженец миллиметров, поэтому, мне снова надо настраивать вкладку general в File->Properties
Добавляем свойство Signal = gnd;4
Установим сетку в 1 мм. Нарисуем треугольник усилителя (вертикальная сторона — 12 мм, правая вершина — в начале вывода OUT).
Изменим сетку в 2,5 мм, сдвинем входные выводы ближе к друг другу.
Также я изменил положение и размер названий выводов.
Получилось вот так (выбраны только названия выводов):
Кликнем и перетащим Origin в удобное нам место. В моём случае, это отрицательный входной вывод усилителя.
Далее, переместим свойства Ref Designator и Part Number в положенные им места.
В завершение выберем Symbol->Update Symbol Outline
Вот, что получается в итоге:
Такой символ не стыдно и маме показать. Сохраняем, выходим из Symbol Editor'а.
В заключение могу сказать, что при работе над этим символом я самостоятельно научился довольно многим полезным вещам, в том числе и более правильному созданию компонента, что будет отражено в следующей статье.
В предыдущей статье было описано, как настроить библиотеку, а в этой статье я опишу как создал первый символ.
Это будет усилитель для наушников класса AB TDA1308T производства NXP. Ссылка на Datasheet: www.nxp.com/documents/data_sheet/TDA1308.pdf
Забегая вперед, скажу, что это всего лишь один из способов создания символа, и конечный вариант будет другим, а этот мы удалим. Хотя, и с этим тоже можно работать.
Библиотека electronics-lab.lmc должна быть открыта в Library Manager и оттуда нужно запустить Dx Symbol Editor. Это можно сделать, выбрав Tools->Symbol Editor, либо же выбрав соответствующий значок на панели инструментов.
Откроется программа Symbol Editor. Её интерфейс я описывать не буду — там всё довольно понятно. Но, чтобы было понятно о чем я пишу, советую всё-таки найти области Symbol, Pins, Properties и Console; также будет полезно научиться их включать и выключать (View->Windows-><выбранное окно>)
Настройка человеческой системы измерения и сетки
Теперь нам надо настроить единицы измерения, сетку и прочие плюшки. Признаться, я запорол несколько символов, прежде чем разобрался что здесь к чему, создавая сначала символ, потом меняя параметры, и потом уже неправильно сохраняя символ. Поэтому, сейчас я сразу кошерненько всё опишу.Если же вы собираетесь работать с дюймами, то эту настроечку можно пропустить.
- Выбираем File->Preferences
- В левой части окна Preferences выбираем General (должно быть выбрано по умолчанию)
- Меняем в области View:Units на mm, теперь человеческие единицы настроены
- Устанавливаем в области Grid: Grid Step значение 5 мм
- Устанавливаем в области Pins: Default Length значение 5 мм
- Нажимаем OK
Этими шагами мы упростили себе жизнь, теперь, выводы наших элементов (если дальше не накосячить, а я косячил и знаю теперь, что делать не надо) будут попадать в сетку 2,5 мм при создании разработ. Будем делать элементы как для схем с большой плотностью (где резистор размером 10Х4 слишком велик, поэтому, будет 5Х2), так и стандартные. большие элементы будут попадать выводами в сетку 5 мм, малые в сетку 2,5 мм.
Теперь (хотя, правильнее было сделать это и ранее) создадим раздел Headphone_amps в библиотеке символов (можно сразу и в библиотеке компонентов)
Настройка свойств символа по умолчанию
Далее, ещё сильнее упростим себе жизнь. В символ стоит добавлять определенные свойства, если мы хотим поместить их в определенные места.В моём случае это свойства Ref Designator, Manufacturer и Part Number, а также системные — PARTS, Level.
Ref Designator — это позиционное обозначение микросхемы.
Part Number — это номенклатурный номер. Я предпочитаю оставлять номенклатурный номер производителя, поэтому такой пользовательский параметр, как Manufacturer я тоже включаю в символ, и он означает производителя микросхемы.
PARTS — показывает из скольких одинаковых частей состоит микросхема. Например, наша — из двух, а простой транзистор — из одной, и т.п.
Level — используется нетлистером, показывает уровень иехархии компонента, например, если в схеме есть Verilog или VHDL символы, то для того, чтобы нетлистер не копался ниже в их иерархии и не искал там что-то своё, необходимо указать уровень Verilog или VHDL. С этим свойством я знаком лишь поверхностно, но для микросхем его надо устанавливать, как STD.
- Выбираем File->Preferences
- В левой части окна Preferences выбираем Symbol Default Properties
- Нажимаем на кнопку Add New Property
- Выбираем Ref Designator (возможно, вначале придется вбить хотя бы одну букву), устанавливаем Name как невидимое, а Value — видимое, прописываем в столбце Value DA?, Position устанвливаем Above Symbol
- Повторяем пункты 3 и 4, пока не установим следующие значения свойств:
Part Number = оставляем пустым
Manufacturer = оставляем пустым
Parts = 1
Level = STD - Видимыми должны быть только значения Value свойств Ref Designator и Part Number, положение для Part Number — Below Symbol, а для Ref Designator — Above Symbol.
- Нажимаем OK
Создание символа
Можно было бы создать символ через мастер создания символов, но он в Mentor Graphics (вроде как лидер в области разработки САПР печатных плат) ущербен чуть более, чем полностью. Именно поэтому создадим символ вручнуюНичего нового File->New либо кнопочка, либо Ctrl+N, и создается новый символ с именем unnamed.1, вот это имя мы сразу и переименуем в TDA1308_half.1 в области Properties.
Я добавил half, поскольку сама микросхема TDA1308 состоит из двух одинаковых каналов, и я хочу отображать их в схеме раздельно. Именно поэтому, свойство Parts необходимо установить в 2.
Свойство Symbol Type необходимо оставить как Module — это обозначает, что наш символ, который представляет компоненты для установки на печатную плату или HDL и SPICE модели. Символы типа MODULE не имеют внутреннего схемотехнического представления.
Forward PCB = True (По умолчанию для Symbol type = module) — разрешает упаковку символа, прямую аннотацию и размещение посадочного места для компонента на печатной плате.
Precision = High. Включает нормальную работу с миллиметрами. Backward Compartible — включает работу с дюймами, миллиметровые символы в этом режиме превращаются в нечто непечатаемое (жаль, что администрация проитв мата, порой он весьма кстати). Поэтому, оставляем High.
Создание выводов компонента
Вообще, мне известно три способа создания выводов. Самый простой — Symbol->Add Pin и сразу размещаем выводы в окне Symbol. Но для данной конкретной детали Предпочтительнее будет создать выводы в окне Pins.У каждой половинки микросхемы будет по три вывода — два аналоговых входа IN+ и IN- и один аналоговый выход — OUt. Кроме того, создадим два скрытых вывода, один подключенный в AGND, Второй — к VCC (AGND и VCC — Внутренние глобальные символы центральной библиотеки)
- В окне Pins нажимаем на надписи Click here to add new row
- В колонке Name вводим IN+, в колонке dir выбираем ANALOG, в колонке Side выбираем Left, В колонке Pin Number ввдодим 3,5
- Создаем также выводы IN-: ANALOG; Left; 2,6 и OUT: ANALOG; Right; 1,7
Выводы, которые будут перенесены на УГО уже созданы, но в самом левом ряду в каждой колонке стоит звездочка, указывающая, что выводы пока не перенесены в схему.
Немного объясню, что мы сейчас сделали:
Name — это название вывода, его назначение. Можно сделать видимым или невидимым.
Dir — это назначение вывода, потратил три дня, чтобы получить объяснение что когда применять, в Россиянии все умно морщили лоб, строили из себя шибко умных, но так ничего и не сказали, залез на вражий форум (communities.mentor.com) и получил ответ через 25 минут. Привожу перевод:
- IN (Input): Цифровые входы
- OUT (Output): Цифровые выходы, которые не являются TRI (выход с тремя состояниями), OEM (открытый эмиттер), OCL (открытый коллектор)
- BI (Bidirectional or Bidir): Цифровые выводы, которые являются как входными, так и выходными (обрабатывают и входящие и исходящие сигналы)
- ANALOG: Этот тип вывода используется в аналоговых устройствах а также для аналоговых выводов цифровых устройств (например, выход ЦАП или вход АЦП)
- OCL (Open collector): Выход с открытым коллектором
- OEM (Open emitter): выход с открытым эмиттером
- TRI (Tristate): Цифровой выход с третьим состоянием
- POWER: Вывод питания, обычно исплоьзуется для обозначения выводов питания (как положительного, так и отрицательного)
- GROUND: Вывод соединения с общим проводом
- TERMINAL: терминальный вывод дял VHDL-AMS (Analog Mixed Signal)
Наиболее используемые типы выводов — это IN, OUT, BI, ANALOG, POWER and GROUND. Кто-то добавляет к ним TRI, OEM and OCL. Вывод TERMINAL используется редко в контексте разработок печатных плат, только если вы не запускаете функциональное симулирование устройства в VHDL-AMS.
Side — это сторона УГО, на которой будет расположен вывод.
Pin Number — это порядковый номер вывода. Тут особо стоит отметить, что напротив одного вывода надо писть такое количество номеров, которое указано в свойстве Parts.
Перетащим выводы из окна Pins в окно Symbol Расположим их в узлах 5мм сетки, так, чтобы аналоговые выводы IN+ и IN- были выровнены по вертикали, и находились на расстоянии 10 см один над другим, а аналоговый вывод OUT расположим между ними по-вертикали и на 10 мм правее по-горизонтали.
Если не перетащить выводы из окна Pins в окно Symbol перед закрытием Symbol Editor'а, то они пропадут.
Добавление скрытых выводов компонентк
Для добавления скрытых выводов применяется свойство символа Signal. Это свойство позволяет присоединять цепи к выводам компонента, но для его применения, символ не должен содержать в явной форме выводов, к которым подводится сигнал. Цепи, подключенные подобным образом, обрабатываются системой, как глобальные.Формат свойства следующий: Signal = name;pin_number, pin_number,…
Это необязательно задавать в символе, это можно задать и в дальнейшем создании компонента, но можно сделать и следующим образом:
- Создадим в области Properties свойство Signal, назначим значение vcc;8
- Попробуем создать ещё одно свойство Signal со значением gnd;4
Но так сразу добавить свойство в Symbol Editor'е не получится, его для этого надо перезапустить, поэтому, сохраняем символ в разделе headphone_amps, закрываем Symbol Editor.
Запускаем его снова из Library Manager'а, например, двойным щелчком на символе TDA1308_half.1 в разделе headphone_amps, библиотеки символов в центральной библиотеке electroincs-lab.ru.
Кстати, память у программы, как у девушки. Она уже забыла, что я — приверженец миллиметров, поэтому, мне снова надо настраивать вкладку general в File->Properties
Добавляем свойство Signal = gnd;4
Создание графики символа
Прежде всего, удалим прямоугольник, который был создан автоматически, при создании символа.Установим сетку в 1 мм. Нарисуем треугольник усилителя (вертикальная сторона — 12 мм, правая вершина — в начале вывода OUT).
Изменим сетку в 2,5 мм, сдвинем входные выводы ближе к друг другу.
Также я изменил положение и размер названий выводов.
Получилось вот так (выбраны только названия выводов):
Доведение символа до ума
Наш символ почти готов, но его REFDES и Part Number находятся непонятно где, и его точка привазяки (Origin) тоже очень сильно не там, где нужно.Кликнем и перетащим Origin в удобное нам место. В моём случае, это отрицательный входной вывод усилителя.
Далее, переместим свойства Ref Designator и Part Number в положенные им места.
В завершение выберем Symbol->Update Symbol Outline
Вот, что получается в итоге:
Такой символ не стыдно и маме показать. Сохраняем, выходим из Symbol Editor'а.
В заключение могу сказать, что при работе над этим символом я самостоятельно научился довольно многим полезным вещам, в том числе и более правильному созданию компонента, что будет отражено в следующей статье.
0 комментариев