Буферный вентиль
| Буферный вентиль — это логический блок, который принимает любой входной сигнал и сравнивает его значение с 0. Если входной сигнал равен нулю, выходной сигнал будет нулевым. Если входной сигнал не равен нулю, на выходе будет «1» в позиции бита, указанной в раскрывающемся списке. Это противоположный результат по сравнению с блоком Zero Comparator. Этот блок не является аудиобуфером; он реализует логику буфера, которая действует как двойная инверсия. |  |
| 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 | BufferAlg1output1 | Фактическое значение, записываемое в DSP на основе выбранного пункта в раскрывающемся меню для указания позиции бита выходного флага «1». |
Описание алгоритма
В следующей таблице показано, каким будет выходное значение данных для заданных входных значений, в зависимости от выбора в раскрывающемся списке.
| Input Pin Value | Drop Down Display | Output Pin Value |
| 0 | Any Selection | 0x00 0x00 0x00 0x00 |
| Any non-zero Value | 28 | 0x00 0x00 0x00 0x01 |
| Any non-zero Value | Bit: 1 | 0x00 0x00 0x00 0x02 |
| Any non-zero Value | Bit: 2 | 0x00 0x00 0x00 0x04 |
| Any non-zero Value | Bit: 3 | 0x00 0x00 0x00 0x08 |
| … | … | … |
| Any non-zero Value | 5.23 | 0x00 0x80 0x00 0x00 |
| Any non-zero Value | Bit: 24 | 0x01 0x00 0x00 0x00 |
| Any non-zero Value | Bit: 25 | 0x02 0x00 0x00 0x00 |
| Any non-zero Value | Bit: 26 | 0x04 0x00 0x00 0x00 |
Пример
На следующем изображении схемы показаны и блок Buffer, и блок Zero Comparator для ненулевого и нулевого входных сигналов. Результаты работы алгоритма фиксируются в ячейке DSP Readback.

Детали алгоритма
| Путь в Toolbox | Basic DSP - Logic - Invert - Buffer |
| Поддерживаемые ядра | ADAU144x
ADAU176x
ADAU178x
ADAU170x
AD1940 |
| Поддержка «Grow Algorithm» | да — см. Информацию о расширении алгоритма |
| Поддержка «Add Algorithm» | да — см. Информацию о добавлении алгоритма |
| На основе подпрограммы/цикла | нет |
| Program RAM | 4* |
| Data RAM | 1* |
| Parameter RAM | 1* |
| Описание | При расширении алгоритма Buffer добавляется новая пара входных/выходных пинов к элементу управления. Поведение алгоритма остается прежним, а выбор в раскрывающемся меню применяется ко всем сравнениям входных сигналов. |  |
| Повтор Program RAM | 4 на каждое расширение |
| Повтор Data RAM | 1 на каждое расширение |
| Повтор Parameter RAM | 0 |
| Описание | При добавлении алгоритма Buffer новый элемент управления размещается вертикально. Выбор во вновь добавленном раскрывающемся меню применяется к вновь добавленной паре вход/выход. |  |
| Повтор Program RAM | 4 на каждое добавление |
| Повтор Data RAM | 2 на каждое добавление |
| Повтор Parameter RAM | 1 на каждое добавление |
Buffer Gate в SigmaStudio: настройка и параметры
Buffer Gate (буферный вентиль) — это логический блок в среде SigmaStudio, предназначенный для процессоров семейства ADAU (SigmaDSP) от Analog Devices. В отличие от аудиобуфера, данный элемент реализует логику сравнения: он принимает любой входной сигнал и проверяет его значение относительно нуля. Если сигнал на входе равен нулю, выход также будет нулевым; если значение отлично от нуля, на выходе формируется «1» в позиции бита, заданной пользователем. По сути, блок работает как двойная инверсия и является противоположностью Zero Comparator. Алгоритм относится к разделу Basic DSP — Logic — Invert и поддерживается ядрами ADAU144x, ADAU176x, ADAU178x, ADAU170x и AD1940. Входной пин принимает сигнал в любом формате (int/dec, control/audio), а выходной формирует управляющий сигнал int. Ключевой параметр настройки — Output Bit Designation, который определяет позицию бита для выходной «1». По умолчанию установлено значение 28.0, представляющее 1LSB, однако вы можете выбрать любой другой бит из выпадающего списка — от Bit: 1 до Bit: 26. При работе в сигнальной цепочке важно понимать, как значение на выходе зависит от входного сигнала. Для нулевого входа выход всегда будет 0x00 независимо от выбранного бита. Для любого ненулевого значения выходной код соответствует выбранной позиции: например, при выборе «28» выход составит 0x00 0x00 0x00 0x01, а при выборе Bit: 26 — 0x04 0x00 0x00 0x00. Это позволяет использовать блок для преобразования аналоговых или цифровых событий в дискретные флаги, которые удобно считывать через DSP Readback.