РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ СИСТЕМЫ ADVANCED DESIGN SYSTEM

Глава 3.Создание проектов (Design)

Содержание

  1. Компоненты схемы
  2. Размещение компонентов

В этой главе описано, как создать проект в системе ADS.

Рассматриваются следующие разделы:

Содержание


1. Компоненты схемы

Компонент имеет:

Ptolemy требует, чтобы значения параметров компонентов схемы имели специальные типы (такие, как строка, комплексное число или массив вещественных чисел).

Нижеследующая таблица 1 описывает каждый тип и как его использовать.

Таблица 1

Тип значения
Описание
Real (вещественное)

Редактирование в окне "Параметры компонента":

А. Наберите вещественное число

В. Наберите выражение для вещественного значения.

Например, X*cos(Y), где X и Y - определённые выражения.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите вещественное значение или выражение

Integer (целое)

Редактирование в окне "Параметры компонента":

А. Наберите целое число.

В. Наберите выражение для целого значения.

Например, X+Y, где X и Y - определённые выражения.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите целое значение или выражение

Fixed Point (вещественное с фиксированной точкой)

Редактирование в окне "Параметры компонента":

А. Введите вещественное число с фиксированной точкой.

В. Наберите выражение для вещественного значения.

Например, X*cos(Y), где X и Y - определённые выражения.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите вещественное значение или выражение

Complex (комплексное)

Редактирование в окне "Параметры компонента":

А. Введите комплексное число в формате Re+j*Im

В. Введите выражение для комплексного значения. Например, cos(X)+j*sin(Y), где X и Y - определённые выражения.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите комплексное значение или выражение

String (строка)

Редактирование в окне "Параметры компонента":

А. Введите строку. Не используйте для ограничения строки двойные кавычки ("). Если внутри строки необходим символ <">, используйте комбинацию <"">.

В. Введите значение по ссылке. Например, @Y, где Y - имя переменной или выражения строкового типа (string).

Редактирование параметров на схеме: выделите значение параметра и введите строковое значение, заключённое в двойные кавычки.

Precision (точность)

Редактирование в окне "Параметры компонента":

А. Введите строку в форме X.Y или Y/W. Не заключайте эту строку в двойные кавычки. Форма X.Y (например, 8.24) означает, что число имеет X бит (включая знаковый бит) слева от десятичной точки и Y бит - справа. Запись Y/W (например, 24/32) означает, что в данном числе Y бит после десятичной точки, а всё число занимает W бит (X+Y=W).

В. Введите значение по ссылке. Например, @Y, где Y - имя переменной или выражения типа Precision.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите строку, заключенную в двойные кавычки.

Filename (имя файла)

Редактирование в окне "Параметры компонента":

А. Введите строку с именем файла, включая путь, и выберите его расширение. Данная строка может содержать переменные среды, например, ~/, $HOME, $HPEESOF_DIR и т.д.

В. Введите значение по ссылке. Например, @Y, где Y - имя переменной или выражения для имени файла.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите строку, заключенную в двойные кавычки.

Integer Array (массив целых чисел)

Редактирование в окне "Параметры компонента":

А. Введите целые значения непосредственно. Пример: 1 3 -2 5 (в качестве разделителя используется пробел).

B. Считайте значения из файла. Пример: < имя_файла. Если путь к этому файлу не указан, то используется директория проекта. Данный файл должен содержать числа, разделённые пробелами и/или символами перевода строки.

Например, файлы
1 -2
5 2
и
1 -2
5 2
эквивалентны.

C. Можно использовать комбинацию способов А и B. Например, 1 <file1 2. Если file1 содержит запись -2 5, то получится тот же массив, что в B.

D. Введите значение по ссылке. Например, @Y, где Y - имя переменной или выражения для массива целых чисел.

Редактирование параметров на схеме: выделите значение параметра на схеме и наберите массив целых чисел, заключенный в двойные кавычки.

Fixed Point Array или Real Array (массив вещественных чисел)
Все способы задания значений этого типа полностью совпадают со способами задания массива целых чисел.
Complex Array (массив комплексных чисел)

Редактирование в окне "Параметры компонента":

А. Введите комплексные значения непосредственно. Например: (1.2, 2.5) (-2.3, 1.3) (5.6, -1.4) (2.8, 3.4). Каждое комплексное число заключено в круглые скобки (реальная и мнимая части разделены запятой), а в качестве разделителя этих чисел используется пробел.

B. Считайте значения из файла. Пример: <имя_файла. Если путь к этому файлу не указан, то используется директория проекта. Данный файл должен содержать числа, разделённые пробелами и/или символами перевода строки.

Например, файлы
1.2 2.5
-2.3 1.3
5.6 -1.4
2.8 3.4
и
1.2 2.5
-2.3 1.3
5.6 -1.4
2.8 3.4
эквивалентны.

C. Можно использовать комбинацию способов А и B. Например, (1.2, 2.5) <fil1 (2.8, 3.4). Если fil1 содержит числа -2.3 1.3 5.6 -1.4, то получится тот же массив, что в А.

D. Введите значение по ссылке. Например, @Y, где Y - имя переменной или выражения для массива комплексных чисел.

Редактирование параметров на схеме: выделите значение параметра на схеме и наберите массив комплексных чисел, заключенный в двойные кавычки.

String Array (массив строк)

Редактирование в окне "Параметры компонента":

А. Введите строковые значения непосредственно. Например: "Button 1" "Button 2" "Button 3". Каждая строка заключена в кавычки, а в качестве разделителя строк используется пробел.

B. Можно считать значения из файла. Пример: <имя_файла. Если путь к этому файлу не указан, то используется директория проекта. Данный файл должен содержать строки, разделённые пробелами и/или символами перевода строки.

C. Можно использовать комбинацию способов А и B. Например, "Button 1" < file1 "Button 3". Если file1 содержит текст "Button 2", то получится тот же массив, что в А.

D. Введите значение по ссылке. Например, @Y, где Y - имя переменной или выражения для массива строк.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите строковый массив, заключенный в двойные кавычки.

Enumerated Type (перечисляемый тип, уникален для каждого компонента)

Редактирование в окне "Параметры компонента":

А. Выберите перечисляемый тип из списка, уникального для каждого параметра компонента.

В. Выберите перечисляемый тип Standard и наберите целое число в поле ввода (это число ассоциируется с позицией в списке значений перечисляемого типа: 0 - первое значение, 1 -второе и т.д.). С. Выберите перечисляемый тип Standard и наберите в поле ввода выражение для целого числа.

Например, X+Y, где X и Y - определенные выражения.

Редактирование параметров на схеме: выделите значение параметра на схеме и введите значение перечисляемого типа или с помощью стрелок (на клавиатуре) выберите нужное значение из множества возможных.

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

Содержание

1.1. Редактирование параметров

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

Значениями параметров могут быть арифметические выражения. Это особенно важно в иерархических проектах для передачи параметров компонентов верхнего уровня в компоненты нижнего уровня. Примером правильного выражения в качестве значения параметра является выражение x=pi/(2*order), где order - параметр, определённый для схемы или для символа верхнего уровня, а pi - встроенная константа . Основные арифметические операции - сложение (+), вычитание (-), умножение (*), деление (/) и возведение в степень (^). Эти операторы предназначены для работы с целыми и вещественными (с плавающей точкой) числами. В настоящее время все промежуточные вычисления выполняются с двойной точностью, и только по окончании вычислений результат преобразуется к типу того параметра, который вычислялся. Следовательно, необходимо соблюдать осторожность, когда, например, для вычисления целочисленного параметра используются выражения, оперирующие вещественными числами. В самом деле, для целочисленного параметра все промежуточные вычисления будут вычисляться с двойной точностью, после чего результат будет приведён к целочисленному значению.

Содержание

1.2. Параметры комплексного типа

При определении комплексных значений используется следующий формат: real+j*imag, где real и imag представляются вещественными числами двойной точности, которые могут быть либо числами, либо выражениями; j - мнимый оператор.

В HP Ptolemy существуют также другие функции, которые могут работать с комплексными числами:

Содержание

1.3. Параметры для компонентов с фиксированной точкой (parameters for fixed-point components)

Многие компоненты с фиксированной точкой, используемые в HP Ptolemy, имеют один или несколько общих параметров, которые определяют специфические характеристики значений с фиксированной точкой. Такими характеристиками являются переполнение, сообщение о переполнении, квантование, формат представления вещественного числа (точность) и др. Следующие пункты описывают несколько общих приёмов использования данных компонентов.

  1. Параметры, задающие точность значений, обычно имеют имена, содержащие в своём составе слово "Precision" ("Precision", "InputPrecision", "OutputPrecision" и т.д.). Эти параметры могут быть определены двумя способами:

    1 способ: в виде строки "m.n" (например, "3.2"), где m - количество битов для представления целой части, n - количество битов для преставления дробной части числа. Таким образом, длина всего числа равна m+n.

    2 способ: в виде строки "n/w". Например, "24/32" - для представления вещественного числа отведено 32 бита, из которых 24 бита - для представления дробной части. Этот формат часто бывает более удобным, т.к. длина слова обычно является постоянной величиной, в то время как количество битов для представления дробной части изменяется при использовании нормализации.

    В обоих случаях знаковый бит считается принадлежащим целой части числа, в связи с чем минимальное значение количества битов для представления целой части равно 1. Максимальная длина числа (w или m+n) равна 256. Таким образом, например, значение 0.8 может иметь точность "2/4". Это означает, что для представления числа будет использовано 4-битовое слово с двумя битами в дробной части. Т.к. значение "0.8" в заданном формате не может быть представлено точно, реальное значение параметра будет преобразовано к значению "0.75". Когда на вход, связанный с классом сигналов с фиксированной точкой (скалярным или матричным), поступает сигнал другого класса, соответственно, скалярного или матричного, принятый сигнал автоматически преобразуется к значению с фиксированной точкой. Вход, предназначенный для работы со скалярными сигналами с фиксированной точкой, не будет воспринимать любые сигналы матричного класса, и наоборот. При автоматическом преобразовании аналоговых (timed), комплексных сигналов и сигналов с плавающей точкой к сигналам с фиксированной точкой по умолчанию используется 32-битное слово с минимальным необходимым количеством битов в целой части. Например, автоматическое преобразование числа 1.0 в формате с плавающей точкой создаёт число с фиксированной точкой с форматом точности 2.30, а числа 0.5 - с форматом точности 1.31.
  2. Параметр, использующийся для указания арифметического вида значения с фиксированной точкой, имеет имя ArithType. Это параметр перечисляемого типа, принимающий два значения: TWOS_COMPLEMENT и UN_SIGNED. Компоненты с фиксированной точкой в библиотеке Numeric Synthesizable DSP может использовать любой вид. Однако компоненты с фиксированной точкой из других библиотек (вне библиотеки Numeric Synthesizable DSP) могут использовать только форму TWOS_COMPLEMENT (это значение по умолчанию).
  3. Параметр для задания правила квантования обозначается словом RoundFix. Этот параметр принадлежит к перечисляемому типу и может принимать значения ROUND (округление) и TRUNCATE (отсечение). Правило квантования используется при преобразовании числа с плавающей точкой в число с фиксированной точкой. Если выбрано значение ROUND, то при преобразовании числа с плавающей точкой будет получено ближайшее число с фиксированной точкой. Например, предположим, что число с плавающей точкой имеет значение 0.1. Данное значение не может быть точно представлено в двоичном коде: десятичному значению 0.1 соответствует двоичное число 1.0001100110011... с бесконечным количеством битов в дробной части. Если задана точность 2.8 и правило квантования - ROUND, то ближайшим двоичным числом с фиксированной точкой будет 1.00011010. Если в качестве правила квантования выбрать TRUNCATE, а точность оставить той же, то получим двоичное число 1.00011001.
  4. Параметр для обозначения действий при переполнении во время выполнения математических операций называется OverflowHandler или OvflwType. Оба параметра имеют перечисляемый тип. Параметр OverflowHandler может принимать четыре значения: wrapped, saturate, zero_saturate, warning. Параметр OvflwType может принимать два значения: wrapped или saturate. Параметр OvflwType используется только компонентами с фиксированной точкой из библиотеки Numeric Synthesizable DSP. Параметр OverflowHandler используется всеми остальными компонентами с фиксированной точкой. Параметр переполнения обозначает те действия, которые необходимо произвести, когда результат операции с фиксированной точкой не удовлетворяет заданной точности.

    Рассмотрим источник данных пилообразного сигнала с фиксированной точкой (RampFix), рис. 1. У него шаг равен 0.2, начальное значение 0, точность выходного сигнала 2.14 с правилом квантования ROUND (округление).

    Рис. 1. Источник данных пилообразного сигнала с фиксированной точкой

    Рис. 1. Источник данных пилообразного сигнала с фиксированной точкой

    Когда параметр OverflowHandler имеет значение wrapped, выходной сигнал будет иметь следующий вид:

    Рис. 2 Выходной сигнал

    Рис. 2 Выходной сигнал

    Заметим, что для сигнала в форме TWOS_COMPLEMENT максимальное значение для точности 2.14 с округлением составляет около 1.9, а минимальное значение - около -2.0. Реально в десятичном представлении этих чисел гораздо больше цифр, это из-за квантования размера шага. Максимум и минимум получаются следующим образом: размер шага (0.2) преобразуется к формату числа с фиксированной точкой с точностью 2.14 и становится величиной шага для генератора пилообразного сигнала. Начальное значение сигнала равно нулю, оно на каждом шаге увеличивается на полученное представление числа 0.2. Когда достигается максимальное значение, на выходе устанавливается минимальное значение для заданных точности и правила квантования.

    Если в этом примере заменить правило квантования на TRANCATE (отсечение), то после моделирования получим следующие результаты(рис. 3):

    Рис. 3. Результаты моделирования после применения TRANCATE

    Рис. 3. Результаты моделирования после применения TRANCATE

    Заметим, что здесь максимальное значение при точности 2.14 равно 2.0, а минимальное равно -1.9. Значение сигнала, в начальный момент равное нулю, на каждом шаге увеличивается на 0.2. когда достигается максимальное значение, на выходе устанавливается минимальное значение для заданной точности.

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

    Рис. 4. Результаты со значением параметра переполнения, равным saturate

    Рис. 4. Результаты со значением параметра переполнения, равным saturate

    Заметим, что при достижении значения 2.0 сигнал остаётся на этом уровне.

    При использовании отсечения и параметра переполнения, равного zero_saturate, получим следующую картину:

    Рис. 5. При использовании отсечения и параметра переполнения, равного zero_saturate

    Рис. 5. При использовании отсечения и параметра переполнения, равного zero_saturate

    Здесь при достижении максимального значения (2.0) сигнал принимает значение ноль (на следующем шаге), после чего цикл повторяется.

    При использовании отсечения и параметра переполнения, имеющего значение warning (предупреждение), получим следующие результаты:

    Рис. 6. При использовании отсечения и параметра переполнения, имеющего значение  warning

    Рис. 6. При использовании отсечения и параметра переполнения, имеющего значение warning

    Заметим, что в данном случае используется значение параметра переполнения saturate. Кроме того, этот режим приводит к появлению предупреждающего сообщения в окне Simulation/Synthesis Messages во время моделирования каждый раз, когда значение с фиксированной точкой попадает в зону насыщения.

  5. Параметр, отвечающий за отображение сообщений о переполнении, обозначается словом ReportOverflow. Это параметр перечисляемого типа, принимающий одно из двух значений: REPORT или DONT_REPORT. Рассмотрим предыдущие результаты моделирования. В каждом случае, если параметр ReportOverflow=REPORT, после моделирования выводится предупреждающее сообщение в окне Simulation/Synthesis Messages. Для одного из предыдущих примеров при значении параметра переполнения, равном zero_saturate, сообщение будет таким:

    1: R1: experienced overflow in 9 out of 102 fixed-point calculations checked (8.8%) (возникло переполнение в 9 случаях из 102 при вычислениях с фиксированной точкой)

    Если щёлкнуть на этом сообщении, то на схеме выделится компонент RampFix с именем R1.

    Когда ReportOverflow=DONT_REPORT, предупреждающие сообщения не отображаются.

  6. Параметр UseArrivingPrecision указывает, будет ли компонент использовать входной сигнал с его текущей (оригинальной) точностью или же перед использованием сигнала в вычислениях следует преобразовать его значение к точности, определённой внутри компонента. Этот параметр имеет перечисляемый тип и принимает одно из двух значений: NO или YES. Этот параметр используется в паре с параметром InputPrecision. Если UseArrivingPrecision=NO, входной сигнал преобразуется к точности, заданной параметром InputPrecision внутри компонента, иначе - используется точность входного сигнала (значение не преобразуется).

Содержание

1.4. Строковые параметры

Строковые параметры принимают текстовое значение, которое может состоять из любых алфавитно-цифровых символов, включая пробелы и знаки пунктуации. Если в тексте должен присутствовать символ ("), то необходимо его удвоить (""), что будет интерпретировано как один символ (").

Содержание

1.5. Параметр имя файла (filename)

Значением данного параметра является имя файла, которое может включать в себя путь и переменные среды, такие, как ~/, $HOME, $HPEESOF_DIR и др. Если путь не указан, то в качестве пути к файлу принимается директория с данными для текущего проекта верхнего уровня.

Содержание

1.6. Массивы

Самый простой способ для определения массива целых, вещественных и комплексных чисел или строк - перечисление значений через пробелы. В следующем примере, 1 2 3 4 5, определяется массив целых чисел из пяти элементов.

Повторение может быть отражено следующим образом: значение[n], где n - целое число. Например, 1 2 3[10] 4 5. В этом примере определён массив из 14 элементов, десять из которых равны 3. Массив или его часть можно считать из файла, используя символ "<": 1 2 <filename 3 4. Здесь первые два элемента будут равны 1 и 2, следующие элементы будут считаны из файла filename, а последние два элемента будут равны 3 и 4.

Этот способ может быть использован в сочетании с компонентом WaveForm для чтения значений сигнала из файла.

Массив комплексных чисел также можно задать перечислением: (1.2, 2.5) (-2.3, 1.3) (5.6, -1.4) (2.8, 3.4), где каждая пара чисел в скобках представляет собой реальную и мнимую части комплексного числа.

Пример задания массива строк:
"Button 1" "Button 2" "Button 3"

Содержание

1.7. Чтение значений элементов массивов из файлов

Значения массивов всех типов можно считать из файла. Для этого используется символ "<".

Например:
< filename
или
1.2 2.6 < filename 2.8 6.4

Если в filename не содержится путь, то используется директория данных текущего проекта верхнего уровня. Во всех других случаях имя файла должно использоваться вместе с путём к нему. Ссылки на переменные среды и каталоги позволяют составить полный путь к файлу с данными. Значения в файле данных должны быть надлежащего типа. Следует заметить, что все пробелы между знаком "<" и именем файла игнорируются. Внутри файла данных игнорируются все строки, начинающиеся со знака "#", - это строки комментариев.

Содержание


2. Размещение компонентов

Проект создается размещением отдельных элементов в рабочей области окна.

Для доступа к отдельным компонентам используется:

Все эти средства позволяют размещать отдельные элементы в рабочей области редактора.

Для размещения отдельных элементов:

  1. Выбрать необходимый элемент.
  2. Поместить его в рабочую область.

Содержание

2.1. Просмотр компонентов

Существует возможность просматривать компоненты, находящиеся в библиотеке компонентов. Библиотеки загружаются в зависимости от типа проекта верхнего уровня (Analog/RF или DSP).

На представленном ниже рисунке 7: a) - компоненты библиотек; b) - элементы библиотек. Существует возможность настраивать вывод компонентов библиотек на экран, используя пункт меню View.

Рис. 7-a. Компоненты библиотек

a)

Рис. 7-b. Элементы библиотек

b)

Рис. 7. Компоненты библиотек (a) и элементы библиотек (b)

Для просмотра компонентов:

  1. В рабочем редакторе нажать на панели кнопку Library. (Или выбрать пункт меню Component>Component Library).
  2. Нажать на "+", чтобы просмотреть содержимое библиотеки и ее разделов. Выбрать необходимый раздел библиотеки, ее компоненты будут отображены в окне.

Рис. 8. Просмотр компонентов

Рис. 8. Просмотр компонентов

Содержание

2.2. Поиск необходимых компонентов

Существует так же возможность поиска необходимых компонентов в библиотеках. Для этого:

  1. В рабочем редакторе нажать кнопку Library (или выбрать пункт меню Component>Component Library).
  2. В появившимся окне выбрать Component>Find.
  3. Ввести имя искомого компонента.

    Рис. 9. Поиск необходимых компонентов

    Рис. 9. Поиск необходимых компонентов

  4. Выбрать отдельную библиотеку или все.

Содержание

2.3. Использование палитры компонентов

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

Рис. 10. Палитра компанентов

Рис. 10. Палитра компанентов

Содержание


Назад     Оглавление     Вперед