Fixed-Point Designer

 

Fixed-Point Designer

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

시작하기:

데이터형 탐색

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

고정소수점 사양

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

고정 소수점 데이터형 및 그 속성.

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

부동소수점 시뮬레이션

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

계측 및 시각화

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

신호 범위 시각화하기.

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

도출 범위 분석

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

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

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

자동 데이터형 지정

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

고정소수점 양자화

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

고정 소수점 툴.

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

부동소수점 양자화

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

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

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

데이터형 최적화

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

임베디드 구현

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

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

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

Bit-true 코드 생성

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

bit-true 시뮬레이션.

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

HDL에 최적화된 행렬 블록

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

Complex burst QR 분해 블록.

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

테스트 및 디버그

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

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

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

오버플로 탐지 및 디버그하기.

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

수치적 경계 조건 테스트

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

데이터 발생기 API

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