Следующая таблица обобщает поразрядные функции в MATLAB® и Fixed-Point Designer™, которые поддерживаются для генерации HDL-кода. Следующие соглашения используются в таблице:
a,b
: Обозначьте целочисленные операнды фиксированной точки.
idx
: Обозначает индекс к немного в операнде. Индексы могут быть скаляром или вектором, в зависимости от функции.
Код MATLAB использует соглашения индексации на основе 1. В сгенерированном HDL-коде такие индексы преобразованы в основанные на нуле соглашения индексации.
lidx, ridx
: обозначьте индексы к левым и правым контурам, разграничивающим битовые поля. Индексы могут быть скаляром или вектором, в зависимости от функции.
val
: Обозначает булево значение.
Индексы, операнды и значения передали в качестве аргументов, поразрядные функции могут быть скаляром или вектором, в зависимости от функции. Для получения информации об отдельных функциях смотрите Битовые операции (Fixed-Point Designer).
Синтаксис MATLAB | Описание | Смотрите также |
---|---|---|
bitand(a, b) | Поразрядный AND | bitand |
bitandreduce(a, lidx, ridx) | Поразрядный AND поля последовательных битов в Тип выходных данных: Для VHDL®, генерирует поразрядную операцию И, работающую с набором отдельных срезов Для Verilog®, генерирует уменьшать оператор: &a[lidx:ridx] | bitandreduce |
bitcmp(a) | Поразрядное дополнение | bitcmp |
bitconcat(a, b) bitconcat([a_vector]) bitconcat(a, b,c,d,...) | Конкатенация операндов фиксированной точки. Операнды могут иметь различные знаки. Тип выходных данных: Для VHDL, генерирует оператор конкатенации: Для Verilog, генерирует оператор конкатенации: | bitconcat |
bitget(a,idx) | Доступ немного в положении Для VHDL, генерирует оператор среза: Для Verilog, генерирует оператор среза: | bitget |
bitor(a, b) | Битовое "ИЛИ" | bitor |
bitorreduce(a, lidx, ridx) | Битовое "ИЛИ" поля последовательных битов в Тип выходных данных: Для VHDL, генерирует оператор битового "ИЛИ", работающий с набором отдельных срезов. Для Verilog, генерирует уменьшать оператор: |a[lidx:ridx] | bitorreduce |
bitset(a, idx, val) | Установите или очистите бит (биты) в положении Если | bitset |
bitreplicate(a, n) | Конкатенация битов | bitreplicate |
bitrol(a, idx) | Вращайтесь оставленный.
Для VHDL, генерирует Для Verilog, генерирует следующее выражение (где a << idx || a >> wl - idx | bitrol |
bitror(a, idx) | Вращайте право.
Для VHDL, генерирует Для Verilog, генерирует следующее выражение (где a >> idx || a << wl - idx | bitror |
bitset(a, idx, val) | Установите или очистите бит (биты) в положении Если | bitset |
bitshift(a, idx) | Примечание: Для эффективной генерации HDL-кода, используйте Левый или правый сдвиг, на основе положительного или отрицательного целочисленного значения of‘
Для положительных значений Для отрицательных величин Если Значения результата насыщают если | bitshift |
bitsliceget(a, lidx, ridx) | Доступ к последовательному набору битов от Тип выходных данных: | bitsliceget |
bitsll(a, idx) | Сдвиг, оставленный логическим.
0 <= idx < wl wl размер слова a .Переполнитесь и округление режимов входного операнда Генерирует Генерирует | bitsll |
bitsra(a, idx) | Переключите правильную арифметику.
0 <= idx < wl wl размер слова a ,Переполнитесь и округление режимов входного операнда Генерирует Генерирует | bitsra |
bitsrl(a, idx) | Логическое право сдвига.
0 <= idx < wl wl размер слова a .Переполнитесь и округление режимов входного операнда Генерирует Генерирует | bitsrl |
bitxor(a, b) | Поразрядный XOR | bitxor |
bitxorreduce(a, lidx, ridx) | Поразрядное сокращение XOR. Поразрядный XOR поля последовательных битов в Тип выходных данных: Для VHDL, генерирует набор отдельных срезов. Для Verilog, генерирует уменьшать оператор: ^a[lidx:ridx] | bitxorreduce |
getlsb(a) | Возвращаемое значение LSB. | getlsb |
getmsb(a) | Возвращаемое значение MSB. | getmsb |