Chart
유한 상태 머신으로 제어 논리 구현
라이브러리:
Stateflow
설명
Chart 블록은 유한 상태 머신을 그래픽으로 표현합니다. Stateflow® 차트에서 상태와 천이는 순차 모달 논리 시스템의 기본 구성요소를 형성합니다. 상태는 동작 모드에 해당하며 천이는 시스템에서 한 동작 모드에서 다른 동작 모드로의 통로를 나타냅니다. 자세한 내용은 Model a Finite State Machine 항목을 참조하십시오.
제어 논리를 구현하기 위해 Stateflow 차트는 MATLAB® 또는 C를 동작 언어로 사용할 수 있습니다. 자세한 내용은 동작 언어 구문으로서 MATLAB과 C의 차이점 항목을 참조하십시오.
예제
활성 상태 출력을 통합하여 Stateflow 차트 단순화하기
이 예제에서는 활성 상태 데이터를 사용하는 경우 차트 계층 구조와 상관관계가 밀접한 데이터를 관리할 필요가 없으므로 일부 Stateflow® 차트의 설계를 단순화하는 방법을 보여줍니다. 활성 상태 데이터를 사용하도록 설정하면 Stateflow는 상태 활동을 Simulink®로의 출력 포트를 통해 보고하거나 차트의 로컬 데이터로 보고합니다. 이 예제에서는 활성 상태 출력 데이터를 추가하여 Stateflow 차트의 설계를 단순화하는 방법을 보여줍니다. 자세한 내용은 Monitor State Activity Through Active State Data 항목을 참조하십시오.
포트
입력
기호 창을 사용하여 Stateflow 차트에서 입력 데이터를 생성하면 Stateflow가 Chart 블록에 해당 입력 포트를 생성합니다.
데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string
출력
기호 창을 사용하여 Stateflow 차트에서 출력 데이터를 생성하면 Stateflow가 Chart 블록에 해당 출력 포트를 생성합니다.
데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string
파라미터
블록 파라미터를 대화형 방식으로 편집하려면 속성 인스펙터를 사용하십시오. Simulink® 툴스트립에 있는 시뮬레이션 탭의 준비 갤러리에서 속성 인스펙터를 선택합니다.
참고
차트에는 차트를 마우스 오른쪽 버튼으로 클릭하고 블록 파라미터 (Subsystem)을 클릭하여 액세스할 수 있는 Subsystem (Simulink) 블록 파라미터도 있습니다. 하지만 이러한 파라미터를 업데이트하는 것은 권장되지 않습니다.
Stateflow 차트를 업데이트하거나 웨이크업 상태로 만드는 방법으로, 상속됨, 이산 또는 연속으로 지정됩니다.
상속됨Simulink 모델로부터의 입력이 시뮬레이션 중에 차트가 웨이크업 상태가 되는 시점을 결정합니다.
차트의 입력 이벤트를 정의하면 트리거 포트에 연결된 Simulink 블록의 신호가 차트를 트리거합니다. Simulink 신호는
상승,하강또는양쪽 모두 가능(상승과 하강)이거나함수 호출에 대한 응답일 수 있습니다. 자세한 내용은 입력 이벤트를 전송하여 Stateflow 차트 활성화하기 항목을 참조하십시오.입력 이벤트를 정의하지 않으면 Stateflow 차트는 Simulink 모델에서 묵시적으로 트리거가 상속됩니다. 이러한 묵시적 이벤트는 차트에 입력을 제공하는 Simulink 신호의 이산 샘플 시간 또는 연속 샘플 시간입니다. 데이터 입력을 정의하면 차트는 가장 빠른 데이터 입력 속도로 웨이크업 상태가 됩니다. 차트의 데이터 입력을 정의하지 않으면 차트는 부모 서브시스템의 실행 동작에 정의된 대로 웨이크업 상태가 됩니다.
이산Simulink 모델이 샘플 시간 차트 속성에 지정된 규칙적인 시간 간격으로 묵시적 이벤트를 생성하면 Stateflow 차트가 웨이크업 상태가 됩니다. Simulink 모델의 다른 블록은 샘플 시간이 다를 수 있습니다.
연속Stateflow 차트는 주 시간 스텝 중에만 상태를 업데이트하며, 주 시간 스텝과 보조 시간 스텝 중에 출력과 로컬 연속 변수를 계산합니다. 차트는 영점교차를 등록할 수 있으며, 이를 통해 Simulink 모델은 상태가 변경될 때마다 Stateflow 차트를 샘플링할 수 있습니다. Stateflow 차트는 로컬 연속 변수에 대한 도함수를 계산합니다. 자세한 내용은 Continuous-Time Modeling in Stateflow 항목을 참조하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | ChartUpdate |
| 값: | "INHERITED" (디폴트 값) | "CONTINUOUS" | "DISCRETE" |
시뮬레이션 중에 차트가 웨이크업 상태가 되는 시간 간격을 지정합니다. 디폴트 값은 차트에 Simulink의 샘플 시간이 상속됨을 나타냅니다. 샘플 시간 지정에 대한 자세한 내용은 샘플 시간 지정하기 (Simulink) 항목을 참조하십시오.
Subsystem 블록 파라미터의 샘플 시간 파라미터를 사용하지 마십시오. 대신, 속성 인스펙터를 사용하십시오.
종속 관계
이 파라미터를 활성화하려면 업데이트 방법을 이산으로 설정하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | SampleTime |
| 값: | "-1" (디폴트 값) | string scalar | character vector |
| 데이터형: | string | char |
차트의 상태 천이에서 영점교차 검출을 활성화할지 여부입니다. 자세한 내용은 Continuous-Time Modeling in Stateflow 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 업데이트 방법을 연속으로 설정하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | EnableZeroCrossings |
| 값: | true or 1 (디폴트 값) | false or 0 |
| 데이터형: | logical |
차트의 상태와 천이 동작에 비트 연산을 사용할지 여부로, 숫자 또는 논리값 1(true) 또는 논리값 0(false)으로 지정됩니다.
종속 관계
이 파라미터를 활성화하려면 동작 언어를 C로 설정하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | EnableBitOps |
| 값: | false or 0 (디폴트 값) | true or 1 |
| 데이터형: | logical |
차트에 대한 활성 상태 데이터 출력 포트를 만들지 여부입니다. 자세한 내용은 Monitor State Activity Through Active State Data 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 Stateflow 상태, 상태 천이 테이블 또는 아토믹 서브차트를 만드십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | HasOutputData |
| 값: | false or 0 (디폴트 값) | true or 1 |
| 데이터형: | logical |
활성 상태 출력 데이터의 모니터링 모드입니다. 자세한 내용은 Monitor State Activity Through Active State Data 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 모니터링을 위한 출력 만들기를 활성화하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | OutputMonitoringMode |
| 값: | "ChildActivity" (디폴트 값) | "LeafStateActivity" |
상태 천이 테이블에 대한 활성 상태 데이터 객체의 이름입니다.
종속 관계
이 파라미터를 활성화하려면 모니터링을 위한 출력 만들기를 활성화하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | OutputPortName |
| 값: | "ChartMode" (디폴트 값) | string scalar | character vector |
| 데이터형: | string | char |
상태 천이 테이블에 대한 활성 상태 데이터 객체의 이름입니다.
종속 관계
이 파라미터를 활성화하려면 모니터링을 위한 출력 만들기를 활성화하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | EnumTypeName |
| 값: | "ChartModeType" (디폴트 값) | string scalar | character vector |
| 데이터형: | string | char |
활성 상태 데이터 출력에 대한 열거형 데이터형을 수동으로 정의할지 여부입니다. 자세한 내용은 Define State Activity Enumeration Type 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 모니터링을 위한 출력 만들기를 활성화하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | DoNotAutogenerateEnum |
| 값: | false or 0 (디폴트 값) | true or 1 |
| 데이터형: | logical |
고급
차트의 상태 구성을 첫 번째 입력 이벤트가 아닌 시간 0에서 초기화할지 여부입니다. 자세한 내용은 Execution of a Chart at Initialization 항목을 참조하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | ExecuteAtInitialization |
| 값: | false or 0 (디폴트 값) | true or 1 |
| 데이터형: | logical |
차트의 데이터가 정수 오버플로 시 포화되는지 여부입니다. 이 파라미터를 선택 해제하면 차트의 데이터가 정수 오버플로 시 래핑됩니다. 자세한 내용은 Handle Integer and Enumeration Overflow for Chart Data 항목을 참조하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | SaturateOnIntegerOverflow |
| 값: | true or 1 (디폴트 값) | false or 0 |
| 데이터형: | logical |
차트가 웨이크업 상태가 될 때마다 출력 데이터를 초기화할지 여부입니다.
이 파라미터를 선택하면 시간 0을 비롯하여 차트가 웨이크업 상태가 될 때마다 차트의 출력값이 재설정됩니다. 함수 호출, 에지 트리거 또는 클록 틱이 차트를 트리거할 때마다 차트가 출력값을 재설정합니다. 출력 데이터 객체의 초기값을 설정하면 출력이 해당 값으로 재설정됩니다. 그렇지 않으면 출력이 0으로 재설정됩니다. 이 파라미터를 선택하여 다음을 수행하십시오.
모든 차트 실행에서 모든 출력이 정의되어 있는지 확인합니다.
출력이 래치되는 것을 방지합니다. 즉, 이전 실행에서 계산된 출력값을 방지합니다.
모든 차트 출력에 유의미한 초기값을 제공합니다.
자세한 내용은 초기값 항목을 참조하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | InitializeOutput |
| 값: | true or 1 (디폴트 값) | false or 0 |
| 데이터형: | logical |
차트가 가변 크기 데이터를 지원할지 여부입니다. 자세한 내용은 Stateflow 차트에서 가변 크기 데이터 선언하기 항목을 참조하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | SupportVariableSizing |
| 값: | true or 1 (디폴트 값) | false or 0 |
| 데이터형: | logical |
Simulink 모델에서 차트 수준 함수를 다른 블록으로 내보낼지 여부입니다. 자세한 내용은 재사용을 위해 Stateflow 함수 내보내기 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 차트에 함수를 추가하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | ExportChartFunctions |
| 값: | false or 0 (디폴트 값) | true or 1 |
| 데이터형: | logical |
차트에서 내보낸 함수를 Simulink 모델에서 전역적으로 볼 수 있는지 여부입니다. 이 속성을 활성화하면 모델 전체에서 블록이 정규화된 표기법을 사용하지 않고 차트에서 내보낸 함수를 호출할 수 있습니다.
종속 관계
이 파라미터를 활성화하려면 차트 수준 함수 내보내기를 활성화하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | AllowGlobalAccessToExportedFunctions |
| 값: | false or 0 (디폴트 값) | true or 1 |
| 데이터형: | logical |
차트의 슈퍼 스텝 의미 체계를 활성화할지 여부입니다. 차트가 안정적인 상태에 도달할 때까지 각 시간 스텝에서 여러 번의 천이를 거치도록 하려면 이 파라미터를 선택합니다. 차트 속성 업데이트 방법을 Continuous로 설정하는 경우 이 옵션을 사용할 수 없습니다. 자세한 내용은 Super Step Semantics 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 업데이트 방법을 이산으로 설정하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | EnableNonTerminalStates |
| 값: | false or 0 (디폴트 값) | true or 1 |
| 데이터형: | logical |
하나의 슈퍼 스텝에서 완료할 수 있는 최대 천이 횟수입니다. 자세한 내용은 Super Step Semantics 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 슈퍼 스텝 의미 체계 활성화를 활성화하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | NonTerminalMaxCounts |
| 값: | 1000 (디폴트 값) | positive integer |
| 데이터형: | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 |
슈퍼 스텝이 하나의 슈퍼 스텝에서 최대 천이 횟수를 초과할 경우 Stateflow가 수행할 동작. 자세한 내용은 Super Step Semantics 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 슈퍼 스텝 의미 체계 활성화를 활성화하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | NonTerminalUnstableBehavior |
| 값: | "Proceed" (디폴트 값) | "Throw Error" |
R2022b 이후
차트가 길이가 1인 차원을 가진, 스칼라가 아닌 데이터를 고정 크기로 처리할지 여부입니다. 이 파라미터를 선택하면 가변 크기 데이터 속성의 활성화 여부와 관계없이 차트는 길이가 1인 차원이 하나 이상인, 스칼라가 아닌 데이터를 고정 크기로 처리합니다. 이 파라미터를 선택 해제하면 차트는 가변 크기 속성이 활성화된, 스칼라가 아닌 데이터를 가변 크기로 처리합니다.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | TreatDimensionOfLengthOneAsFixedSize |
| 값: | true or 1 (디폴트 값) | false or 0 |
| 데이터형: | logical |
시뮬레이션 중과 코드 생성 중에 Stateflow가 분석할 블록 Variant를 지정합니다. 선택한 옵션에 따라 Stateflow는 생성된 코드에 활성 선택 선택지만 포함해야 하는지 또는 활성 선택지와 비활성 선택지를 모두 포함해야 하는지 결정합니다.
다이어그램 업데이트 중 모든 선택지 분석— 이 옵션을 선택하면 Stateflow는 활성 선택지와 비활성 선택지 모두에서 신호 특성의 비호환성을 분석하고 활성 선택지에 대한 코드만 생성합니다.코드 컴파일— 이 옵션을 선택하면 Stateflow는 Variant 천이의 활성 선택지와 비활성 선택지를 모두 분석하고 활성 선택지와 비활성 선택지에 대한 코드를 생성합니다. 생성된 코드를 컴파일할 때 선택지는 조건부로 컴파일되는 C 전처리기 조건문 #if와 #endif로 묶입니다.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | VariantActivationTime |
| 값: | "update diagram analyze all choices" (디폴트 값) | "code compile" |
차트를 프로그래밍하는 데 사용되는 동작 언어로, MATLAB 또는 C로 지정됩니다. 자세한 내용은 동작 언어 구문으로서 MATLAB과 C의 차이점 항목을 참조하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | ActionLanguage |
| 값: | "MATLAB" (디폴트 값) | "C" |
차트에 의해 구현되는 상태 머신 의미 체계로, Classic, Mealy 또는 Moore로 지정됩니다. 자세한 내용은 밀리 머신과 무어 머신에 대한 개요 항목을 참조하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | StateMachineType |
| 값: | "Classic" (디폴트 값) | "Mealy" | "Moore" |
고정소수점 속성
Fixed-Point Designer™ fi 객체로 취급될 상속된 Simulink 신호로, 다음 값 중 하나로 지정됩니다.
Fixed-point— 차트는 모든 고정소수점 입력을fi객체로 취급합니다.Fixed-point & Integer— 차트는 모든 고정소수점 입력과 정수 입력을fi객체로 취급합니다.
종속 관계
이 파라미터를 활성화하려면 동작 언어를 MATLAB으로 설정하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | TreatAsFi |
| 값: | "Fixed-point" (디폴트 값) | "Fixed-point & Integer" |
차트의 디폴트 fimath 속성으로, 다음 값 중 하나로 지정됩니다.
Same as MATLAB— 차트는 현재 디폴트fimath객체와 동일한fimath객체 속성을 사용합니다. 텍스트 상자가 흐리게 표시되고 현재 전역fimath객체는 읽기 전용 형식으로 표시됩니다.Specify other— 다음 두 가지 방법 중 하나로 텍스트 상자에 사용자 고유의fimath객체를 지정합니다.텍스트 상자 내에
fimath객체 구성.MATLAB 또는 모델 작업 공간에서
fimath객체를 생성한 다음 텍스트 상자에 변수 이름 입력. 이 옵션을 사용하고 다른 사용자와 모델을 공유하려는 경우 모델 작업 공간에 변수를 정의하십시오.
자세한 내용은 fimath Object Construction (Fixed-Point Designer) 항목을 참조하십시오.
종속 관계
이 파라미터를 활성화하려면 동작 언어를 MATLAB으로 설정하십시오.
프로그래밍 방식 사용
차트 파라미터 값을 프로그래밍 방식으로 설정하려면 차트의 Stateflow.Chart 객체에 액세스하고 점 표기법을 사용하여 객체 속성을 변경합니다.
| 파라미터: | EmlDefaultFimath |
| 값: | "Same as MATLAB Default" (디폴트 값) | "Other:UserSpecified" |
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
HDL Coder™는 HDL 구현과 합성된 논리에 영향을 주는 추가 구성 옵션을 제공합니다.
이 블록에는 단일 디폴트 HDL 아키텍처가 있습니다.
활성 상태를 표시하는 HDL 코드에서 출력 포트를 생성하려면 차트의 속성 창에서 모니터링을 위한 출력 만들기를 선택합니다. 출력은 열거형 데이터형입니다. 활성 상태 출력을 통합하여 Stateflow 차트 단순화하기 항목을 참조하십시오.
시뮬레이션 주기를 이용해 차트 출력을 지연시키는 출력 레지스터를 삽입하려면 OutputPipeline (HDL Coder) 블록 속성을 사용하십시오.
| ClockDrivenOutput | 클록 구동 출력을 활성화하면 조합 논리가 출력을 구동하는 것을 방지하고 클록 신호와 상태가 변경될 때 즉시 출력을 업데이트할 수 있습니다. 디폴트 값은 |
| ConstMultiplierOptimization | 정준부호숫자(CSD: Canonical signed digit) 또는 인수분해된 CSD 최적화입니다. 디폴트 값은 |
| ConstrainedOutputPipeline | 기존 지연을 설계 내부로 이동하여 출력에 배치하는 레지스터의 개수입니다. 분산된 파이프라이닝은 이러한 레지스터를 다시 분산하지 않습니다. 디폴트 값은 |
| DistributedPipelining | 파이프라인 레지스터 분포 또는 레지스터 타이밍 재지정입니다. 디폴트 값은 |
| GuardIndexVariables | 배열 인덱스를 조건문 밖으로 옮길지 여부를 지정합니다. RAM 매핑, 루프 스트리밍, 공유 등과 같은 특정 최적화를 활성화하면 표현식이 배열 인덱스 범위를 벗어나게 됩니다. 시뮬레이션 중에 인덱스 범위를 벗어나는 오류가 발생할 수 있는 표현식에 대해서는 임시 변수가 생성됩니다. 디폴트 값은 |
| InputPipeline | 생성된 코드에 삽입할 입력 파이프라인 단계의 개수입니다. 분산된 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
| InstantiateFunctions | 각 함수에 대해 VHDL® |
| LoopOptimization | 루프 풀기 또는 루프 스트리밍을 수행하거나, 루프를 최적화하지 않습니다. 디폴트 값은 |
| MapPersistentVarsToRAM | 영구 배열을 RAM에 매핑합니다. 디폴트 값은 |
| 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) 항목을 참조하십시오.
최적화를 적용하는 경우 블록에는 다음과 같은 제한 사항이 있습니다.
상태 머신 유형 속성이
무어로 설정된 Stateflow 차트는 HDL 최적화를 지원하지 않습니다.Trigger 포트가 있는 Stateflow 차트에는 HDL 최적화가 지원되지 않습니다.
| UseExternalDefinition | 생성된 코드에서 블록 정의를 억제합니다. 디폴트 값은 |
고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.
버전 내역
R2006a 이전에 개발됨향후 릴리스에서 속성 사용자 지정 상태/천이 실행 순서는 제거될 예정입니다. 이 속성은 C를 동작 언어로 사용하는 차트에만 적용됩니다.
이 속성을 활성화하면 차트는 사용자가 생성한 순서대로 천이 상태와 병렬 상태를 실행합니다. 실행 순서를 수동으로 결정할 수도 있습니다.
이 속성을 비활성화하면 차트는 물리적 위치에 의해 정의된 묵시적 순서에 따라 천이 상태와 병렬 상태를 실행합니다.
천이는 다음에 따라 실행됩니다.
각 천이의 부모가 속한 계층 수준.
천이의 레이블로, 다음 순서를 갖습니다.
이벤트와 조건이 포함된 레이블.
이벤트가 포함된 레이블.
조건이 포함된 레이블.
레이블 없음.
곡면에 대한 천이 소스의 방향. 시계 방향을 기준으로 가장 작은 천이가 가장 높은 우선 순위를 갖습니다. 예를 들어, 2시 방향의 천이가 4시 방향의 천이보다 우선 순위가 높습니다. 12시 방향의 천이 소스가 가장 낮은 우선 순위를 갖습니다.
병렬 상태는 다음 순서로 실행됩니다.
위쪽에서 아래쪽으로.
왼쪽에서 오른쪽으로.
묵시적으로 정렬된 차트의 호환성을 유지하려면 사용자 지정 상태/천이 실행 순서 속성을 활성화하십시오.
차트를 상태 천이 테이블로 변환하려면 함수 convertToSTT를 사용하십시오.
새로운 속성 길이가 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)

