Функции, поддерживаемые для генерации HDL-кода — категориальный список

Можно сгенерировать эффективный HDL-код для подмножества встроенных функций MATLAB® и функций тулбокса, которые вы вызываете из кода MATLAB. Эти функции перечислены категорией MATLAB или категорией тулбокса в следующих таблицах.

Для алфавитного списка поддерживаемых функций смотрите Функции, Поддерживаемые для генерации HDL-кода — Алфавитный список.

Арифметические операции в MATLAB

ИмяКомментарии и ограничения
ctranspose(A)
mpower(A,B)A и B должны быть скаляром, и B должен быть целым числом.
mtimes(A,B)
plus(A,B)Ни A, ни B не могут быть типом данных logical.
power(A,B)A и B должны быть скаляром, и B должен быть целым числом.
times(A,B)Ни A, ни B не могут быть типом данных logical.
transpose(A)

Битовые операции в MATLAB

ИмяКомментарии и ограничения
bitand
bitcmp
bitget
bitor
bitset
bitshift

Для эффективной генерации HDL-кода используйте функции Fixed-Point Designer™ bitsll, bitsrl или bitsra вместо bitshift.

bitxor

Комплексные числа в MATLAB

ИмяКомментарии и ограничения
complex
imag
real

Поток управления в MATLAB

ИмяКомментарии и ограничения
for

Не используйте циклы for без статических границ.

Не используйте & и операторы | в условиях оператора for. Вместо этого используйте операторы || и &&.

HDL Coder™ не поддерживает нескалярные выражения в условиях операторов for. Вместо этого используйте all или функции any, чтобы свернуть логические векторы в скаляры.

if

Не используйте & и операторы | в условиях оператора if. Вместо этого используйте операторы || и &&.

HDL Coder не поддерживает нескалярные выражения в условиях операторов if. Вместо этого используйте all или функции any, чтобы свернуть логические векторы в скаляры.

switch

Условное выражение в операторе switch или case должно использовать только:

  • uint8, uint16, uint32, int8, int16 или типы данных int32

  • Скалярные данные

Если несколько операторов case делают присвоения на ту же переменную, числовой тип и спецификация fimath для той переменной должны быть тем же самым в каждом операторе case.

Логические операторы в MATLAB

ИмяКомментарии и ограничения
and
not
or
xor

Массивы в MATLAB

ИмяКомментарии и ограничения
ones

Размерности должны быть действительными, неотрицательными целыми числами.

zeros

Размерности должны быть действительными, неотрицательными целыми числами.

Операторы отношения в MATLAB

ИмяКомментарии и ограничения
eq
ge
gt
le
lt
ne

Fixed-Point Designer

Поддержка генерации HDL-кода функций библиотеки времени выполнения фиксированной точки от Fixed-Point Designer получена в итоге в следующей таблице. Смотрите Ограничения Функции Фиксированной точки для общих ограничений функций библиотеки времени выполнения фиксированной точки для генерации кода.

ФункцияКомментарии и ограничения

abs

Дважды и сложные типы данных, не поддержанные.

add

bitand

bitandreduce

bitcmp

bitconcat

bitget

bitor

bitorreduce

bitreplicate

bitrol

bitror

bitset

bitshift

bitsliceget

bitsll

bitsra

bitsrl

bitxor

bitxorreduce

ceil

complex

conj

convergent

ctranspose

divide

  • Для генерации HDL-кода делитель должен быть константой и степенью двойки.

  • Входные параметры Non-fi должны быть постоянными; то есть, их значения должны быть известны во время компиляции так, чтобы они могли быть брошены к объектам fi.

  • Комплексные и мнимые делители не поддержаны.

  • Генерация кода в MATLAB не поддерживает синтаксис T.divide(a,b).

eps

  • Поддерживаемый для скалярной фиксированной точки сигнализирует только.

  • Поддерживаемый для скаляра, вектор и матрица, один fi и fi удваивают сигналы.

eq

fi

fimath

fix

floor

ge

getlsb

getmsb

gt

horzcat

int8int16int32

isequal

isfi

isfimath

isfimathlocal

isnumerictype

issigned

le

lowerbound

lsb

lt

max

min

minus

mpower

Оба входных параметров должны быть скаляром, и вход экспоненты, k, должен быть постоянным целым числом.

mtimes

nearest

numerictype

ones

Размерности должны быть действительными, неотрицательными целыми числами.

plus

Входные параметры не могут быть типом данных logical.

power

Оба входных параметров должны быть скаляром, и вход экспоненты, k, должен быть постоянным целым числом.

range

realmax

realmin

reinterpretcast

rescale

round

sfi

sign

sqrt

sub

subsasgn

Поддерживаемые типы данных для генерации HDL-кода перечислены в Поддерживаемых типах данных MATLAB, Операторах и Операторах управления.

subsref

Поддерживаемые типы данных для генерации HDL-кода перечислены в Поддерживаемых типах данных MATLAB, Операторах и Операторах управления.

sum

times

Входные параметры не могут быть типом данных logical.

ufi

uint8uint16uint32

uminus

upperbound

vertcat