Truth Table
조건, 결정, 동작으로 의사 결정 로직 표현

라이브러리:
Stateflow
설명
Truth Table 블록은 테이블 형식으로 조합 논리 설계를 표현합니다. Truth Table 블록을 사용하여 일련의 조건에 따라 의사결정 동작을 모델링할 수 있습니다. 자세한 내용은 조합 논리 모델링에 진리표 사용하기 항목을 참조하십시오.
제어 논리를 구현하기 위해 Truth Table 블록은 MATLAB®을 동작 언어로 사용합니다.
포트
입력
기호 창을 사용하여 Stateflow® 진리표에서 입력 데이터를 생성하면 Stateflow가 Truth Table 블록에 그에 대응하는 입력 포트를 생성합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
출력
기호 창을 사용하여 Stateflow 진리표에서 출력 데이터를 생성하면 Stateflow가 Truth Table 블록에 그에 대응하는 출력 포트를 생성합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
파라미터
블록 파라미터를 대화형 방식으로 편집하려면 속성 인스펙터를 사용하십시오. Simulink® 툴스트립에 있는 시뮬레이션 탭의 준비 갤러리에서 속성 인스펙터를 선택합니다.
참고
Truth Table 블록에는 블록을 마우스 오른쪽 버튼으로 클릭하고 블록 파라미터 (Subsystem)을 클릭하여 액세스할 수 있는 Subsystem (Simulink) 블록 파라미터도 있습니다. 하지만 이러한 블록 파라미터를 업데이트하는 것은 권장되지 않습니다.
Stateflow 진리표를 업데이트하거나 웨이크업 상태로 만드는 방법으로, 상속됨
, 이산
또는 연속
으로 지정됩니다.
상속됨
디폴트 값으로, Simulink 모델로부터의 입력이 시뮬레이션 중에 진리표가 웨이크업 상태가 되는 시점을 결정합니다.
진리표에 대한 입력 이벤트를 정의하면, 연결된 Simulink 블록에서 시작된 트리거 포트의 신호에 의해 Stateflow 진리표가 명시적으로 트리거됩니다. 이 트리거 입력 이벤트는 Simulink 신호에 대한 응답으로 발생하도록 설정할 수 있습니다. Simulink 신호는
상승
,하강
또는양쪽 모두 가능
(상승과 하강)이거나함수 호출
에 대한 응답일 수 있습니다. 자세한 내용은 입력 이벤트를 전송하여 Stateflow 차트 활성화하기 항목을 참조하십시오.입력 이벤트를 정의하지 않으면 Stateflow 진리표는 Stateflow 모델로부터 묵시적으로 트리거를 상속합니다. 이러한 묵시적 이벤트는 진리표에 입력을 제공하는 Stateflow 신호의 이산 샘플 시간 또는 연속 샘플 시간입니다. 데이터 입력을 정의하면 진리표는 가장 빠른 데이터 입력 속도로 웨이크업 상태가 됩니다. 진리표의 데이터 입력을 정의하지 않으면 진리표는 부모 서브시스템의 실행 동작에 정의된 대로 웨이크업 상태가 됩니다.
이산
Simulink 모델은 일정한 시간 간격의 묵시적 이벤트를 생성하여 샘플 시간 진리표 파라미터에 사용자가 지정한 속도로 Stateflow 진리표를 활성화합니다. Simulink 모델의 다른 블록은 샘플 시간이 다를 수 있습니다.
연속
Stateflow 진리표는 주 시간 스텝과 보조 시간 스텝 중에 출력과 로컬 연속 변수를 계산하지만, 주 시간 스텝 중에만 상태를 업데이트합니다. 자세한 내용은 Continuous-Time Modeling in Stateflow 항목을 참조하십시오.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | ChartUpdate |
값: | "INHERITED" (디폴트 값) | "CONTINUOUS" | "DISCRETE" |
시뮬레이션 중에 진리표가 웨이크업 상태가 되는 시간 간격으로, 스칼라 또는 벡터로 지정됩니다. 디폴트 시간 간격은 -1
이며, 이는 Simulink로부터 Stateflow 진리표로 샘플이 상속됨을 나타냅니다.
Subsystem 블록 파라미터의 샘플 시간 파라미터를 사용하지 마십시오. 대신, 속성 인스펙터를 사용하십시오.
종속 관계
이 파라미터를 활성화하려면 업데이트 방법을 이산
으로 설정하십시오.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | SampleTime |
값: | "-1" (디폴트 값) | string scalar | character vector |
데이터형: | string | char |
고급
진리표의 데이터가 정수 오버플로 시 포화되는지 여부입니다. 이 파라미터의 선택을 해제하면 진리표의 데이터가 정수 오버플로 시 래핑됩니다. 자세한 내용은 Handle Integer and Enumeration Overflow for Chart Data 항목을 참조하십시오.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | SaturateOnIntegerOverflow |
값: | true or 1 (디폴트 값) | false or 0 |
데이터형: | logical |
진리표가 가변 크기 데이터를 지원할지 여부입니다. 자세한 내용은 Stateflow 차트에서 가변 크기 데이터 선언하기 항목을 참조하십시오.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | SupportVariableSizing |
값: | true or 1 (디폴트 값) | false or 0 |
데이터형: | logical |
R2023a 이후
진리표가 길이가 1인 차원을 가진, 스칼라가 아닌 데이터를 고정 크기로 처리할지 여부입니다. 이 파라미터를 선택하면 가변 크기 데이터 속성의 활성화 여부와 관계없이 진리표는 길이가 1인 차원이 하나 이상인, 스칼라가 아닌 데이터를 고정 크기로 처리합니다. 이 파라미터의 선택을 해제하면 진리표는 가변 크기 속성이 활성화된, 스칼라가 아닌 데이터를 가변 크기로 처리합니다.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | TreatDimensionOfLengthOneAsFixedSize |
값: | true or 1 (디폴트 값) | false or 0 |
데이터형: | logical |
진리표가 과다 지정되었을 때의 진단 수준으로, "Error"
, "Warning"
또는 "None"
으로 지정됩니다. 자세한 내용은 Correct Overspecified and Underspecified Truth Tables 항목을 참조하십시오.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | OverSpecDiagnostic |
값: | "Error" (디폴트 값) | "Warning" | "None" |
고정소수점 속성
Fixed-Point Designer™ fi
객체로 취급될 상속된 Simulink 신호로, 다음 값 중 하나로 지정됩니다.
Fixed-point
— 진리표는 모든 고정소수점 입력을fi
객체로 취급합니다.Fixed-point & Integer
— 진리표는 모든 고정소수점 입력과 정수 입력을fi
객체로 취급합니다.
이 파라미터는 MATLAB을 동작 언어로 사용하는 진리표에만 적용됩니다.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | TreatAsFi |
값: | "Fixed-point" (디폴트 값) | "Fixed-point & Integer" |
진리표의 디폴트 fimath
객체 속성으로, 다음 값 중 하나로 지정됩니다.
Same as MATLAB
— 진리표는 현재 디폴트fimath
객체와 동일한fimath
객체 속성을 사용합니다. 텍스트 상자가 흐리게 표시되고 현재 전역fimath
객체는 읽기 전용 형식으로 표시됩니다.Specify other
— 텍스트 상자에 사용자 고유의fimath
객체를 지정합니다.
자세한 내용은 fimath Object Construction (Fixed-Point Designer) 항목을 참조하십시오.
프로그래밍 방식 사용
블록 파라미터 값을 프로그래밍 방식으로 설정하려면 블록의 Stateflow.TruthTableChart
객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
파라미터: | EmlDefaultFimath |
값: | "Same as MATLAB Default" (디폴트 값) | "Other:UserSpecified" |
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
HDL Coder™는 HDL 구현과 합성된 논리에 영향을 주는 추가 구성 옵션을 제공합니다.
HDL 코드 생성을 위한 Truth Table 블록에서 조정 가능형 파라미터를 사용할 수 있습니다. 자세한 내용은 Generate DUT Ports for Tunable Parameters (HDL Coder) 항목을 참조하십시오.
이 블록에는 단일 디폴트 HDL 아키텍처가 있습니다.
ConstMultiplierOptimization | 정준부호숫자(CSD: Canonical signed digit) 또는 인수분해된 CSD 최적화입니다. 디폴트 값은 |
ConstrainedOutputPipeline | 기존 지연을 설계 내부로 이동하여 출력에 배치하는 레지스터의 개수입니다. 분산된 파이프라이닝은 이러한 레지스터를 다시 분산하지 않습니다. 디폴트 값은 |
DistributedPipelining | 파이프라인 레지스터 분포 또는 레지스터 타이밍 재지정입니다. 디폴트 값은 |
InputPipeline | 생성된 코드에 삽입할 입력 파이프라인 단계의 개수입니다. 분산된 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
OutputPipeline | 생성된 코드에 삽입할 출력 파이프라인 단계의 개수입니다. 분산된 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
ResetType | 재설정 논리 생성을 억제합니다. 디폴트 값은 |
SharingFactor | 단일 공유 리소스에 매핑할, 기능적으로 동일한 리소스의 개수입니다. 디폴트 값은 0입니다. Resource Sharing (HDL Coder) 항목도 참조하십시오. |
블록은 이러한 HDL 최적화에 참여하여 속도와 면적을 최적화합니다.
속도 최적화와 면적 최적화
최적화 | 설명 |
---|---|
Distributed Pipelining (HDL Coder) | 분산된 파이프라이닝 또는 레지스터 타이밍 재지정은 설계의 기존 지연을 이동시켜 임계 경로를 축소하면서 기능적 동작을 보존하는 속도 최적화입니다. |
Resource Sharing (HDL Coder) | 리소스 공유는 HDL Coder가 기능적으로 동등한 여러 리소스를 식별하여 단일 리소스로 대체하는 면적 최적화입니다. |
Understand Delay Balancing in HDL Coder (HDL Coder) | 최적화 또는 블록 구현 옵션으로 인해 모델에서 임계 경로를 따라 지연이 유발되는 경우 지연 밸런싱은 한 경로에서 새로운 지연이 유발되었는지 감지한 다음 짝을 이루는 지연을 다른 경로에 삽입합니다. |
Clock-Rate Pipelining (HDL Coder) | 클록 속도 파이프라이닝은 HDL Coder의 최적화 프레임워크로, 다른 속도 및 면적 최적화가 클록 속도에서 지연 시간을 도입할 수 있게 합니다. |
Adaptive Pipelining (HDL Coder) | 적응형 파이프라이닝 최적화는 설계의 블록에 파이프라인 레지스터를 삽입하여 달성 가능한 클록 주파수를 향상하고 FPGA 보드의 면적 사용량을 줄일 수 있는 블록과 레지스터의 패턴 또는 조합을 생성합니다. |
임계 경로 추정 (HDL Coder) | 설계에서 가장 가능성이 높은 임계 경로를 빠르게 식별하기 위해서는 임계 경로 추정을 사용합니다. 임계 경로 추정은 임계 경로를 찾는 반복 프로세스의 속도를 높입니다. 임계 경로 추정에 사용할 수 있는 특성화된 블록에 대한 내용은 Characterized Blocks (HDL Coder) 항목을 참조하십시오. |
제한 사항에 대해 알아보려면 Introduction to Stateflow HDL Code Generation (HDL Coder) 항목을 참조하십시오.
최적화를 적용하는 경우 블록에는 다음과 같은 제한 사항이 있습니다.
Trigger 포트가 있는 블록에는 HDL 최적화가 지원되지 않습니다.
PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.
고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.
버전 내역
R2006a 이전에 개발됨새 파라미터 길이가 1인 차원을 고정 크기로 처리를 사용하면 길이가 1인 차원이 하나 이상인 경우 진리표가 스칼라가 아닌 데이터를 처리하는 방법을 지정할 수 있습니다. R2023a 이전에는 가변 크기 데이터 속성의 활성화 여부와 관계없이 진리표는 길이가 1인 차원이 하나 이상인, 스칼라가 아닌 데이터를 고정 크기로 처리했습니다.
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.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)