Truth Table
用条件、决策和动作来表示逻辑决策行为
库:
Stateflow
描述
Truth Table 模块以表格格式实现组合逻辑设计。您可以使用真值表模块为故障检测和管理以及模式切换的决策建模。有关详细信息,请参阅使用真值表对组合逻辑建模。
为了实现控制逻辑,Truth Table 模块使用 MATLAB® 作为动作语言。
Truth Table 模块属性指定您的真值表如何与 Simulink® 模型对接。您可以在属性检查器、模型资源管理器或“真值表”属性对话框中修改这些属性。有关详细信息,请参阅指定真值表模块的属性。您也可以使用 Stateflow.TruthTableChart
对象以编程方式修改 Truth Table 模块属性。有关 Stateflow® 编程接口的详细信息,请参阅 Overview of the Stateflow API。
示例
Home Climate Control Using the Truth Table Block
Model a home climate control system by using a Truth Table block.
端口
输入
u — 输入端口
标量 | 向量 | 矩阵
当您在符号窗格中创建输入数据时,Stateflow 会创建输入端口。您创建的输入数据有对应的输入端口,该端口在您创建数据后出现。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
输出
y — 输出端口
标量 | 向量 | 矩阵
当您在符号窗格中创建输出数据时,Stateflow 会创建输出端口。您创建的输出数据有对应的输出端口,该端口在您创建数据后出现。
数据类型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| Boolean
| fixed point
| enumerated
| bus
| string
参数
设置“代码生成”选项卡上的参数需要具有 Simulink Coder™ 或 Embedded Coder®。
主要
显示端口标签 — 选择如何显示端口标签
FromPortIcon (默认) | none | FromPortBlockName | SignalName
选择如何在 Truth Table 模块图标上显示端口标签。
- none
不显示端口标签。
- FromPortIcon
如果对应的端口图标显示了信号名称,则在 Truth Table 模块上显示信号名称。否则,显示端口模块名称。
- FromPortBlockName
在 Truth Table 模块上显示对应端口模块的名称。
- SignalName
如果信号名称存在,则显示连接到 Truth Table 模块上端口的信号的名称。否则,显示相应端口模块的名称。
编程用法
参数:ShowPortLabels |
类型:字符串标量或字符向量 |
值:"none" "FromPortIcon" | "FromPortBlockName" | "SignalName" |
默认值:"FromPortIcon" |
读取/写入权限 — 选择访问图内容的方式
ReadWrite (默认) | ReadOnly | NoReadOrWrite
控制用户对图内容的访问。
- ReadWrite
允许打开和修改图内容。
- ReadOnly
允许打开但不允许修改图。如果图在模块库中,您可以创建和打开该图的链接,创建和修改图的本地副本,但不能更改权限或修改原始模块库实例的内容。
- NoReadOrWrite
禁止打开或修改图。如果图在模块库中,您可以在模型中创建该图的链接,但不能打开、修改、更改权限或创建图的本地副本。
编程用法
参数:Permissions |
类型:字符串标量或字符向量 |
值:"ReadWrite" | "ReadOnly" | "NoReadOrWrite" |
默认值:"ReadWrite" |
尽量减少出现代数环 — 控制代数环的消除
off (默认) | on
- off
不尝试消除任何包含原子子图的人为代数环。
- on
尝试消除任何包含原子子图的人为代数环。
编程用法
参数:MinAlgLoopOccurrences |
类型:字符串标量或字符向量 |
值:"off" | "on" |
默认值:"off" |
采样时间 — 指定时间间隔
-1
(默认) | [Ts 0]
指定此图中的所有模块是必须以相同的速率运行,还是可以不同的速率运行。
如果图中的模块可以不同的速率运行,则为图指定继承采样时间 (
-1
)。如果所有模块必须以相同的速率运行,则将与此速率对应的采样时间指定为采样时间参数的值。
如果图中的任何模块指定了不同的采样时间(而不是
-1
或inf
),则当您更新或仿真模型时,Simulink 会显示错误消息。例如,假设图中的所有模块必须以5
次/秒的速率运行。要确保该速率,请将图的采样时间指定为0.2
。在此示例中,如果图中的任何模块指定了除0.2
、-1
或inf
之外的其他采样时间,则当您更新或仿真模型时,Simulink 将显示错误。
-1
指定继承采样时间。如果图中的模块能够以不同速率运行,则使用此采样时间。
[Ts 0]
指定周期性采样时间。
编程用法
参数:SystemSampleTime |
类型:字符串标量或字符向量 |
值:"-1" | "[Ts 0]"
|
默认值:"-1" |
代码生成
函数打包 — 选择代码格式
自动 (默认) | 内联 | 不可重用函数 | 可重用函数
为原子(非虚拟)子图选择生成的代码格式。
- 自动
Simulink Coder 根据模型中存在的图实例的类型和数量,为您的系统选择最佳格式。
- 内联
Simulink Coder 无条件地内联图。
- 不可重用函数
Simulink Coder 在单独的文件中显式生成单独的函数。具有此设置的 Truth table 模块生成的函数可能有参量,具体取决于函数接口 (Simulink)参数设置。您可以分别使用参数函数名称 (Simulink)和文件名(无扩展名) (Simulink)来命名生成的函数和文件。这些函数不可重入。
- 可重用函数
Simulink Coder 可以生成带参量的函数,当模型中包含图的多个实例时,将允许重用图的代码。
此选项可生成带参量的函数,这样就可以在为模型引用层次结构(其中引用的模型包含图的多个实例)生成的代码中重用图代码。在这种情况下,图必须位于库中。
提示
如果您希望将图的多个实例表示为一个可重用函数,可以为每个子系统指定自动或可重用函数。最好是使用其中一个,因为使用两个会生成两个可重用函数,每个选项生成一个函数。仅当无法重用代码时,这些选项的结果才会有区别。如果选择自动,将无法控制图代码的函数或文件名。
可重用函数和自动选项都会确定是否存在图的多个实例,以及是否可以重用代码。当无法重用代码时,这些选项的行为会有所不同。在这种情况下,自动选项会生成内联代码,或者在禁止内联的情况下为每个图实例生成一个单独的函数。
如果您在生成的代码处于源代码管理状态下时选择了可重用函数,请将文件名选项设置为使用子系统名称、使用函数名称或用户指定。否则,只要您修改模型,代码文件的名称就会改变,从而无法对文件进行源代码管理。
依存关系
此参数要求具有 Simulink Coder。
将此参数设置为不可重用函数或可重用函数将启用下列参数:
函数名称选项
文件名选项
用于初始化/终止函数的内存段(需要 Embedded Coder 和基于 ERT 的系统目标文件)
用于执行函数的内存段(需要 Embedded Coder 和基于 ERT 的系统目标文件)
将此参数设置为不可重用函数将启用具有独立数据的函数(需要 Embedded Coder 许可证和基于 ERT 的系统目标文件)。
编程用法
参数:RTWSystemCode |
类型:字符串标量或字符向量 |
值:"Auto" | "Inline" | "Nonreusable function" | "Reusable function" |
默认值:"Auto" |
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
您可以在 Truth Table 模块中使用可调参数,用于 HDL 代码生成。有关详细信息,请参阅Generate DUT Ports for Tunable Parameters (HDL Coder)。
此模块具有一个默认 HDL 架构。
ConstMultiplierOptimization | 正则有符号数 (CSD) 或因子化 CSD 优化。默认值为 none。另请参阅ConstMultiplierOptimization (HDL Coder)。 |
ConstrainedOutputPipeline | 要通过移动设计中的现有延迟来放置的输出端寄存器的数量。分布式流水线不会重新分布这些寄存器。默认值为 |
DistributedPipelining | 流水线寄存器分布或寄存器重定时。默认值为继承。另请参阅 DistributedPipelining (HDL Coder)。 |
InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
InstantiateFunctions | 为每个函数生成 VHDL® |
LoopOptimization | 展开循环、流化循环或不优化循环。默认值为 none。另请参阅 LoopOptimization (HDL Coder)。 |
MapPersistentVarsToRAM | 将持久数组映射到 RAM。默认设置为 off。另请参阅 MapPersistentVarsToRAM (HDL Coder)。 |
OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
ResetType | 隐藏重置逻辑生成。默认值为默认,会生成重置逻辑。另请参阅 ResetType (HDL Coder)。 |
SharingFactor | 要映射到单个共享资源的功能等效的资源数量。默认值为 0。另请参阅 Resource Sharing (HDL Coder)。 |
VariablesToPipeline | 警告 不推荐使用 在一个或多个指定的 MATLAB 变量的输出端插入流水线寄存器。将变量列表指定为字符向量,变量之间用空格分隔。 |
PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)