Fixed-Point Designer

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

Fixed-Point Designer™는 임베디드 하드웨어에서 고정소수점 및 부동소수점 알고리즘을 최적화하고 구현하기 위한 데이터형과 툴을 제공합니다. 고정소수점 및 부동소수점 데이터형과 대상 특정 숫자형 설정을 사용할 수 있습니다.  Fixed-Point Designer를 사용하면 고정소수점에 대한 bit-true 대상 인식 시뮬레이션을 수행할 수 있습니다. 그런 다음 오버플로, 정밀도 손실과 같은 양자화 효과를 테스트 및 디버그한 후에 하드웨어에서 설계를 구현할 수 있습니다.

Fixed-Point Designer는 배정밀도 알고리즘을 분석하고 이를 더 낮은 정밀도의 부동소수점 또는 고정소수점으로 변환할 수 있는 앱과 툴을 제공합니다. 최적화 툴을 사용하여 수치적 정확도 요구 사항과 대상 하드웨어의 제약 조건을 충족하는 데이터형을 선택할 수 있습니다. 효율적인 구현을 위해, 계산량이 많은 설계 구문을 압축된 룩업 테이블과 같이 하드웨어에 최적화된 패턴으로 대체할 수 있습니다.

최적화된 고정소수점 및 부동소수점 모델에서 직접 프로덕션용 C 및 HDL 코드를 생성할 수 있습니다.

시작하기:

데이터형 탐색

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

고정소수점 사양

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

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

부동소수점 시뮬레이션

시뮬레이션이나 코드 생성 시 비정규부동 소수점 숫자의 대상 하드웨어 동작(예: flush-to-zero)을 모방할 수 있습니다. MATLAB® 및 Simulink®의 fp16 반정밀도 데이터형을 사용하여 제한된 정밀도로 부동소수점을 시뮬레이션할 수 있습니다.

계측 및 시각화

모델 전반의 자동 계측을 통해 시뮬레이션 데이터 및 통계량을 수집할 수 있습니다. 범위 데이터를 수집하여 설계를 살펴보고 분석할 수 있습니다. 시각화를 사용하여 하드웨어 자원을 효율적으로 사용할 수 있도록 설계를 최적화할 수 있습니다.

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

도출 범위 분석

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

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

자동 데이터형 지정

고정소수점 및 부동소수점 데이터형을 사용하여 설계를 양자화하고 최적화할 수 있습니다.

고정소수점 양자화

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

Fixed-Point Tool을 사용한 부동 소수점 모델 변환.

부동소수점 양자화

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

Single Precision Converter를 사용한 자동 변환.

데이터형 최적화

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

임베디드 구현

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

함수 근사화 및 룩업 테이블 압축

최적 룩업 테이블을 사용하여 sqrt, exp와 같은 수학적으로 복잡한 함수 또는 복잡한 서브시스템을 근사화할 수 있습니다. 기존의 룩업 테이블을 압축하여 데이터 점과 데이터형을 최적화하고 메모리 사용량을 줄일 수 있습니다.

Bit-true 코드 생성

가속화, PIL(processor-in-the-loop) 및 SIL(software-in-the-loop) 시뮬레이션을 포함하여 시뮬레이션부터 코드 생성까지 모델 기반 설계 전반에 걸쳐 bit-true가 일관되도록 할 수 있습니다. Bit-true 표현을 기반하여 고정소수점 알고리즘을 분석 및 검증할 수 있습니다. 배정밀도 데이터형을 갖는 설계를 비롯해 축소된 정밀도 설계에서 효율적인 코드를 생성할 수 있습니다.

시뮬레이터에서 생성된 코드의 bit-true 동작 검증.

HDL에 최적화된 행렬 블록

FPGA에서의 하드웨어 효율적인 구현을 위해 선형 연립방정식 및 핵심 행렬 연산(QR 분해 등)에 대한 설계 패턴을 모델링하는 Simulink 블록의 Fixed-Point HDL 라이브러리를 사용할 수 있습니다. HDL Coder™를 사용하여 이러한 블록을 포함하는 설계에 대해 HDL 코드를 생성할 수 있습니다.

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

테스트 및 디버그

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

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

오버플로, 정밀도 손실, 낭비되는 범위 또는 정밀도의 근원을 신속하게 식별, 추적 및 디버그하고 설계를 이상적인 부동소수점 동작에 비교할 수 있습니다. 모델과 코드의 bit-true 일치를 통해 워크플로의 조기 단계에서 문제를 발견할 수 있는 등 모델 기반 설계의 다양한 이점을 극대화할 수 있습니다.

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

수치적 경계 조건 테스트

경계 및 비정규 숫자에 근접한 값 등 수치적으로 풍부한 고정소수점 및 부동소수점 값을 생성하여 수치적 경계 조건에서 수치적으로 일관적인지를 테스트할 수 있습니다. 다양한 차원이나 실수/복소수 여부, 정수, 부동소수점 또는 고정소수점 데이터형으로 된 신호 조합을 생성할 수 있습니다.

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

최신 기능

개선된 Fixed-Point Tool

설계에서 신호 범위 탐색, 데이터형 최적화를 사용하여 Simulink 모델 변환

룩업 테이블 최적화

룩업 테이블을 반복적으로 일괄 재설계 및 압축, 룩업 테이블 최적화를 병렬로 실행

데이터 타입 최적화

알려진 데이터형 및 안전 여유를 추가 제약 조건으로 지정하기 등의 개선 사항

Tech Preview

Simulink에서 반정밀도 데이터형 설계, 시뮬레이션 및 코드 생성

고정소수점 라이브러리

하드웨어 효율적인 수학 연산 및 행렬 연산을 위한 Simulink 블록 라이브러리

위 기능과 해당 함수에 대한 세부 정보는 릴리스 정보를 참조하십시오.