Это старая версия документа!
Zero Comparator
| Блок Zero Comparator принимает любой входной сигнал и сравнивает его значение с 0. Если входной сигнал не равен нулю, выход будет равен нулю. Если вход равен нулю, на выходе появится флаг «1» в позиции бита, заданной раскрывающимся списком. |  |
| Name | Format [int/dec] - [control/audio] | Function Description |
| Pin 0: Input | any - any | Входной сигнал для сравнения с 0 |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
| Pin 0: Output | int - control | Выходной сигнал 0 или 1 в заданной позиции бита |
Элементы управления GUI
| GUI Control Name | Default Value | Range | Function Description |
| Output Bit Designation | 28 | [28.0 Bit26] | Задает позицию бита выходного флага «1». 28.0 — значение по умолчанию, которое представляет 1LSB. |
| GUI Control Name | Compiler Name | Function Description |
| Output Bit Designation | ZeroCompareAlg1output1 | Фактическое значение, записываемое в DSP на основе выбора из раскрывающегося меню для задания позиции бита выходного флага «1». |
Описание алгоритма
В следующей таблице показано, каким будет выходное значение данных для заданных входных значений, в зависимости от выбора в раскрывающемся списке.

Пример
На следующем изображении схемы показаны блоки Buffer и Zero Comparator для ненулевого и нулевого входных сигналов. Результаты работы алгоритма фиксируются в ячейке DSP Readback.

Детали алгоритма
| Toolbox Path | Basic DSP - Logic - Invert - Zero Comparator |
| Cores Supported | ADAU144x
ADAU176x
ADAU178x
ADAU170x
AD1940 |
| “Grow Algorithm” Supported | yes - see Algorithm Growth Information |
| “Add Algorithm” Supported | yes - see Algorithm Addition Information |
| Subroutine/Loop Based | no |
| Program RAM | 4* |
| Data RAM | 1* |
| Parameter RAM | 1* |
*Числа основаны на одном экземпляре алгоритма без дополнительных операций «add» или «grow»
| Description | При расширении алгоритма Zero Comparator добавляется новая пара входных/выходных пинов к элементу управления. Поведение алгоритма остается прежним, а выбор в раскрывающемся меню применяется ко всем сравнениям входных сигналов. |  |
| Program RAM Repetition | 4 per growth |
| Data RAM Repetition | 1 per growth |
| Parameter RAM Repetition | 0 |
| Description | При добавлении алгоритма Buffer новый элемент управления размещается вертикально. Выбор во вновь добавленном раскрывающемся меню применяется к новой паре вход/выход. |  |
| Program RAM Repetition | 4 per add |
| Data RAM Repetition | 1 per add |
| Parameter RAM Repetition | 1 per add |
Zero Comparator в SigmaStudio: настройка и параметры
Zero Comparator — это логический блок из раздела Basic DSP визуального редактора SigmaStudio, предназначенный для процессоров семейства SigmaDSP (ADAU144x, ADAU176x, ADAU178x, ADAU170x, AD1940). Его задача — сравнить произвольный входной сигнал с нулём и выдать на выходе управляющий флаг, который может использоваться для дальнейшей логической обработки в сигнальной цепочке. Принцип работы блока достаточно прост. Если значение на входе не равно нулю, выход устанавливается в ноль. Если же входной сигнал равен нулю, на выходе появляется логическая «1», но не в младшем бите, а в позиции, которую задаёт пользователь. Позиция бита выбирается из раскрывающегося списка в элементе управления Output Bit Designation. Значение по умолчанию — 28.0, что соответствует 1 LSB (младшему значащему биту) в формате данных процессора. Настройка в проекте SigmaStudio сводится к выбору нужной позиции бита для выходного флага. Это позволяет подключать выход компаратора к другим логическим или управляющим блокам, которые ожидают сигнал в определённом разряде. Параметр компилируется в DSP как ZeroCompareAlg1output1 — именно это значение записывается в память параметров и определяет поведение алгоритма. Стоит учитывать, что блок поддерживает операции расширения (Grow) и добавления (Add). При расширении добавляется новая пара вход/выход, а выбранная позиция бита применяется ко всем сравнениям одновременно. При добавлении новый экземпляр размещается вертикально, и для него можно задать отдельную позицию бита.