Truth Table
Darstellen von logischem Entscheidungsfindungsverhalten mit Bedingungen, Entscheidungen und Aktionen
Bibliotheken:
Stateflow
Beschreibung
Der Truth Table-Block stellt kombinatorische Logik in einem Tabellenformat dar. Mit Wahrheitstabellen-Blöcken können Sie das Entscheidungsfindungsverhalten auf Basis einer Reihe von Bedingungen modellieren. Weitere Informationen finden Sie unter Use Truth Tables to Model Combinatorial Logic.
Zum Implementieren einer Steuerlogik können Truth Table-Blöcke MATLAB® als Aktionssprache verwenden.
Ports
Eingang
Wenn Sie Eingangsdaten in der Stateflow®-Wahrheitstabelle mithilfe des Fensterbereichs Symbols erstellen, erstellt Stateflow einen entsprechenden Eingangsport am Truth Table-Block.
Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string
Ausgang
Wenn Sie Ausgangsdaten in der Stateflow-Wahrheitstabelle mithilfe des Fensterbereichs Symbols erstellen, erstellt Stateflow einen entsprechenden Ausgangsport bei dem Truth Table-Block.
Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string
Parameter
Verwenden Sie Property Inspector, um Blockparameter interaktiv zu bearbeiten. Wählen Sie in der Simulink®-Werkzeugleiste auf der Registerkarte Simulation aus der Galerie Prepare Property Inspector aus.
Hinweis
Truth Table-Blöcke weisen zudem Subsystem (Simulink)-Blockparameter auf, auf die Sie über Rechtsklick auf den Block und Klick auf Block Parameters (Subsystem) zugreifen können. Eine Änderung dieser Blockparameter wird jedoch nicht empfohlen.
Methoden zur Aktualisierung oder zum Aufwecken von Stateflow-Wahrheitstabellen, angegeben als Inherited, Discrete oder Continuous.
InheritedDer Eingang vom Simulink-Modell legt fest, wann die Wahrheitstabelle während einer Simulation aufgeweckt wird (Standard).
Wenn Sie Eingangsereignisse für die Wahrheitstabelle definieren, wird die Stateflow-Wahrheitstabelle explizit durch ein Signal an ihrem Triggerport ausgelöst, das von einem verbundenen Simulink-Block stammt. Sie können dieses Auslöser-Eingangsereignis in Reaktion auf ein Simulink-Signal auslösen lassen. Das Simulink-Signal kann
Rising,FallingoderEither(ansteigend oder fallend) sein oder als Antwort auf einenFunction Callübermittelt werden. Weitere Informationen finden Sie unter Aktivieren eines Stateflow-Diagramms durch Absenden von Eingangsereignissen.Wenn Sie keine Eingangsereignisse definieren, erbt die Stateflow-Wahrheitstabelle implizit Auslöser vom Stateflow-Modell. Diese impliziten Ereignisse sind die diskreten oder kontinuierlichen Abtastzeiten der Stateflow-Signale, die Eingänge für die Wahrheitstabelle bereitstellen. Wenn Sie Dateneingänge definieren, wird die Wahrheitstabelle mit der Rate des schnellsten Dateneingangs aufgeweckt. Wenn Sie keine Dateneingänge für die Wahrheitstabelle definieren, wird die Wahrheitstabelle wie vom Ausführungsverhalten des übergeordneten Subsystems festgelegt aufgeweckt.
DiscreteDas Simulink-Modell generiert in regelmäßigen Zeitabständen ein implizites Ereignis, um die Stateflow-Wahrheitstabelle aufzuwecken. Hierbei wird die Rate verwendet, die Sie im Wahrheitstabellenparameter Sample Time angeben. Andere Blöcke im Simulink-Modell können andere Abtastzeiten aufweisen.
ContinuousDie Stateflow-Wahrheitstabelle aktualisiert ihren Zustand nur bei größeren Zeitschritten, berechnet Ausgänge und lokale kontinuierliche Variablen jedoch bei größeren und kleineren Zeitschritten. Weitere Informationen finden Sie unter Continuous-Time Modeling in Stateflow.
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | ChartUpdate |
| Werte: | "INHERITED" (Standardeinstellung) | "CONTINUOUS" | "DISCRETE" |
Zeitintervall, nach dem eine Wahrheitstabelle während der Simulation aufgeweckt wird, angegeben durch ein Skalar oder einen Vektor. Das Standard-Zeitintervall ist -1; dies weist darauf hin, dass die Stateflow-Wahrheitstabelle die Abtastzeit von Simulink erbt.
Verwenden Sie nicht den Parameter Sample Time der Subsystem-Blockparameter. Verwenden Sie stattdessen den Property Inspector.
Abhängigkeiten
Um diesen Parameter zu aktivieren, setzen Sie Update Method auf Discrete.
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | SampleTime |
| Werte: | "-1" (Standardeinstellung) | string scalar | character vector |
| Datentypen: | string | char |
Erweitert
Legt fest, ob die Daten in der Wahrheitstabelle bei einem Ganzzahl-Überlauf gesättigt werden. Wenn Sie diesen Parameter deaktivieren, werden die Daten in der Wahrheitstabelle bei einem Ganzzahl-Überlauf umgebrochen. Weitere Informationen finden Sie unter Handle Integer and Enumeration Overflow for Chart Data.
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | SaturateOnIntegerOverflow |
| Werte: | true or 1 (Standardeinstellung) | false or 0 |
| Datentypen: | logical |
Legt fest, ob die Wahrheitstabelle Daten variabler Größe unterstützt. Weitere Informationen finden Sie unter Declare Variable-Size Data in Stateflow Charts.
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | SupportVariableSizing |
| Werte: | true or 1 (Standardeinstellung) | false or 0 |
| Datentypen: | logical |
Seit R2023a
Legt fest, ob die Wahrheitstabelle nicht-skalare Daten mit einer Längendimension 1 als feste Größe behandelt. Wenn Sie diesen Parameter auswählen, behandelt die Wahrheitstabelle nicht-skalare Daten, die mindestens eine Längendimension 1 haben, als feste Größe, unabhängig davon, ob Sie die Dateneigenschaft Variable size aktivieren. Wenn Sie diesen Parameter deaktivieren, behandelt die Wahrheitstabelle nicht-skalare Daten mit aktivierter Eigenschaft Variable size als variable Größe.
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | TreatDimensionOfLengthOneAsFixedSize |
| Werte: | true or 1 (Standardeinstellung) | false or 0 |
| Datentypen: | logical |
Grad der Diagnosemaßnahmen, wenn eine Wahrheitstabelle überspezifiziert ist, angegeben als "Error", "Warning" oder "None". Weitere Informationen finden Sie unter Correct Overspecified and Underspecified Truth Tables.
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | OverSpecDiagnostic |
| Werte: | "Error" (Standardeinstellung) | "Warning" | "None" |
Festkomma-Eigenschaften
Geerbte Simulink-Signale, die als Fixed-Point Designer™ fi-Objekte behandelt werden sollen, festgelegt als einer dieser Werte:
Fixed-point– Die Wahrheitstabelle behandelt alle Festkomma-Eingänge alsfi-Objekte.Fixed-point & Integer– Die Wahrheitstabelle behandelt alle Festkomma- und Ganzzahlen-Eingänge alsfi-Objekte.
Dieser Parameter gilt nur für Wahrheitstabellen, die MATLAB als Aktionssprache verwenden.
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | TreatAsFi |
| Werte: | "Fixed-point" (Standardeinstellung) | "Fixed-point & Integer" |
fimath-Standardobjekteigenschaften der Wahrheitstabelle, festgelegt als einer dieser Werte:
Same as MATLAB– Die Wahrheitstabelle verwendet dieselbenfimath-Objekteigenschaften wie das aktuellefimath-Standardobjekt. Das Textfeld wird abgedunkelt und zeigt das aktuelle globalefimath-Objekt schreibgeschützt an.Specify other– Legen Sie Ihr eigenesfimath-Objekt im Textfeld fest.
Weitere Informationen finden Sie unter fimath Object Construction (Fixed-Point Designer).
Programmatische Verwendung
Um den Block-Parameterwert programmatisch festzulegen, greifen Sie auf das Stateflow.TruthTableChart-Objekt des Blocks zu und ändern Sie die Objekteigenschaft mithilfe der Punktschreibweise.
| Parameter: | EmlDefaultFimath |
| Werte: | "Same as MATLAB Default" (Standardeinstellung) | "Other:UserSpecified" |
Erweiterte Fähigkeiten
C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® Coder™.
HDL Coder™ bietet zusätzliche Konfigurationsoptionen, die sich auf die HDL-Implementierung und die synthetisierte Logik auswirken.
Sie können einen einstellbaren Parameter in einem Truth Table-Block für die HDL-Codegenerierung verwenden. Weitere Informationen finden Sie unter Generate DUT Ports for Tunable Parameters (HDL Coder).
Dieser Block verfügt über eine Standard-HDL-Architektur.
| ConstMultiplierOptimization | Kanonische vorzeichenbehaftete Ziffer (CSD) oder faktorisierte CSD-Optimierung. Der Standardwert ist |
| ConstrainedOutputPipeline | Anzahl der Register, die an den Ausgängen platziert werden sollen, indem vorhandene Verzögerungen innerhalb Ihres Entwurfs verschoben werden. Beim verteilten Pipelining werden diese Register nicht umverteilt. Der Standardwert ist |
| DistributedPipelining | Pipeline-Registerverteilung oder Register-Retiming. Der Standardwert ist |
| InputPipeline | Anzahl der Eingangs-Pipelinestufen, die in den generierten Code einzufügen sind. Verteiltes Pipelining und eingeschränktes Ausgangs-Pipelining können diese Register verschieben. Der Standardwert ist |
| OutputPipeline | Anzahl der Ausgangs-Pipelinestufen, die in den generierten Code einzufügen sind. Verteiltes Pipelining und eingeschränktes Ausgangs-Pipelining können diese Register verschieben. Der Standardwert ist |
| ResetType | Unterdrücken der Erzeugung von Reset-Logik. Der Standardwert ist |
| SharingFactor | Anzahl der funktional gleichwertigen Ressourcen, die einer einzelnen geteilten Ressource zugeordnet werden sollen. Der Standardwert ist 0. Siehe auch Resource Sharing (HDL Coder). |
Der Block wirkt an diesen HDL-Optimierungen mit, um Geschwindigkeit und Fläche zu optimieren.
Optimierung von Geschwindigkeit und Fläche
| Optimierung | Beschreibung |
|---|---|
| Distributed Pipelining (HDL Coder) | Distributed Pipelining oder Register-Retiming ist eine Geschwindigkeitsoptimierung, die bestehende Verzögerungen in einem Entwurf verschiebt, um den kritischen Pfad zu reduzieren, wobei das Funktionsverhalten bewahrt wird. |
| Resource Sharing (HDL Coder) | Resource Sharing ist eine Flächenoptimierung, bei der HDL Coder mehrere funktional äquivalente Ressourcen identifiziert und durch eine einzige Ressource ersetzt. |
| Understand Delay Balancing in HDL Coder (HDL Coder) | Wenn Optimierungen oder Block-Implementierungsoptionen Verzögerungen entlang dem kritischen Pfad in einem Modell erzeugen, erkennt Delay Balancing das Entstehen neuer Verzögerungen entlang einem Pfad und fügt daraufhin entsprechende Verzögerungen in den anderen Pfaden ein. |
| Clock-Rate Pipelining (HDL Coder) | Clock-Rate Pipelining ist ein Optimierungs-Framework in HDL Coder, das es anderen Geschwindigkeits- und Flächenoptimierungen erlaubt, Latenzzeit mit der Taktfrequenz hinzuzufügen. |
| Adaptive Pipelining (HDL Coder) | Adaptive Pipelining ist eine Optimierung, die Muster oder Kombinationen von Blöcken mit Registern erstellt, die die erzielbare Taktfrequenz verbessern und die Flächennutzung auf der FPGA-Platine reduziert, indem Pipeline-Register den Blöcken Ihres Entwurfs hinzugefügt werden. |
| Critical Path Estimation (Schätzung des kritischen Pfads) (HDL Coder) | Verwenden Sie Critical Path Estimation, um den wahrscheinlichsten kritischen Pfad in Ihrem Entwurf schnell zu identifizieren. Diese Schätzung des kritischen Pfades beschleunigt den iterativen Prozess zum Auffinden des kritischen Pfades. Mehr über die bei der Schätzung des kritischen Pfads charakterisierten Blöcke erfahren Sie unter Characterized Blocks (HDL Coder). |
Weitere Informationen zu den Einschränkungen finden Sie unter Introduction to Stateflow HDL Code Generation (HDL Coder).
Wenn Sie Optimierungen anwenden, unterliegt der Block den folgenden Beschränkungen:
HDL-Optimierungen werden bei einem Block mit Trigger-Ports nicht unterstützt.
PLC-Codegenerierung
Generieren strukturierten Textcodes mit Simulink® PLC Coder™.
Festkommakonvertierung
Entwerfen und Simulieren von Festkommasystemen mit Fixed-Point Designer™.
Versionsverlauf
Eingeführt vor R2006aMit dem neuen Parameter Treat dimensions of length 1 as fixed size können Sie angeben, wie Wahrheitstabellen nicht-skalare Daten behandeln, wenn mindestens eine Dimension die Länge 1 hat. Vor R2023a wurden in Wahrheitstabellen nicht-skalare Daten mit mindestens einer Dimension der Länge 1 als feste Größe behandelt, unabhängig davon, ob Sie die Dateneigenschaft Variable size aktiviert hatten.
Siehe auch
Blöcke
Objekte
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.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- 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)