La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Truth Table
Représenter un comportement décisionnel logique avec des conditions, des décisions et des actions
Bibliothèques :
Stateflow
Description
Le bloc Truth Table représente un design de logique combinatoire dans un format tabulaire. Vous pouvez utiliser des blocs Truth Table pour modéliser un comportement décisionnel en fonction d’un ensemble de conditions. Pour plus d’informations, veuillez consulter Use Truth Tables to Model Combinatorial Logic.
Pour implémenter une logique de contrôle, les blocs Truth Table utilisent MATLAB® comme langage d’action.
Ports
Entrée
Lorsque vous créez des données d’entrée dans la table de vérité Stateflow® au moyen du volet Symbols, Stateflow crée un port d’entrée correspondant sur le bloc Truth Table.
Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string
Sortie
Lorsque vous créez des données de sortie dans la table de vérité Stateflow au moyen du volet Symbols, Stateflow crée un port de sortie correspondant sur le bloc Truth Table.
Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string
Paramètres
Pour modifier les paramètres de bloc de manière interactive, utilisez le Property Inspector. À partir de la barre d’outils Simulink®, dans l’onglet Simulation, dans la galerie Prepare, sélectionnez Property Inspector.
Remarque
Les blocs Truth Table comportent également des paramètres de bloc Subsystem (Simulink) auxquels vous pouvez accéder en faisant un clic droit sur le bloc et en cliquant sur Block Parameters (Subsystem). Toutefois, il est déconseillé de mettre à jour ces paramètres de bloc.
Méthode de mise à jour ou d’activation d’une table de vérité Stateflow, spécifiée comme Inherited, Discrete ou Continuous.
InheritedL’entrée issue du modèle Simulink détermine le moment où la table de vérité s’active au cours d’une simulation (valeur par défaut).
Si vous définissez des événements d’entrée pour la table de vérité Stateflow, celle-ci est explicitement déclenchée par un signal à son port de déclenchement provenant d’un bloc Simulink connecté. Vous pouvez définir cet événement d’entrée déclencheur pour qu’il se produise en réponse à un signal Simulink. Le signal Simulink peut être
Rising,FallingouEither(montant et descendant), ou en réponse à unFunction Call. Pour plus d’informations, veuillez consulter Activer un diagramme Stateflow en envoyant des événements en entrée.Si vous ne définissez pas d’événements d’entrée, la table de vérité Stateflow hérite implicitement des déclencheurs du modèle Stateflow. Ces événements implicites sont les pas d’échantillonnage discrets ou continus des signaux Stateflow qui fournissent des entrées à la table de vérité. Si vous définissez des entrées de données, la table de vérité s’active à la fréquence d’entrée de données la plus rapide. Si vous ne définissez pas d’entrée de données pour la table de vérité, celle-ci s’active en fonction du comportement d’exécution de son sous-système parent.
DiscreteLe modèle Simulink génère un événement implicite à des intervalles de temps réguliers pour activer la table de vérité Stateflow à la fréquence que vous spécifiez dans le paramètre Sample Time de la table de vérité. Les autres blocs du modèle Simulink peuvent présenter différents pas d’échantillonnage.
ContinuousLa table de vérité Stateflow met à jour son état uniquement pendant les pas de temps majeurs bien qu’elle calcule les sorties et les variables continues locales pendant les pas de temps majeurs et mineurs. Pour plus d’informations, veuillez consulter Continuous-Time Modeling in Stateflow.
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | ChartUpdate |
| Valeurs : | "INHERITED" (par défaut) | "CONTINUOUS" | "DISCRETE" |
Intervalle de temps auquel une table de vérité s’active pendant la simulation, spécifié par un scalaire ou un vecteur. L’intervalle de temps par défaut est -1, ce qui indique que la table de vérité Stateflow hérite du pas d’échantillonnage de Simulink.
N‘utilisez pas le paramètre Sample Time dans les paramètres du bloc Subsystem. Utilisez à la place le Property Inspector.
Dépendances
Pour activer ce paramètre, définissez Update method sur Discrete.
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | SampleTime |
| Valeurs : | "-1" (par défaut) | string scalar | character vector |
| Types de données : | string | char |
Avancé
Saturation ou non des données de la table de vérité en cas de dépassement d’entier. Lorsque vous désactivez ce paramètre, les données de la table de vérité s’enroulent en cas de dépassement d’entier. Pour plus d’informations, veuillez consulter Handle Integer and Enumeration Overflow for Chart Data.
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | SaturateOnIntegerOverflow |
| Valeurs : | true or 1 (par défaut) | false or 0 |
| Types de données : | logical |
Support ou non des données de taille variable par la table de vérité. Pour plus d’informations, veuillez consulter Declare Variable-Size Data in Stateflow Charts.
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | SupportVariableSizing |
| Valeurs : | true or 1 (par défaut) | false or 0 |
| Types de données : | logical |
Depuis R2023a
Traitement ou non, par la table de vérité, des données non scalaires présentant une dimension de longueur 1 comme étant de taille fixe. Lorsque vous sélectionnez ce paramètre, la table de vérité traite les données non scalaires présentant au moins une dimension de longueur 1 comme étant de taille fixe, que vous activiez ou non la propriété de données Variable size. Lorsque vous désactivez ce paramètre, la table de vérité traite les données non scalaires dont la propriété Variable size est activée comme étant de taille variable.
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | TreatDimensionOfLengthOneAsFixedSize |
| Valeurs : | true or 1 (par défaut) | false or 0 |
| Types de données : | logical |
Niveau de l’action de diagnostic lorsque la table de vérité est surspécifiée, spécifié comme "Error", "Warning" ou "None". Pour plus d’informations, veuillez consulter Correct Overspecified and Underspecified Truth Tables.
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | OverSpecDiagnostic |
| Valeurs : | "Error" (par défaut) | "Warning" | "None" |
Propriétés à virgule fixe
Signaux Simulink hérités à traiter en tant qu’objets Fixed-Point Designer™fi, spécifiés sous la forme de l’une des valeurs suivantes :
Fixed-point: la table de vérité traite toutes les entrées à virgule fixe comme des objetsfi.Fixed-point & Integer: la table de vérité traite toutes les entrées à virgule fixe et entières comme des objetsfi.
Ce paramètre s’applique uniquement aux tables de vérité utilisant MATLAB comme langage d’action.
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | TreatAsFi |
| Valeurs : | "Fixed-point" (par défaut) | "Fixed-point & Integer" |
Propriétés d’objet fimath par défaut de la table de vérité, spécifiées sous la forme de l’une des valeurs suivantes :
Same as MATLAB: la table de vérité utilise les mêmes propriétés d’objetfimathque l’objetfimathpar défaut actuel. La zone de texte est grisée et affiche l'objetfimathglobal actuel en lecture seule.Specify other: spécifiez votre propre objetfimathdans la zone de texte.
Pour plus d’informations, veuillez consulter fimath Object Construction (Fixed-Point Designer).
Utilisation programmatique
Pour définir la valeur du paramètre de bloc de manière programmatique, accédez à l’objet Stateflow.TruthTableChart du bloc et modifiez la propriété de l’objet en utilisant la notation pointée.
| Paramètre : | EmlDefaultFimath |
| Valeurs : | "Same as MATLAB Default" (par défaut) | "Other:UserSpecified" |
Capacités étendues
Génération de code C/C++
Générez du code C et C++ avec Simulink® Coder™.
HDL Coder™ propose des options de configuration supplémentaires qui affectent l’implémentation HDL et la logique synthétisée.
Il est possible d’utiliser un paramètre réglable dans un bloc Truth Table destiné à la génération de code HDL. Pour plus de précisions, consultez Generate DUT Ports for Tunable Parameters (HDL Coder).
Ce bloc dispose d’une seule architecture HDL par défaut.
| ConstMultiplierOptimization | Optimisation par CSD (Canonical signed digit) ou CSD factorisé. La valeur par défaut est |
| ConstrainedOutputPipeline | Nombre de registres à placer aux sorties en déplaçant les délais existants dans votre design. Le pipelining distribué ne redistribue pas ces registres. La valeur par défaut est |
| DistributedPipelining | Distribution des registres de pipeline ou replanification des registres. La valeur par défaut est |
| InputPipeline | Nombre d’étages de pipeline d’entrée à insérer dans le code généré. Le pipelining distribué et le pipelining contraint des sorties peuvent déplacer ces registres. La valeur par défaut est |
| OutputPipeline | Nombre d’étages de pipeline de sortie à insérer dans le code généré. Le pipelining distribué et le pipelining contraint des sorties peuvent déplacer ces registres. La valeur par défaut est |
| ResetType | Supprime la génération de la logique de réinitialisation. La valeur par défaut est |
| SharingFactor | Nombre de ressources fonctionnellement équivalentes à mapper sur une seule ressource partagée. La valeur par défaut est 0. Consultez également Resource Sharing (HDL Coder). |
Le bloc prend part à ces optimisations HDL qui ont pour but d’optimiser la vitesse et l’espace.
Optimisation de la vitesse et de l’espace
| Optimisation | Description |
|---|---|
| Specify Distributed Pipelining Settings (HDL Coder) | Le pipelining distribué, également appelé resynchronisation des registres, est une optimisation de la vitesse qui déplace les retards existants d’un design afin de réduire la trajectoire critique tout en préservant le comportement fonctionnel. |
| Resource Sharing (HDL Coder) | Le partage des ressources est une optimisation d’espace par le biais de laquelle HDL Coder identifie plusieurs ressources aux fonctions équivalentes et les remplace par une ressource unique. |
| Understand Delay Balancing in HDL Coder (HDL Coder) | Lorsque des optimisations ou des options de mise en oeuvre de blocs font apparaître des retards sur la trajectoire critique d'un modèle, Delay Balancing détecte ces retards, puis les répercute sur les autres trajectoires. |
| Clock-Rate Pipelining (HDL Coder) | Le pipelining à fréquence d'horloge est un cadre d'optimisation dans HDL Coder qui permet à d'autres optimisations de vitesse et d’espace d'appliquer un temps de latence à la fréquence d'horloge. |
| Specify Adaptive Pipelining Settings (HDL Coder) | L'optimisation de type pipelining adaptatif crée des modèles ou des combinaisons de blocs avec des registres capables d’améliorer la fréquence d'horloge réalisable et de réduire l'espace utilisé sur les cartes FPGA en insérant des registres de pipelining dans les blocs de votre design. |
| Estimation de la trajectoire critique (HDL Coder) | Pour identifier rapidement la trajectoire critique la plus probable de votre design, utilisez la fonction Estimation de la trajectoire critique. L’estimation de la trajectoire critique permet d’accélérer le processus itératif d’identification de la trajectoire critique. Pour connaître les blocs définis dans l'estimation de la trajectoire critique, voir Characterized Blocks (HDL Coder). |
Pour connaître les restrictions applicables, consultez Introduction to Stateflow HDL Code Generation (HDL Coder).
Lorsque vous appliquez des optimisations, le bloc présente les limitations suivantes :
Les optimisations HDL ne sont pas supportées pour le bloc qui possède un port Trigger.
Génération de code PLC
Générez du texte structuré avec Simulink® PLC Coder™.
Conversion en virgule fixe
Concevez et simulez des systèmes en virgule fixe avec Fixed-Point Designer™.
Historique des versions
Introduit avant R2006aLe nouveau paramètre Treat dimensions of length 1 as fixed size vous permet de spécifier la façon dont les tables de vérité doivent traiter les données non scalaires lorsqu’au moins une dimension a une longueur égale à 1. Avant la version R2023a, les tables de vérité traitaient les données non scalaires présentant au moins une dimension de longueur 1 comme étant de taille fixe, que vous activiez ou non la propriété de données Variable size.
Voir aussi
Blocs
Objets
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.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- 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)