exponenta event banner

fimath

Задание параметров формул с фиксированной точкой

Описание

пример

F = fimath создает fimath объект со значением по умолчанию fimath параметры свойств.

пример

F = fimath(Name,Value) задает свойства fimath с помощью одного или нескольких аргументов пары имя-значение. Все свойства, не указанные в конструкторе, используют значения по умолчанию.

Примеры

свернуть все

В этом примере показано, как создать fimath с настройками свойств по умолчанию.

F = fimath
F = 
        RoundingMethod: Nearest
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

Задание свойств fimath во время создания объекта с помощью пар имя-значение. Например, установите действие переполнения на насыщение, а метод округления на конвергентное.

F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = 
        RoundingMethod: Convergent
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

Входные аргументы

свернуть все

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: F = fimath('OverflowAction','Saturate','RoundingMethod','Floor')

Приводят ли оба операнда к типу данных sum перед сложением, указанному как числовой или логический 1 (true) или 0 (false).

Примечание

Это свойство скрыто, когда SumMode имеет значение FullPrecision.

Пример: F = fimath('CastBeforeSum',true)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Максимально допустимая длина слова для типа данных продукта, заданная как положительное целое число.

Пример: F = fimath('MaxProductWordLength',16)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Максимально допустимая длина слова для типа данных sum, заданного как положительное целое число.

Пример: F = fimath('MaxSumWordLength',16)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Действие при переполнении, указанное как одно из следующих значений:

  • 'Saturate' - Насыщение максимальным или минимальным значением диапазона с фиксированной точкой при переполнении.

  • 'Wrap' - Обернуть при переполнении. Этот режим также известен как переполнение дополнения two.

Пример: F = fimath('OverflowAction','Wrap')

Типы данных: char

Смещение типа данных продукта, указанного как число с плавающей запятой.

Пример: F = fimath('ProductBias',1)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Фиксированная экспонента типа данных продукта, заданная как ненулевое целое число.

Примечание

ProductFractionLength является отрицательным результатом ProductFixedExponent. При изменении одного свойства изменяется другое.

Пример: F = fimath('ProductFixedExponent',-20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Длина дроби в битах типа данных продукта, заданного как ненулевое целое число.

Примечание

ProductFractionLength является отрицательным результатом ProductFixedExponent. При изменении одного свойства изменяется другое.

Пример: F = fimath('ProductFractionLength',20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Способ определения типа данных продукта определяется как одно из следующих значений:

  • 'FullPrecision' - Сохраняется полная точность результата.

  • 'KeepLSB' - Сохранить младшие биты. Укажите длину слова продукта. Длина дроби устанавливается для поддержания наименьших значащих битов произведения.

  • 'KeepMSB' - Сохранить наиболее важные биты. Укажите длину слова продукта. Длина дроби устанавливается для поддержания наиболее значимых битов произведения.

  • 'SpecifyPrecision' - Укажите длину слова и дроби или наклон и смещение изделия.

Пример: F = fimath('ProductMode','KeepLSB')

Типы данных: char

Наклон типа данных изделия, заданный как конечное положительное число с плавающей запятой.

Примечание

ProductSlope = ProductSlopeAdjustiveFactor × 2ProductFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('ProductSlope',9.3132e-10)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Поправочный коэффициент наклона типа данных изделия, заданный как число с плавающей запятой, большее или равное 1 и меньшее 2.

Примечание

ProductSlope = ProductSlopeAdjustiveFactor × 2ProductFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('ProductSlopeAdjustmentFactor',1)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Длина слова в битах типа данных продукта, заданного как положительное целое число.

Пример: F = fimath('ProductWordLength',64)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Используемый метод округления, указанный как одно из следующих значений:

  • 'Nearest' - Округлый в сторону ближайшего. Связи вокруг к положительной бесконечности.

  • 'Ceiling' - Округлый к положительной бесконечности.

  • 'Convergent' - Округлый в сторону ближайшего. Привязывает к ближайшему даже сохраненному целому числу (наименее смещенному).

  • 'Zero' - Округлый к нулю.

  • 'Floor' - Округлый к отрицательной бесконечности.

  • 'Round' - Округлый в сторону ближайшего. Связи вокруг к отрицательной бесконечности для отрицательных чисел и к положительной бесконечности для положительных чисел.

Пример: F = fimath('RoundingMethod','Convergent')

Типы данных: char

Смещение типа данных sum, указанного как число с плавающей запятой.

Пример: F = fimath('SumBias',0)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Фиксированная экспонента типа данных sum, заданная как ненулевое целое число.

Примечание

SumFractionLength является отрицательным результатом SumFixedExponent. При изменении одного свойства изменяется другое.

Пример: F = fimath('SumFixedExponent',-20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Длина дроби в битах типа данных sum, заданного как ненулевое целое число.

Примечание

SumFractionLength является отрицательным результатом SumFixedExponent. При изменении одного свойства изменяется другое.

Пример: F = fimath('SumFractionLength',20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Способ определения типа данных суммы определяется как одно из следующих значений:

  • 'FullPrecision' - Сохраняется полная точность результата.

  • 'KeepLSB' - Сохранить младшие биты. Укажите суммарную длину слова типа данных. Длина дроби устанавливается для поддержания младших битов суммы.

  • 'KeepMSB' - Сохранить наиболее важные биты. Укажите суммарную длину слова типа данных. Длина дроби устанавливается так, чтобы поддерживать самые старшие биты суммы и не более дробные биты, чем необходимо.

  • 'SpecifyPrecision' - укажите длину слова и дроби или наклон и смещение типа данных sum.

Пример: F = fimath('SumMode','KeepLSB')

Типы данных: char

Наклон типа данных sum, заданного как число с плавающей запятой.

Примечание

SumSlope = SumSlopeAdjustiveFactor × 2SumFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('SumSlope',9.3132e-10)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Поправочный коэффициент наклона типа данных sum, определяемый как число с плавающей запятой, большее или равное 1 и меньшее 2.

Примечание

SumSlope = SumSlopeAdjustiveFactor × 2SumFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('SumSlopeAdjustmentFactor',1)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Длина слова в битах типа данных sum, заданного как положительное целое число.

Пример: F = fimath('SumWordLength',64)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Расширенные возможности

.

Создание кода HDL
Создание кода Verilog и VHDL для проектов FPGA и ASIC с использованием Coder™ HDL.

Представлен до R2006a