Fixed-Point Designer

고정 소수점 및 부동 소수점 알고리즘을 모델링하고 최적화하기

 

Fixed-Point Designer™는 임베디드 하드웨어 성능을 최적화하기 위해 고정 소수점 및 단정밀도 알고리즘을 개발하기 위한 데이터 타입 및 도구를 제공합니다. Fixed-Point Designer는 설계를 분석하여 워드 길이, 스케일링과 같은 데이터 타입과 속성을 제안합니다. 반올림 모드, 오버플로 작업과 같은 데이터 속성을 세밀하게 지정하고 단정밀도 데이터와 고정 소수점 데이터를 함께 사용할 수 있습니다. 하드웨어에 설계를 구현하지 않고도 bit-true 시뮬레이션을 수행하여 제한 범위와 정밀도의 영향을 관찰할 수 있습니다.

Fixed-Point Designer를 사용하면 배정밀도 알고리즘을 단정밀도 또는 고정 소수점 알고리즘으로 변환할 수 있습니다. 수치 정확도 요구 사항과 타겟 하드웨어 제약 조건을 충족하는 데이터타입을 생성하고 최적화할 수 있습니다. 수학적 분석과 계측 시뮬레이션을 통해 설계의 범위 요구 사항을 파악할 수 있습니다. Fixed-Point Designer는 데이터 변환 프로세스를 안내하는 앱과 툴을 제공하며, 고정 소수점 결과와 부동 소수점 기준을 비교할 수 있도록 지원합니다.

Fixed-Point Designer는 C, HDL 및 PLC 코드 생성을 지원합니다.

시작하기:

데이터 타입 탐색

부동 소수점 및 고정 소수점 데이터 타입을 탐색하여 수치 정밀도의 상충관계를 분석합니다.

고정 소수점 사양

특정 워드 길이, 2진 소수점 스케일링, 임의 기울기 및 바이어스 스케일링으로 설계의 고정 소수점 속성을 지정하고 반올림, 오버플로 모드와 같은 세부 정보를 제어합니다.

고정 소수점 데이터 타입과 속성(예: 반올림 모드) 지정하기.

부동 소수점 시뮬레이션

시뮬레이션이나 코드 생성 시 비정규(denormal) 부동 소수점 숫자의 타겟 하드웨어 동작(예: 0으로 플러시)을 에뮬레이션합니다. MATLAB®의 fp16 반정밀도 데이터 타입을 사용하여 제한된 정밀도로 부동 소수점을 시뮬레이션합니다.

배정밀도 기준과 단정밀도 시뮬레이션 비교하기.

계측 및 시각화

모델 전반의 자동 계측을 통해 시뮬레이션 데이터 및 통계치를 수집합니다. 시각화를 사용하여 설계를 탐색하고 분석합니다.

신호 범위 및 히스토그램 데이터 시각화하기.

파생 범위 분석

설계의 수학적인 분석에 기반하여 신호 범위를 도출하고, 모든 경우의 수를 고려한 시뮬레이션 테스트 벤치를 생성하지 않고도 최악조건 범위 또는 제한 범위 케이스를 확인합니다. 파생 범위를 사용하면 설계에서 발생할 수 있는 모든 오버플로를 방지하거나 처리할 수 있습니다.

설계 범위를 사용하여 범위 도출하기.

자동 데이터 타입 지정

고정 소수점 및 부동 소수점 데이터 타입을 사용하여 설계를 양자화하고 최적화합니다.

고정 소수점 양자화

안내식 워크플로를 사용하여 다양한 고정 소수점 데이터 타입과 이들이 시스템의 수치적 동작에 미치는 양자화 영향을 살펴봅니다. 설계에서 변수의 동적 범위를 관찰하여 알고리즘이 부동 소수점과 변환 후의 고정 소수점 표현에서 일관적으로 동작하는지를 확인합니다.

고정 소수점 툴을 사용하여 부동 소수점 모델 변환하기.

부동 소수점 양자화

설계를 배정밀도에서 단정밀도로 자동 변환하고 단정밀도에서 제한 정밀도 부동 소수점 표현 및 양자화의 효과를 분석합니다.

단정밀도 변환기를 사용한 자동 변환.

데이터 타입 최적화

다양한 고정 소수점 설정을 자동으로 반복하여 최적의 혼합 데이터 타입을 선택하는 한편 시스템의 수치적 동작에 대한 허용오차 제약 조건을 충족합니다. 최적화는 효율적인 설계를 위한 고정 소수점 데이터 타입을 사용하여 전체 비트 길이(bit-width)를 최소화할 방안을 모색합니다.

임베디드 구현

구현 상충관계를 살펴보고 효율적인 임베디드 알고리즘을 사용하여 설계를 최적화합니다.

함수 근사화 및 룩업 테이블 줄이기

최적 룩업 테이블을 사용하여 sqrt, exp, 복소 서브시스템과 같은 수학적으로 복잡한  함수를 근사화합니다. 데이터 포인트와 데이터 타입을 줄여서 기존의 룩업 테이블 메모리 사용량을 줄입니다.

bit-true 코드 생성하기

가속화, processor-in-the-loop 및 software-in-the-loop 시뮬레이션을 포함하여 시뮬레이션부터 코드 생성까지, Model-Based Design 전반에 걸쳐서bit-true가 일치되도록 합니다. 고정 소수점 알고리즘의 분석과 검증은 bit-true 표현을 기반으로 합니다.

시뮬레이터에서 생성된 코드의 bit-true 동작 확인하기.

HDL에 최적화된 행렬 블록

FPGA에 하드웨어를 효율적으로 구현하기 위해 선형 방정식계와 QR 분해 등 코어 행렬 연산계의 설계 패턴을 모델링하는 Simulink® 블록.

QR 분해용으로 HDL에 최적화된 설계 패턴을 제공하는 라이브러리 블록.

테스트 및 디버그

알고리즘의 수치적 동작을 분석, 테스트 및 디버그합니다.

오버플로 및 정밀도 손실 탐지

오버플로, 정밀도 손실, 낭비되는 범위 또는 정밀도의 근원을 신속하게 식별, 추적 및 디버그하고 이상적인 부동 소수점 동작과 비교합니다. Bit-true 일치는 워크플로 조기 단계에 문제를 발견하는 기능 등 Model-Based Design의 다양한 이점을 극대화합니다.

오버플로의 근본 원인 추적하기 .

수치적 가장자리 사례 테스트

알고리즘의 수치적 일관성을 보장하기 위해, 수치적으로 다양한 고정소수점 및 부동소수점 값을 생성하여 경계 및 비정상적 숫자(denormal numbers)에 근접한 값 등 가장자리 사례를 테스트하십시오. 다양한 차원 및 복잡도를 가지며, 정수, 부동소수점 또는 고정소수점 데이터 타입으로 된 신호 조합을 생성하십시오.

데이터 생성기 API를 이용하여 테스트 데이터 생성하기

최신 기능

고정소수점 툴

고정소수점 툴에서 여러 시뮬레이션 시나리오를 기반으로 데이터 타입 제안

복원 지점

모델을 원래 설계로 복원

룩업 테이블 최적화

최적화된 룩업 테이블에서 곡선 외 테이블 값 허용

데이터 타입 최적화

데이터 타입 최적화를 위해 여러 시뮬레이션 시나리오 지정

제한 정밀도 머신 러닝

훈련된 SVM 모델에 대한 고정소수점 C/C++ 코드 양자화 및 생성

비트 패턴 테스트

시뮬레이션 입력을 생성하여 설계의 전체 작동 비트 범위 테스트

반정밀도 데이터 타입

MATLAB에서 반정밀도 시스템 설계 및 시뮬레이션

이 기능과 그에 상응하는 함수에 대한 세부 정보는 릴리스 정보를 참조하십시오.

무료 평가판 받기

30일 동안 사용해 보세요.

다운로드

구매하기

제품별 가격을 확인하세요.

학생이세요?

학생용 MATLAB 및 Simulink를 확인하세요.

자세히 보기