ГОСТ Р 70807-2023
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ЭЛЕКТРОНИКИ
Информационное обеспечение. Порядок разработки моделей SPICE. Описание модели
Electronics automated design systems. Information support. Procedure for development of SPICE models. Model description
ОКС 31.020
Дата введения 2023-08-01
Предисловие
1 РАЗРАБОТАН Акционерным обществом "Центральное конструкторское бюро "Дейтон" (АО "ЦКБ "Дейтон")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 165 "Системы автоматизированного проектирования электроники"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 5 июля 2023 г. N 479-ст
4 ВВЕДЕН ВПЕРВЫЕ
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
1 Область применения
1.1 Настоящий стандарт определяет требования к описаниям разрабатываемых моделей SPICE изделий для систем автоматизированного проектирования радиоэлектронной аппаратуры.
1.2 Стандарт рекомендован к применению организациями, предприятиями, учреждениями и другими субъектами хозяйственной деятельности независимо от форм собственности и подчинения, выполняющими научно-исследовательские работы, аванпроекты и опытно-конструкторские работы по разработке, модернизации, производству и применению изделий электронной техники (далее - изделия) в радиоэлектронной аппаратуре общего, специализированного и ответственного назначений.
1.3 На основе настоящего стандарта могут быть разработаны стандарты, учитывающие особенности разработки моделей SPICE для конкретных типов изделий.
2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий стандарт:
ГОСТ Р 57700.21 Компьютерное моделирование в процессах разработки, производства и обеспечения эксплуатации изделий. Термины и определения
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3 Термины, определения и сокращения
3.1 В настоящем стандарте применены термины по ГОСТ Р 57700.21, а также следующие термины с соответствующими определениями:
3.1.1 схема замещения: Схема электрической цепи, отображающая свойства цепи при определенных условиях.
3.1.2 эквивалентная схема: Схема замещения электрической цепи, в которой величины, подлежащие рассмотрению, имеют те же значения, что и в исходной схеме замещения.
3.2 В настоящем стандарте применены следующие сокращения:
САПР - система автоматизированного проектирования;
УГО - условное графическое обозначение.
4 Основные положения
Требования к описаниям моделей SPICE распространяются на разработку математических описаний и оформление текста моделей SPICE.
5 Требования к математическим описаниям
5.1 Для каждого выделенного свойства изделия составляют уравнения или другие математические соотношения, являющиеся математическим описанием. Они показывают зависимость между исходными данными и искомыми величинами, а также отношения между выделенными свойствами изделия.
Для построения математических описаний используются:
а) фундаментальные законы, которые признаны, доказаны опытом и являются базой для построения математических описаний;
б) вариационные принципы, основанные на утверждениях о вариантах поведения моделируемого изделия. При этом выбирают вариант, максимально соответствующий заданным условиям функционирования изделия;
в) принципы аналогии, когда невозможно выбрать фундаментальные законы или вариационные принципы, а также, когда подобные законы могут не существовать и описать их математически не представляется возможным;
г) иерархии математических описаний, обобщающих предыдущие, как частные случаи. Описания нижнего уровня создаются простыми, типовыми, допускающими широкую унификацию и использование набора готовых выражений. При этом на этапе моделирования следует учитывать взаимосвязь элементов и уровней иерархических описаний;
д) блочный принцип, предполагающий создание модели из отдельных логически законченных блоков, отражающих ту или иную сторону рассматриваемого процесса, позволяющий:
- разбить общую задачу построения модели на отдельные подзадачи и тем самым упростить ее решение;
- использовать ранее разработанные блоки из других моделей;
- совершенствовать отдельные блоки и заменять их на новые.
Математическое описание модели SPICE представляет собой совокупность математических описаний отдельных блоков. Каждый блок модели может иметь различную степень детализации математического описания. Входные и выходные переменные всех блоков модели должны находиться во взаимном соответствии, что обеспечивает получение системы уравнений, описывающей модель в целом.
Современные методы анализа работы изделий основываются на приемах, связанных с построением эквивалентных схем изделий. На практике такой подход позволяет получить наиболее точные результаты, которые дают современные средства моделирования. Они позволяют производить необходимые расчеты при наличии достаточных ресурсов вычислительной техники. Результаты расчета процессов позволяют оценить соответствие схемы установленным требованиям и являются логическим развитием методов эквивалентной схемы или схем замещения изделий.
5.2 Модели SPICE базируются на алгоритмическом методе решения, представляющим собой последовательность математических описаний и логических операторов. При этом для одной модели могут разрабатываться различные алгоритмы. Они могут выполняться как точными методами, так и приближенными, вследствие применения которых возникают погрешности, подразделяющиеся:
- на неустранимые погрешности, связанные с неточным заданием исходных данных;
- погрешности метода, связанные с переходом к дискретному аналогу исходной задачи;
- погрешности округления, связанные с конечной разрядностью чисел в вычислительных системах.
5.3 Математические описания необходимо проверить:
- на размерности;
- граничные условия;
- физический смысл;
- математическую замкнутость.
6 Требования к оформлению текстов моделей SPICE
Текст модели SPICE должен быть оформлен с использованием символов ASCII. При оформлении текста модели SPICE запрещено использование символов ", ", ‘, ’, «,». В тексте модели SPICE не должны игнорироваться различия между верхним и нижним регистрами.
Модели SPICE описывают: схемные элементы; узлы, с которыми эти элементы связаны; параметры элементов; определения и директивы. Все объекты описания должны иметь имена. В именах не должны использоваться зарезервированные слова time, temper, hertz и символы: (, ), =, ", ’, ., •, *, -,+, _, ^, ?.
Описания схемных элементов должны начинаться с символов идентификаторов ключей элементов, наименования и правила написания которых указаны в таблице 1.
Таблица 1
Идентификатор ключа | Наименование элемента | Назначение элемента |
.C | С-элемент | Емкость |
.E | Е-элемент | Источник напряжения, управляемый напряжением |
.F | F-элемент | Источник тока, управляемый током |
.G | G-элемент | Источник тока, управляемый напряжением |
.H | Н-элемент | Источник напряжения, управляемый током |
.K | K-элемент | Взаимная индуктивность |
.L | L-элемент | Индуктивность |
.R | R-элемент | Сопротивление |
.S | S-элемент | S-параметры |
.T | T-элемент | Линия передачи |
.V | V-элемент | Источник напряжения постоянного тока |
.W | W-элемент | Зависимая линия передачи |
.X | Х-элемент | Вложенная модель элемента |
Правила написания элементов:
курсив - обозначает место, где необходимо указать значение. Например, Rname - общее представление наименования резистора, заменяется на R32 в конкретной схеме;
полужирный - обозначает обязательный элемент в синтаксисе описаний. Например, Rname- для общего представления наименования резистора, R является обязательным элементом синтаксиса, заменяется на R32.
В именах параметров, узлов или элементов запрещено использование символьных конструкций, указанных в таблице 2.
При отсутствии УГО изделий в САПР, для которых разрабатываются модели SPICE, средствами программного языка создаются УГО в составе моделей SPICE.
Таблица 2
Элемент модели | Запрещенные символьные конструкции в именах параметров, узлов или элементов |
.R-элемент | POLY, TC, SENS |
.С-элемент | POLY, TC, SENS |
.E-элемент | AND, DELAY, FOSTER, LAPLACE, NAND, NPWL, NOR, VCCS, OPAMP, OR, POLE, POLY, PWL, SPUR, TRANSFORMER, VCR, VCCAP, VCVS, FREQ, ZTRANS, VMRF, NOISE, NOISEFILE, MNAME, PHASE, SCALE, MAX, PAR |
.G-элемент | AND, DELAY, FOSTER, LAPLACE, NAND, NPWL, NOR, VCCS, OPAMP, OR, POLE, POLY, PWL, SPUR, TRANSFORMER, VCR, VCCAP, VCVS, FREQ, ZTRANS, VMRF, NOISE, NOISEFILE, MNAME, PHASE, SCALE, MAX, PAR |
.F-элемент | POLY, PWL, AND, NAND, OR, NOR, VMRF, CCCS, CCVS, DELAY |
.H-элемент | POLY, PWL, AND, NAND, OR, NOR, VMRF, CCCS, CCVS, DELAY |
.L-элемент | POLY, TC, SENS, RELUCTANCE, TRANSFORMER_NT, FILE |
.S-элемент | ZO, Z0, MNAME |
.T-элемент | IC |
.W-element | RLGCFILE, PRINTZO, RLGCMODEL,TABLEMODEL, FSMODEL, MODEL, SMODEL |
В именах узлов типа GND разрешено использование следующих символов и символьных конструкций: 0; GND, ! GND, GROUND или GND !.
Каждый узел должен иметь не менее двух соединений, за исключением узлов линии передачи. Неиспользуемые линии передачи запрещены. Отражения на концах неиспользуемых линий передачи вызывают искажения, которые могут создавать неоднозначные уровни сигналов и неадекватное поведение модели.
Применение оператора .PARAM без определения запрещено. Параметры могут быть определены с использованием методов, показанных в таблице 3.
Таблица 3
Назначение | Описание, пример |
Простое определение | .PARAM SimpleParam=1e |
Алгебраическое выражение | .PARAM AlgebraicParam=’SimpleParam*8.2 |
Пользовательская функция | .PARAM MyFunc(x,y)=’SQRT((x*x)+(y*y))’ |
Присвоение строк | .PARAM StringParam=str(’mystring’) |
В определениях параметров всегда используется последнее объявленное значение. Порядок объявления параметров:
- символьные значения;
- выражения;
- функции.
В параметрах могут быть присвоены следующие типы значений:
- постоянное вещественное число;
- математическое выражение реальных значений;
- строки, не относящиеся к математическим выражениям.
Любое сложное выражение, применяемое в операторе параметров, должно быть заключено в одинарные кавычки.
Параметр сохраняет присвоенное значение, если только последующее определение не изменит его. Присвоения различных значений одному параметру в разных областях модели разрешается в следующем порядке:
- вызов .SUBCKT (где параметр назначается как часть схемы);
- определение SUBCKT (где символ параметра определен для передачи в значении, и назначается значение по умолчанию);
- оператор .PARAM.
Любой параметр в модели может заменить математическое выражение, в котором допускается применять арифметические операции (+, -, *, /), а также встроенные функции и переменные, перечисленные в таблице 4.
Таблица 4
Выражение | Наименование | Результат выполнения |
sin(x) | синус | Возвращает значение синуса от x (в радианах) |
cos(x) | косинус | Возвращает значение косинуса от x (в радианах) |
tan(x) | тангенс | Возвращает значение тангенса от x (в радианах) |
asin(x) | арксинус | Возвращает значение арксинуса от x (в радианах) |
acos(x) | арккосинус | Возвращает значение арккосинуса от x (в радианах) |
atan(x) | арктангенс | Возвращает значение арктангенса от x (в радианах) |
sinh(x) | гиперболический синус | Возвращает значение гиперболического синуса от x (в радианах) |
cosh(x) | гиперболический косинус | Возвращает значение гиперболического косинуса от x (в радианах) |
tanh(x) | гиперболический тангенс | Возвращает значение гиперболического тангенса от x (в радианах) |
abs(x) | абсолютное значение | Возвращает абсолютное значение от x: |
sqrt(x) | квадратный корень | Возвращает квадратный корень из абсолютного значения х: sqrt (-х)=- sqrt ( ) |
pow(x,y) | возведение в степень | Возвращает значение х, возведенное в степень до целой части y: х (целая часть y) |
pwr(x,y) | возведение в степень | Возвращает абсолютное значение х, возведенное в степень до y, со знаком x: (знак х) y |
x**y | возведение в степень | Если x<0, возвращает значение x, возведенное в степень до целой части y. Если x=0, возвращает 0. Если x>0, возвращает значение х, возведенное в степень до y |
log(x) | натуральный логарифм | Возвращает натуральный логарифм абсолютного значения х со знаком x: (знак x) log ( ) |
log10(x) | логарифм по основанию 10 | Возвращает логарифм по основанию 10 абсолютного значения х со знаком x: (знак x) log10 (|х|) |
exp(x) | экспонента | Возвращает значение экспоненты, возведенное в степень х |
db(x) | децибел | Возвращает логарифм по основанию 10 абсолютного значения x, умноженный на 20, со знаком x: (знак x) 20log10 ( ) |
int(x) | целое число | Возвращает целочисленную часть от x |
nint(x) | усреднение | Усреднение х вверх или вниз, до ближайшего целого |
sgn(x) | знак возврата | Возвращает минус 1, если x меньше 0. Возвращает 0, если x равно 0. Возвращает 1, если x больше 0 |
sign(x,y) | знак перехода | Возвращает абсолютное значение x со знаком y: (знак y) |
def(x) | проверка определения параметра | Возвращает 1, если задан параметр x. Возвращает 0, если параметр x не определен |
min(x,y) | меньшее | Возвращает меньшее из двух чисел x и y |
max(x,y) | большее | Возвращает большее из двух чисел x и y |
[z] ?x : y | условие | Возвращает x, если z не равен 0, иначе возвращает y. Пример: .param z=’condition ? x:y’ |
< | меньше | Возвращает 1, если левая часть выражения меньше, чем правая. В противном случае возвращает 0. Пример: .param x=y < z (y меньше z) |
<= | меньше, равно | Возвращает 1, левая часть выражения меньше или равна правой. В противном случае возвращается 0. Пример: .param x=y<=z (y меньше или равно z) |
> | больше | Возвращает 1, если левая часть выражения больше, чем правая. В противном случае возвращает 0. Пример: .param x=y>z (y больше z) |
== | сравнение | Возвращает 1, если левая и правая части выражения равны. В противном случае возвращается 0. Пример: .param x=y == z (y равно z) |
!= | неравенство | Возвращает 1, левая и правая части выражения не равны. В противном случае возвращается 0. Пример: .param x=y!=z (y не равно z) |
&& | логическое И | Возвращает 1, если левая и правая часть выражения не равны нулю. В противном случае возвращает 0. Пример: .param x=y && z |
II | логическое ИЛИ | Возвращает 1, если левая или правая части, или обе части выражения не равны нулю. Возвращает 0 только в том случае, если обе части выражения равны нулю. Пример: .param x=y || z (y OR z) |
В именах узлов, параметров и элементов допускается использовать представленные в таблице 5 символы.
Таблица 5
Символ | Использование | Примечание | |||
в именах узлов | в именах элементов и подсхем | в именах параметров | |||
~ | Тильда | Без ограничений | Только во вложениях | Только во вложениях | - |
! | Восклица- тельный знак | Без ограничений | Только во вложениях | Только во вложениях | - |
# | Октоторп | Без ограничений | Только во вложениях | Только во вложениях | - |
$ | Знак доллара | Не использовать после номера в имени узла | Только во вложениях | Только во вложениях | Применяется в комментариях |
% | Процент | Без ограничений | Только во вложениях | Только во вложениях | - |
Л | Каретка | Без ограничений | Только во вложениях | Не использовать | Возведение в степень в комментариях |
& | Амперсанд | Без ограничений | Только во вложениях | Только во вложениях | - |
* | Звездочка | Не использовать в имени узла | Только во вложениях | Не использовать в имени параметра | В комментариях может указываться ** как возведение в степень |
( ) | Скобки | Не использовать | Не использовать | Не использовать | Разделитель данных |
- | Минус | Только во вложениях | Только во вложениях | Не использовать | - |
Подчерк | Без ограничений | Только во вложениях | Только во вложениях | - | |
+ | Плюс | Только во вложениях | Только во вложениях | Не использовать | В комментариях продолжает предыдущую строку, за исключением цитируемых строк |
= | Равно | Только во вложениях | Только во вложениях | Не использовать в операторах .PARAM | Разделитель данных |
< > | Меньше/больше | Без ограничений | Только во вложениях | Только во вложениях | - |
? | Вопросительный знак | Без ограничений | Только во вложениях | Только во вложениях | Знак подстановки |
/ | Косая | Без ограничений | Только во вложениях | Не использовать | - |
{ } | Фигурные скобки | Только во вложениях | Только во вложениях | Только во вложениях | - |
[ ] | Квадратные скобки | Только во вложениях | Только во вложениях | Только во вложениях | - |
\\ | Двойная обратная косая | Только во вложениях | Без ограничений | Без ограничений | - |
| | Вертикальная | Без ограничений | Только во вложениях | Только во вложениях | - |
, | Запятая | Не использовать | Не использовать | Не использовать | Разделитель данных |
- | Тире | Не использовать | Не использовать | Не использовать | Используется как специальный идентификатор оператора |
: | Двоеточие | Только во вложениях | Только во вложениях | Только во вложениях | Разделитель атрибутов элемента |
; | Точка с запятой | Только во вложениях | Только во вложениях | Только во вложениях | - |
II II | Двойные кавычки | Не использовать | Не использовать | Не использовать | Разделитель имен файлов |
’ ’ | Одинарные кавычки | Не использовать | Не использовать | Не использовать | Разделитель имен файлов |
Пробел | Не использовать | Не использовать | Не использовать | Разделитель |
УДК 621.865:8:007.52:006.354 | ОКС 31.020 | |
Ключевые слова: модель, SPICE, САПР, моделирование, радиоэлектронная аппаратура |