Truth Table
Representar el comportamiento de toma de decisiones lógicas con condiciones, decisiones y acciones
Bibliotecas:
Stateflow
Descripción
El bloque Truth Table implementa el diseño de lógica combinacional en un formato tabular. Puede utilizar bloques de tablas de verdad que permitan modelar la toma de decisiones para detectar y gestionar fallos y cambiar de modo. Para obtener más información, consulte Use Truth Tables to Model Combinatorial Logic.
Para implementar la lógica de control, los bloques de Truth Table utilizan MATLAB® como lenguaje de acción.
Las propiedades del bloque Truth Table especifican cómo interactúa la tabla de verdad con el modelo de Simulink®. Puede modificar estas propiedades en Property Inspector, Model Explorer o el cuadro de diálogo de propiedades Truth Table. Para obtener más información, consulte . Como alternativa, puede modificar las propiedades del bloque Truth Table de forma programática usando objetos Stateflow.TruthTableChart
. Para obtener más información sobre la interfaz programática de Stateflow®, consulte Visión general de la API de Stateflow.
Ejemplos
Home Climate Control Using the Truth Table Block
Model a home climate control system by using a Truth Table block.
Puertos
Entrada
u — Puerto de entrada
escalar | vector | matriz
Cuando crea datos de entrada en el panel de Symbols, Stateflow crea puertos de entrada. Los datos de entrada que cree tienen un puerto de entrada correspondiente que aparece una vez haya creado los datos.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
Salida
y — Puerto de salida
escalar | vector | matriz
Cuando crea datos de salida en el panel de Symbols, Stateflow crea puertos de salida. Los datos de salida que cree tienen un puerto de salida correspondiente que aparece una vez haya creado los datos.
Tipos de datos: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| Boolean
| fixed point
| enumerated
| bus
| string
Parámetros
Los parámetros de la pestaña Code Generation (Generación de código) requieren Simulink Coder™ o Embedded Coder®.
Principales
Show port labels — Selecciona cómo mostrar las etiquetas de puerto
FromPortIcon
(predeterminado) | none
| FromPortBlockName
| SignalName
Seleccione cómo mostrar las etiquetas de puerto en el icono del bloque Truth Table.
none
No muestra las etiquetas de puerto.
FromPortIcon
Si el icono de puerto correspondiente muestra un nombre de señal, muestra el nombre de señal en el bloque Truth Table. De lo contrario, muestra el nombre del bloque del puerto.
FromPortBlockName
Muestra el nombre del bloque del puerto correspondiente en el bloque Truth Table.
SignalName
Si existe un nombre de señal, muestra el nombre de la señal conectada al puerto del bloque Truth Table. De lo contrario, muestra el nombre del bloque del puerto correspondiente.
Uso programático
Parámetro: ShowPortLabels |
Tipo: escalar de cadena o vector de caracteres |
Valor: "none" "FromPortIcon" | "FromPortBlockName" | "SignalName" |
Valor predeterminado: "FromPortIcon" |
Read/Write permissions — Selecciona el acceso al contenido del gráfico
ReadWrite
(predeterminado) | ReadOnly
| NoReadOrWrite
Controle el acceso de los usuarios al contenido del gráfico.
ReadWrite
Habilita la apertura y la modificación del contenido del gráfico.
ReadOnly
Habilita la apertura pero no la modificación del gráfico. Si el gráfico se encuentra en una biblioteca de bloques, puede crear y abrir enlaces al gráfico, y puede crear y modificar copias locales del gráfico, pero no puede cambiar los permisos ni modificar el contenido de la instancia de la biblioteca original.
NoReadOrWrite
Deshabilita la apertura o la modificación del gráfico. Si el gráfico se encuentra en una biblioteca, puede crear enlaces al gráfico en un modelo, pero no puede abrir, modificar, cambiar permisos ni crear copias locales del gráfico.
Uso programático
Parámetro: Permissions |
Tipo: escalar de cadena o vector de caracteres |
Valor: "ReadWrite" | "ReadOnly" | "NoReadOrWrite" |
Valor predeterminado: "ReadWrite" |
Minimize algebraic loop occurrences — Controla la eliminación de bucles algebraicos
desactivado (predeterminado) | activado
- desactivado
No intenta eliminar los bucles algebraicos artificiales que incluyan la subgráfico atómica.
- activado
Intenta eliminar los bucles algebraicos artificiales que incluyan la subgráfico atómica.
Uso programático
Parámetro: MinAlgLoopOccurrences |
Tipo: escalar de cadena o vector de caracteres |
Valor: "off" | "on" |
Valor predeterminado: "off" |
Sample time — Especifica un intervalo temporal
-1
(predeterminado) | [Ts 0]
Especifique si todos los bloques de este gráfico deben ejecutarse con la misma frecuencia o si pueden ejecutarse a distintas frecuencias.
Si los bloques del gráfico pueden ejecutarse a distintas frecuencias, especifique el tiempo de muestreo del gráfico como existente (
-1
).Si se deben ejecutar todos los bloques a la misma frecuencia, especifique el tiempo de muestreo que corresponda a dicha frecuencia como valor del parámetro Sample time.
Si alguno de los bloques del gráfico especifica un tiempo de muestreo distinto (que no sea
-1
niinf
), Simulink se muestra un mensaje de error cuando actualiza o simula el modelo. Por ejemplo, suponga que todos los bloques del gráfico deben ejecutarse5
veces por segundo. Para garantizar esa frecuencia, especifique el tiempo de muestreo del gráfico como0.2
. En este ejemplo, si alguno de los bloques del gráfico especifica un tiempo de muestreo que no sea0.2
,-1
niinf
, Simulink se muestra un error cuando actualiza o simula el modelo.
-1
Especifique el tiempo de muestreo existente. Si los bloques del gráfico pueden ejecutarse a distintas frecuencias, utilice este tiempo de muestreo.
[Ts 0]
Especifique el tiempo de muestreo periódico.
Uso programático
Parámetro: SystemSampleTime |
Tipo: escalar de cadena o vector de caracteres |
Valor: "-1" | "[Ts 0]"
|
Valor predeterminado: "-1" |
Generación de código
Function packaging — Selecciona el formato de código
Auto
(predeterminado) | Inline
| Nonreusable function
| Reusable function
Seleccione el formato del código generado para los subgráficos (no virtuales) atómicos.
Auto
Simulink Coder selecciona el formato óptimo para el sistema según el tipo y el número de instancias del gráfico que haya en el modelo.
Inline
Simulink Coder inserta el gráfico sin condiciones.
Nonreusable function
Simulink Coder genera de forma explícita una función independiente en un archivo independiente. Los bloques Truth table con esta configuración generan funciones que pueden tener argumentos en función de la configuración del parámetro Function interface (Simulink). Puede nombrar la función y el archivo generados utilizando los parámetros Function name (Simulink) y File name (no extension) (Simulink), respectivamente. Estas funciones no son de reentrada.
Reusable function
Simulink Coder genera una función con argumentos que permite reutilizar código del gráfico cuando un modelo incluye múltiples instancias del gráfico.
Esta opción genera una función con argumentos que permite reutilizar código del gráfico en el código generado de una jerarquía de referencia de modelos que incluye múltiples instancias de un gráfico en los modelos a los que se hace referencia. En este caso, el gráfico debe encontrarse en una biblioteca.
Sugerencias
Si desea que se representen múltiples instancias de un gráfico como una única función reutilizable, puede designar cada una de ellas como
Auto
o comoReusable function
. Es mejor usar una, porque cuando se usan ambas, se crean dos funciones reutilizables, una para cada designación. Los resultados de estas opciones solo difieren cuando no es posible reutilizarlas. SeleccionarAuto
no permite controlar la función ni el nombre del archivo del código del gráfico.Las opciones
Reusable function
yAuto
determinan si existen múltiples instancias de un gráfico y si se puede reutilizar el código. Las opciones se comportan de manera diferente cuando no es posible reutilizar el código. En este caso,Auto
produce código insertado o, si las circunstancias impiden la inserción, funciones independientes para cada instancia del gráfico.Si selecciona
Reusable function
mientras el código generado se encuentre bajo el control de versiones, ajuste File name options enUse subsystem name
,Use function name
oUser specified
. De lo contrario, los nombres de los archivos de código cambian siempre que modifique el modelo, lo que impide el control de versiones de sus archivos.
Dependencia
Este parámetro requiere Simulink Coder.
Establecer este parámetro en
Nonreusable function
o enReusable function
habilita los parámetros siguientes:Function name options
File name options
Sección de la memoria para inicializar/terminar funciones (requiere Embedded Coder y un archivo de sistema objetivo basado en ERT)
Sección de la memoria para funciones de ejecución (requiere Embedded Coder y un archivo de sistema objetivo basado en ERT)
Establecer este parámetro en
Nonreusable function
, habilita Function with separate data (requiere una licencia para Embedded Coder y un archivo de sistema objetivo basado en ERT).
Uso programático
Parámetro: RTWSystemCode |
Tipo: escalar de cadena o vector de caracteres |
Valor: "Auto" | "Inline" | "Nonreusable function" | "Reusable function" |
Valor predeterminado: "Auto" |
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.
Generación de código HDL
Genere código VHDL, Verilog y SystemVerilog para diseños FPGA y ASIC mediante HDL Coder™.
HDL Coder™ ofrece opciones de configuración adicionales que afectan a la implementación de HDL y a la lógica de síntesis.
Puede usar un parámetro ajustable en un bloque Truth Table con el objetivo de generar código HDL. Para obtener más información, consulte Generate DUT Ports for Tunable Parameters (HDL Coder).
Este bloque tiene una sola arquitectura de HDL predeterminada.
ConstMultiplierOptimization | Optimización de dígito canónico signado (CSD) u CSD factorizado. El valor predeterminado es |
ConstrainedOutputPipeline | Número de registros que se debe colocar en las salidas desplazando los retardos existentes en el diseño. La canalización distribuida no redistribuye estos registros. El valor predeterminado es |
DistributedPipelining | Distribución de registros de canalización o reprogramación de registros. El valor predeterminado es |
InputPipeline | Número de fases de canalización de entrada que se debe insertar en el código generado. La canalización distribuida y la canalización de salida limitada pueden desplazar estos registros. El valor predeterminado es |
InstantiateFunctions | Genera una entidad VHDL® |
LoopOptimization | Desenrolla, secuencia o no optimiza los bucles. El valor predeterminado es |
MapPersistentVarsToRAM | Asigna los arreglos persistentes a la RAM. El valor predeterminado es |
OutputPipeline | Número de fases de canalización de salida que se debe insertar en el código generado. La canalización distribuida y la canalización de salida limitada pueden desplazar estos registros. El valor predeterminado es |
ResetType | Suprime la generación de lógica de restablecimiento. El valor predeterminado es |
SharingFactor | Número de recursos funcionalmente equivalentes que se debe asignar a un único recurso compartido. El valor predeterminado es 0. Consulte también Resource Sharing (HDL Coder). |
VariablesToPipeline | Advertencia
Inserte un registro de canalización en la salida de la variable o variables de MATLAB especificadas. Especifique la lista de variables como vector de caracteres, con espacios que separen las variables. |
Generación de código PLC
Genere código de texto estructurado mediante Simulink® PLC Coder™.
Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.
Historial de versiones
Introducido antes de R2006a
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de 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)