인텔로고

인텔 UG-20094 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-PRODUCT

Intel® Cyclone® 10 GX 기본 고정 소수점 DSP IP 코어 사용자 가이드

Intel Cyclone® 10 GX 기본 고정 소수점 DSP IP 코어는 단일 Intel Cyclone 10 GX 가변 정밀 디지털 신호 처리(DSP) 블록을 인스턴스화하고 제어합니다. Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 Intel Cyclone 10 GX 장치에서만 사용할 수 있습니다.

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어 기능 블록 다이어그램intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (1)

관련 정보
Intel FPGA IP 코어 소개.

Cyclone 10 GX 기본 고정 소수점 DSP IP 핵심 기능

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 다음 기능을 지원합니다.

  • 고성능, 전력 최적화 및 완전 등록 곱셈 연산
  • 18비트 및 27비트 워드 길이
  • DSP 블록당 18개의 19 × 27 승수 또는 27개의 XNUMX × XNUMX 승수
  • 곱셈 결과를 결합하기 위한 내장 덧셈, 뺄셈 및 64비트 이중 누적 레지스터
  • 사전 가산기가 비활성화된 경우 계단식 19비트 또는 27비트, 필터링 애플리케이션을 위한 탭 지연 라인을 형성하기 위해 사전 가산기가 사용되는 경우 계단식 18비트
  • 외부 로직 지원 없이 출력 결과를 한 블록에서 다음 블록으로 전파하기 위한 캐스케이딩 64비트 출력 버스
  • 대칭 필터를 위해 19비트 및 27비트 모드에서 지원되는 하드 사전 가산기
  • 필터 구현을 위한 18비트 및 27비트 모드의 내부 계수 레지스터 뱅크
  • 분산 출력 가산기를 갖춘 18비트 및 27비트 수축기 유한 임펄스 응답(FIR) 필터

시작하기

이 장에서는 일반적인 개요를 제공합니다.view Cyclone 10 GX 기본 고정 소수점 DSP IP 코어를 빠르게 시작하는 데 도움이 되는 Intel FPGA IP 코어 설계 흐름. Intel FPGA IP 라이브러리는 Intel Quartus® Prime 설치 프로세스의 일부로 설치됩니다. 라이브러리에서 Intel FPGA IP 코어를 선택하고 매개변수화할 수 있습니다. Intel은 다양한 애플리케이션을 지원하도록 Intel FPGA DSP IP 코어를 사용자 정의할 수 있는 통합 매개변수 편집기를 제공합니다. 매개변수 편집기는 매개변수 값 설정 및 선택적 포트 선택 과정을 안내합니다.

관련 정보

  • 인텔 FPGA IP 코어 소개
    IP 코어 매개변수화, 생성, 업그레이드 및 시뮬레이션을 포함하여 모든 인텔 FPGA IP 코어에 대한 일반 정보를 제공합니다.
  • 버전 독립적인 IP 및 플랫폼 디자이너(표준) 시뮬레이션 스크립트 생성
    소프트웨어 또는 IP 버전 업그레이드를 위한 수동 업데이트가 필요하지 않은 시뮬레이션 스크립트를 생성합니다.
  • 프로젝트 관리 모범 사례
    프로젝트 및 IP의 효율적인 관리 및 이식성을 위한 지침 files.
Cyclone 10 GX 기본 고정 소수점 DSP IP 코어 매개변수 설정

Intel Quartus Prime 소프트웨어의 매개변수 편집기를 사용하여 매개변수를 지정하여 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어를 사용자 정의할 수 있습니다.

작동 모드 탭

매개변수 IP 생성 매개변수 설명
작동 모드를 선택해 주세요 작동_모드 m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 원하는 작동 모드를 선택하십시오.
승수 구성
최상위 승수 x 피연산자의 표현 형식 signed_max 서명됨 서명되지 않음 상위 승수 x 피연산자의 표시 형식을 지정합니다.
매개변수 IP 생성 매개변수 설명
최상위 승수 y 피연산자의 표현 형식 서명_5월 서명됨 서명되지 않음 상위 승수 y 피연산자의 표시 형식을 지정합니다.
하단 승수 x 피연산자의 표현 형식 signed_mbx 서명됨 서명되지 않음 하단 승수 x 피연산자의 표시 형식을 지정합니다.
하단 승수 y 피연산자의 표현 형식 signed_mby 서명됨 서명되지 않음 아래쪽 승수 y 피연산자의 표시 형식을 지정합니다.

항상 선택 서명 없음 ~을 위한 m18×18_plus36 .

'하위' 포트 활성화 활성화_서브 아니요 선택하다 가능하게 하다

하위 포트.

승수의 입력 'sub'를 등록합니다. 하위_시계 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 하위 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.
입력 캐스케이드
'ay' 입력에 대한 입력 계단식 활성화 ay_use_scan_in 아니요 선택하다 모든 데이터 입력에 대해 입력 캐스케이드 모듈을 활성화합니다.

입력 캐스케이드 모듈을 활성화하면 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 모든 입력 신호 대신 스캔인 입력 신호를 입력으로 사용합니다.

'by' 입력에 대한 입력 계단식 활성화 by_use_scan_in 아니요 선택하다 데이터 입력을 위한 입력 캐스케이드 모듈을 활성화합니다.

입력 캐스케이드 모듈을 활성화하면 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 입력 신호 대신 모든 입력 신호를 입력으로 사용합니다.

데이터 지연 레지스터 활성화 Delay_scan_out_ay 아니요 선택하다 y와 입력 레지스터 사이의 지연 레지스터를 활성화합니다.

이 기능은 다음에서 지원되지 않습니다. m18×18_plus36 그리고 m27x27 작동 모드.

매개변수 IP 생성 매개변수 설명
지연 레지스터로 데이터 활성화 Delay_scan_out_by 아니요 선택하다 입력 레지스터와 스캔아웃 출력 버스 사이의 지연 레지스터를 활성화합니다.

이 기능은 다음에서 지원되지 않습니다. m18×18_plus36 그리고 m27x27 작동 모드.

스캔아웃 포트 활성화 gui_scanout_enable 아니요 선택하다 가능하게 하다

스캔아웃 출력 버스.

'스캔아웃' 출력 버스 폭 스캔아웃_너비 1년~27년 너비를 지정합니다.

스캔아웃 출력 버스.

데이터 'x' 구성
'ax' 입력 버스 폭 도끼_너비 1년~27년 너비를 지정합니다.

도끼 입력 버스.(1)

승수의 입력 'ax'를 등록합니다. 도끼_시계 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 ax 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.

다음을 설정하면 ax 입력 레지스터를 사용할 수 없습니다. 'ax' 피연산자 소스 에게 '코프'.

'bx' 입력 버스 폭 bx_너비 1년~18년 너비를 지정합니다.

bx 입력 버스.(1)

승수의 입력 'bx'를 등록합니다. bx_시계 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 bx 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.

다음을 설정하면 bx 입력 레지스터를 사용할 수 없습니다. 'bx' 피연산자 소스 에게 '코프'.

데이터 'y' 구성
'ay' 또는 'scanin' 버스 너비 ay_scan_in_width 1년~27년 y 또는 scanin 입력 버스의 너비를 지정합니다.(1)
승수의 입력 'ay' 또는 입력 'scanin'을 등록합니다. ay_scan_in_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 y 또는 scanin 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.
입력 버스 너비 '기준' by_width 1년~19년 입력 버스별로 너비를 지정합니다.(1)
매개변수 IP 생성 매개변수 설명
승수의 'by' 입력을 등록합니다. by_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 by 또는 scanin에 대한 입력 클럭 신호를 활성화하고 지정하려면

입력 레지스터.(1)

출력 '결과' 구성
'resulta' 출력 버스 폭 결과_a_너비 1년~64년 너비를 지정합니다.

결과적으로 출력 버스.

'resultb' 출력 버스 폭 결과_b_너비 1년~64년 결과 출력 버스의 너비를 지정합니다. resultb는 Operation_mode를 사용할 때만 사용할 수 있습니다. m18×18_full.
출력 레지스터 사용 출력_시계 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 resulta 및 resultb 출력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.

사전가산기 탭

매개변수 IP 생성 매개변수 설명
'ay' 피연산자 소스 Operand_source_may 입력 프리더 모든 입력에 대한 피연산자 소스를 지정합니다. 선택하다 프리더 최고 승수를 위한 사전 가산기 모듈을 활성화합니다. y 및 피연산자 소스별 설정은 동일해야 합니다.
'by' 피연산자 소스 Operand_source_mby 입력 프리더 입력으로 피연산자 소스를 지정합니다. 선택하다 프리더 하단 승수에 대한 사전 가산기 모듈을 활성화합니다. y 및 피연산자 소스별 설정은 동일해야 합니다.
사전 가산기 연산을 뺄셈으로 설정 preadder_subtract_a 아니요 선택하다 최상위 승수에 대한 사전 가산기 모듈의 뺄셈 연산을 지정합니다. 상단 및 하단 승수에 대한 사전 가산기 설정은 동일해야 합니다.
사전 가산기 b 연산을 뺄셈으로 설정 preadder_subtract_b 아니요 선택하다 하단 승수에 대한 사전 가산기 모듈의 뺄셈 연산을 지정합니다. 상단 및 하단 승수에 대한 사전 가산기 설정은 동일해야 합니다.
데이터 'z' 구성
'az' 입력 버스 너비 az_width 1년~26년 az 입력 버스의 너비를 지정합니다.(1)
승수의 입력 'az'를 등록합니다. az_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 az 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다. ay 및 az 입력 레지스터의 클럭 설정은 동일해야 합니다.
'bz' 입력 버스 폭 bz_width 1년~18년 bz 입력 버스의 너비를 지정합니다.(1)
승수의 입력 'bz'를 등록합니다. bz_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 bz 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다. by 및 bz 입력 레지스터의 클럭 설정은 동일해야 합니다.

내부 계수 탭

매개변수 IP 생성 매개변수 설명
'ax' 피연산자 소스 Operand_source_max 입력 코프 ax 입력 버스의 피연산자 소스를 지정합니다. 선택하다 코프 최고 승수에 대한 내부 계수 모듈을 활성화합니다.

선택하다 아니요 ~을 위한 승수의 입력 'ax'를 등록합니다. 내부 계수 기능을 활성화할 때 매개변수입니다.

매개변수 IP 생성 매개변수 설명
      ax 및 bx 피연산자 소스에 대한 설정은 동일해야 합니다.
'bx' 피연산자 소스 Operand_source_mbx 입력 코프 bx 입력 버스의 피연산자 소스를 지정합니다. 선택하다 코프 최고 승수에 대한 내부 계수 모듈을 활성화합니다.

선택하다 아니요 ~을 위한 승수의 입력 'bx'를 등록합니다. 내부 계수 기능을 활성화할 때 매개변수입니다.

ax 및 bx 피연산자 소스에 대한 설정은 동일해야 합니다.

'coefsel' 입력 레지스터 구성
승수의 입력 'coefsela'를 등록합니다. coef_sel_a_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 coefsela 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.
승수의 입력 'coefselb'를 등록합니다. coef_sel_b_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 coefselb 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.
계수 저장 구성
coef_a_0–7 coef_a_0–7 정수 ax 입력 버스의 계수 값을 지정합니다.

18비트 작동 모드의 경우 최대 입력 값은 218 – 1입니다. 27비트 작동 모드의 경우 최대 값은 227 – 1입니다.

coef_b_0–7 coef_b_0–7 정수 bx 입력 버스의 계수 값을 지정합니다.

누산기/출력 캐스케이드 탭

매개변수 IP 생성 매개변수 설명
'축적' 포트 활성화 활성화_축적 아니요 선택하다 가능하게 하다

어큐뮬레이터 포트.

'부정' 포트 활성화 활성화_부정 아니요 선택하다 가능하게 하다

포트를 부정합니다.

'loadconst' 포트 활성화 활성화_로드컨스트 아니요 선택하다 가능하게 하다

로드컨스트 포트.

누산기의 입력 'accumulate'을 등록합니다. 누적_시계 아니요 시계0 시계1 시계2 선택하다 시계 0 , 시계 1, 또는 시계 2 누적 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.
매개변수 IP 생성 매개변수 설명
누산기의 입력 'loadconst'를 등록합니다. load_const_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 loadconst 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.
가산기 유닛의 입력 '부정'을 등록합니다. 부정_시계 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 부정 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.
이중 누산기 활성화 활성화_이중_축적 아니요 선택하다 이중 누산기 기능을 활성화합니다.
미리 설정된 상수의 N 값 load_const_value 0 – 63 미리 설정된 상수 값을 지정합니다.

이 값은 2일 수 있습니다.N 어디 N 미리 설정된 상수 값입니다.

연결 포트 활성화 use_chainadder 아니요 선택하다 출력 캐스케이드 모듈과 chainin 입력 버스를 활성화합니다.

출력 캐스케이드 기능은 다음에서 지원되지 않습니다. m18×18_full 작동 모드.

체인아웃 포트 활성화 gui_chainout_enable 아니요 선택하다 체인아웃 출력 버스를 활성화합니다. 출력 캐스케이드 기능은 다음에서 지원되지 않습니다.

m18×18_full 작동 모드.

파이프라이닝 탭

매개변수 IP 생성 매개변수 설명
입력 데이터 신호(x/y/z/coefsel)에 입력 파이프라인 레지스터를 추가합니다. 입력_파이프라인_시계 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 x, y, z, coefsela 및 coefselb 파이프라인 입력 레지스터에 대한 입력 클록 신호를 활성화하고 지정합니다.
'하위' 데이터 신호에 입력 파이프라인 레지스터 추가 sub_pipeline_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 서브 파이프라인 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다. (2)
'누적' 데이터 신호에 입력 파이프라인 레지스터 추가 accum_pipeline_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 누적 파이프라인 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.(2)
'loadconst' 데이터 신호에 입력 파이프라인 레지스터 추가 load_const_pipeline_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 loadconst 파이프라인 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.(2)
'부정' 데이터 신호에 입력 파이프라인 레지스터 추가 negate_pipeline_clock 아니요 시계0 시계1 시계2 선택하다 시계 0, 시계 1, 또는 시계 2 부정 파이프라인 입력 레지스터에 대한 입력 클럭 신호를 활성화하고 지정합니다.(2)

작업 모드별 최대 입력 데이터 너비
표에 지정된 대로 x, y, z 입력의 데이터 너비를 사용자 정의할 수 있습니다.

동적 제어 신호에 대한 모든 파이프라인 입력 레지스터는 동일한 클럭 설정을 가져야 합니다.

작동 모드 최대 입력 데이터 너비
ax ay az bx by bz
사전 가산기 또는 내부 계수 없음
m18×18_full 18 (서명)

18

(서명되지 않음)

19 (서명)

18(서명 없음)

사용하지 않음 18 (서명)

18

(서명되지 않음)

19 (서명)

18

(서명되지 않음)

사용하지 않음
m18×18_sumof2
m18×18_수축기
m18×18_plus36
m27×27 27 (서명)

27(서명 없음)

사용하지 않음
프리애더 기능만 있음
m18×18_full 18 (서명)

18(서명 없음)

m18×18_sumof2
m18×18_수축기
m27×27 27 (서명)

27

(서명되지 않음)

26 (서명)

26(서명 없음)

사용하지 않음
내부 계수 기능만 포함
m18×18_full 사용하지 않음 19 (서명)

18(서명 없음)

사용하지 않음 19 (서명)

18

(서명되지 않음)

사용하지 않음
m18×18_sumof2
m18×18_수축기
m27×27 27 (서명)

27(서명 없음)

사용하지 않음

기능 설명

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 2가지 아키텍처로 구성됩니다. 18 × 18 곱셈과 27 × 27 곱셈. Cyclone 10 GX 기본 고정 소수점 DSP IP 코어의 각 인스턴스화는 선택한 작동 모드에 따라 1개의 아키텍처 중 하나만 생성합니다. 애플리케이션에 선택적 모듈을 활성화할 수 있습니다.

관련 정보
Intel Cyclone 10 GX 장치 장, Intel Cyclone 10 GX 코어 패브릭 및 범용 I/O 핸드북의 가변 정밀 DSP 블록.

작동 모드

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 5가지 작동 모드를 지원합니다.

  • 18 × 18 전체 모드
  • 18 × 18 Sum of 2 모드
  • 18 × 18 Plus 36 모드
  • 18 × 18 수축기 모드
  • 27 × 27 모드

18 × 18 전체 모드
18 × 18 전체 모드로 구성되면 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 두 개의 독립적인 18(부호 있음/부호 없음) × 19(부호 있음) 또는 18로 작동합니다.
(부호 있는/부호 없는) × 18(부호 없는) 37비트 출력 곱셈기. 이 모드는 다음 방정식을 적용합니다.

  • 결과 = ax * ay
  • 결과b = bx * by

18 × 18 풀 모드 아키텍처

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (2)

18 × 18 Sum of 2 모드
18 × 18 Sum of 2 모드에서 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 상단 및 하단 승수를 활성화하고 2개의 승수 간의 덧셈 또는 뺄셈 결과를 생성합니다. 서브 다이내믹 제어 신호는 가산기를 제어하여 덧셈 또는 뺄셈 연산을 수행합니다. Cyclone 10 GX 기본 고정 소수점 DSP IP 코어의 결과 출력 폭은 누산기/출력 캐스케이드를 활성화할 때 최대 64비트를 지원할 수 있습니다. 이 모드는 resulta =[±(ax * ay) + (bx * by)] 방정식을 적용합니다.

18 모드 아키텍처의 18 × 2 합계

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (3)

18 × 18 Plus 36 모드
18 × 18 Plus 36 모드로 구성된 경우 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 최상위 승수만 활성화합니다. 이 모드는 resulta = (ax * ay) + concatenate(bx[17:0],by[17:0]) 방정식을 적용합니다.

18 × 18 Plus 36 모드 아키텍처

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (4)

이 모드를 사용할 때 하단 승수 y 피연산자의 표시 형식을 부호 없음으로 설정해야 합니다. 이 모드에서 입력 버스가 36비트 미만인 경우 36비트 입력을 채우기 위해 필요한 부호 있는 확장을 제공해야 합니다.

36 × 18 Plus 18 모드에서 36비트 미만의 피연산자 사용
이 전amp파일은 10비트 피연산자 대신 부호 있는 18비트 입력 데이터 18(이진)을 사용하여 36 × 12 Plus 101010101010 작동 모드를 사용하도록 Cyclone 36 GX 기본 고정 소수점 DSP IP 코어를 구성하는 방법을 보여줍니다.

  1. 하단 승수 x 피연산자의 표시 형식을 부호 있음으로 설정합니다.
  2. 하단 승수 y 피연산자의 표시 형식을 부호 없음으로 설정합니다.
  3. 'bx' 입력 버스 너비를 18로 설정합니다.
  4. '기준' 입력 버스 너비를 18로 설정합니다.
  5. bx 입력 버스에 '111111111111111111'의 데이터를 제공합니다.
  6. 입력버스로 '111111101010101010'의 데이터를 제공합니다.

18 × 18 수축기 모드
18×18 수축기 작동 모드에서 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 상단 및 하단 승수, 상단 승수를 위한 입력 수축기 레지스터, 입력 신호의 체인을 위한 체인 수축기 레지스터를 활성화합니다. 출력 계단식을 활성화하면 이 모드는 결과적으로 44비트의 출력 폭을 지원합니다. 출력 계단식 없이 누산기 기능을 활성화하면 결과 출력 폭을 64비트로 구성할 수 있습니다.

18 × 18 수축기 모드 아키텍처

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (4)

27 × 27 모드
27 × 27 모드로 구성되면 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 27(부호 있음/부호 없음) × 27(부호 없음) 승수를 활성화합니다. 출력 버스는 누산기/출력 캐스케이드가 활성화된 경우 최대 64비트를 지원할 수 있습니다. 이 모드는 resulta = ax * ay 방정식을 적용합니다.

27 × 27 모드 아키텍처

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (6)

옵션 모듈

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어에서 사용할 수 있는 옵션 모듈은 다음과 같습니다.

  • 입력 캐스케이드
  • 사전 가산기
  • 내부 계수
  • 누산기 및 출력 캐스케이드
  • 파이프라인 레지스터

입력 캐스케이드
입력 캐스케이드 기능은 모든 입력 버스에서 지원됩니다. 'ay' 입력에 대한 입력 계단식 활성화를 예로 설정하면 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 모든 입력 버스 대신 스캔 입력 신호에서 입력을 받습니다. '별' 입력에 대한 입력 계단식 활성화를 예로 설정하면 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 입력 버스 대신 모든 입력 버스에서 입력을 받습니다.

애플리케이션의 정확성을 위해 입력 캐스케이드가 활성화될 때마다 ay 및/또는 by에 대해 입력 레지스터를 활성화하는 것이 좋습니다.

입력 레지스터와 출력 레지스터 간의 대기 시간 요구 사항을 일치하도록 지연 레지스터를 활성화할 수 있습니다. 코어에는 2개의 지연 레지스터가 있습니다. 상단 지연 레지스터는 스캔 입력 포트에 사용되고 하단 지연 레지스터는 스캔 출력 포트에 사용됩니다. 이러한 지연 레지스터는 18 × 18 전체 모드, 18개 모드의 18 × 2 합계 및 18 × 18 수축기 모드에서 지원됩니다.

프리가산기

사전 가산기는 다음 구성으로 구성할 수 있습니다.

  • 18개의 독립적인 XNUMX비트(부호 있는/부호 없는) 사전 추가기.
  • 26비트 사전 가산기 XNUMX개.

18 × 18 곱셈 모드에서 사전 가산기를 활성화하면 ay 및 az는 상단 사전 가산기에 대한 입력 버스로 사용되고 by 및 bz는 하단 사전 가산기에 대한 입력 버스로 사용됩니다. 27 × 27 곱셈 모드에서 사전 가산기를 활성화하면 ay 및 az가 사전 가산기에 대한 입력 버스로 사용됩니다. 전가산기는 덧셈과 뺄셈 연산을 모두 지원합니다. 동일한 DSP 블록 내의 두 사전 가산기가 모두 사용되는 경우 동일한 연산 유형(덧셈 또는 뺄셈)을 공유해야 합니다.

내부 계수
내부 계수는 18비트 및 27비트 모드에서 피승수에 대해 최대 XNUMX개의 상수 계수를 지원할 수 있습니다. 내부 계수 기능을 활성화하면 계수 멀티플렉서의 선택을 제어하는 ​​XNUMX개의 입력 버스가 생성됩니다. coefsela 입력 버스는 상위 승수에 대해 사전 정의된 계수를 선택하는 데 사용되고, 상담 입력 버스는 하위 승수에 대해 사전 정의된 계수를 선택하는 데 사용됩니다.

내부 계수 저장소는 동적으로 제어 가능한 계수 값을 지원하지 않으며 이러한 작업을 수행하려면 외부 계수 저장소가 필요합니다.

누산기 및 출력 캐스케이드

누산기 모듈을 활성화하여 다음 작업을 수행할 수 있습니다.

  • 덧셈 또는 뺄셈 연산
  • 2N의 상수값을 사용한 편향 반올림 연산
  • 이중 채널 축적

누산기의 덧셈이나 뺄셈 연산을 동적으로 수행하려면 부정 입력 신호를 제어하십시오. 바이어스 반올림 연산의 경우 사전 설정된 상수의 매개변수 N 값에 정수를 지정하여 누산기 모듈이 활성화되기 전에 사전 설정된 상수 2N을 지정하고 로드할 수 있습니다. 정수 N은 64보다 작아야 합니다. loadconst 신호를 제어하여 사전 설정된 상수의 사용을 동적으로 활성화하거나 비활성화할 수 있습니다. 이 작업을 누산기 피드백 경로에 대한 라운드 값의 활성 다중화로 사용할 수 있습니다. 로드된 비용과 누적된 신호 사용량은 상호 배타적입니다.

이중 누산기 활성화 매개변수를 사용하여 이중 누산기 레지스터를 활성화하여 이중 누산기를 수행할 수 있습니다. 어큐뮬레이터 모듈은 체인 입력 포트와 체인 출력 포트를 활성화하여 더하기 또는 빼기 작업을 위한 여러 DSP 블록 체인을 지원할 수 있습니다. 18 × 18 수축기 모드에서는 체인 입력 버스와 체인 출력 버스의 44비트만 사용됩니다. 그러나 입력 버스의 모든 64비트 체인은 이전 DSP 블록의 체인 출력 버스에 연결되어야 합니다.

파이프라인 등록

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어는 단일 수준의 파이프라인 레지스터를 지원합니다. 파이프라인 레지스터는 파이프라인 레지스터를 재설정하기 위해 최대 XNUMX개의 클록 소스와 XNUMX개의 비동기 클리어 신호를 지원합니다. XNUMX개의 파이프라인 레지스터가 있습니다:

  • 데이터 입력 버스 파이프라인 레지스터
  • 하위 동적 제어 신호 파이프라인 레지스터
  • 동적 제어 신호 파이프라인 레지스터 무효화
  • 동적 제어 신호 파이프라인 레지스터 축적
  • loadconst 동적 제어 파이프라인 레지스터

각 데이터 입력 버스 파이프라인 레지스터와 동적 제어 신호 파이프라인 레지스터를 독립적으로 활성화하도록 선택할 수 있습니다. 그러나 활성화된 모든 파이프라인 레지스터는 동일한 클럭 소스를 사용해야 합니다.

클러킹 방식

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어의 입력, 파이프라인 및 출력 레지스터는 0개의 클록 소스/활성화 및 1개의 비동기 지우기를 지원합니다. 모든 입력 레지스터는 aclr[10]을 사용하고 모든 파이프라인 및 출력 레지스터는 aclr[18]을 사용합니다. 각 레지스터 유형은 세 가지 클록 소스 및 클록 활성화 신호 중 하나를 선택할 수 있습니다. Cyclone 18 GX 기본 고정 소수점 DSP IP 코어를 XNUMX × XNUMX 수축기 작동 모드로 구성하면 Intel Quartus Prime 소프트웨어는 입력 수축기 레지스터와 체인 수축기 레지스터 클럭 소스를 내부적으로 출력 레지스터와 동일한 클럭 소스로 설정합니다.

이중 누산기 기능을 활성화하면 Intel Quartus Prime 소프트웨어는 이중 누산기 레지스터 클럭 소스를 내부적으로 출력 레지스터와 동일한 클럭 소스로 설정합니다.

클러킹 방식 제약
이 탭에는 모든 레지스터 클럭킹 체계에 적용해야 하는 제약 조건이 표시됩니다.

상태 강제
사전 가산기가 활성화된 경우 y 및 az 입력 레지스터의 클럭 소스는 동일해야 합니다.
  by 및 bz 입력 레지스터의 클럭 소스는 동일해야 합니다.
파이프라인 레지스터가 활성화된 경우 모든 파이프라인 레지스터의 클록 소스는 동일해야 합니다.
동적 제어 신호에 대한 입력 레지스터가 있는 경우 sub, Accumulate, Loadconst 및 Negate에 대한 입력 레지스터의 클록 소스는 동일해야 합니다.
Cyclone 10 GX 기본 고정 소수점 DSP IP 코어 신호

다음 그림은 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어의 입력 및 출력 신호를 보여줍니다.

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어 신호

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (7)

데이터 입력 신호
신호 이름 유형 너비 설명
도끼[] 입력 27 데이터 버스를 최상위 승수에 입력합니다.
아아[] 입력 27 데이터 버스를 최상위 승수에 입력합니다.

사전 가산기가 활성화되면 이러한 신호는 상단 사전 가산기에 대한 입력 신호로 사용됩니다.

아즈[] 입력 26 이 신호는 상단 프리가산기에 대한 입력 신호입니다.

이러한 신호는 사전 가산기가 활성화된 경우에만 사용할 수 있습니다. 이러한 신호는 다음에서 사용할 수 없습니다. m18×18_plus36

작동 모드.

bx[] 입력 18 하단 승수에 데이터 버스를 입력합니다.

이러한 신호는 다음에서 사용할 수 없습니다. m27×27 작동 모드.

에 의해[] 입력 19 하단 승수에 데이터 버스를 입력합니다.

사전 가산기가 활성화되면 이러한 신호는 하단 사전 가산기에 대한 입력 신호 역할을 합니다.

이러한 신호는 다음에서 사용할 수 없습니다. m27×27 작동 모드.

bz[] 입력 18 이 신호는 하단 프리가산기에 대한 입력 신호입니다. 이러한 신호는 사전 가산기가 활성화된 경우에만 사용할 수 있습니다. 이러한 신호는 다음에서 사용할 수 없습니다. m27×27 그리고 m18×18_plus36 작동 모드.
데이터 출력 신호
신호 이름 유형 너비 설명
결과[] 산출 64 최상위 곱셈기의 출력 데이터 버스.

이 신호는 최대 37비트를 지원합니다. m18×18_full 작동 모드.

결과[] 산출 37 하단 곱셈기의 출력 데이터 버스.

이 신호는 다음에서만 사용할 수 있습니다. m18×18_full 작동 모드.

클록, 활성화 및 신호 지우기

신호 이름 유형 너비 설명
클락[] 입력 3 모든 레지스터에 대해 클럭 신호를 입력합니다.

이러한 클럭 신호는 입력 레지스터, 파이프라인 레지스터 또는 출력 레지스터 중 하나가 다음으로 설정된 경우에만 사용할 수 있습니다. 시계 0, 시계 1, 또는 시계 2.

• clk[0] = 시계 0

• clk[1] = 시계 1

• clk[2] = 시계 2

에나[] 입력 3 clk[2:0]에 대한 클록 활성화. 이 신호는 활성-높음입니다.

• ena[0]은 다음을 위한 것입니다. 시계 0

• ena[1]은 다음을 위한 것입니다. 시계 1

• ena[2]은 다음을 위한 것입니다. 시계 2

aclr[] 입력 2 모든 레지스터에 대한 비동기식 클리어 입력 신호. 이 신호는 활성-높음입니다.

사용 aclr[0] 모든 입력 레지스터 및 사용에 대해 aclr[1] 모든 파이프라인 레지스터 및 출력 레지스터에 대해.

기본적으로 이 신호는 어설션 해제됩니다.

동적 제어 신호

신호 이름 유형 너비 설명
보결 입력 1 상단 승산기의 출력과 하단 승산기의 출력을 더하거나 빼는 입력 신호입니다.

• 추가 작업을 지정하려면 이 신호를 비활성화합니다.

• 빼기 연산을 지정하려면 이 신호를 지정하십시오.

기본적으로 이 신호는 비활성화됩니다. 런타임 중에 이 신호를 어설션하거나 어설션 해제할 수 있습니다.(3)

부정하다 입력 1 체인인 신호의 데이터에 상단 및 하단 승수의 합을 더하거나 빼는 입력 신호입니다.

• 추가 작업을 지정하려면 이 신호를 비활성화합니다.

• 빼기 연산을 지정하려면 이 신호를 지정하십시오.

기본적으로 이 신호는 비활성화됩니다. 런타임 중에 이 신호를 어설션하거나 어설션 해제할 수 있습니다.(3)

모으다 입력 1 어큐뮬레이터 기능을 활성화하거나 비활성화하는 입력 신호입니다.

• 누산기 기능을 비활성화하려면 이 신호를 비활성화하십시오.

• 누산기 기능을 활성화하려면 이 신호를 지정하십시오.

기본적으로 이 신호는 비활성화됩니다. 런타임 중에 이 신호를 어설션하거나 어설션 해제할 수 있습니다.(3)

부하변동 입력 1 부하 상수 기능을 활성화하거나 비활성화하는 입력 신호입니다.

• 부하 상수 기능을 비활성화하려면 이 신호를 비활성화하십시오.

• 부하 상수 기능을 활성화하려면 이 신호를 지정하십시오.

기본적으로 이 신호는 비활성화됩니다. 런타임 중에 이 신호를 어설션하거나 어설션 해제할 수 있습니다.(3)

내부 계수 신호

신호 이름 유형 너비 설명
코에프셀라[] 입력 3 최상위 승수에 대해 사용자가 정의한 8개 계수 값에 대한 선택 신호를 입력합니다. 계수 값은 내부 메모리에 저장되며 매개변수로 지정됩니다. coef_a_0 에게 coef_a_7.

• coefsela[2:0] = 000은 다음을 나타냅니다. coef_a_0

• coefsela[2:0] = 001은 다음을 나타냅니다. coef_a_1

• coelsela[2:0] = 010은 다음을 의미합니다. coef_a_2

• … 기타 등등.

이러한 신호는 내부 계수 기능이 활성화된 경우에만 사용할 수 있습니다.

계수 [] 입력 3 하단 승수에 대해 사용자가 정의한 8개 계수 값에 대한 선택 신호를 입력합니다. 계수 값은 내부 메모리에 저장되며 매개변수로 지정됩니다. coef_b_0 에게 coef_b_7.

• coefselb[2:0] = 000은 다음을 의미합니다. coef_b_0

• coefselb[2:0] = 001은 다음을 의미합니다. coef_b_1

• coelselb[2:0] = 010은 다음을 나타냅니다. coef_b_2

• … 기타 등등.

이러한 신호는 내부 계수 기능이 활성화된 경우에만 사용할 수 있습니다.

캐스케이드 신호 입력

신호 이름 유형 너비 설명
스캔인[] 입력 27 입력 캐스케이드 모듈용 입력 데이터 버스입니다.

이 신호를 이전 DSP 코어의 스캔아웃 신호에 연결합니다.

스캔아웃[] 출력 27 입력 캐스케이드 모듈의 출력 데이터 버스.

이 신호를 다음 DSP 코어의 스캔 신호에 연결합니다.

캐스케이드 신호 출력

신호 이름 유형 너비 설명
체인인[] 입력 64 출력 캐스케이드 모듈용 입력 데이터 버스.

이 신호를 이전 DSP 코어의 체인아웃 신호에 연결합니다.

체인아웃[] 산출 64 출력 캐스케이드 모듈의 출력 데이터 버스.

이 신호를 다음 DSP 코어의 체인인 신호에 연결합니다.

Cyclone 10 GX 기본 고정 소수점 DSP IP 코어 사용자 가이드에 대한 문서 개정 내역

날짜 버전 변화
2017년 XNUMX월 2017.11.06 최초 출시.

인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. Intel은 FPGA 및 반도체 제품의 성능을 Intel의 표준 보증에 따라 현재 사양으로 보증하지만 언제든지 통지 없이 모든 제품 및 서비스를 변경할 수 있는 권한을 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 응용 프로그램 또는 사용으로 인해 발생하는 책임을 지지 않습니다. 인텔 고객은 게시된 정보에 의존하기 전에 그리고 제품이나 서비스를 주문하기 전에 장치 사양의 최신 버전을 확인하는 것이 좋습니다.

다른 이름과 브랜드는 다른 사람의 재산이라고 주장될 수 있습니다.

문서 / 리소스

인텔 UG-20094 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어 [PDF 파일] 사용자 가이드
UG-20094 Cyclone 10 GX 기본 고정 소수점 DSP IP 코어, UG-20094, Cyclone 10 GX 기본 고정 소수점 DSP IP 코어, 기본 고정 소수점 DSP IP 코어, 고정 소수점 DSP IP 코어, DSP IP 코어

참고문헌

댓글을 남겨주세요

이메일 주소는 공개되지 않습니다. 필수 항목은 표시되어 있습니다. *