Truth Table
Representar el comportamiento de toma de decisiones lógicas con condiciones, decisiones y acciones

Bibliotecas:
Stateflow
Descripción
El bloque Truth Table representa el diseño de lógica combinatoria en un formato tabular. Puede utilizar bloques de tablas de verdad que permitan modelar el comportamiento de toma de decisiones en función de un conjunto de condiciones. Para obtener más información, consulte Usar tablas de verdad para modelar la lógica combinatoria.
Para implementar la lógica de control, los bloques de Truth Table utilizan MATLAB® como lenguaje de acción.
Puertos
Entrada
Cuando crea datos de entrada en la tabla de verdad de Stateflow® usando el panel Symbols, Stateflow crea un puerto de entrada correspondiente en el bloque Truth Table.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
Salida
Cuando crea datos de salida en la tabla de verdad de Stateflow usando el panel Symbols, Stateflow crea un puerto de salida correspondiente en el bloque Truth Table.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
Parámetros
Para editar parámetros de bloque de manera interactiva, use Property Inspector. En la barra de herramientas de Simulink®, en la pestaña Simulation, en la galería Prepare, seleccione Property Inspector.
Nota
Los bloques Truth Table también tienen parámetros de bloque Subsystem (Simulink) a los que puede acceder haciendo clic con el botón secundario en el bloque y haciendo clic en Block Parameters (Subsystem). Sin embargo, no se recomienda actualizar estos parámetros de bloque.
Método para actualizar o activar una tabla de verdad de Stateflow, especificado como Inherited
, Discrete
o Continuous
.
Inherited
La entrada del modelo de Simulink determina cuándo se activa la tabla de verdad durante una simulación (de forma predeterminada).
Si se definen eventos de entrada en la tabla de verdad, la tabla de verdad de Stateflow se activa explícitamente por una señal en su puerto de activación que se origina en un bloque de Simulink conectado. Se puede configurar este evento de entrada de activación para que se produzca en respuesta a una señal de Simulink. La señal de Simulink puede ser
Rising
,Falling
oEither
(ascendente y descendente) o responder a unaFunction Call
. Para obtener más información, consulte Activar un gráfico de Stateflow enviando eventos de entrada.Si no se definen los eventos de entrada, la tabla de verdad de Stateflow hereda implícitamente los activadores del modelo de Stateflow. Estos eventos implícitos son los tiempos de muestreo discretos o continuos de las señales de Stateflow que proporcionan entradas a la tabla de verdad. Si se definen entradas de datos, la tabla de verdad se activa a la tasa de entrada de datos más rápida. Si no se define ninguna entrada de datos en la tabla de verdad, se activa según lo definido por el comportamiento de ejecución de su subsistema principal.
Discrete
El modelo de Simulink genera un evento implícito a intervalos de tiempo regulares para activar la tabla de verdad de Stateflow a la tasa que se especifica en el parámetro de la tabla de verdad Sample Time. Los otros bloques del modelo de Simulink pueden tener diferentes tiempos de muestreo.
Continuous
La tabla de verdad de Stateflow actualiza su estado solo durante las unidades de tiempo de mayor duración, aunque calcula las salidas y las variables continuas locales durante las unidades de tiempo de menor y mayor duración. Para obtener más información, consulte Continuous-Time Modeling in Stateflow.
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | ChartUpdate |
Valores: | "INHERITED" (predeterminado) | "CONTINUOUS" | "DISCRETE" |
Intervalo de tiempo en el que una tabla de verdad se activa durante la simulación, especificado como escalar o vector. El intervalo de tiempo predeterminado es -1
, lo que indica que la tabla de verdad de Stateflow hereda el tiempo de muestreo de Simulink.
No utilice el parámetro Sample Time en los parámetros del bloque Subsystem. En su lugar, utilice Property Inspector.
Dependencias
Para habilitar este parámetro, establezca Update method en Discrete
.
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | SampleTime |
Valores: | "-1" (predeterminado) | string scalar | character vector |
Tipos de datos: | string | char |
Avanzados
Parámetro que indica si los datos de la tabla de verdad se saturan en el desbordamiento de enteros. Cuando desactiva este parámetro, los datos de la tabla de verdad se ajustan en el desbordamiento de enteros. Para obtener más información, consulte Handle Integer and Enumeration Overflow for Chart Data.
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | SaturateOnIntegerOverflow |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Parámetro que indica si la tabla de verdad admite datos de tamaño variable. Para obtener más información, consulte Declare Variable-Size Data in Stateflow Charts.
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | SupportVariableSizing |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Desde R2023a
Parámetro que indica si la tabla de verdad trata los datos no escalares con una dimensión de longitud 1 como tamaño fijo. Cuando selecciona este parámetro, la tabla de verdad trata los datos no escalares que tienen al menos una dimensión de longitud 1 como tamaño fijo, independientemente de si habilita la propiedad de datos Variable size. Cuando desactiva este parámetro, la tabla de verdad trata los datos no escalares con la propiedad Variable size habilitada como tamaño variable.
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | TreatDimensionOfLengthOneAsFixedSize |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Acción de diagnóstico cuando la tabla de verdad tiene una especificación excesiva, especificado como "Error"
, "Warning"
o "None"
. Para obtener más información, consulte Correct Overspecified and Underspecified Truth Tables.
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | OverSpecDiagnostic |
Valores: | "Error" (predeterminado) | "Warning" | "None" |
Propiedades de punto fijo
Señales de Simulink heredadas que se desean tratar como objetos fi
de Fixed-Point Designer™, especificadas como uno de estos valores:
Fixed-point
: la tabla de verdad trata todas las entradas de punto fijo como objetosfi
.Fixed-point & Integer
: la tabla de verdad trata todas las entradas de punto fijo y enteras como objetosfi
.
Este parámetro se aplica solo a las tablas de verdad que utilizan MATLAB como lenguaje de acción.
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | TreatAsFi |
Valores: | "Fixed-point" (predeterminado) | "Fixed-point & Integer" |
Propiedades del objeto fimath
predeterminado para la tabla de verdad, especificadas como uno de estos valores:
Same as MATLAB
: la tabla de verdad usa las mismas propiedades del objetofimath
que el objetofimath
predeterminado actual. El cuadro de texto está atenuado y muestra el objetofimath
global actual en formato de solo lectura.Specify other
: especifica su propio objetofimath
en el cuadro de texto.
Para obtener más información, consulte fimath Object Construction (Fixed-Point Designer).
Uso programático
Para establecer el valor de los parámetros de un bloque de manera programática, acceda al objeto Stateflow.TruthTableChart
del bloque y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | EmlDefaultFimath |
Valores: | "Same as MATLAB Default" (predeterminado) | "Other:UserSpecified" |
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante Simulink® 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 |
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). |
El bloque se utiliza en estas optimizaciones de HDL para optimizar la velocidad y el área.
Optimización de velocidad y área
Optimización | Descripción |
---|---|
Distributed Pipelining (HDL Coder) | Canalización distribuida, o reprogramación de registros, es una optimización de velocidad que mueve los retardos existentes en un diseño para reducir la ruta crítica mientras se conserva el comportamiento funcional. |
Resource Sharing (HDL Coder) | Uso compartido de recursos es una optimización de área en la que HDL Coder identifica varios recursos equivalentes funcionalmente y los reemplaza por un único recurso. |
Understand Delay Balancing in HDL Coder (HDL Coder) | Cuando las optimizaciones o las opciones de implementación de bloques introducen retardos a lo largo de la ruta crítica en un modelo, la compensación de retardos detecta la introducción de nuevos retardos en una ruta y, después, inserta los retardos correspondientes en las otras rutas. |
Clock-Rate Pipelining (HDL Coder) | Canalización de la frecuencia de reloj es un marco de optimización en HDL Coder que permite otras optimizaciones de velocidad y área para introducir una latencia en la frecuencia de reloj. |
Adaptive Pipelining (HDL Coder) | La optimización canalización adaptativa crea patrones o combinaciones de bloques con registros que pueden mejorar la frecuencia de reloj alcanzable y reducir el uso de área en las placas FPGA introduciendo registros de canalización en los bloques del diseño. |
Estimación de ruta crítica (HDL Coder) | Para identificar rápidamente la ruta crítica más probable del diseño, use estimación de ruta crítica. La estimación de la ruta crítica acelera el proceso iterativo de encontrar la ruta crítica. Para identificar los bloques que están caracterizados en la estimación de la ruta crítica, consulte Characterized Blocks (HDL Coder). |
Para obtener más información sobre las restricciones, consulte Introduction to Stateflow HDL Code Generation (HDL Coder).
Cuando aplica optimizaciones, el bloque tiene estas limitaciones:
Las optimizaciones HDL no se admiten para el bloque que tiene un puerto Trigger.
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 R2006aCon el nuevo parámetro Treat dimensions of length 1 as fixed size, puede especificar cómo las tablas de verdad tratan los datos no escalares cuando al menos una dimensión tiene longitud 1. En versiones anteriores a R2023a, las tablas de verdad trataban los datos no escalares con al menos una dimensión de longitud 1 como tamaño fijo, independientemente de si se había habilitado la propiedad de datos Variable size.
Consulte también
Bloques
Objetos
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)