主要内容

Multiply-Accumulate

执行multiply-accumulate操作的输入

  • Multiply-Accumulate块

库:
高密度脂蛋白编码器/ HDL操作

描述

Multiply-Accumulate输入块执行这个操作一个,b和偏见c计算结果dataOut

dataOut =(一个求和。* b) + c

默认情况下,块以矢量模式运行。输入一个b可以是标量、向量或二维矩阵。默认情况下,偏差值c等于零。块计算输入的点积一个b。您可以指定一个非零值c通过使用对话框输入端口随着。块增加了这种偏见的点积一个b。乘法运算精度无关的输出数据类型设置。的输出数据类型整数舍入模式设置适用于添加操作。

通过使用操作模式设置,您可以指定流的操作模式Multiply-Accumulate块。HDL代码生成,使用流操作模式时,您必须输入标量值。块有两个流模式:流——使用开始和结束端口流,使用的样本数量。当您选择这些流模式时,您可以指定要使用的控制信号的模式。控制信号指定何时开始和结束时积累和输出是有效的。

限制HDL代码生成

  • 标量输入不支持HDL代码生成。金宝app生成的代码块,使用向量输入。对于标量输入,使用Multiply-Add块。

  • 在块矩阵数据类型不支持端口接口。金宝app如果你有矩阵类型信号,使用产品,矩阵相乘在矩阵乘法模式。

  • 不支持流模式操作的块内金宝app复位子系统块HDL代码生成。

港口

输入

全部展开

港口提供输入。

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

港口提供输入。

数据类型:||int8|int16|int32|uint8|uint16|uint32|布尔|不动点|枚举|公共汽车

港口提供偏差信号。块将这种偏见添加到输入。确保偏差信号数据类型匹配输入的点积。

依赖关系

要启用这个端口,设置输入端口

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

港口提供控制信号开始积累。建议您使用布尔数据类型信号的输入端口。开始获得的累计产值dataOut信号,startInvalidIn信号必须高。的dataOut信号产生下一个时钟周期内的累积结果。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

港口提供控制信号,以指示输入信号是有效的积累。建议您使用布尔数据类型信号的输入端口。开始获得的累计产值dataOut信号,validInstartIn信号必须高。的dataOut信号产生下一个时钟周期内的累积结果。的validIn信号的优先级高于startInendIn信号。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口流,使用的样本数量

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

港口提供控制信号指示的积累。您可以使用startInendIn信号与validIn信号显示一帧包含累计输出。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口然后选择结束输入和输出端口

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

输出

全部展开

港口产生的输出数据multiply-accumulate操作。默认情况下,块使用向量操作方式和计算输入信号的点积,并添加偏见产生的结果。如果你指定一个流的操作模式操作模式,的值dataOut信号取决于你提供的控制信号。的数据类型蓄电池输出信号是相同的。

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

端口,生成输出控制信号指示积累的开始。当两个validInstartIn高,startOut信号就会在下一个时钟周期。的时钟周期startOut成为高表示帧的开始,dataOut信号已经开始生产有效累积输出。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口然后选择开始输出端口

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

港口产生的输出控制信号,以指示dataOut信号是有效的。当validIn信号变高,validOut信号变成高在下一个时钟周期和表示dataOut是有效的。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口然后选择有效的输出端口

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

港口产生的输出控制信号指示的积累。您可以使用当之间的时钟周期startOut当信号就高endOut信号变成高来表示一个有效的框架包含累积输出。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口然后选择结束输入和输出端口

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

港口产生的输出控制信号来表示数量的样本积累。这个信号的值增加1您所指定的值数量的样品。只要validIn信号是高的countOut增量的1每一个时钟周期。

依赖关系

要启用这个端口,设置操作模式流,使用的样本数量然后选择计算输出端口

数据类型:||int8|int16|int32|uint8|uint16|uint32|不动点

参数

全部展开

您可以指定操作模式为:

  • 向量:你可以使用标量或矢量作为输入。块执行输入的点积u1u2并添加偏见k产生的结果。

  • 流——使用开始和结束端口:使用标量HDL代码生成的输入。在这种模式下,您可以使用startInendIn控制信号,以确定何时启动和停止积累。输出数据是有效的validIn是很高的。

  • 流,使用的样本数量:使用标量HDL代码生成的输入。在这种模式下,你可以指定数量的样品并使用countIn控制信号,以确定何时启动和停止积累。输出数据是有效的validIn是很高的。

编程使用

块参数:opMode
类型:特征向量
值:“向量”|“流使用的开始和结束端口”|“流使用的样本数量”
默认值:“向量”

您可以指定偏差:

  • 作为对话框。然后,指定价值

  • 作为输入端口。这个设置创建一个外部输入端口c输入偏差信号。

编程使用

块参数:initValueSetting
类型:特征向量
值:“对话框”|输入端口的
默认值:“对话框”

如果你设置作为对话框,您可以指定使用的初始值initValue2设置。

块参数:initValue2
类型:特征向量
值:一个整数大于或等于零
默认值:“0.0”

您可以指定数量的样品指定一个框架包含的样本的数量积累有效的输出dataOut

依赖关系

要启用这个端口,设置操作模式流,使用的样本数量

编程使用

块参数:num_samples
类型:特征向量
值:一个整数大于或等于零
默认值:' 2 '

设置输出数据类型:

  • 一个规则,继承了一个数据类型,如继承:首先输入一样

  • 一个内置的数据类型,例如int16

  • 数据类型对象的名称。例如,一个金宝appSimulink.NumericType对象。

  • 一个表达式,计算一个有效的数据类型,例如,fixdt (1 16 0)

不支持流模式金宝app继承:继承通过内部规则。当你设置输出数据类型,你可以使用数据类型的助理。显示助理,单击显示数据类型的助理

编程使用

块参数:OutDataTypeStr
类型:特征向量
默认值:{“继承:继承通过内部规则”}

看到可能的值,您可以指定这个参数,看看屏蔽一些参数

舍入操作指定为:

天花板

积极的和消极的数字到正无穷。相当于MATLAB®装天花板函数。

收敛

轮数到最近的可表示的值。如果发生领带,甚至流传到最近的整数。相当于定点设计师™收敛函数。

地板上

积极的和消极的数字对负无穷。相当于MATLAB地板上函数。

最近的

轮数量到最近的可表示的值。如果发生领带,轮正无穷。相当于定点设计师最近的函数。

轮数到最近的可表示的值。如果发生领带,轮正数负数对正无穷和轮向负无穷。相当于定点设计师函数。

简单的

选择舍入朝地板和舍入朝着零之间产生舍入的代码尽可能的高效。

轮对数量为零。相当于MATLAB修复函数。

编程使用

块参数:RndMeth
类型:特征向量
默认值:{“地板”}

看到可能的值,您可以指定这个参数,看看屏蔽一些参数

控制的一代validOut输出端口。这个端口指示是否dataOut是有效的。

不显示的validOut输出端口。

显示validOut输出端口。

依赖关系

要启用这个端口,设置操作模式流,使用的样本数量流——使用开始和结束端口

编程使用

块参数:validOut
类型:特征向量
价值观:“关闭”|“上”
默认值:“关闭”

控制的一代endIn输入端口和endOut输出端口。港口显示包含有效积累输出帧的结束。

不显示的endIn输入端口和endOut输出端口。

显示endIn输入端口和endOut输出端口。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口

编程使用

块参数:endInandOut
类型:特征向量
价值观:“关闭”|“上”
默认值:“关闭”

控制的一代startOut输出端口。这个端口生成startOut信号表明包含有效积累的输出帧的开始。

不显示的startOut输出端口。

显示startOut输出端口。

依赖关系

要启用这个端口,设置操作模式流——使用开始和结束端口

编程使用

块参数:startOut
类型:特征向量
价值观:“关闭”|“上”
默认值:“关闭”

控制的一代countOut输出端口。这个端口生成柜台,表明一个框架包含有效的样本。

不显示的countOut输出端口。

显示countOut输出端口。

依赖关系

要启用这个端口,设置操作模式流,使用的样本数量

编程使用

块参数:countOut
类型:特征向量
价值观:“关闭”|“上”
默认值:“关闭”

提示

Multiply-Accumulate块,您可以:

  • 执行矩阵乘法操作。例如,如果你有两个矩阵输入维度n×mM-by-P通过使用,你可以计算结果N-by-Pmultiply-accumulate并行操作。

  • 替换一个序列的乘法和加法操作,如过滤块,和提高性能在硬件映射到DSP片FPGA。这个图显示了如何使用Multiply-Accumulate块的sfir_fixed模型。

算法

全部展开

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

版本历史

介绍了R2017b