Dead Zone
提供零值输出区域
库:
Simulink /
Discontinuities
HDL Coder /
Discontinuities
描述
Dead Zone 模块在指定的区域内生成零值输出,此区域称为死区。您可以通过死区起点和死区终点参数指定死区的下限 (LL) 和上限 (UL)。模块输出取决于输入 (U) 以及上限和下限的值。
| 输入 | 输出 |
|---|---|
U >= LL 和 U <= UL | 零 |
U > UL | U – UL |
U < LL | U – LL |
端口
输入
死区算法的输入信号。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
输出
死区算法应用于输入信号后的输出信号。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
参数
指定死区下限。为死区起点设置小于或等于死区终点的值。当输入值小于死区起点时,模块会将输出值向下移动死区起点值。
编程用法
模块参数:LowerValue |
| 类型:字符向量 |
值:小于或等于 UpperValue 的标量或向量。 |
默认值:'-0.5' |
指定死区上限。为死区终点设置大于或等于死区起点的值。当输入值大于死区终点时,模块会将输出值向下移动死区终点值。
编程用法
模块参数:UpperValue |
| 类型:字符向量 |
值:大于或等于 LowerValue 的标量或向量。 |
默认值:'0.5' |
指定对溢出是进行饱和处理还是绕回处理。
on- 将溢出饱和处理为数据类型能够表示的最小值或最大值。off- 溢出将绕回到数据类型可以表示的合适值。
例如,有符号 8 位整数 int8 可以表示的最大值是 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。
选择此参数后,模块输出将在达到 127 时饱和。类似地,模块输出将在达到最小输出值 -128 时饱和。
清除此参数后,软件会将导致溢出的值解释为
int8,这可能产生意外结果。例如,以int8表示的模块结果 130(二进制 1000 0010)为 -126。
提示
如果您的模型存在可能的溢出,而您希望在生成的代码中进行显式饱和保护,请考虑选中此参数。
如果您希望优化生成的代码的效率,请考虑清除此参数。清除此参数还可以帮助您避免过度地指定信号超出范围时模块的处理方式。有关详细信息,请参阅信号范围错误故障排除。
如果选中此参数,饱和将应用于模块中的每个内部操作,而不仅仅应用于输出或结果。
一般情况下,代码生成进程可以检测到何时不可能发生溢出。在这种情况下,代码生成器不会生成饱和代码。
编程用法
要以编程方式设置模块参数值,请使用 set_param 函数。
| 参数: | SaturateOnIntegerOverflow |
| 值: | 'on' (默认) | 'off' |
Simulink® 软件中的线性化命令将此模块视为状态空间中的增益。选择此参数将使得这些命令将增益视为 1。清除此参数可使命令将增益视为 0。
编程用法
模块参数:LinearizeAsGain |
| 类型:字符向量 |
值:'off' | 'on' |
默认值:'on' |
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
详细信息
如果您有 Simulink Coverage™ 许可证,则 Dead Zone 模块会接收决策覆盖率。Simulink Coverage 根据以下参数的值报告决策覆盖率:
死区起点
死区终点
死区起点参数指定死区的下限,决策覆盖率测量:
模块输入大于或等于下限(表示 true 决策)的时间步数
模块输入小于下限(表示 false 决策)的时间步数
死区终点参数指定死区的上限,决策覆盖率测量:
模块输入大于上限(表示 true 决策)的时间步数
模块输入小于或等于上限(表示 false 决策)的时间步数
Dead Zone 模块使用逻辑短路,并忽略将 Simulink 逻辑模块视为短路 (Simulink Coverage)参数的值。当上限为 true 时,该模块不会计算该时间步的下限决策。因此,下限决策的总数等于上限决策为 false 的时间步数。
如果选择对整数溢出进行饱和处理 (Simulink Coverage)参数,Dead Zone 模块会接收整数溢出饱和覆盖率。有关详细信息,请参阅整数溢出饱和处理覆盖率 (Simulink Coverage)。
Dead Zone 模块将输入信号与上限值和下限值进行比较。如果您选择关系边界 (Simulink Coverage)参数,则 Dead Zone 模块会接收关系边界覆盖率。有关详细信息,请参阅关系边界覆盖率 (Simulink Coverage)。
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
此模块具有一个默认 HDL 架构。
| 通用 | |
|---|---|
| ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线不会重新分发这些寄存器。默认值为 |
| InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
| OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
| SynthesisAttributes | 指定模型中模块和模块输出信号的综合属性。生成的 HDL 代码包含这些属性。有关详细信息,请参阅SynthesisAttributes (HDL Coder)。 |
| 原生浮点 | |
|---|---|
| LatencyStrategy | 指定对于浮点运算符是否将设计中的模块映射到 |
| NFPCustomLatency | 要指定值,请将 LatencyStrategy 设置为 |
此模块具有多周期实现,这会在生成的代码中引入额外的延迟。要查看增加的延迟,请查看生成的模型或验证模型。请参阅Generated Model and Validation Model (HDL Coder)。
原生浮点延迟
| 浮点类型 | LatencyStrategy 属性设置 | 延迟(周期数) | 自定义延迟支持 |
|---|---|---|---|
| 双精度 | Min | 6 | 是 |
Max | 11 | ||
| 单精度 | Min | 6 | |
Max | 11 |
该模块支持使用以下数据类型进行 HDL 代码生成:
| 输入端口 | 维度 | 定点 | 浮点 | 内置整数 | 总线 | 布尔 | 复信号 |
|---|---|---|---|---|---|---|---|
| Port_1 | 标量 向量 矩阵(二维和三维) | 是 | 单精度 双精度 | 是 | 是 | 是 | 是 |
您可以使用以下 HDL Coder 优化来优化速度、面积和 I/O。
面积优化
| 优化 | 描述 |
|---|---|
| Resource Sharing (HDL Coder) | 资源复用是一种面积优化,其中 HDL Coder 确定多个在功能上等效的资源,并用单个资源替换它们。 |
| Streaming (HDL Coder) | 流式处理是一种面积优化,其中 HDL Coder 将向量数据路径变换为标量数据路径(或多个较小的向量数据路径)。 |
速度优化
| 优化 | 描述 |
|---|---|
| Specify Distributed Pipelining Settings (HDL Coder) | 分布式流水线或寄存器重定时是一种速度优化,它可以移动设计中的现有延迟,以在缩减关键路径的同时保留功能性行为。 |
| Clock-Rate Pipelining (HDL Coder) | 时钟频率流水线是 HDL Coder 中的一个优化框架,它允许其他速度优化和面积优化在时钟频率下引入延迟。 |
| 关键路径估计 (HDL Coder) | 要快速确定设计中最可能的关键路径,请使用关键路径估计。关键路径估计加速寻找关键路径的迭代过程。要了解在关键路径估计中表征的模块,请参阅Characterized Blocks (HDL Coder)。 |
I/O 优化
| 优化 | 描述 |
|---|---|
| 帧到采样的转换 (HDL Coder) | 要优化您的设计所需的 I/O,请使用帧到采样的转换。这种优化将基于帧的向量或矩阵输入转换为更小的采样或像素,以便 HDL 代码生成到基于流的目标硬件,并减小处理大输入和输出信号所需的 FPGA I/O。 |
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006a 之前推出现在,您可以通过使用 single 或 double 的输入数据类型,为 Dead Zone 模块在原生浮点模式下生成 HDL 代码。您可以通过使用 LatencyStrategy HDL 模块属性来指定该模块的延迟策略。
使用 SynthesisAttributes HDL 模块属性指定模块及其输出信号的综合属性。HDL Coder 在生成的 HDL 代码中包含这些属性。
另请参阅
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

