FPGA 정수 산술 IP 코어

Intel FPGA 정수 산술 IP 코어 사용 설명서
Intel® Quartus® Prime Design Suite용 업데이트: 20.3

온라인 버전 피드백 보내기

UG-01063

아이디: 683490 버전: 2020.10.05

내용물
내용물
1. 인텔 FPGA 정수 산술 IP 코어 .................................................................. 5
2. LPM_COUNTER(카운터) IP 코어 .................................................. 7 2.1. 특징 ..................................................................................................7 2.2. Verilog HDL 프로토타입 .................................................................. 8 2.3. VHDL 컴포넌트 선언 ........................................................................8 2.4. VHDL LIBRARY_USE 선언 ........................................................................ 9 2.5. 포트 ..................................................................................................9 2.6. 매개변수 .................................................................................. 10
3. LPM_DIVIDE(분배기) 인텔 FPGA IP 코어 .................................................................. 12 3.1. 특징………………………………………………………………………………………………. 12 3.2. Verilog HDL 프로토타입 ........................................................................ 12 3.3. VHDL 구성 요소 선언 .................................................................................. 13 3.4. VHDL LIBRARY_USE 선언 13 3.5. 포트 .................................................................................. 13 3.6. 매개변수 .................................................................................. 14
4. LPM_MULT(승수) IP 코어 16 4.1. 특징………………………………………………………………………………………………. 16 4.2. Verilog HDL 프로토타입 ........................................................................ 17 4.3. VHDL 컴포넌트 선언 .................................................................. 17 4.4. VHDL LIBRARY_USE 선언 17 4.5. 신호 .................................................................................. 18 4.6. Stratix V, Arria V, Cyclone V 및 Intel Cyclone 10 LP 장치의 매개변수…………… 18 4.6.1. 일반 탭 ..................................................................................18 4.6.2. 일반 2 탭 .................................................................................. 19 4.6.3. 파이프라이닝 탭 .................................................................................. 19 4.7. Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치에 대한 매개변수............... 20 4.7.1. 일반 탭 ..................................................................................20 4.7.2. 일반 2 탭 .................................................................................. 20 4.7.3. 파이프라이닝 ..................................................................................21
5. LPM_ADD_SUB (가산기/감산기) ........................................................................................ 22 5.1. 특징………………………………………………………………………………………………. 22 5.2. Verilog HDL 프로토타입 .................................................................. 23 5.3. VHDL 구성 요소 선언 .................................................................................. 23 5.4. VHDL LIBRARY_USE 선언 23 5.5. 포트 .................................................................................. 23 5.6. 매개변수 .................................................................................. 24
6. LPM_COMPARE(비교기) ........................................................................................ 26 6.1. 특징………………………………………………………………………………………………. 26 6.2. Verilog HDL 프로토타입 .................................................................. 27 6.3. VHDL 컴포넌트 선언 .................................................................. 27 6.4. VHDL LIBRARY_USE 선언 27 6.5. 포트 .................................................................................. 27 6.6. 매개변수 .................................................................................. 28

Intel FPGA 정수 산술 IP 코어 사용 설명서 2

피드백 보내기

내용물

7. ALTECC(오류 수정 코드: 인코더/디코더) IP 코어
7.1. ALTECC 인코더의 특징 ........................................................................................................31 7.2. Verilog HDL 프로토타입(ALTECC_ENCODER)… 32 7.3. Verilog HDL 프로토타입(ALTECC_DECODER)… 32 7.4. VHDL 컴포넌트 선언(ALTECC_ENCODER) .................................. 33 7.5. VHDL 컴포넌트 선언(ALTECC_DECODER)… VHDL LIBRARY_USE 선언 33 7.6. 인코더 포트 .................................................................................................. 33 7.7. 디코더 포트 ..................................................................................................................33 7.8. 인코더 매개변수 .................................................................................................. 34 7.9. 디코더 매개변수 .................................................................. 34
8. 인텔 FPGA Multiply Adder IP 코어 36
8.1. 특징………………………………………………………………………………………………. 37 8.1.1. 전가산기 .................................................................................. 38 8.1.2. 수축기 지연 레지스터 .................................................................................. 40 8.1.3. 예압 상수 .................................................................. 43 8.1.4. 더블 어큐뮬레이터 .................................................................................. 43
8.2. Verilog HDL 프로토타입 .................................................................. 44 8.3. VHDL 컴포넌트 선언 .................................................................. 44 8.4. VHDL LIBRARY_USE 선언 44 8.5. 신호 .................................................................................. 44 8.6. 매개변수 .................................................................................................. 47
8.6.1. 일반 탭 ..................................................................................47 8.6.2. 추가 모드 탭 .................................................................................. 47 8.6.3. 승수 탭 .................................................................................. 49 8.6.4. 프레더 탭........................................................................................................................... 51 8.6.5. 어큐뮬레이터 탭 .................................................................................. 53 8.6.6. 수축기/체인아웃 탭 .................................................................................................. 55 8.6.7. 파이프라이닝 탭 .................................................................................. 56
9. ALTMEMMULT(메모리 기반 상수 계수 승수) IP 코어
9.1. 특징………………………………………………………………………………………………. 57 9.2. Verilog HDL 프로토타입 ........................................................................ 58 9.3. VHDL 컴포넌트 선언 .................................................................................. 58 9.4. 포트 .................................................................................. 59 9.5. 매개변수 .................................................................................. 59
10. ALTMULT_ACCUM(Multiply-Accumulate) IP 코어 ........................................................ 61
10.1. 특징 .................................................................................. 62 10.2. Verilog HDL 프로토타입 ..................................................................................62 10.3. VHDL 컴포넌트 선언 .................................................................. 63 10.4. VHDL LIBRARY_USE 선언 ......................................................................................63 10.5. 포트 .................................................................................................................. 63 10.6. 파라미터 .................................................................................................................. 64
11. ALTMULT_ADD(Multiply-Adder) IP 코어
11.1. 특징 .................................................................................. 71 11.2. Verilog HDL 프로토타입 ..................................................................................72 11.3. VHDL 컴포넌트 선언 .................................................................. 72 11.4. VHDL LIBRARY_USE 선언 ..................................................................................72

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 3

내용물
11.5. 포트 .................................................................................................................. 72 11.6. 파라미터 .................................................................................................................. 73
12. ALTMULT_COMPLEX(복합 멀티플라이어) IP 코어 ...................................................... 86 12.1. 복잡한 곱셈........................................................................................................... 86 12.2. 정식 표현 .................................................................................. 87 12.3. 기존의 표현 .................................................................................................. 87 12.4. 특징 ..................................................................................................88 12.5. Verilog HDL 프로토타입 ..................................................................................88 12.6. VHDL 컴포넌트 선언 .................................................................. 89 12.7. VHDL LIBRARY_USE 선언 ......................................................................................89 12.8. 신호........................................................................................................... 89 12.9. 파라미터 .................................................................................................................. 90
13. ALTSQRT(정수 제곱근) IP 코어 ...........................................................................92 13.1. 특징 ..................................................................................................92 13.2. Verilog HDL 프로토타입 ..................................................................................92 13.3. VHDL 컴포넌트 선언 .................................................. 93 13.4. VHDL LIBRARY_USE 선언 ........................................................................93 13.5. 포트 .................................................................................................................. 93 13.6. 파라미터 .................................................................................................................. 94
14. PARALLEL_ADD(병렬 가산기) IP 코어 .................................................. 95 14.1. 특징 ..................................................................................95 14.2. Verilog HDL 프로토타입 ..................................................................95 14.3. VHDL 구성요소 선언 VHDL LIBRARY_USE 선언 ......................................................................................96 14.4. 포트 .................................................................................................................. 96 14.5. 파라미터 .................................................................................................................. 96
15. 정수 산술 IP 코어 사용자 가이드 문서 아카이브……………………………98
16. 인텔 FPGA 정수 산술 IP 코어 사용 설명서에 대한 문서 개정 내역… 99

Intel FPGA 정수 산술 IP 코어 사용 설명서 4

피드백 보내기

683490 | 2020.10.05 피드백 보내기

1. 인텔 FPGA 정수 산술 IP 코어

인텔® FPGA 정수 IP 코어를 사용하여 설계에서 수학 연산을 수행할 수 있습니다.

이러한 기능은 자체 기능을 코딩하는 것보다 더 효율적인 논리 합성 및 장치 구현을 제공합니다. 설계 요구 사항을 수용하도록 IP 코어를 사용자 지정할 수 있습니다.

인텔 정수 산술 IP 코어는 다음 두 범주로 나뉩니다. · LPM(매개변수화 모듈 라이브러리) IP 코어 · 인텔 특정(ALT) IP 코어

다음 표에는 정수 산술 IP 코어가 나열되어 있습니다.

표 1.

IP 코어 목록

IP 코어

LPM IP 코어

LPM_COUNTER

LPM_분할

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
인텔 특정(ALT) IP 코어 ALTECC

기능 종료view 카운터 분배기 승수
가산기 또는 감산기 비교기
ECC 인코더/디코더

지원 장치
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
인텔 사이클론 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
아리아 II GX, 아리아 II GZ, 아리아 V, 인텔 아리아 10, 사이클론 IV E, 사이클론 IV GX,
사이클론 V, 인텔 사이클론 10 LP, 인텔 사이클론 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, 인텔 Stratix 10
아리아 II GX, 아리아 II GZ, 아리아 V, 인텔 아리아 10, 사이클론 IV E, 사이클론 IV GX,
사이클론 V, 인텔 사이클론 10 LP, 인텔 사이클론 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, 인텔 Stratix 10
아리아 II GX, 아리아 II GZ, 아리아 V, 사이클론 IV E, 사이클론 IV GX, 사이클론 V, 인텔 사이클론 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
아리아 II GX, 아리아 II GZ, 아리아 V, 사이클론 IV E, 사이클론 IV GX, 사이클론 V, 인텔 사이클론 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
아리아 II GX, 아리아 II GZ, 아리아 V, 인텔 아리아 10, 사이클론 IV E, 사이클론 IV GX,
사이클론 V, 인텔 사이클론 10 LP, 인텔 사이클론 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V 계속…

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

ISO 9001 : 2015 등록

1. 인텔 FPGA 정수 산술 IP 코어 683490 | 2020.10.05

IP 코어 Intel FPGA Multiply Adder 또는 ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
병렬_추가

기능 종료view 승수-가산기
메모리 기반 상수 계수 승수
승수-누산기 승수-가산기
복소 승수
정수 제곱근
병렬 가산기

지원 장치
Arria V, Stratix V, 사이클론 V, 인텔 Stratix 10, 인텔 Arria 10, 인텔 사이클론
10GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10(Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
사이클론 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, 사이클론 IV E, 사이클론 IV GX, 인텔 사이클론 10 LP, MAX 10, MAX II, MAX V, Stratix IV
아리아 II GX, 아리아 II GZ, 인텔 아리아 10, 아리아 V, 아리아 V GZ, 사이클론 IV E, 사이클론 IV GX, 사이클론 V, 인텔
사이클론 10 GX, 인텔 사이클론 10 LP, MAX 10, Stratix V, 인텔 Stratix 10
아리아 II GX, 아리아 II GZ, 아리아 V, 인텔 아리아 10, 사이클론 IV E, 사이클론 IV GX,
사이클론 V, 인텔 사이클론 10 LP, 인텔 사이클론 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
아리아 II GX, 아리아 II GZ, 아리아 V, 인텔 아리아 10, 사이클론 IV E, 사이클론 IV GX,
사이클론 V, 인텔 사이클론 10 LP, 인텔 사이클론 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V

관련 정보
· 인텔 FPGA 및 프로그래밍 가능 장치 릴리스 정보
· 인텔 FPGA IP 코어 소개 인텔 FPGA IP 코어에 대한 자세한 정보를 제공합니다.
· 부동 소수점 IP 코어 사용 설명서 Intel FPGA 부동 소수점 IP 코어에 대한 자세한 정보를 제공합니다.
· 인텔 FPGA IP 코어 소개 IP 코어 매개변수화, 생성, 업그레이드 및 시뮬레이션을 포함하여 모든 인텔 FPGA IP 코어에 대한 일반 정보를 제공합니다.
· 버전 독립적인 IP 및 Qsys 시뮬레이션 스크립트 생성 소프트웨어 또는 IP 버전 업그레이드를 위한 수동 업데이트가 필요하지 않은 시뮬레이션 스크립트를 생성합니다.
· 프로젝트 및 IP의 효율적인 관리 및 이식성을 위한 프로젝트 관리 모범 사례 지침 files.
· 98페이지의 정수 산술 IP 코어 사용자 가이드 문서 아카이브 이전 버전의 정수 산술 IP 코어에 대한 사용자 가이드 목록을 제공합니다.

Intel FPGA 정수 산술 IP 코어 사용 설명서 6

피드백 보내기

683490 | 2020.10.05 피드백 보내기

2. LPM_COUNTER(카운터) IP 코어

그림 1.

LPM_COUNTER IP 코어는 최대 256비트 폭의 출력으로 업 카운터, 다운 카운터 및 업 또는 다운 카운터를 생성하는 이진 카운터입니다.

다음 그림은 LPM_COUNTER IP 코어의 포트를 보여줍니다.

LPM_COUNTER 포트

LPM_COUNTER

ssclr sload sset 데이터[]

큐[]

위아래

쿠트

aclr 로드 자산

clk_en cnt_en cin
설치하다

2.1. 특징
LPM_COUNTER IP 코어는 다음 기능을 제공합니다. · 업, 다운 및 업/다운 카운터 생성 · 다음 카운터 유형 생성:
— 일반 이진 – 카운터는 255부터 증가하거나 XNUMX부터 감소합니다.
— 모듈러스–카운터는 사용자가 지정한 모듈러스 값으로 증가하거나 감소하고 반복됩니다.
· 선택적 동기 클리어, 로드 및 설정 입력 포트 지원 · 선택적 비동기 클리어, 로드 및 설정 입력 포트 지원 · 선택적 카운트 활성화 및 클록 활성화 입력 포트 지원 · 선택적 캐리 인 및 캐리 아웃 포트 지원

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

ISO 9001 : 2015 등록

2. LPM_COUNTER(카운터) IP 코어
683490 | 2020.10.05
2.2. Verilog HDL 프로토타입
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v) lpm.v에서 edasynthesis 디렉토리.
모듈 lpm_counter( q, 데이터, 시계, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq ); 매개변수 lpm_type = “lpm_counter”; 매개변수 lpm_width = 1; 매개변수 lpm_modulus = 0; 매개변수 lpm_direction = "미사용"; 매개변수 lpm_avalue = "미사용"; 매개변수 lpm_svalue = "미사용"; 매개변수 lpm_pvalue = "미사용"; 파라미터 lpm_port_updown = “PORT_CONNECTIVITY”; 매개변수 lpm_hint = "미사용"; 출력 [lpm_width-1:0] q; 출력 cout; 출력 [15:0] eq; 입력 cin; 입력 [lpm_width-1:0] 데이터; 입력 클럭, clk_en, cnt_en, updown; 입력 자산, aclr, 로드; 입력 sset, sclr, sload; 엔드모듈
2.3. VHDL 구성 요소 선언
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd) LPM_PACK.vhd의 libraryvhdllpm 디렉토리.
구성요소 LPM_COUNTER 일반( LPM_WIDTH : 자연; LPM_MODULUS : 자연 := 0; LPM_DIRECTION : 문자열 := "미사용"; LPM_AVALUE : 문자열 := "미사용"; LPM_SVALUE : 문자열 := "미사용"; LPM_PORT_UPDOWN : 문자열 := "PORT_CONNECTIVITY" ; LPM_PVALUE : 문자열 := "미사용"; LPM_TYPE : 문자열 := L_COUNTER; LPM_HINT : 문자열 := "미사용"); 포트(데이터: std_logic_vector(LPM_WIDTH-1에서 0까지):= (기타 =>
'0'); 시계: std_logic에서 ; CLK_EN : std_logic에서 := '1'; CNT_EN : std_logic에서 := '1'; UPDOWN : std_logic에서 := '1'; SLOAD : in std_logic := '0'; SSET : std_logic에서 := '0'; SCLR: std_logic에서 := '0'; ALOAD : std_logic에서 := '0'; ASET : std_logic에서 := '0'; ACLR: std_logic에서 := '0'; CIN : std_logic에서 := '1'; COUT : 출력 std_logic := '0'; Q: out std_logic_vector(LPM_WIDTH-1에서 0까지); EQ : out std_logic_vector(15 downto 0));
엔드 컴포넌트;

Intel FPGA 정수 산술 IP 코어 사용 설명서 8

피드백 보내기

2. LPM_COUNTER(카운터) IP 코어 683490 | 2020.10.05

2.4. VHDL LIBRARY_USE 선언
VHDL 구성 요소 선언을 사용하는 경우 VHDL LIBRARY-USE 선언이 필요하지 않습니다.
라이브러리 lpm; 사용 lpm.lpm_components.all;

2.5. 포트

다음 표에는 LPM_COUNTER IP 코어의 입력 및 출력 포트가 나열되어 있습니다.

표 2.

LPM_COUNTER 입력 포트

포트 이름

필수의

설명

데이터[]

아니요

카운터에 병렬 데이터 입력. 입력 포트의 크기는 LPM_WIDTH 매개변수 값에 따라 다릅니다.

시계

포지티브 에지 트리거 클록 입력.

clk_en

아니요

모든 동기 활동을 활성화하는 클록 활성화 입력. 생략하면 기본값은 1입니다.

cnt_ko

아니요

카운트 활성화 입력은 sload, sset 또는 sclr에 영향을 주지 않고 낮게 어설션될 때 카운트를 비활성화합니다. 생략하면 기본값은 1입니다.

위아래

아니요

카운트 방향을 제어합니다. 높음(1)을 주장하면 카운트 방향이 위쪽이고 낮음(0)을 주장하면 카운트 방향이 아래쪽입니다. LPM_DIRECTION 매개변수를 사용하면 업다운 포트를 연결할 수 없습니다. LPM_DIRECTION을 사용하지 않는 경우 업다운 포트는 선택 사항입니다. 생략하면 기본값은 up(1)입니다.

아니요

하위 비트로 캐리 인합니다. 업 카운터의 경우 cin 입력의 동작은 다음과 같습니다.

cnt_en 입력의 동작과 동일합니다. 생략하면 기본값은 1입니다.

(VCC).

aclr

아니요

비동기 클리어 입력. 자산과 aclr이 둘 다 사용되고 어설션되면 aclr이 자산을 대체합니다. 생략하면 기본값은 0(비활성화)입니다.

자산

아니요

비동기 세트 입력. q[] 출력을 모두 1로 지정하거나 LPM_AVALUE 매개변수에 지정된 값으로 지정합니다. 자산 및 aclr 포트가 모두 사용되고 어설션된 경우 aclr 포트의 값이 자산 포트의 값을 재정의합니다. 생략하면 기본값은 0(비활성화)입니다.

짐을 싣다

아니요

데이터 입력의 값으로 카운터를 비동기적으로 로드하는 비동기 로드 입력입니다. aload 포트를 사용하는 경우 data[] 포트를 연결해야 합니다. 생략하면 기본값은 0(비활성화)입니다.

sctr

아니요

다음 활성 클록 에지에서 카운터를 지우는 동기식 지우기 입력입니다. sset 및 sclr 포트가 모두 사용 및 어설션되는 경우 sclr 포트의 값이 sset 포트의 값을 재정의합니다. 생략하면 기본값은 0(비활성화)입니다.

세트

아니요

다음 활성 클록 에지에서 카운터를 설정하는 동기 설정 입력. q 출력의 값을 모두 1로 지정하거나 LPM_SVALUE 매개변수에서 지정한 값으로 지정합니다. sset 및 sclr 포트가 모두 사용되고 어설션된 경우,
sclr 포트 값은 sset 포트 값보다 우선합니다. 생략하면 기본값은 0(비활성화)입니다.

아니요

다음 활성 클록 에지에서 데이터[]로 카운터를 로드하는 동기식 로드 입력. sload 포트를 사용하는 경우 data[] 포트를 연결해야 합니다. 생략하면 기본값은 0(비활성화)입니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 9

2. LPM_COUNTER(카운터) IP 코어 683490 | 2020.10.05

표 3.

LPM_COUNTER 출력 포트

포트 이름

필수의

설명

큐[]

아니요

카운터에서 데이터 출력. 출력 포트의 크기는 다음에 따라 다릅니다.

LPM_WIDTH 매개변수 값. q[] 또는 eq[15..0] 포트 중 하나 이상

연결되어야합니다.

방정식[15..0]

아니요

카운터 디코드 출력. eq[15..0] 포트는 매개변수가 AHDL만 지원하기 때문에 매개변수 편집기에서 액세스할 수 없습니다.
q[] 포트 또는 eq[] 포트가 연결되어 있어야 합니다. 최대 c eq 포트를 사용할 수 있습니다(0 <= c <= 15). 가장 낮은 16개 카운트 값만 디코딩됩니다. 카운트 값이 c이면 eqc 출력이 하이(1)로 어설션됩니다. 예를 들어amp카운트가 0일 때 eq0 = 1, 카운트가 1일 때 eq1 = 1, 카운트가 15일 때 eq 15 = 1. 카운트 값이 16 이상인 경우 디코딩된 출력은 외부 디코딩이 필요합니다. eq[15..0] 출력은 q[] 출력과 비동기입니다.

쿠트

아니요

카운터 MSB 비트의 수행 포트. 더 큰 카운터를 만들기 위해 다른 카운터에 연결하는 데 사용할 수 있습니다.

2.6. 매개 변수

다음 표에는 LPM_COUNTER IP 코어의 매개변수가 나열되어 있습니다.

표 4.

LPM_COUNTER 매개변수

매개변수 이름

유형

LPM_WIDTH

정수

LPM_방향

LPM_MODULUS LPM_AVALUE

정수
정수/문자열

LPM_SVALUE LPM_HINT

정수/문자열

LPM_TYPE

필수 예 아니요 아니요 아니요
아니 아니
아니요

설명
사용되는 경우 data[] 및 q[] 포트의 너비를 지정합니다.
값은 UP, DOWN 및 UNUSED입니다. LPM_DIRECTION 매개변수를 사용하면 업다운 포트를 연결할 수 없습니다. 업다운 포트가 연결되지 않은 경우 LPM_DIRECTION 매개변수 기본값은 UP입니다.
최대 개수에 XNUMX을 더합니다. 카운터 주기의 고유한 상태 수입니다. 로드 값이 LPM_MODULUS 매개변수보다 크면 카운터의 동작이 지정되지 않습니다.
자산이 높게 어설션될 때 로드되는 상수 값입니다. 지정된 값이 다음보다 크거나 같은 경우 , 카운터의 동작은 정의되지 않은(X) 로직 레벨입니다. 여기서 LPM_MODULUS(있는 경우) 또는 2^LPM_WIDTH입니다. Intel은 이 값을 AHDL 디자인에 대한 십진수로 지정할 것을 권장합니다.
sset 포트가 높게 선언될 때 클록 포트의 상승 에지에 로드되는 상수 값입니다. Intel은 이 값을 AHDL 디자인에 대한 십진수로 지정할 것을 권장합니다.
VHDL 설계에서 LPM(매개변수화된 모듈) 기능의 라이브러리를 인스턴스화하는 경우 File (.vhd), 인텔 관련 매개변수를 지정하려면 LPM_HINT 매개변수를 사용해야 합니다. 예를 들어amp파일: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
기본값은 미사용입니다.
VHDL 설계에서 LPM(매개변수화된 모듈) 엔티티 이름의 라이브러리를 식별합니다. files.
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 10

피드백 보내기

2. LPM_COUNTER(카운터) IP 코어 683490 | 2020.10.05

매개변수 이름 INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

유형 문자열 문자열

필수 아니오 아니오
아니요
아니요

설명
이 매개변수는 모델링 및 동작 시뮬레이션 목적으로 사용됩니다. 이 매개변수는 모델링 및 동작 시뮬레이션 목적으로 사용됩니다. 매개변수 편집기는 이 매개변수의 값을 계산합니다.
인텔 고유의 매개변수입니다. VHDL 설계에서 CARRY_CNT_EN 매개변수를 지정하려면 LPM_HINT 매개변수를 사용해야 합니다. file에스. 값은 SMART, ON, OFF 및 UNUSED입니다. 캐리 체인을 통해 cnt_en 신호를 전파하도록 LPM_COUNTER 기능을 활성화합니다. 경우에 따라 CARRY_CNT_EN 매개변수 설정이 속도에 약간의 영향을 미칠 수 있으므로 끄고 싶을 수 있습니다. 기본값은 SMART이며 크기와 속도 간에 최적의 균형을 제공합니다.
인텔 고유의 매개변수입니다. VHDL 디자인에서 LABWIDE_SCLR 매개변수를 지정하려면 LPM_HINT 매개변수를 사용해야 합니다. file에스. 값은 ON, OFF 또는 UNUSED입니다. 기본값은 켜짐입니다. 구식 장치 제품군에 있는 LABwide sclr 기능의 사용을 비활성화할 수 있습니다. 이 옵션을 끄면 부분적으로 채워진 LAB를 완전히 사용할 가능성이 높아지므로 SCLR이 전체 LAB에 적용되지 않을 때 더 높은 논리 밀도를 허용할 수 있습니다. 이 매개변수는 이전 버전과의 호환성을 위해 사용할 수 있으며 Intel은 이 매개변수를 사용하지 않을 것을 권장합니다.
업다운 입력 포트의 용도를 지정합니다. 생략하면 기본값은 PORT_CONNECTIVITY입니다. 포트 값이 PORT_USED로 설정되면 해당 포트는 사용된 것으로 처리됩니다. 포트 값이 PORT_UNUSED로 설정되면 해당 포트는 사용되지 않는 것으로 처리됩니다. 포트 값이 PORT_CONNECTIVITY로 설정되면 포트 연결을 확인하여 포트 사용량을 결정합니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 11

683490 | 2020.10.05 피드백 보내기

3. LPM_DIVIDE(분배기) 인텔 FPGA IP 코어

그림 2.

LPM_DIVIDE Intel FPGA IP 코어는 분자 입력 값을 분모 입력 값으로 나누어 몫과 나머지를 생성하는 구분자를 구현합니다.

다음 그림은 LPM_DIVIDE IP 코어의 포트를 보여줍니다.

LPM_DIVIDE 포트

LPM_분할

numer[] denom[] 시계

몫[] 남아[]

클켄 aclr

설치하다

3.1. 특징
LPM_DIVIDE IP 코어는 다음과 같은 기능을 제공합니다. · 분자 입력 값을 분모 입력으로 나누는 구분자를 생성합니다.
몫과 나머지를 생성하는 값. · 1비트의 데이터 폭을 지원합니다. · 분자 모두에 대해 부호 있는 데이터 표현 형식과 부호 없는 데이터 표현 형식 지원
및 분모 값. · 영역 또는 속도 최적화를 지원합니다. · 양수 나머지 출력을 지정하는 옵션을 제공합니다. · 파이프라이닝 구성 가능한 출력 대기 시간을 지원합니다. · 선택적 비동기 지우기 및 클록 활성화 포트를 지원합니다.

3.2. Verilog HDL 프로토타입
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v) lpm.v에서 edasynthesis 디렉토리.
모듈 lpm_divide(몫, 나머지, 숫자, denom, 시계, clken, aclr); 매개변수 lpm_type = “lpm_divide”; 매개변수 lpm_widthn = 1; 매개변수 lpm_widthd = 1; 매개변수 lpm_nrepresentation = "서명되지 않음"; 매개변수 lpm_drepresentation = "서명되지 않음"; 파라미터 lpm_remainderpositive = "TRUE"; 매개변수 lpm_pipeline = 0;

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

ISO 9001 : 2015 등록

3. LPM_DIVIDE(분배기) 인텔 FPGA IP 코어 683490 | 2020.10.05

매개변수 lpm_hint = "미사용"; 입력 클럭; 클켄 입력; 입력 aclr; 입력 [lpm_widthn-1:0] 숫자; 입력 [lpm_widthd-1:0] denom; 출력 [lpm_widthn-1:0] 몫; 출력 [lpm_widthd-1:0] 남음; 엔드모듈

3.3. VHDL 구성 요소 선언
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd) LPM_PACK.vhd의 libraryvhdllpm 디렉토리.
구성 요소 LPM_DIVIDE 일반(LPM_WIDTHN: 자연; LPM_WIDTHD: 자연;
LPM_NREPRESENTATION : 문자열 := "서명되지 않음"; LPM_DREPRESENTATION : 문자열 := "서명되지 않음"; LPM_PIPELINE : 자연 := 0; LPM_TYPE : 문자열 := L_DIVIDE; LPM_HINT : 문자열 := "미사용"); 포트(NUMER: std_logic_vector(LPM_WIDTHN-1에서 0까지); DENOM: std_logic_vector(LPM_WIDTHD-1에서 0까지); ACLR: std_logic에서:= '0'; CLOCK: std_logic에서:= '0'; CLKEN: std_logic에서 := '1';QUOTIENT: out std_logic_vector(LPM_WIDTHN-1에서 0까지); REMAIN: out std_logic_vector(LPM_WIDTHD-1에서 0까지)); 엔드 컴포넌트;

3.4. VHDL LIBRARY_USE 선언
VHDL 구성 요소 선언을 사용하는 경우 VHDL LIBRARY-USE 선언이 필요하지 않습니다.
라이브러리 lpm; 사용 lpm.lpm_components.all;

3.5. 포트

다음 표에는 LPM_DIVIDE IP 코어의 입력 및 출력 포트가 나열되어 있습니다.

표 5.

LPM_DIVIDE 입력 포트

포트 이름

필수의

숫자[]

데놈[]

설명
분자 데이터 입력. 입력 포트의 크기는 LPM_WIDTHN 매개변수 값에 따라 다릅니다.
분모 데이터 입력. 입력 포트의 크기는 LPM_WIDTHD 매개변수 값에 따라 다릅니다.
계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 13

3. LPM_DIVIDE(분배기) 인텔 FPGA IP 코어 683490 | 2020.10.05

포트명 clock clken
aclr

필수 아니오 아니오
아니요

설명
파이프라인 사용을 위한 클록 입력. 0(기본값) 이외의 LPM_PIPELINE 값의 경우 클록 포트를 활성화해야 합니다.
시계는 파이프라인 사용을 가능하게 합니다. clken 포트가 높게 선언되면 나누기 작업이 수행됩니다. 신호가 낮으면 작동하지 않습니다. 생략하면 기본값은 1입니다.
파이프라인을 클록 입력에 비동기적으로 모두 '0'으로 재설정하기 위해 언제든지 사용되는 비동기 클리어 포트.

표 6.

LPM_DIVIDE 출력 포트

포트 이름

필수의

설명

몫[]

데이터 출력. 출력 포트의 크기는 LPM_WIDTHN에 따라 다릅니다.

매개변수 값.

유지하다[]

데이터 출력. 출력 포트의 크기는 LPM_WIDTHD에 따라 다릅니다.

매개변수 값.

3.6. 매개 변수

다음 표에는 LPM_DIVIDE Intel FPGA IP 코어의 매개변수가 나열되어 있습니다.

매개변수 이름

유형

필수의

설명

LPM_WIDTHN

정수

numer[]의 너비를 지정하고

quotient[] 포트. 값은 1에서 64까지입니다.

LPM_WIDTHD

정수

denom[] 및

[] 포트를 유지합니다. 값은 1에서 64까지입니다.

LPM_NREPRESENTATION LPM_DREPRESENTATION

문자열 문자열

아니요

분자 입력의 부호 표현.

값은 SIGNED 및 UNSIGNED입니다. 이 때

매개변수가 SIGNED로 설정되면 구분선

numer[] 입력을 부호 있는 XNUMX로 해석합니다.

보어.

아니요

분모 입력의 부호 표현.

값은 SIGNED 및 UNSIGNED입니다. 이 때

매개변수가 SIGNED로 설정되면 구분선

denom[] 입력을 부호 있는 XNUMX로 해석합니다.

보어.

LPM_TYPE

아니요

매개변수화된 라이브러리를 식별합니다.

VHDL 디자인의 모듈(LPM) 엔티티 이름

files(.vhd).

LPM_힌트

아니요

라이브러리를 인스턴스화할 때

파라미터화된 모듈(LPM) 기능

VHDL 설계 File (.vhd), 다음을 사용해야 합니다.

LPM_HINT 매개변수를 지정하여 Intel-

특정 매개변수. 예를 들어amp파일: LPM_HINT

= “체인_크기 = 8,

ONE_INPUT_IS_CONSTANT = 예”

기본값은 미사용입니다.

LPM_REMAINDERPOSITIVE

아니요

인텔 고유의 매개변수입니다. 다음을 사용해야 합니다.

다음을 지정하는 LPM_HINT 매개변수

LPM_REMAINDERPOSITIVE 매개변수

VHDL 디자인 file에스. 값은 TRUE 또는 FALSE입니다.

이 매개변수를 TRUE로 설정하면

잔류[] 포트의 값은 더 커야 합니다.

계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 14

피드백 보내기

3. LPM_DIVIDE(분배기) 인텔 FPGA IP 코어 683490 | 2020.10.05

매개변수 이름

유형

MAXIMIZE_SPEED

정수

LPM_파이프라인

정수

INTENDED_DEVICE_FAMILY SKIP_BITS

문자열 정수

필수 아니오
아니 아니 아니

설명
XNUMX보다 크거나 같습니다. 이 매개변수가 TRUE로 설정되면, retain[] 포트의 값은 XNUMX이거나 값이 numer 포트의 값과 동일한 부호(양수 또는 음수)입니다. 면적을 줄이고 속도를 향상시키기 위해 Intel은 나머지가 양수여야 하거나 나머지가 중요하지 않은 작업에서 이 매개변수를 TRUE로 설정할 것을 권장합니다.
인텔 고유의 매개변수입니다. VHDL 설계에서 MAXIMIZE_SPEED 매개변수를 지정하려면 LPM_HINT 매개변수를 사용해야 합니다. file에스. 값은 [0..9]입니다. 사용하는 경우 Intel Quartus Prime 소프트웨어는 라우팅 가능성보다는 속도를 위해 LPM_DIVIDE 함수의 특정 인스턴스를 최적화하려고 시도하고 Optimization Technique 논리 옵션의 설정을 무시합니다. MAXIMIZE_SPEED를 사용하지 않으면 Optimization Technique 옵션 값이 대신 사용됩니다. MAXIMIZE_SPEED의 값이 6 이상이면 컴파일러는 캐리 체인을 사용하여 더 빠른 속도를 위해 LPM_DIVIDE IP 코어를 최적화합니다. 값이 5 이하이면 컴파일러는 캐리 체인 없이 디자인을 구현합니다.
quotient[] 및 retain[] 출력과 관련된 대기 시간의 클록 주기 수를 지정합니다. 영(0) 값은 대기 시간이 없고 순전히 조합 함수가 인스턴스화됨을 나타냅니다. 생략하면 기본값은 0(비파이프라인)입니다. LPM_WIDTHN보다 큰 LPM_PIPELINE 매개변수 값을 지정할 수 없습니다.
이 매개변수는 모델링 및 동작 시뮬레이션 목적으로 사용됩니다. 매개변수 편집기는 이 매개변수의 값을 계산합니다.
선행 GND의 수를 LPM_DIVIDE IP 코어에 제공하여 선행 비트의 논리를 최적화하기 위해 보다 효율적인 부분 비트 분할을 허용합니다. 이 매개변수에 대한 몫 출력의 선행 GND 수를 지정하십시오.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 15

683490 | 2020.10.05 피드백 보내기

4. LPM_MULT(승산기) IP 코어

그림 3.

LPM_MULT IP 코어는 곱셈기를 구현하여 두 개의 입력 데이터 값을 곱하여 곱을 출력으로 생성합니다.

다음 그림은 LPM_MULT IP 코어의 포트를 보여줍니다.

LPM_다중 포트

LPM_MULT 클록 데이터a[] result[] datab[] aclr/sclr clken
설치하다

관련 정보 기능 페이지 71

4.1. 특징
LPM_MULT IP 코어는 다음 기능을 제공합니다. · 두 개의 입력 데이터 값을 곱하는 승수 생성 · 1비트의 데이터 폭 지원 · 서명 및 서명되지 않은 데이터 표현 형식 지원 · 영역 또는 속도 최적화 지원 · 구성 가능한 출력 대기 시간으로 파이프라이닝 지원 · 전용 디지털 신호 처리(DSP) 구현 옵션
블록 회로 또는 로직 요소(LE) 참고: 기본적으로 지원되는 크기보다 큰 승수를 구축할 때
DSP 블록의 캐스케이딩으로 인해 성능에 영향을 미칩니다. · 선택적 비동기 지우기 및 클록 활성화 입력 포트 지원 · Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치에 대한 선택적 동기 지우기 지원

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

ISO 9001 : 2015 등록

4. LPM_MULT(승수) IP 코어 683490 | 2020.10.05
4.2. Verilog HDL 프로토타입
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v) lpm.v에서 edasynthesis 디렉토리.
모듈 lpm_mult(결과, 데이터a, 데이터b, 합계, 시계, 클켄, aclr) 매개변수 lpm_type = “lpm_mult”; 매개변수 lpm_widtha = 1; 매개변수 lpm_widthb = 1; 매개변수 lpm_widths = 1; 매개변수 lpm_widthp = 1; 매개변수 lpm_representation = "서명되지 않음"; 매개변수 lpm_pipeline = 0; 매개변수 lpm_hint = "미사용"; 입력 클럭; 클켄 입력; 입력 aclr; 입력 [lpm_widtha-1:0] 데이터a; 입력 [lpm_widthb-1:0] 데이터b; 입력 [lpm_widths-1:0] 합계; 출력 [lpm_widthp-1:0] 결과; 엔드모듈
4.3. VHDL 구성 요소 선언
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd) LPM_PACK.vhd의 libraryvhdllpm 디렉토리.
구성 요소 LPM_MULT 일반(LPM_WIDTHA: 자연; LPM_WIDTHB: 자연; LPM_WIDTHS: 자연:= 1; LPM_WIDTHP: 자연;
LPM_REPRESENTATION : 문자열 := "서명되지 않음"; LPM_PIPELINE : 자연 := 0; LPM_TYPE: 문자열 := L_MULT; LPM_HINT : 문자열 := "미사용"); 포트( DATAA: std_logic_vector(LPM_WIDTHA-1에서 0까지); DATAB: std_logic_vector(LPM_WIDTHB-1에서 0까지); ACLR: std_logic에서:= '0'; CLOCK: std_logic에서:= '0'; CLKEN: std_logic에서 := '1'; SUM: std_logic_vector(LPM_WIDTHS-1에서 0까지) := (OTHERS => '0'); RESULT: 출력 std_logic_vector(LPM_WIDTHP-1에서 0까지)); 엔드 컴포넌트;
4.4. VHDL LIBRARY_USE 선언
VHDL 구성 요소 선언을 사용하는 경우 VHDL LIBRARY-USE 선언이 필요하지 않습니다.
라이브러리 lpm; 사용 lpm.lpm_components.all;

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 17

4. LPM_MULT(승수) IP 코어 683490 | 2020.10.05

4.5. 신호

표 7.

LPM_MULT 입력 신호

신호 이름

필수의

설명

데이터[]

데이터 투입.

Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치의 경우 입력 신호의 크기는 Dataa 너비 매개변수 값에 따라 다릅니다.

이전 및 Intel Cyclone 10 LP 장치의 경우 입력 신호의 크기는 LPM_WIDTHA 매개변수 값에 따라 다릅니다.

데이터베[]

데이터 투입.

Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치의 경우 입력 신호의 크기는 Datab 너비 매개변수 값에 따라 다릅니다.

이전 및 Intel Cyclone 10 LP 장치의 경우 입력 신호의 크기는

LPM_WIDTHB 매개변수 값에 대해.

시계

아니요

파이프라인 사용을 위한 클록 입력.

이전 및 Intel Cyclone 10 LP 장치의 경우 0(기본값)이 아닌 LPM_PIPELINE 값에 대해 클록 신호를 활성화해야 합니다.

Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치의 경우 지연 시간 값이 1(기본값)이 아닌 경우 클록 신호를 활성화해야 합니다.

클켄

아니요

파이프라인 사용을 위한 클록 활성화. clken 신호가 높게 선언되면

가산기/감산기 연산이 발생합니다. 신호가 낮을 때 작동하지 않음

발생합니다. 생략하면 기본값은 1입니다.

sctr

아니요

파이프라인을 모두 0으로 재설정하기 위해 언제든지 사용되는 비동기 클리어 신호,

클럭 신호에 비동기적으로. 파이프라인이 정의되지 않음(X)으로 초기화됩니다.

논리 수준. 출력은 일관되지만 XNUMX이 아닌 값입니다.

아니요

파이프라인을 모두 0으로 재설정하기 위해 언제든지 사용되는 동기식 클리어 신호,

클록 신호에 동기적으로. 파이프라인이 정의되지 않음(X)으로 초기화됩니다.

논리 수준. 출력은 일관되지만 XNUMX이 아닌 값입니다.

표 8.

LPM_MULT 출력 신호

신호 이름

필수의

설명

결과[]

데이터 출력.

이전 및 Intel Cyclone 10 LP 장치의 경우 출력 신호의 크기는 LPM_WIDTHP 매개변수 값에 따라 다릅니다. LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) 또는 (LPM_WIDTHA + LPM_WIDTHS)인 경우 LPM_WIDTHP MSB만 존재합니다.

Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX의 경우 출력 신호의 크기는 결과 너비 매개변수에 따라 다릅니다.

4.6. Stratix V, Arria V, Cyclone V 및 Intel Cyclone 10 LP 장치에 대한 매개변수

4.6.1. 일반 탭

표 9.

일반 탭

매개변수

승수 구성

'dataa' 입력에 'datab' 입력 곱하기

기본값

설명

'dataa' 입력에 'datab' 입력 곱하기

승수에 대해 원하는 구성을 선택합니다.
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 18

피드백 보내기

4. LPM_MULT(승수) IP 코어 683490 | 2020.10.05

매개변수
'dataa' 입력은 얼마나 넓어야 합니까? 'datab' 입력은 얼마나 넓어야 합니까? '결과' 출력의 너비는 어떻게 결정해야 합니까? 폭을 제한하십시오


'dataa' 입력 자체를 곱하기(제곱 연산)
1 – 256비트

기본값

설명

8 비트

dataa[] 포트의 너비를 지정합니다.

1 – 256비트

8 비트

datab[] 포트의 너비를 지정합니다.

너비 자동 계산 너비 제한
1 – 512비트

너비 자동 계산

result[] 포트의 너비를 결정하기 위해 원하는 방법을 선택합니다.

16 비트

result[] 포트의 너비를 지정합니다.
이 값은 유형 매개변수에서 너비 제한을 선택한 경우에만 유효합니다.

4.6.2. 일반 2 탭

표 10. 일반 2 탭

매개변수

데이터 입력

'datab' 입력 버스에 상수 값이 있습니까?

아니오 예

곱셈 유형

어떤 유형의

서명 없음

곱셈을 원하십니까? 서명됨

구현

어떤 승수 구현을 사용해야 합니까?

기본 구현 사용
전용 멀티플라이어 회로 사용(일부 제품군에 해당되지 않음)
논리 요소 사용

기본값

설명

아니요

상수 값을 지정하려면 예를 선택합니다.

`datab' 입력 버스(있는 경우).

서명 없음

dataa[] 및 datab[] 입력 모두에 대한 표현 형식을 지정합니다.

기본 구현 사용

result[] 포트의 너비를 결정하기 위해 원하는 방법을 선택합니다.

4.6.3. 파이프라이닝 탭

표 11. 파이프라이닝 탭

매개변수

아니요

함수?

'aclr' 만들기

비동기 클리어 포트

기본값

설명

아니요

파이프라인 등록을 활성화하려면 예를 선택합니다.

승수의 출력 및 원하는 지정

클록 주기의 출력 대기 시간. 활성화

파이프라인 레지스터는

산출.

체크 안됨

aclr 포트가 파이프라인 레지스터에 대해 비동기 지우기를 사용하도록 설정하려면 이 옵션을 선택합니다.
계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 19

4. LPM_MULT(승수) IP 코어 683490 | 2020.10.05

매개변수
'clken' 클록 활성화 클록 생성
최적화
어떤 유형의 최적화를 원하십니까?

값 -
기본 속도 영역

기본값

설명

체크 안됨

파이프라인 레지스터의 클록 포트에 대한 액티브 하이 클록 활성화를 지정합니다.

기본

IP 코어에 대해 원하는 최적화를 지정합니다.
Intel Quartus Prime 소프트웨어가 IP 코어에 대한 최상의 최적화를 결정하도록 하려면 기본값을 선택하십시오.

4.7. Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치에 대한 매개변수

4.7.1. 일반 탭

표 12. 일반 탭

매개변수

기본값

설명

승수 구성 유형
데이터 포트 폭

'dataa' 입력에 'datab' 입력 곱하기
'dataa' 입력 자체를 곱하기(제곱 연산)

'dataa' 입력에 'datab' 입력 곱하기

승수에 대해 원하는 구성을 선택합니다.

데이터 폭

1 – 256비트

8 비트

dataa[] 포트의 너비를 지정합니다.

데이터 폭

1 – 256비트

8 비트

datab[] 포트의 너비를 지정합니다.

'결과' 출력의 너비는 어떻게 결정해야 합니까?

유형

너비 자동 계산
폭을 제한하십시오

너비 자동 계산

result[] 포트의 너비를 결정하기 위해 원하는 방법을 선택합니다.

1 – 512비트

16 비트

result[] 포트의 너비를 지정합니다.
이 값은 유형 매개변수에서 너비 제한을 선택한 경우에만 유효합니다.

결과 너비

1 – 512비트

result[] 포트의 유효 너비를 표시합니다.

4.7.2. 일반 2 탭

표 13. 일반 2 탭

매개변수

데이터 입력

'datab' 입력 버스에 상수 값이 있습니까?

아니오 예

기본값

설명

아니요

상수 값을 지정하려면 예를 선택합니다.

`datab' 입력 버스(있는 경우).

계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 20

피드백 보내기

4. LPM_MULT(승수) IP 코어 683490 | 2020.10.05

매개변수

0보다 큰 값

곱셈 유형

어떤 유형의

서명 없음

곱셈을 원하십니까? 서명됨

구현 스타일

어떤 승수 구현을 사용해야 합니까?

기본 구현 사용
전용 곱셈기 회로 사용
논리 요소 사용

기본값

설명

0

datab[] 포트의 상수 값을 지정합니다.

서명 없음

dataa[] 및 datab[] 입력 모두에 대한 표현 형식을 지정합니다.

기본 구현 사용

result[] 포트의 너비를 결정하기 위해 원하는 방법을 선택합니다.

4.7.3. 파이프라이닝

표 14. 파이프라이닝 탭

매개변수

함수를 파이프라인 하시겠습니까?

관로

아니오 예

대기 시간 지우기 신호 유형

0보다 큰 값.
없음 ACLR SCLR

'클켄' 시계 만들기

시계 활성화

어떤 유형의 최적화를 원하십니까?

유형

기본 속도 영역

기본값

설명

1번 없음

곱셈기의 출력에 대한 파이프라인 등록을 활성화하려면 예를 선택합니다. 파이프라인 레지스터를 활성화하면 출력에 대기 시간이 추가됩니다.
클록 주기에서 원하는 출력 대기 시간을 지정합니다.
파이프라인 레지스터의 재설정 유형을 지정합니다. 파이프라인 레지스터를 사용하지 않는 경우 NONE을 선택하십시오. 파이프라인 레지스터에 대해 비동기 지우기를 사용하려면 ACLR을 선택합니다. 그러면 ACLR 포트가 생성됩니다. 파이프라인 레지스터에 동기식 지우기를 사용하려면 SCLR을 선택합니다. 그러면 SCLR 포트가 생성됩니다.
파이프라인 레지스터의 클록 포트에 대한 액티브 하이 클록 활성화를 지정합니다.

기본

IP 코어에 대해 원하는 최적화를 지정합니다.
Intel Quartus Prime 소프트웨어가 IP 코어에 대한 최상의 최적화를 결정하도록 하려면 기본값을 선택하십시오.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 21

683490 | 2020.10.05 피드백 보내기

5. LPM_ADD_SUB(가산기/감산기)

그림 4.

LPM_ADD_SUB IP 코어를 사용하면 가산기 또는 빼기를 구현하여 데이터 집합을 더하거나 빼서 입력 값의 합계 또는 차를 포함하는 출력을 생성할 수 있습니다.

다음 그림은 LPM_ADD_SUB IP 코어의 포트를 보여줍니다.

LPM_ADD_SUB 포트

LPM_ADD_SUB add_sub cin

데이터[]

클록 클럭 데이터b[] aclr

result[] 오버플로 cout

설치하다

5.1. 특징
LPM_ADD_SUB IP 코어는 다음 기능을 제공합니다. · 덧셈기, 뺄셈기 및 동적으로 구성 가능한 가산기/뺄셈기를 생성합니다.
기능. · 1비트의 데이터 폭을 지원합니다. · 서명 및 무부호와 같은 데이터 표현 형식을 지원합니다. · 선택적 반입(차용), 비동기 클리어, 클럭 인에이블 지원
입력 포트. · 선택적 캐리아웃(차용) 및 오버플로 출력 포트를 지원합니다. · 입력 데이터 버스 중 하나를 상수에 할당합니다. · 구성 가능한 출력 대기 시간으로 파이프라이닝을 지원합니다.

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

ISO 9001 : 2015 등록

5. LPM_ADD_SUB(가산기/빼기) 683490 | 2020.10.05
5.2. Verilog HDL 프로토타입
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v) lpm.v에서 edasynthesis 디렉토리.
모듈 lpm_add_sub ( 결과, cout, 오버플로, add_sub, cin, dataa, datab, clock, clken, aclr ); 매개변수 lpm_type = "lpm_add_sub"; 매개변수 lpm_width = 1; 매개변수 lpm_direction = "미사용"; 매개변수 lpm_representation = "서명됨"; 매개변수 lpm_pipeline = 0; 매개변수 lpm_hint = "미사용"; 입력 [lpm_width-1:0] dataa, datab; 입력 add_sub, cin; 입력 클럭; 클켄 입력; 입력 aclr; 출력 [lpm_width-1:0] 결과; 출력 cout, 오버플로; 엔드모듈
5.3. VHDL 구성 요소 선언
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd) LPM_PACK.vhd의 libraryvhdllpm 디렉토리.
구성요소 LPM_ADD_SUB 일반(LPM_WIDTH : 자연;
LPM_DIRECTION : 문자열 := "미사용"; LPM_REPRESENTATION: 문자열 := "서명됨"; LPM_PIPELINE : 자연 := 0; LPM_TYPE : 문자열 := L_ADD_SUB; LPM_HINT : 문자열 := "미사용"); 포트(DATAA: std_logic_vector(LPM_WIDTH-1에서 0까지); DATAB: std_logic_vector(LPM_WIDTH-1에서 0까지); ACLR: std_logic에서:= '0'; CLOCK: std_logic에서:= '0'; CLKEN: std_logic에서 := '1'; CIN: std_logic에서 := 'Z'; ADD_SUB: std_logic에서 := '1'; RESULT: out std_logic_vector(LPM_WIDTH-1 downto 0); COUT: out std_logic; OVERFLOW: out std_logic); 엔드 컴포넌트;
5.4. VHDL LIBRARY_USE 선언
VHDL 구성 요소 선언을 사용하는 경우 VHDL LIBRARY-USE 선언이 필요하지 않습니다.
라이브러리 lpm; 사용 lpm.lpm_components.all;
5.5. 포트
다음 표에는 LPM_ADD_SUB IP 코어의 입력 및 출력 포트가 나열되어 있습니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 23

5. LPM_ADD_SUB(가산기/빼기) 683490 | 2020.10.05

표 15. LPM_ADD_SUB IP 코어 입력 포트

포트 이름

필수의

설명

아니요

하위 비트로 캐리 인합니다. 더하기 연산의 경우 기본값은 0입니다.

빼기 연산, 기본값은 1입니다.

데이터[]

데이터 투입. 입력 포트의 크기는 LPM_WIDTH 매개변수 값에 따라 다릅니다.

데이터베[]

데이터 투입. 입력 포트의 크기는 LPM_WIDTH 매개변수 값에 따라 다릅니다.

추가_서브

아니요

가산기와 감산기 사이의 동적 전환을 가능하게 하는 선택적 입력 포트

기능. LPM_DIRECTION 매개변수를 사용하는 경우 add_sub를 사용할 수 없습니다. 만약에

생략된 경우 기본값은 ADD입니다. 인텔은 다음을 사용할 것을 권장합니다.

LPM_ADD_SUB 함수의 작동을 지정하는 LPM_DIRECTION 매개변수,

add_sub 포트에 상수를 할당하는 대신.

시계

아니요

파이프라인 사용을 위한 입력입니다. 클록 포트는 파이프라인에 대한 클록 입력을 제공합니다.

작업. 0(기본값)이 아닌 LPM_PIPELINE 값의 경우 클록 포트는

활성화됨.

클켄

아니요

파이프라인 사용을 위한 클록 활성화. clken 포트가 높게 어설션되면 가산기/

감산기 연산이 일어난다. 신호가 낮으면 작동하지 않습니다. 만약에

생략하면 기본값은 1입니다.

aclr

아니요

파이프라인 사용을 위한 비동기 클리어. 파이프라인이 정의되지 않음(X)으로 초기화됩니다.

논리 수준. aclr 포트는 언제든지 파이프라인을 모두 0으로 재설정하는 데 사용할 수 있습니다.

클럭 신호에 비동기적으로.

표 16. LPM_ADD_SUB IP 코어 출력 포트

포트 이름

필수의

설명

결과[]

데이터 출력. 출력 포트의 크기는 LPM_WIDTH 매개변수에 따라 다릅니다.

값.

쿠트

아니요

최상위 비트(MSB)의 반입(차용). cout 포트에는 물리적

MSB의 반출(차입)으로 해석됩니다. cout 포트가 감지합니다.

UNSIGNED 작업에서 오버플로. cout 포트는 동일한 방식으로 작동합니다.

SIGNED 및 UNSIGNED 작업.

과다

아니요

선택적 오버플로 예외 출력. 오버플로우 포트는 물리적으로 다음과 같이 해석됩니다.

MSB의 반출과 MSB 반입의 XOR. 오버플로 포트

결과가 사용 가능한 정밀도를 초과할 때 어설션하고 다음 경우에만 사용됩니다.

LPM_REPRESENTATION 매개변수 값은 SIGNED입니다.

5.6. 매개 변수

다음 표에는 LPM_ADD_SUB IP 코어 매개변수가 나열되어 있습니다.

표 17. LPM_ADD_SUB IP 코어 매개변수

매개변수 이름 LPM_WIDTH

유형 정수

필수 예

설명
dataa[], datab[] 및 result[] 포트의 너비를 지정합니다.

LPM_방향

아니요

값은 ADD, SUB 및 UNUSED입니다. 생략할 경우 기본값은 DEFAULT이며 매개변수가 add_sub 포트에서 해당 값을 가져오도록 지시합니다. LPM_DIRECTION을 사용하는 경우 add_sub 포트를 사용할 수 없습니다. 인텔은 add_sub 포트에 상수를 할당하는 대신 LPM_DIRECTION 매개변수를 사용하여 LPM_ADD_SUB 함수의 작업을 지정할 것을 권장합니다.
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 24

피드백 보내기

5. LPM_ADD_SUB(가산기/빼기) 683490 | 2020.10.05

매개변수 이름 LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

유형 문자열 정수 문자열 문자열 문자열 정수

필수 아니오 아니오 아니오 아니오 아니오 아니오
아니요

설명
수행되는 추가 유형을 지정합니다. 값은 SIGNED 및 UNSIGNED입니다. 생략하면 기본값은 SIGNED입니다. 이 매개변수가 SIGNED로 설정되면 가산기/감산기는 데이터 입력을 부호 있는 XNUMX의 보수로 해석합니다.
result[] 출력과 관련된 대기 시간 클럭 주기 수를 지정합니다. 영(0) 값은 대기 시간이 존재하지 않으며 순전히 조합 함수가 인스턴스화됨을 나타냅니다. 생략하면 기본값은 0(비파이프라인)입니다.
VHDL 설계에서 인텔 관련 매개변수를 지정할 수 있습니다. files(.vhd). 기본값은 미사용입니다.
VHDL 설계에서 LPM(매개변수화된 모듈) 엔티티 이름의 라이브러리를 식별합니다. files.
인텔 고유의 매개변수입니다. VHDL 설계에서 ONE_INPUT_IS_CONSTANT 매개변수를 지정하려면 LPM_HINT 매개변수를 사용해야 합니다. file에스. 값은 YES, NO 및 UNUSED입니다. 하나의 입력이 상수인 경우 더 큰 최적화를 제공합니다. 생략하면 기본값은 NO입니다.
인텔 고유의 매개변수입니다. VHDL 설계에서 MAXIMIZE_SPEED 매개변수를 지정하려면 LPM_HINT 매개변수를 사용해야 합니다. file에스. 0에서 10 사이의 값을 지정할 수 있습니다. 사용하는 경우 Intel Quartus Prime 소프트웨어는 라우팅 가능성보다는 속도를 위해 LPM_ADD_SUB 함수의 특정 인스턴스를 최적화하려고 시도하고 Optimization Technique 논리 옵션의 설정을 재정의합니다. MAXIMIZE_SPEED를 사용하지 않으면 Optimization Technique 옵션 값이 대신 사용됩니다. MAXIMIZE_SPEED의 설정이 6 이상인 경우 컴파일러는 캐리 체인을 사용하여 더 빠른 속도를 위해 LPM_ADD_SUB IP 코어를 최적화합니다. 설정이 5 이하이면 컴파일러는 캐리 체인 없이 디자인을 구현합니다. 이 매개변수는 add_sub 포트가 사용되지 않는 경우에만 Cyclone, Stratix 및 Stratix GX 장치에 대해 지정되어야 합니다.
이 매개변수는 모델링 및 동작 시뮬레이션 목적으로 사용됩니다. 매개변수 편집기는 이 매개변수의 값을 계산합니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 25

683490 | 2020.10.05 피드백 보내기

6. LPM_COMPARE(비교기)

그림 5.

LPM_COMPARE IP 코어는 두 데이터 세트의 값을 비교하여 이들 사이의 관계를 결정합니다. 가장 간단한 형태로 배타적 OR 게이트를 사용하여 두 비트의 데이터가 같은지 여부를 확인할 수 있습니다.

다음 그림은 LPM_COMPARE IP 코어의 포트를 보여줍니다.

LPM_COMPARE 포트

LPM_COMPARE

클켄

장백의

에이비

데이터[]

아그비

데이터베[]

아게브

시계

또는

aclr

알렙

설치하다

6.1. 특징
LPM_COMPARE IP 코어는 다음과 같은 기능을 제공합니다. · 두 데이터 세트를 비교하기 위한 비교기 함수 생성 · 1비트의 데이터 폭 지원 · 부호 및 무부호와 같은 데이터 표현 형식 지원 · 다음 출력 유형 생성:
— alb(입력 A가 입력 B보다 작음) — aeb(입력 A가 입력 B와 같음) — agb(입력 A가 입력 B보다 큼) — ageb(입력 A가 입력 B보다 크거나 같음) — aneb( 입력 A가 입력 B와 같지 않음) — aleb(입력 A가 입력 B보다 작거나 같음) · 선택적 비동기 지우기 및 클록 활성화 입력 포트 지원 · datab[] 입력을 상수에 할당 · 구성 가능한 출력 대기 시간으로 파이프라이닝 지원

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

ISO 9001 : 2015 등록

6. LPM_COMPARE(비교기) 683490 | 2020.10.05
6.2. Verilog HDL 프로토타입
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v) lpm.v에서 edasynthesis 디렉토리.
lpm_compare 모듈( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, 시계, clken, aclr ); 매개변수 lpm_type = "lpm_compare"; 매개변수 lpm_width = 1; 매개변수 lpm_representation = "서명되지 않음"; 매개변수 lpm_pipeline = 0; 매개변수 lpm_hint = "미사용"; 입력 [lpm_width-1:0] dataa, datab; 입력 클럭; 클켄 입력; 입력 aclr; 출력 alb, aeb, agb, aleb, aneb, ageb; 엔드모듈
6.3. VHDL 구성 요소 선언
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd) LPM_PACK.vhd의 libraryvhdllpm 디렉토리.
구성 요소 LPM_COMPARE 일반(LPM_WIDTH : 자연;
LPM_REPRESENTATION : 문자열 := "서명되지 않음"; LPM_PIPELINE : 자연 := 0; LPM_TYPE: 문자열 := L_COMPARE; LPM_HINT : 문자열 := "미사용"); 포트(DATAA: std_logic_vector(LPM_WIDTH-1에서 0까지); DATAB: std_logic_vector(LPM_WIDTH-1에서 0까지); ACLR: std_logic에서:= '0'; CLOCK: std_logic에서:= '0'; CLKEN: std_logic에서 := '1'; AGB: std_logic 출력; AGEB: std_logic 출력; AEB: std_logic 출력; ANEB: std_logic 출력; ALB: std_logic 출력; ALEB: std_logic 출력); 엔드 컴포넌트;
6.4. VHDL LIBRARY_USE 선언
VHDL 구성 요소 선언을 사용하는 경우 VHDL LIBRARY-USE 선언이 필요하지 않습니다.
라이브러리 lpm; 사용 lpm.lpm_components.all;
6.5. 포트
다음 표에는 LMP_COMPARE IP 코어의 입력 및 출력 포트가 나열되어 있습니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 27

6. LPM_COMPARE(비교기) 683490 | 2020.10.05

표 18. LPM_COMPARE IP 코어 입력 포트

포트 이름

필수의

설명

데이터[]

데이터 투입. 입력 포트의 크기는 LPM_WIDTH 매개변수 값에 따라 다릅니다.

데이터베[]

데이터 투입. 입력 포트의 크기는 LPM_WIDTH 매개변수 값에 따라 다릅니다.

시계

아니요

파이프라인 사용을 위한 클록 입력. 클록 포트는 파이프라인에 대한 클록 입력을 제공합니다.

작업. 0(기본값)이 아닌 LPM_PIPELINE 값의 경우 클록 포트는

활성화됨.

클켄

아니요

파이프라인 사용을 위한 클록 활성화. clken 포트가 높게 어설션되면

비교 작업이 수행됩니다. 신호가 낮으면 작동하지 않습니다. 만약에

생략하면 기본값은 1입니다.

aclr

아니요

파이프라인 사용을 위한 비동기 클리어. 파이프라인이 정의되지 않은(X) 논리로 초기화됩니다.

수준. aclr 포트는 언제든지 파이프라인을 모두 0으로 재설정하는 데 사용할 수 있습니다.

클럭 신호에 비동기적으로.

표 19. LPM_COMPARE IP 코어 출력 포트

포트 이름

필수의

설명

장백의

아니요

비교기용 출력 포트. 입력 A가 입력 B보다 작은 경우 어설션됩니다.

에이비

아니요

비교기용 출력 포트. 입력 A가 입력 B와 같으면 어설션됩니다.

아그비

아니요

비교기용 출력 포트. 입력 A가 입력 B보다 큰 경우 어설션됩니다.

아게브

아니요

비교기용 출력 포트. 입력 A가 입력보다 크거나 같은 경우 어설션됨

B.

또는

아니요

비교기용 출력 포트. 입력 A가 입력 B와 같지 않은 경우 어설션됩니다.

알렙

아니요

비교기용 출력 포트. 입력 A가 입력 B보다 작거나 같으면 어설션됩니다.

6.6. 매개 변수

다음 표에는 LPM_COMPARE IP 코어의 매개변수가 나열되어 있습니다.

표 20. LPM_COMPARE IP 코어 매개변수

매개변수 이름

유형

필수의

LPM_WIDTH

정수 예

LPM_대표

아니요

LPM_파이프라인

정수 아니요

LPM_힌트

아니요

설명
dataa[] 및 datab[] 포트의 너비를 지정합니다.
수행되는 비교 유형을 지정합니다. 값은 SIGNED 및 UNSIGNED입니다. 생략하면 기본값은 UNSIGNED입니다. 이 매개변수 값이 SIGNED로 설정되면 비교기는 데이터 입력을 부호 있는 XNUMX의 보수로 해석합니다.
alb, aeb, agb, ageb, aleb 또는 aneb 출력과 관련된 대기 시간의 클록 주기 수를 지정합니다. 영(0) 값은 대기 시간이 존재하지 않으며 순전히 조합 함수가 인스턴스화됨을 나타냅니다. 생략하면 기본값은 0(비파이프라인)입니다.
VHDL 설계에서 인텔 관련 매개변수를 지정할 수 있습니다. files(.vhd). 기본값은 미사용입니다.
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 28

피드백 보내기

6. LPM_COMPARE(비교기) 683490 | 2020.10.05
매개변수 이름 LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

유형 문자열 문자열

필수 아니오 아니오
아니요

설명
VHDL 설계에서 LPM(매개변수화된 모듈) 엔티티 이름의 라이브러리를 식별합니다. files.
이 매개변수는 모델링 및 동작 시뮬레이션 목적으로 사용됩니다. 매개변수 편집기는 이 매개변수의 값을 계산합니다.
인텔 고유의 매개변수입니다. VHDL 설계에서 ONE_INPUT_IS_CONSTANT 매개변수를 지정하려면 LPM_HINT 매개변수를 사용해야 합니다. file에스. 값은 YES, NO 또는 UNUSED입니다. 입력이 일정하면 더 큰 최적화를 제공합니다. 생략하면 기본값은 NO입니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 29

683490 | 2020.10.05 피드백 보내기

7. ALTECC(오류 수정 코드: 인코더/디코더) IP 코어

그림 6.

Intel은 ECC 기능을 구현하기 위해 ALTECC IP 코어를 제공합니다. ECC는 데이터 전송 중 수신측에서 발생하는 손상된 데이터를 감지합니다. 이 오류 수정 방법은 오류가 버스트가 아닌 무작위로 발생하는 상황에 가장 적합합니다.

ECC는 데이터 인코딩 및 디코딩 프로세스를 통해 오류를 감지합니다. 예를 들어amp즉, ECC가 전송 애플리케이션에 적용될 때 소스에서 읽은 데이터는 수신자에게 전송되기 전에 인코딩됩니다. 인코더의 출력(코드 워드)은 패리티 비트 수가 추가된 원시 데이터로 구성됩니다. 추가되는 정확한 패리티 비트 수는 입력 데이터의 비트 수에 따라 다릅니다. 생성된 코드 워드는 목적지로 전송됩니다.

수신기는 코드 워드를 수신하고 해독합니다. 디코더에서 얻은 정보는 오류 감지 여부를 결정합니다. 디코더는 단일 비트 및 이중 비트 오류를 ​​감지하지만 손상된 데이터의 단일 비트 오류만 수정할 수 있습니다. 이러한 유형의 ECC는 SECDED(Single Error Correction Double Error Detection)입니다.

ALTECC IP 코어의 인코더 및 디코더 기능을 구성할 수 있습니다. 인코더에 입력된 데이터는 인코딩되어 데이터 입력과 생성된 패리티 비트의 조합인 코드 워드를 생성합니다. 생성된 코드 워드는 목적지 블록에 도달하기 직전에 디코딩을 위해 디코더 모듈로 전송됩니다. 디코더는 수신된 코드 단어에 오류가 있는지 확인하기 위해 신드롬 벡터를 생성합니다. 디코더는 단일 비트 오류가 데이터 비트에서 발생한 경우에만 데이터를 수정합니다. 단일 비트 오류가 패리티 비트에서 발생한 경우 신호에 플래그가 지정되지 않습니다. 디코더에는 수신된 데이터의 상태와 디코더가 수행한 작업(있는 경우)을 표시하는 플래그 신호도 있습니다.

다음 그림은 ALTECC IP 코어의 포트를 보여줍니다.

ALTECC 인코더 포트

ALTECC_ENCODER

데이터[]

큐[]

시계

시계

aclr

설치하다

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

ISO 9001 : 2015 등록

7. ALTECC(오류 수정 코드: 인코더/디코더) IP 코어 683490 | 2020.10.05

그림 7. ALTECC 디코더 포트

ALTECC_DECODER

데이터[] 클록 클록

q[] err_detected err_corrected
오류_치명적

aclr

설치하다

7.1. ALTECC 인코더 기능

ALTECC 인코더 IP 코어는 다음과 같은 기능을 제공합니다. · 해밍 코딩 방식을 사용하여 데이터 인코딩 수행 · 2비트의 데이터 폭 지원 · 서명 및 서명되지 않은 데이터 표현 형식 지원 · 64 또는 XNUMX 클록 주기의 출력 대기 시간으로 파이프라이닝 지원 · 선택적 지원 비동기 클리어 및 클록 활성화 포트

ALTECC 인코더 IP 코어는 해밍 코딩 방식을 사용하여 데이터를 수신하고 인코딩합니다. 해밍 코딩 방식은 패리티 비트를 도출하고 원본 데이터에 추가하여 출력 코드 단어를 생성합니다. 추가되는 패리티 비트 수는 데이터의 너비에 따라 다릅니다.

다음 표에는 다양한 데이터 폭 범위에 추가된 패리티 비트 수가 나열되어 있습니다. 총 비트 열은 입력 데이터 비트 및 추가된 패리티 비트의 총 수를 나타냅니다.

표 21.

데이터 폭에 따른 패리티 비트 수 및 코드 워드

데이터 너비

패리티 비트 수

총 비트(코드 워드)

2-4

3+1

6-8

5-11

4+1

10-16

12-26

5+1

18-32

27-57

6+1

34-64

58-64

7+1

66-72

패리티 비트 파생은 짝수 패리티 검사를 사용합니다. 추가 1비트(표에서 +1로 표시됨)는 코드 워드의 MSB로 패리티 비트에 추가됩니다. 이것은 코드 워드가 짝수의 1을 갖도록 보장합니다. 예를 들어amp즉, 데이터 폭이 4비트인 경우 데이터에 4개의 패리티 비트가 추가되어 총 8비트의 코드 워드가 됩니다. 7비트 코드워드의 LSB에서 8비트가 1의 개수가 홀수이면 코드워드의 8번째 비트(MSB)는 1이 되어 전체 코드워드의 1의 개수는 짝수가 됩니다.
다음 그림은 생성된 코드 워드와 8비트 데이터 입력에서 패리티 비트 및 데이터 비트의 배열을 보여줍니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 31

7. ALTECC(오류 수정 코드: 인코더/디코더) IP 코어 683490 | 2020.10.05

그림 8.

8비트 생성 코드 워드의 패리티 비트 및 데이터 비트 배열

MSB

엘에스비(LSB)

4개의 패리티 비트

4 데이터 비트

8

1

ALTECC 인코더 IP 코어는 한 번에 2~64비트의 입력 폭만 허용합니다. Intel 장치에 이상적으로 적합한 12비트, 29비트 및 64비트의 입력 폭은 각각 18비트, 36비트 및 72비트의 출력을 생성합니다. 매개변수 편집기에서 비트 선택 제한을 제어할 수 있습니다.

7.2. Verilog HDL 프로토타입(ALTECC_ENCODER)
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v) lpm.v에서 edasynthesis 디렉토리.
모듈 altecc_encoder #( 매개변수가 의도한_장치_가족 = "미사용", 매개변수 lpm_pipeline = 0, 매개변수 width_codeword = 8, 매개변수 width_dataword = 8, 매개변수 lpm_type = "altecc_encoder", 매개변수 lpm_hint = "미사용") ( 입력 와이어 aclr, 입력 와이어 클럭, 입력 와이어 클럭, 입력 와이어[width_dataword-1:0] 데이터, 출력 와이어[width_codeword-1:0] q); 엔드모듈

7.3. Verilog HDL 프로토타입(ALTECC_DECODER)
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v) lpm.v에서 edasynthesis 디렉토리.
모듈 altecc_decoder #( 매개변수가 의도한_장치_가족 = "미사용", 매개변수 lpm_pipeline = 0, 매개변수 width_codeword = 8, 매개변수 width_dataword = 8, 매개변수 lpm_type = "altecc_decoder", 매개변수 lpm_hint = "미사용") ( 입력 와이어 aclr, 입력 와이어 클럭, 입력 와이어 clocken, 입력 와이어 [width_codeword-1:0] 데이터, 출력 와이어 err_corrected, 출력 와이어 err_detected, 출력 와이어 err_fatal, 출력 와이어 [width_dataword-1:0] q); 엔드모듈

Intel FPGA 정수 산술 IP 코어 사용 설명서 32

피드백 보내기

7. ALTECC(오류 수정 코드: 인코더/디코더) IP 코어 683490 | 2020.10.05
7.4. VHDL 구성 요소 선언(ALTECC_ENCODER)
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd)에 있는 altera_mf_components.vhd libraryvhdlaltera_mf 디렉토리.
구성 요소 altecc_encoder 일반( scheduled_device_family:string := "미사용"; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := "미사용"; lpm_type:string := "altecc_encoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector(width_codeword -1에서 0까지)); 엔드 컴포넌트;
7.5. VHDL 구성요소 선언(ALTECC_DECODER)
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd)에 있는 altera_mf_components.vhd libraryvhdlaltera_mf 디렉토리.
구성 요소 altecc_decoder 일반( scheduled_device_family:string := "미사용"; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := "미사용"; lpm_type:string := "altecc_decoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 downto 0); err_corrected : out std_logic; err_detected : out std_logic; q:out std_logic_vector(width_dataword-1 down to 0); syn_e : out std_logic); 엔드 컴포넌트;
7.6. VHDL LIBRARY_USE 선언
VHDL 구성 요소 선언을 사용하는 경우 VHDL LIBRARY-USE 선언이 필요하지 않습니다.
라이브러리 altera_mf; 사용 altera_mf.altera_mf_components.all;
7.7. 인코더 포트
다음 표에는 ALTECC 인코더 IP 코어의 입력 및 출력 포트가 나열되어 있습니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 33

7. ALTECC(오류 수정 코드: 인코더/디코더) IP 코어 683490 | 2020.10.05

표 22. ALTECC 인코더 입력 포트

포트 이름

필수의

설명

데이터[]

데이터 입력 포트. 입력 포트의 크기는 WIDTH_DATAWORD에 따라 다릅니다.

매개변수 값. data[] 포트에는 인코딩할 원시 데이터가 포함되어 있습니다.

시계

인코딩 작업을 동기화하기 위해 클럭 신호를 제공하는 클럭 입력 포트입니다.

LPM_PIPELINE 값이 0보다 큰 경우 클록 포트가 필요합니다.

시계

아니요

시계 활성화. 생략하면 기본값은 1입니다.

aclr

아니요

비동기 클리어 입력. 활성 높은 aclr 신호는 언제든지 사용할 수 있습니다.

레지스터를 비동기적으로 지웁니다.

표 23. ALTECC 인코더 출력 포트

포트 이름 q[]

필수 예

설명
인코딩된 데이터 출력 포트. 출력 포트의 크기는 WIDTH_CODEWORD 매개변수 값에 따라 다릅니다.

7.8. 디코더 포트

다음 표에는 ALTECC 디코더 IP 코어의 입력 및 출력 포트가 나열되어 있습니다.

표 24. ALTECC 디코더 입력 포트

포트 이름

필수의

설명

데이터[]

데이터 입력 포트. 입력 포트의 크기는 WIDTH_CODEWORD 매개변수 값에 따라 다릅니다.

시계

인코딩 작업을 동기화하기 위해 클럭 신호를 제공하는 클럭 입력 포트입니다. LPM_PIPELINE 값이 0보다 큰 경우 클록 포트가 필요합니다.

시계

아니요

시계 활성화. 생략하면 기본값은 1입니다.

aclr

아니요

비동기 클리어 입력. 액티브 하이 aclr 신호는 레지스터를 비동기식으로 지우기 위해 언제든지 사용할 수 있습니다.

표 25. ALTECC 디코더 출력 포트

포트 이름 q[]

필수 예

설명
디코딩된 데이터 출력 포트. 출력 포트의 크기는 WIDTH_DATAWORD 매개변수 값에 따라 다릅니다.

err_detected 예

수신된 데이터의 상태를 반영하고 발견된 오류를 지정하는 플래그 신호입니다.

err_correcte 예 d

수신된 데이터의 상태를 반영하는 플래그 신호입니다. 발견 및 수정된 단일 비트 오류를 ​​나타냅니다. 이미 수정되어 있기 때문에 데이터를 사용할 수 있습니다.

오류_치명적

수신된 데이터의 상태를 반영하는 플래그 신호입니다. 이중 비트 오류가 발견되었지만 수정되지 않았음을 나타냅니다. 이 신호가 어설션되면 데이터를 사용해서는 안 됩니다.

전에

아니요

패리티에서 단일 비트 오류가 감지될 때마다 높아지는 출력 신호

비트.

7.9. 인코더 매개변수
다음 표에는 ALTECC 인코더 IP 코어의 매개변수가 나열되어 있습니다.

Intel FPGA 정수 산술 IP 코어 사용 설명서 34

피드백 보내기

7. ALTECC(오류 수정 코드: 인코더/디코더) IP 코어 683490 | 2020.10.05

표 26. ALTECC 인코더 매개변수

매개변수 이름

유형

필수의

설명

WIDTH_DATAWORD

정수 예

원시 데이터의 너비를 지정합니다. 값은 2에서 64까지입니다. 생략하면 기본값은 8입니다.

WIDTH_CODEWORD

정수 예

해당 코드 워드의 너비를 지정합니다. 유효한 값은 6에서 72까지이며 9, 17, 33 및 65는 제외됩니다. 생략할 경우 기본값은 13입니다.

LPM_파이프라인

정수 아니요

회로의 파이프라인을 지정합니다. 값은 0에서 2까지입니다. 값이 0이면 포트가 등록되지 않습니다. 값이 1이면 출력 포트가 등록됩니다. 값이 2이면 입력 및 출력 포트가 등록됩니다. 생략하면 기본값은 0입니다.

7.10. 디코더 매개변수

다음 표에는 ALTECC 디코더 IP 코어 매개변수가 나열되어 있습니다.

표 27. ALTECC 디코더 매개변수

매개변수 이름 WIDTH_DATAWORD

유형 정수

필수의

설명

원시 데이터의 너비를 지정합니다. 값은 2에서 64까지입니다.

기본값은 8입니다.

WIDTH_CODEWORD

정수

해당 코드 워드의 너비를 지정합니다. 값은 6입니다.

72, 9, 17, 33를 제외한 65까지. 생략하면 기본값

13입니다.

LPM_파이프라인

정수

아니요

회로의 레지스터를 지정합니다. 값은 0에서 2까지입니다.

값이 0이면 레지스터가 구현되지 않습니다. 값이 1인 경우

출력이 등록됩니다. 값이 2이면 입력과

출력이 등록됩니다. 값이 2보다 크면 추가

레지스터는 추가를 위해 출력에서 ​​구현됩니다.

대기 시간. 생략하면 기본값은 0입니다.

'syn_e' 포트 생성

정수

아니요

이 매개변수를 켜서 syn_e 포트를 생성합니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 35

683490 | 2020.10.05 피드백 보내기

8. Intel FPGA Multiply Adder IP 코어

그림 9.

Intel FPGA Multiply Adder(Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치) 또는 ALTERA_MULT_ADD(Arria V, Stratix V 및 Cyclone V 장치) IP 코어를 사용하면 승수 가산기를 구현할 수 있습니다.

다음 그림은 Intel FPGA Multiply Adder 또는 ALTERA_MULT_ADD IP 코어의 포트를 보여줍니다.

Intel FPGA Multiply Adder 또는 ALTERA_MULT_ADD 포트

Intel FPGA Multiply Adder 또는 ALTERA_MULT_ADD

dataa[] 신호 데이터b[] 신호 데이터c[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload 체인인[]

scanouta[] 결과[]

aclr0 aclr1

설치하다
승수-가산기는 입력 쌍을 받아들이고 값을 함께 곱한 다음 다른 모든 쌍의 곱에서 더하거나 뺍니다.
모든 입력 데이터 폭이 9비트 이하인 경우 이 기능은 9 x 9 구성을 지원하는 장치에 대해 DSP 블록의 9 x 9비트 입력 승수 구성을 사용합니다. 그렇지 않은 경우 DSP 블록은 18 × 18비트 입력 곱셈기를 사용하여 10비트와 18비트 사이의 폭을 가진 데이터를 처리합니다. 설계에서 여러 개의 Intel FPGA Multiply Adder 또는 ALTERA_MULT_ADD IP 코어가 발생하는 경우 함수는 다음과 같이 배포됩니다.

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

ISO 9001 : 2015 등록

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05
이러한 블록에 대한 라우팅이 더 유연하도록 가능한 많은 다른 DSP 블록. DSP 블록당 멀티플라이어가 적기 때문에 장치의 나머지 부분에 대한 경로를 최소화하여 블록에 더 많은 라우팅을 선택할 수 있습니다.
다음 신호에 대한 레지스터 및 추가 파이프라인 레지스터도 DSP 블록 내부에 배치됩니다. · 데이터 입력 · 부호 있는 또는 서명되지 않은 선택 · 더하기 또는 빼기 선택 · 곱셈기의 제품
출력 결과의 경우 첫 번째 레지스터는 DSP 블록에 배치됩니다. 그러나 추가 대기 시간 레지스터는 블록 외부의 논리 요소에 배치됩니다. 곱셈기에 대한 데이터 입력, 제어 신호 입력 및 가산기 출력을 포함하는 DSP 블록의 주변 장치는 일반 라우팅을 사용하여 장치의 나머지 부분과 통신합니다. 기능의 모든 연결은 DSP 블록 내부의 전용 라우팅을 사용합니다. 승수의 등록된 입력 데이터를 하나의 승수에서 인접한 승수로 이동하는 옵션을 선택할 때 이 전용 라우팅에는 이동 레지스터 체인이 포함됩니다.
Stratix V 및 Arria V 장치 시리즈의 DSP 블록에 대한 자세한 내용은 Literature and Technical Documentation 페이지에 있는 각 핸드북의 DSP 블록 장을 참조하십시오.
관련 정보 AN 306: FPGA 장치에서 곱셈기 구현
Intel FPGA 장치에서 DSP 및 메모리 블록을 사용하여 승수를 구현하는 방법에 대한 자세한 정보를 제공합니다.
8.1. 특징
Intel FPGA Multiply Adder 또는 ALTERA_MULT_ADD IP 코어는 다음과 같은 기능을 제공합니다.
숫자 참고: 기본적으로 지원되는 크기보다 큰 승수를 만들 때/
DSP 블록의 캐스케이딩으로 인해 성능에 영향을 미칩니다. · 1 256비트의 데이터 폭 지원 · 서명 및 서명되지 않은 데이터 표현 형식 지원 · 구성 가능한 입력 대기 시간으로 파이프라이닝 지원 · 서명 및 서명되지 않은 데이터 지원 간에 동적으로 전환하는 옵션 제공 · 더하기 및 빼기 작업 간에 동적으로 전환하는 옵션 제공 · 지원 선택적 비동기 및 동기 클리어 및 클록 활성화 입력 포트 · 수축기 지연 레지스터 모드 지원 · 승수당 8개의 사전 로드 계수가 있는 사전 가산기 지원 · 누산기 피드백을 보완하기 위해 사전 로드 상수 지원

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 37

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

8.1.1. 전가산기
사전 가산기를 사용하면 승수를 공급하기 전에 덧셈 또는 뺄셈이 수행됩니다.
XNUMX가지 사전 가산기 모드가 있습니다. · 단순 모드 · 계수 모드 · 입력 모드 · 제곱 모드 · 상수 모드

메모:

전가산기를 사용하는 경우(전가산기 계수/입력/제곱 모드) 승산기에 대한 모든 데이터 입력은 동일한 클럭 설정을 가져야 합니다.

8.1.1.1. 전가산기 단순 모드

이 모드에서는 두 피연산자가 모두 입력 포트에서 파생되며 사전 추가기가 사용되거나 바이패스되지 않습니다. 이것이 기본 모드입니다.

그림 10. 사전 가산기 단순 모드
a0 비0

멀티0

결과

8.1.1.2. 전가산기 계수 모드
이 모드에서 하나의 곱셈기 피연산자는 사전 가산기에서 파생되고 다른 피연산자는 내부 계수 저장소에서 파생됩니다. 계수 저장은 최대 8개의 미리 설정된 상수를 허용합니다. 계수 선택 신호는 coefsel[0..3]입니다.
이 모드는 다음 방정식으로 표현됩니다.

다음은 곱셈기의 전가산기 계수 모드를 보여줍니다.

그림 11. 전가산기 계수 모드

프리더

a0

멀티0

+/-

결과

b0

coefsel0 계수

Intel FPGA 정수 산술 IP 코어 사용 설명서 38

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05
8.1.1.3. 전가산기 입력 모드 이 모드에서는 하나의 승수 피연산자가 전가산기에서 파생되고 다른 피연산자는 datac[] 입력 포트에서 파생됩니다. 이 모드는 다음 방정식으로 표현됩니다.

다음은 곱셈기의 전가산기 입력 모드를 보여줍니다.

그림 12. 전가산기 입력 모드
a0 비0

멀티0

+/-

결과

c0

8.1.1.4. Pre-adder Square Mode 이 모드는 다음 식으로 표현됩니다.

다음은 두 곱셈기의 전가산기 제곱 모드를 보여줍니다.

그림 13. 프리 가산기 스퀘어 모드
a0 비0

멀티0

+/-

결과

8.1.1.5. 전가산기 상수 모드
이 모드에서 하나의 곱셈기 피연산자는 입력 포트에서 파생되고 다른 피연산자는 내부 계수 저장소에서 파생됩니다. 계수 저장은 최대 8개의 미리 설정된 상수를 허용합니다. 계수 선택 신호는 coefsel[0..3]입니다.
이 모드는 다음 방정식으로 표현됩니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 39

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

다음 그림은 곱셈기의 사전 가산기 상수 모드를 보여줍니다.

그림 14. 전가산기 상수 모드
a0

멀티0

결과

coefsel0
코프
8.1.2. 수축기 지연 레지스터
시스톨릭 아키텍처에서 입력 데이터는 데이터 버퍼 역할을 하는 레지스터 캐스케이드에 입력됩니다. 각 레지스터는 입력을 전달합니다.amp각각의 계수가 곱해지는 승수로. 체인 가산기는 곱셈기에서 점진적으로 결합된 결과와 이전에 chainin[] 입력 포트에서 등록된 결과를 저장하여 최종 결과를 형성합니다. 각 곱셈-덧셈 요소는 함께 더할 때 결과가 적절하게 동기화되도록 단일 주기만큼 지연되어야 합니다. 각각의 연속적인 지연은 각각의 곱셈-가산 요소의 계수 메모리와 데이터 버퍼를 모두 처리하는 데 사용됩니다. 예를 들어ample, 두 번째 곱셈 가산 요소에 대한 단일 지연, 세 번째 곱셈-가산 요소에 대한 두 개의 지연 등.
그림 15. 수축기 레지스터
수축기 레지스터

x(티)c(0)

에스-1

에스-1

다(1)

에스-1

에스-1

다(2)

에스-1

에스-1

c(N-1)

에스-1

에스-1

에스-1

S -1년(티)

x(t)는 입력 s의 연속 스트림 결과를 나타냅니다.amp레와 y(t)
입력 집합의 합계를 나타냅니다.amples, 그리고 시간이 지남에 따라
각각의 계수. 입력 및 출력 결과는 모두 왼쪽에서 오른쪽으로 흐릅니다. c(0)~c(N-1)은 계수를 나타낸다. 수축기 지연 레지스터는 S-1로 표시되는 반면 1은 단일 클록 지연을 나타냅니다. 수축기 지연 레지스터는 다음에 추가됩니다.
결과를 보장하는 방식으로 파이프라이닝을 위한 입력 및 출력
승수 피연산자와 누적 합계는 동기화 상태를 유지합니다. 이 처리 요소
필터링 기능을 계산하는 회로를 형성하기 위해 복제됩니다. 이 기능은
다음 방정식으로 표현됩니다.

Intel FPGA 정수 산술 IP 코어 사용 설명서 40

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

N은 누산기에 입력된 데이터의 주기 수를 나타내고, y(t)는 시간 t의 출력을 나타내고, A(t)는 시간 t의 입력을 나타내고, B(i)는 계수입니다. 방정식의 t와 i는 시간의 특정 순간에 해당하므로 출력 s를 계산하려면amp시간 t에서의 le y(t), 입력 s의 그룹ampN개의 서로 다른 시점 또는 A(n), A(n-1), A(n-2), … A(n-N+1)의 파일이 필요합니다. N개의 입력 그룹amp파일에 N 계수를 곱하고 함께 합산하여 최종 결과 y를 형성합니다.
시스톨릭 레지스터 아키텍처는 2합계 및 4합계 모드에서만 사용할 수 있습니다. 두 시스톨릭 레지스터 아키텍처 모드에서 첫 번째 체인인 신호는 0에 연결되어야 합니다.
다음 그림은 2개의 곱셈기의 수축기 지연 레지스터 구현을 보여줍니다.
그림 16. 2개의 곱셈기의 수축기 지연 레지스터 구현
연쇄

a0

멀티0

+/-

b0

a1

멀티1

+/-

b1

결과
두 곱셈기의 합은 다음 방정식으로 표현됩니다.
다음 그림은 4개의 곱셈기의 수축기 지연 레지스터 구현을 보여줍니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 41

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

그림 17. 4개의 곱셈기의 수축기 지연 레지스터 구현
연쇄

a0

멀티0

+/-

b0

a1

멀티1

+/-

b1

a2

멀티2

+/-

b2

a3

멀티3

+/-

b3

결과
18개의 곱셈기의 합은 다음 방정식으로 표현됩니다. 그림 4. XNUMX 곱셈기의 합
다음은 advan을 나열합니다.tag시스톨릭 레지스터 구현의 예: · DSP 리소스 사용 감소 · 체인 가산기 구조를 사용하여 DSP 블록에서 효율적인 매핑 가능

Intel FPGA 정수 산술 IP 코어 사용 설명서 42

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

8.1.3. 예압 상수
사전 로드 상수는 누산기 피연산자를 제어하고 누산기 피드백을 보완합니다. 유효한 LOADCONST_VALUE 범위는 0입니다. 상수 값은 64N과 같습니다. 여기서 N = LOADCONST_VALUE입니다. LOADCONST_VALUE가 2로 설정되면 상수 값은 64입니다. 이 함수는 편향된 반올림으로 사용할 수 있습니다.
다음 그림은 프리로드 상수 구현을 보여줍니다.
그림 19. 프리로드 상수

어큐뮬레이터 피드백

끊임없는

a0

멀티0

+/-

b0

a1

멀티1

+/b1

결과

accum_sload sload_accum

다른 승수 구현에 대해서는 다음 IP 코어를 참조하십시오. · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. 더블 어큐뮬레이터
이중 누산기 기능은 누산기 피드백 경로에 추가 레지스터를 추가합니다. 이중 누산기 레지스터는 클록, 클록 활성화 및 aclr을 포함하는 출력 레지스터를 따릅니다. 추가 누산기 레지스터는 XNUMX주기 지연으로 결과를 반환합니다. 이 기능을 사용하면 리소스 수가 동일한 두 개의 누산기 채널을 가질 수 있습니다.
다음 그림은 이중 누산기 구현을 보여줍니다.

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 43

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

그림 20. 이중 누산기

이중 누산기 레지스터

어큐뮬레이터 피드백

a0

멀티0

+/-

b0

a1

멀티1

+/b1

출력 결과 출력 레지스터

8.2. Verilog HDL 프로토타입
Intel FPGA Multiply Adder 또는 ALTERA_MULT_ADD Verilog HDL 프로토타입을 찾을 수 있습니다. file (altera_mult_add_rtl.v)에서 librarymegafunctions 디렉토리.
8.3. VHDL 구성 요소 선언
VHDL 구성 요소 선언은 다음의 altera_lnsim_components.vhd에 있습니다. Librariesvhdl altera_lnsim 디렉토리.
8.4. VHDL LIBRARY_USE 선언
VHDL 구성 요소 선언을 사용하는 경우 VHDL LIBRARY-USE 선언이 필요하지 않습니다.
라이브러리 altera_mf; 사용 altera_mf.altera_mf_components.all;

8.5. 신호

다음 표에는 Multiply Adder Intel FPGA IP 또는 ALTERA_MULT_ADD IP 코어의 입력 및 출력 신호가 나열되어 있습니다.

표 28. 곱하기 가산기 Intel FPGA IP 또는 ALTERA_MULT_ADD 입력 신호

신호

필수의

설명

데이터a_0[]/데이터a_1[]/

데이터a_2[]/데이터a_3[]

승수에 대한 데이터 입력. 입력 포트 [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] 너비
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 44

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

신호 datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] ena [1:0] 시그나
사인비
스캔니나[] accum_sload

필수 예 아니요
아니요 아니요 아니요 아니요 아니요
아니요
아니 아니

설명
이 IP에 대한 시뮬레이션 모델은 이러한 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이러한 신호에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
승수에 대한 데이터 입력. 입력 신호 [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] 폭 이 IP에 대한 시뮬레이션 모델은 이러한 신호에 대한 미정 입력 값(X)을 지원합니다. 이러한 신호에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
승수에 대한 데이터 입력. 입력 신호 [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] 와이드 프리가산기 모드 선택 매개변수에 대한 INPUT을 선택하여 이러한 신호를 활성화합니다. 이 IP에 대한 시뮬레이션 모델은 이러한 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이러한 신호에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
해당 레지스터에 대한 클록 입력 포트. 이 신호는 IP 코어의 모든 레지스터에서 사용할 수 있습니다. 이 IP에 대한 시뮬레이션 모델은 이러한 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이러한 신호에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
해당 레지스터에 대한 비동기 클리어 입력. 이 IP에 대한 시뮬레이션 모델은 이러한 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이러한 신호에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
해당 레지스터에 대한 동기식 클리어 입력. 이 IP에 대한 시뮬레이션 모델은 이러한 신호에 대해 결정되지 않은 입력 값 X를 지원합니다. 이러한 신호에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
해당 레지스터에 대한 신호 입력을 활성화합니다. 이 IP에 대한 시뮬레이션 모델은 이러한 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이러한 신호에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
승수 입력 A의 숫자 표현을 지정합니다. 시그나 신호가 높으면 승수는 승수 입력 A 신호를 부호 있는 숫자로 취급합니다. 신호 신호가 낮으면 승수는 승수 입력 A 신호를 부호 없는 숫자로 취급합니다. 이 신호를 활성화하려면 승수 A 입력 매개변수의 표현 형식은 무엇입니까?에 대해 VARIABLE을 선택합니다. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
승수 입력 B 신호의 숫자 표현을 지정합니다. signb 신호가 높으면 승수는 승수 입력 B 신호를 부호 있는 XNUMX의 보수로 취급합니다. signb 신호가 낮으면 승수는 승수 입력 B 신호를 부호 없는 숫자로 취급합니다. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
스캔 체인 A용 입력. 입력 신호 [WIDTH_A – 1, … 0] 폭. INPUT_SOURCE_A 매개변수의 값이 SCANA인 경우 scanina[] 신호가 필요합니다.
누산기 값이 상수인지 여부를 동적으로 지정합니다. accum_sload 신호가 낮으면 곱셈기 출력이 누산기에 로드됩니다. accum_sload와 sload_accum을 동시에 사용하지 마십시오.
계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 45

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

신호 sload_accum
체인인[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

필수 아니오
아니 아니
아니요
아니 아니 아니 아니

설명
이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
누산기 값이 상수인지 여부를 동적으로 지정합니다. sload_accum 신호가 높으면 곱셈기 출력이 누산기에 로드됩니다. accum_sload와 sload_accum을 동시에 사용하지 마십시오. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
이전 s의 가산기 결과 입력 버스tag이자형. 입력 신호 [WIDTH_CHAININ – 1, … 0] 폭.
첫 번째 승수 쌍의 출력에 더하기 또는 빼기를 수행합니다. addnsub1 신호에 1을 입력하여 첫 번째 곱셈기 쌍의 출력을 더합니다. addnsub0 신호에 1을 입력하여 첫 번째 곱셈기 쌍의 출력을 뺍니다. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
첫 번째 승수 쌍의 출력에 더하기 또는 빼기를 수행합니다. 두 번째 곱셈기 쌍의 출력을 더하려면 addnsub1 신호에 3을 입력하십시오. 첫 번째 곱셈기 쌍에서 출력을 빼기 위해 addnsub0 신호에 3을 입력합니다. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
첫 번째 체배기에 계수 입력 신호[0:3]. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
두 번째 곱셈기로 계수 입력 신호[0:3]. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
세 번째 곱셈기로 계수 입력 신호[0:3]. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.
계수 입력 신호[0:3]는 네 번째 곱셈기에 입력됩니다. 이 IP에 대한 시뮬레이션 모델은 이 신호에 대해 결정되지 않은 입력 값(X)을 지원합니다. 이 입력에 X 값을 제공하면 X 값이 출력 신호에 전파됩니다.

표 29. 곱하기 가산기 Intel FPGA IP 출력 신호

신호

필수의

설명

결과 []

승수 출력 신호. 출력 신호 [WIDTH_RESULT – 1 … 0] 폭

이 IP에 대한 시뮬레이션 모델은 미정 출력 값(X)을 지원합니다. X 값을 입력으로 제공하면 X 값이 이 신호에 전파됩니다.

스캐노우타 []

아니요

스캔 체인 A의 출력. 출력 신호 [WIDTH_A – 1..0] 폭.

곱셈기의 수는 2 이상을 선택하고 이 신호를 활성화하기 위해 매개변수에 연결된 곱셈기의 입력 A는 무엇입니까에 대해 스캔 체인 입력을 선택합니다.

Intel FPGA 정수 산술 IP 코어 사용 설명서 46

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

8.6. 매개 변수

8.6.1. 일반 탭

표 30. 일반 탭

매개변수

IP 생성 매개변수

곱셈기의 수는 얼마입니까?

number_of_m 1 – 4 곱셈기

A width_a 입력 버스는 얼마나 넓어야 합니까?

1 – 256

B width_b 입력 버스는 얼마나 넓어야 합니까?

1 – 256

'결과' 출력 버스는 얼마나 넓어야 합니까?

너비_결과

1 – 256

각 클록에 대한 관련 클록 인에이블 생성

gui_associate 켜기 d_clock_enabl 끄기 e

8.6.2. 추가 모드 탭

표 31. 추가 모드 탭

매개변수

IP 생성 매개변수

출력 구성

가산기의 레지스터 출력

gui_output_re 켜기

지스터

끄다

클록 입력 소스는 무엇입니까?

gui_output_re gister_clock

시계0 시계1 시계2

비동기 클리어 입력의 소스는 무엇입니까?

gui_output_re gister_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_output_re gister_sclr

없음 SCLR0 SCLR1

가산기 연산

첫 번째 곱셈기 쌍의 출력에 대해 어떤 작업을 수행해야 합니까?

gui_multiplier 1_방향

추가, 하위, 변수

기본값 1
16

설명
함께 더할 곱셈기의 수입니다. 값은 1에서 4까지입니다. dataa[] 포트의 너비를 지정하십시오.

16

datab[] 포트의 너비를 지정합니다.

32

result[] 포트의 너비를 지정합니다.

끄다

클록 활성화를 생성하려면 이 옵션을 선택하십시오.

각 시계마다.

기본값

설명

꺼짐 시계0
없음 없음

가산기 모듈의 출력 레지스터를 활성화하려면 이 옵션을 선택합니다.
Clock0 , Clock1 또는 Clock2 를 선택하여 출력 레지스터에 대한 클록 소스를 활성화하고 지정하십시오. 이 매개변수를 활성화하려면 가산기 출력 등록을 선택해야 합니다.
가산기 출력 레지스터에 대한 비동기 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 가산기 출력 등록을 선택해야 합니다.
가산기 출력 레지스터에 대한 동기식 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 가산기 출력 등록을 선택해야 합니다.

추가하다

첫 번째와 두 번째 곱셈기 사이의 출력에 대해 수행할 더하기 또는 빼기 연산을 선택합니다.
· 추가 작업을 수행하려면 ADD를 선택합니다.
· 빼기 연산을 수행하려면 SUB를 선택합니다.
· 동적 덧셈/뺄셈 제어를 위해 addnsub1 포트를 사용하려면 VARIABLE을 선택합니다.
계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 47

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수

IP 생성 매개변수

'addnsub1' 입력 등록

gui_addnsub_ 켜짐 multiplier_reg 꺼짐 ister1

클록 입력 소스는 무엇입니까?

gui_addnsub_ multiplier_reg ister1_clock

시계0 시계1 시계2

비동기 클리어 입력의 소스는 무엇입니까?

gui_addnsub_ 승수_aclr 1

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_addnsub_ multiplier_sclr 1

없음 SCLR0 SCLR1

두 번째 곱셈기 쌍의 출력에서 ​​어떤 작업을 수행해야 합니까?

gui_multiplier 3_방향

추가, 하위, 변수

'addnsub3' 입력 등록

gui_addnsub_ 켜짐 multiplier_reg 꺼짐 ister3

클록 입력 소스는 무엇입니까?

gui_addnsub_ multiplier_reg ister3_clock

시계0 시계1 시계2

기본값
꺼짐 시계0 없음 없음 추가
꺼짐 시계0

설명
VARIABLE 값이 선택된 경우: · addnsub1 신호를 HIGH로 구동합니다.
덧셈 연산. · addnsub1 신호를 로우로 구동
빼기 연산. 이 매개변수를 활성화하려면 세 개 이상의 승수를 선택해야 합니다.
addnsub1 포트에 대한 입력 레지스터를 활성화하려면 이 옵션을 선택합니다. 이 매개변수를 활성화하려면 첫 번째 승수 쌍의 출력에서 ​​수행해야 하는 작업에 대해 VARIABLE을 선택해야 합니다.
addnsub0 레지스터에 대한 입력 클럭 신호를 지정하려면 Clock1 , Clock2 또는 Clock1 를 선택하십시오. 이 매개변수를 활성화하려면 Register 'addnsub1' 입력을 선택해야 합니다.
addnsub1 레지스터에 대한 비동기 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 Register 'addnsub1' 입력을 선택해야 합니다.
addnsub1 레지스터에 대한 동기식 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 Register 'addnsub1' 입력을 선택해야 합니다.
세 번째와 네 번째 곱셈기 사이의 출력에 대해 수행할 더하기 또는 빼기 연산을 선택합니다. · 추가를 수행하려면 ADD를 선택하십시오.
작업. · 빼기를 수행하려면 SUB를 선택하십시오.
작업. · addnsub1을 사용하려면 VARIABLE을 선택하십시오.
동적 덧셈/뺄셈 제어를 위한 포트. VARIABLE 값이 선택된 경우: · 더하기 연산을 위해 addnsub1 신호를 하이로 구동합니다. · 빼기 연산을 위해 addnsub1 신호를 로우로 구동합니다. 곱셈기의 수는 무엇입니까?에 대해 값 4를 선택해야 합니다. 이 매개변수를 활성화합니다.
addnsub3 신호에 대한 입력 레지스터를 활성화하려면 이 옵션을 선택합니다. 이 매개변수를 활성화하려면 두 번째 승수 쌍의 출력에서 ​​수행해야 하는 작업에 대해 VARIABLE을 선택해야 합니다.
addnsub0 레지스터에 대한 입력 클럭 신호를 지정하려면 Clock1 , Clock2 또는 Clock3 를 선택하십시오. 이 매개변수를 활성화하려면 'addnsub3' 입력 등록을 선택해야 합니다.
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 48

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수
비동기 클리어 입력의 소스는 무엇입니까?

IP 생성 매개변수

gui_addnsub_ 승수_aclr 3

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_addnsub_ multiplier_sclr 3

없음 SCLR0 SCLR1

극성 활성화 'use_subadd'

gui_use_subn 켜기

추가하다

끄다

8.6.3. 승수 탭

표 32. 승수 탭

매개변수

IP 생성 매개변수

무엇입니까?

gui_represent

표현 형식 ation_a

승수 A 입력의 경우?

서명됨, 서명되지 않음, 변수

`signa' 입력 등록

gui_register_s 켜기

이그나

끄다

클록 입력 소스는 무엇입니까?

gui_register_s igna_clock

시계0 시계1 시계2

비동기 클리어 입력의 소스는 무엇입니까?

gui_register_s igna_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_register_s igna_sclr

없음 SCLR0 SCLR1

무엇입니까?

gui_represent

표현 형식 ation_b

승수 B 입력의 경우?

서명됨, 서명되지 않음, 변수

`signb' 입력 등록

gui_register_s 켜기

ignb

끄다

기본값 없음
없음

설명
addnsub3 레지스터에 대한 비동기 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 Register 'addnsub3' 입력을 선택해야 합니다.
addnsub3 레지스터에 대한 동기식 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 'addnsub3' 입력 등록을 선택해야 합니다.

끄다

기능을 되돌리려면 이 옵션을 선택하십시오.

addnsub 입력 포트의.

빼기 연산을 위해 addnsub를 높게 설정합니다.

더하기 연산을 위해 addnsub를 로우로 구동합니다.

기본값

설명

UNSIGNED 승수 A 입력의 표현 형식을 지정합니다.

끄다

signa를 활성화하려면 이 옵션을 선택하십시오.

등록하다.

승수 A 입력의 표시 형식은 무엇입니까?에 대해 VARIABLE 값을 선택해야 합니다. 이 옵션을 활성화하는 매개변수입니다.

시계 0

Clock0 , Clock1 또는 Clock2 를 선택하여 신호 레지스터에 대한 입력 클록 신호를 활성화하고 지정하십시오.
이 매개변수를 활성화하려면 'signa' 입력 등록을 선택해야 합니다.

없음

signa 레지스터에 대한 비동기 클리어 소스를 지정합니다.
이 매개변수를 활성화하려면 'signa' 입력 등록을 선택해야 합니다.

없음

signa 레지스터에 대한 동기식 지우기 소스를 지정합니다.
이 매개변수를 활성화하려면 'signa' 입력 등록을 선택해야 합니다.

UNSIGNED 승수 B 입력의 표현 형식을 지정합니다.

끄다

signb를 활성화하려면 이 옵션을 선택하십시오.

등록하다.

계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 49

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수

IP 생성 매개변수

기본값

클록 입력 소스는 무엇입니까?

gui_register_s ignb_clock

시계0 시계1 시계2

시계 0

비동기 클리어 입력의 소스는 무엇입니까?

gui_register_s ignb_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_register_s ignb_sclr

없음 SCLR0 SCLR1

입력 구성
곱셈기의 레지스터 입력 A
클록 입력 소스는 무엇입니까?

gui_input_reg 켜기

ister_a

끄다

gui_input_reg ister_a_clock

시계0 시계1 시계2

없음 없음
꺼짐 시계0

비동기 클리어 입력의 소스는 무엇입니까?

gui_input_reg ister_a_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_input_reg ister_a_sclr

없음 SCLR0 SCLR1

곱셈기의 레지스터 입력 B
클록 입력 소스는 무엇입니까?

gui_input_reg 켜기

이스터_b

끄다

gui_input_reg ister_b_clock

시계0 시계1 시계2

없음 없음 꺼짐 시계0

비동기 클리어 입력의 소스는 무엇입니까?

gui_input_reg ister_b_aclr

없음 ACLR0 ACLR1

없음

동기식 클리어 입력의 소스는 무엇입니까?

gui_input_reg ister_b_sclr

없음 SCLR0 SCLR1

없음

곱셈기의 입력 A는 무엇에 연결되어 있습니까?

gui_multiplier 승수 입력 승수

_a_input

스캔 체인 입력 입력

설명
승수 B 입력의 표시 형식은 무엇입니까?에 대해 VARIABLE 값을 선택해야 합니다. 이 옵션을 활성화하는 매개변수입니다.
Clock0 , Clock1 또는 Clock2 를 선택하여 signb 레지스터에 대한 입력 클록 신호를 활성화하고 지정하십시오. 이 매개변수를 활성화하려면 'signb' 입력 등록을 선택해야 합니다.
signb 레지스터에 대한 비동기 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 'signb' 입력 등록을 선택해야 합니다.
signb 레지스터에 대한 동기식 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 'signb' 입력 등록을 선택해야 합니다.
데이터 입력 버스에 대한 입력 레지스터를 활성화하려면 이 옵션을 선택하십시오.
Clock0 , Clock1 또는 Clock2 를 선택하여 데이터 입력 버스에 대한 레지스터 입력 클록 신호를 활성화하고 지정합니다. 이 매개변수를 활성화하려면 승수의 레지스터 입력 A를 선택해야 합니다.
dataa 입력 버스에 대한 레지스터 비동기 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 승수의 레지스터 입력 A를 선택해야 합니다.
dataa 입력 버스에 대한 레지스터 동기 클리어 소스를 지정합니다. 이 매개변수를 활성화하려면 승수의 레지스터 입력 A를 선택해야 합니다.
데이터 입력 버스에 대한 입력 레지스터를 활성화하려면 이 옵션을 선택하십시오.
Clock0 , Clock1 또는 Clock2 를 선택하여 datab 입력 버스에 대한 레지스터 입력 클록 신호를 활성화하고 지정하십시오. 이 매개변수를 활성화하려면 승수의 레지스터 입력 B를 선택해야 합니다.
datab 입력 버스에 대한 레지스터 비동기 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 승수의 레지스터 입력 B를 선택해야 합니다.
datab 입력 버스에 대한 레지스터 동기 클리어 소스를 지정합니다. 이 매개변수를 활성화하려면 승수의 레지스터 입력 B를 선택해야 합니다.
승수의 입력 A에 대한 입력 소스를 선택합니다.
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 50

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수

IP 생성 매개변수

스캔아웃 A 레지스터 구성

스캔 체인의 레지스터 출력

gui_scanouta 켜기

_등록하다

끄다

클록 입력 소스는 무엇입니까?

gui_scanouta _register_clock k

시계0 시계1 시계2

비동기 클리어 입력의 소스는 무엇입니까?

gui_scanouta _register_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_scanouta_register_sclr

없음 SCLR0 SCLR1

8.6.4. 프리더 탭

표 33. 프리더 탭

매개변수

IP 생성 매개변수

프리에더 모드 선택

preadder_mo de

단순, COEF, 입력, 정사각형, 상수

기본값

설명
승수에 대한 소스로 데이터 입력 버스를 사용하려면 승수 입력을 선택하십시오. 승수에 대한 소스로 스캔 입력 버스를 사용하고 스캔 출력 버스를 활성화하려면 스캔 체인 입력을 선택합니다. 이 매개변수는 What is the number of multipliers?에서 2, 3 또는 4를 선택할 때 사용할 수 있습니다. 매개변수.

꺼짐 시계0 없음 없음

scanouta 출력 버스에 대한 출력 레지스터를 활성화하려면 이 옵션을 선택합니다.
연결된 승수의 입력 A는 무엇입니까?에 대해 스캔 체인 입력을 선택해야 합니다. 이 옵션을 활성화하는 매개변수입니다.
Clock0 , Clock1 또는 Clock2 를 선택하여 scanouta 출력 버스에 대한 레지스터 입력 클록 신호를 활성화하고 지정합니다.
이 옵션을 활성화하려면 스캔 체인 매개변수의 레지스터 출력을 켜야 합니다.
scanouta 출력 버스에 대한 레지스터 비동기 지우기 소스를 지정합니다.
이 옵션을 활성화하려면 스캔 체인 매개변수의 레지스터 출력을 켜야 합니다.
scanouta 출력 버스에 대한 레지스터 동기 클리어 소스를 지정합니다.
이 옵션을 활성화하려면 스캔 체인 매개변수의 출력 등록을 선택해야 합니다.

기본값
단순한

설명
프리가산기 모듈의 작동 모드를 지정합니다. SIMPLE: 이 모드는 프리에더를 우회합니다. 이것이 기본 모드입니다. COEF: 이 모드는 승수에 대한 입력으로 preadder 및 coefsel 입력 버스의 출력을 사용합니다. INPUT: 이 모드는 승수에 대한 입력으로 preadder 및 datac 입력 버스의 출력을 사용합니다. SQUARE: 이 모드는 프리가산기의 출력을 승수에 대한 입력으로 사용합니다.
계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 51

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수

IP 생성 매개변수

프리에더 방향 선택

gui_preader 추가,

_방향

보결

C width_c 입력 버스는 얼마나 넓어야 합니까?

1 – 256

데이터 C 입력 레지스터 구성

datac 입력 등록

gui_datac_inp 켜기

ut_register

끄다

클록 입력 소스는 무엇입니까?

gui_datac_inp ut_register_clock 잠금

시계0 시계1 시계2

비동기 클리어 입력의 소스는 무엇입니까?

gui_datac_inp ut_register_a clr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_datac_inp ut_register_sc lr

없음 SCLR0 SCLR1

계수
계수 너비는 얼마나 넓어야 합니까?

너비 계수

1 – 27

계수 레지스터 구성

coefsel 입력 등록

gui_coef_regi 켜기

스터

끄다

클록 입력 소스는 무엇입니까?

gui_coef_regi ster_clock

시계0 시계1 시계2

기본값
추가하다
16

설명
CONSTANT: 이 모드는 바이패스된 preadder와 coefsel 입력 버스가 있는 데이터 입력 버스를 승수에 대한 입력으로 사용합니다.
preadder의 작동을 지정합니다. 이 매개변수를 활성화하려면 Select preadder mode에 대해 다음을 선택합니다. · COEF · INPUT · SQUARE 또는 · CONSTANT
C 입력 버스의 비트 수를 지정합니다. 이 매개변수를 활성화하려면 Select preadder mode에서 INPUT을 선택해야 합니다.

현재 시간0 없음 없음

datac 입력 버스에 대한 입력 레지스터를 활성화하려면 이 옵션을 선택하십시오. 이 옵션을 활성화하려면 INPUT을 Preadder 모드 매개변수 선택으로 설정해야 합니다.
Datac 입력 레지스터에 대한 입력 클럭 신호를 지정하려면 Clock0 , Clock1 또는 Clock2 를 선택하십시오. 이 매개변수를 활성화하려면 Register datac input을 선택해야 합니다.
datac 입력 레지스터에 대한 비동기 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 Register datac input을 선택해야 합니다.
datac 입력 레지스터에 대한 동기식 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 Register datac input을 선택해야 합니다.

18

에 대한 비트 수를 지정합니다.

coefsel 입력 버스.

이 매개변수를 활성화하려면 프리가산기 모드에 대해 COEF 또는 CONSTANT를 선택해야 합니다.

켜짐0

coefsel 입력 버스에 대한 입력 레지스터를 활성화하려면 이 옵션을 선택하십시오. 이 매개변수를 활성화하려면 프리가산기 모드에 대해 COEF 또는 CONSTANT를 선택해야 합니다.
Coefsel 입력 레지스터에 대한 입력 클럭 신호를 지정하려면 Clock0 , Clock1 또는 Clock2 를 선택하십시오. 이 매개변수를 활성화하려면 계수 입력 등록을 선택해야 합니다.
계속되는…

Intel FPGA 정수 산술 IP 코어 사용 설명서 52

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수
비동기 클리어 입력의 소스는 무엇입니까?

IP 생성 매개변수

gui_coef_regi ster_aclr

없음 ACLR0 ACLR1

동기 클리어 입력의 소스는 무엇입니까

gui_coef_regi ster_sclr

없음 SCLR0 SCLR1

Coefficient_0 구성

coef0_0 ~ coef0_7

0x00000 0xFFFFFFF

Coefficient_1 구성

coef1_0 ~ coef1_7

0x00000 0xFFFFFFF

Coefficient_2 구성

coef2_0 ~ coef2_7

0x00000 0xFFFFFFF

Coefficient_3 구성

coef3_0 ~ coef3_7

0x00000 0xFFFFFFF

8.6.5. 어큐뮬레이터 탭

표 34. 어큐뮬레이터 탭

매개변수

IP 생성 매개변수

누산기를 사용하시겠습니까?

축적기

예 아니오

어큐뮬레이터 작동 유형은 무엇입니까?

accum_directi 추가,

on

보결

기본값 없음
없음
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

설명
coefsel 입력 레지스터에 대한 비동기 클리어 소스를 지정합니다. 이 매개변수를 활성화하려면 계수 입력 등록을 선택해야 합니다.
coefsel 입력 레지스터에 대한 동기식 지우기 소스를 지정합니다. 이 매개변수를 활성화하려면 계수 입력 등록을 선택해야 합니다.
이 첫 번째 승수에 대한 계수 값을 지정합니다. 비트 수는 계수 너비는 얼마나 넓어야 합니까?에 지정된 것과 동일해야 합니다. 매개변수. 이 매개변수를 활성화하려면 프리가산기 모드에 대해 COEF 또는 CONSTANT를 선택해야 합니다.
이 두 번째 승수에 대한 계수 값을 지정합니다. 비트 수는 계수 너비는 얼마나 넓어야 합니까?에 지정된 것과 동일해야 합니다. 매개변수. 이 매개변수를 활성화하려면 프리가산기 모드에 대해 COEF 또는 CONSTANT를 선택해야 합니다.
이 세 번째 승수에 대한 계수 값을 지정합니다. 비트 수는 계수 너비는 얼마나 넓어야 합니까?에 지정된 것과 동일해야 합니다. 매개변수. 이 매개변수를 활성화하려면 프리가산기 모드에 대해 COEF 또는 CONSTANT를 선택해야 합니다.
이 네 번째 승수에 대한 계수 값을 지정합니다. 비트 수는 계수 너비는 얼마나 넓어야 합니까?에 지정된 것과 동일해야 합니다. 매개변수. 이 매개변수를 활성화하려면 프리가산기 모드에 대해 COEF 또는 CONSTANT를 선택해야 합니다.

기본값 아니오
추가하다

설명
어큐뮬레이터를 활성화하려면 YES를 선택하십시오. 누산기 기능을 사용할 때 가산기 출력 등록을 선택해야 합니다.
누산기의 작동을 지정합니다. · 덧셈 연산의 경우 ADD · 뺄셈 연산의 경우 SUB. Enable accumulator?에 대해 YES를 선택해야 합니다. 이 옵션을 활성화하는 매개변수입니다.
계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 53

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수
예압 상수 예압 상수 활성화

IP 생성 매개변수

gui_ena_prelo 켜기

ad_const

끄다

누적 포트의 입력은 무엇에 연결되어 있습니까?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

사전 로드 loadconst_val 0 – 64에 대한 값 선택

끊임없는

ue

클록 입력 소스는 무엇입니까?

gui_accum_sl oad_register_ 시계

시계0 시계1 시계2

비동기 클리어 입력의 소스는 무엇입니까?

gui_accum_sl oad_register_ aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_accum_sl oad_register_ sclr

없음 SCLR0 SCLR1

이중 누산기 활성화

gui_double_a 켜기

정액

끄다

기본값

설명

끄다

accum_sload를 활성화하거나

sload_accum 신호 및 레지스터 입력

에 대한 입력을 동적으로 선택하려면

축전지.

accum_sload가 낮거나 sload_accum이면 승수 출력이 누산기로 공급됩니다.

accum_sload가 높거나 sload_accum일 때 사용자가 지정한 프리로드 상수가 어큐뮬레이터에 공급됩니다.

Enable accumulator?에 대해 YES를 선택해야 합니다. 이 옵션을 활성화하는 매개변수입니다.

ACCUM_SL OAD

accum_sload/sload_accum 신호의 동작을 지정합니다.
ACCUM_SLOAD: accum_sload를 낮게 구동하여 곱셈기 출력을 누산기에 로드합니다.
SLOAD_ACCUM: sload_accum을 높게 구동하여 곱셈기 출력을 누산기에 로드합니다.
이 매개변수를 활성화하려면 프리로드 상수 활성화 옵션을 선택해야 합니다.

64

미리 설정된 상수 값을 지정합니다.

이 값은 2N이 될 수 있으며 여기서 N은 미리 설정된 상수 값입니다.

N=64이면 상수 XNUMX을 나타냅니다.

이 매개변수를 활성화하려면 프리로드 상수 활성화 옵션을 선택해야 합니다.

시계 0

Accum_sload/sload_accum 레지스터에 대한 입력 클럭 신호를 지정하려면 Clock0 , Clock1 또는 Clock2 를 선택하십시오.
이 매개변수를 활성화하려면 프리로드 상수 활성화 옵션을 선택해야 합니다.

없음

accum_sload/sload_accum 레지스터에 대한 비동기 지우기 소스를 지정합니다.
이 매개변수를 활성화하려면 프리로드 상수 활성화 옵션을 선택해야 합니다.

없음

accum_sload/sload_accum 레지스터에 대한 동기식 지우기 소스를 지정합니다.
이 매개변수를 활성화하려면 프리로드 상수 활성화 옵션을 선택해야 합니다.

끄다

이중 누산기 레지스터를 활성화합니다.

Intel FPGA 정수 산술 IP 코어 사용 설명서 54

피드백 보내기

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

8.6.6. 수축기/체인아웃 탭

표 35. 수축기/체인아웃 가산기 탭

매개변수 활성화 체인아웃 가산기

IP 생성 매개변수

chainout_add 예,

er

아니요

체인 아웃 가산기 작업 유형은 무엇입니까?

chainout_add 추가,

어_방향

보결

체인 아웃 가산기에 'negate' 입력을 활성화하시겠습니까?

Port_negate

PORT_USED, PORT_UNUSED

'부정' 입력을 등록하시겠습니까? 부정 등록 어

미등록, CLOCK0, CLOCK1, CLOCK2, CLOCK3

비동기 클리어 입력의 소스는 무엇입니까?

부정_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

부정_sclr

없음 SCLR0 SCLR1

수축기 지연
수축기 지연 레지스터 활성화

gui_systolic_d 켜기

일 레이

끄다

클록 입력 소스는 무엇입니까?

gui_systolic_d CLOCK0,

elay_clock

시계1,

기본값
아니요

설명
체인 아웃 가산기 모듈을 활성화하려면 YES를 선택하십시오.

추가하다

체인아웃 가산기 연산을 지정합니다.
빼기 연산의 경우 What is the representation format for Multipliers A inputs?에 대해 SIGNED를 선택해야 합니다. 승수 B 입력의 표현 형식은 무엇입니까? 승수 탭에서.

PORT_UN 사용됨

부정 입력 신호를 활성화하려면 PORT_USED를 선택합니다.
체인아웃 가산기가 비활성화된 경우 이 매개변수는 유효하지 않습니다.

등록 취소

부정 입력 신호에 대해 입력 레지스터를 활성화하고 부정 레지스터에 대한 입력 클록 신호를 지정합니다.
부정 입력 레지스터가 필요하지 않은 경우 UNREGISTERED를 선택하십시오.
이 매개변수는 다음을 선택할 때 유효하지 않습니다.
· 체인아웃 가산기 사용의 경우 NO 또는
· 체인아웃 가산기에 대한 '부정' 입력 활성화를 위한 PORT_UNUSED? 매개변수 또는

없음

부정 레지스터에 대한 비동기 지우기 소스를 지정합니다.
이 매개변수는 다음을 선택할 때 유효하지 않습니다.
· 체인아웃 가산기 사용의 경우 NO 또는
· 체인아웃 가산기에 대한 '부정' 입력 활성화를 위한 PORT_UNUSED? 매개변수 또는

없음

부정 레지스터에 대한 동기식 지우기 소스를 지정합니다.
이 매개변수는 다음을 선택할 때 유효하지 않습니다.
· 체인아웃 가산기 사용의 경우 NO 또는
· 체인아웃 가산기에 대한 '부정' 입력 활성화를 위한 PORT_UNUSED? 매개변수 또는

꺼짐 CLOCK0

수축기 모드를 활성화하려면 이 옵션을 선택합니다. 이 매개변수는 What is the number of multipliers?에서 2 또는 4를 선택할 때 사용할 수 있습니다. 매개변수. 수축기 지연 레지스터를 사용하려면 가산기의 레지스터 출력을 활성화해야 합니다.
수축기 지연 레지스터에 대한 입력 클록 신호를 지정합니다.
계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 55

8. Intel FPGA Multiply Adder IP 코어 683490 | 2020.10.05

매개변수

IP 생성 매개변수

시계2,

비동기 클리어 입력의 소스는 무엇입니까?

gui_systolic_d elay_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_systolic_d elay_sclr

없음 SCLR0 SCLR1

기본값
없음
없음

설명
이 옵션을 활성화하려면 수축기 지연 레지스터 활성화를 선택해야 합니다.
수축기 지연 레지스터에 대한 비동기 지우기 소스를 지정합니다. 이 옵션을 활성화하려면 수축기 지연 레지스터 활성화를 선택해야 합니다.
수축기 지연 레지스터에 대한 동기식 지우기 소스를 지정합니다. 이 옵션을 활성화하려면 수축기 지연 레지스터 활성화를 선택해야 합니다.

8.6.7. 파이프라이닝 탭

표 36. 파이프라이닝 탭

매개변수 파이프라인 구성

IP 생성 매개변수

입력에 파이프라인 레지스터를 추가하시겠습니까?

gui_pipelining 아니요, 예

기본값
아니요

지정해주세요

숨어 있음

레이턴시 클럭 수

사이클

0보다 큰 모든 값

클록 입력 소스는 무엇입니까?

gui_input_late ncy_clock

클럭0, 클럭1, 클럭2

비동기 클리어 입력의 소스는 무엇입니까?

gui_input_late ncy_aclr

없음 ACLR0 ACLR1

동기식 클리어 입력의 소스는 무엇입니까?

gui_input_late ncy_sclr

없음 SCLR0 SCLR1

CLOCK0 없음 없음

설명
예를 선택하여 입력 신호에 추가 수준의 파이프라인 등록을 활성화합니다. 대기 시간 클럭 주기 수를 지정하십시오 매개변수에 대해 0보다 큰 값을 지정해야 합니다.
클록 주기에서 원하는 대기 시간을 지정합니다. 한 수준의 파이프라인 레지스터 = 클록 주기에서 1 대기 시간. Do you want to add pipeline register to the input?에 대해 YES를 선택해야 합니다. 이 옵션을 활성화합니다.
Clock0 , Clock1 또는 Clock2 를 선택하여 파이프라인 레지스터 입력 클록 신호를 활성화하고 지정합니다. Do you want to add pipeline register to the input?에 대해 YES를 선택해야 합니다. 이 옵션을 활성화합니다.
추가 파이프라인 레지스터에 대한 레지스터 비동기 지우기 소스를 지정합니다. Do you want to add pipeline register to the input?에 대해 YES를 선택해야 합니다. 이 옵션을 활성화합니다.
추가 파이프라인 레지스터에 대한 레지스터 동기 지우기 소스를 지정합니다. Do you want to add pipeline register to the input?에 대해 YES를 선택해야 합니다. 이 옵션을 활성화합니다.

Intel FPGA 정수 산술 IP 코어 사용 설명서 56

피드백 보내기

683490 | 2020.10.05 피드백 보내기

9. ALTMEMMULT(메모리 기반 상수 계수 승수) IP 코어

주목:

Intel은 Intel Quartus Prime Pro Edition 버전 20.3에서 이 IP에 대한 지원을 제거했습니다. 설계의 IP 코어가 Intel Quartus Prime Pro Edition의 장치를 대상으로 하는 경우 IP를 LPM_MULT Intel FPGA IP로 교체하거나 IP를 재생성하고 Intel Quartus Prime Standard Edition 소프트웨어를 사용하여 설계를 컴파일할 수 있습니다.

ALTMEMMULT IP 코어는 Intel FPGA(M512, M4K, M9K 및 MLAB 메모리 블록 포함)에 있는 온칩 메모리 블록을 사용하여 메모리 기반 멀티플라이어를 생성하는 데 사용됩니다. 이 IP 코어는 로직 요소(LE) 또는 전용 승수 리소스에서 승수를 구현하기에 충분한 리소스가 없는 경우에 유용합니다.
ALTMEMMULT IP 코어는 클록이 필요한 동기 기능입니다. ALTMEMMULT IP 코어는 주어진 매개변수 및 사양 세트에 대해 가능한 최소 처리량 및 대기 시간으로 승수를 구현합니다.
다음 그림은 ALTMEMMULT IP 코어의 포트를 보여줍니다.

그림 21. ALTMEMMULT 포트

알트엠멀트

데이터 입력[] sload_데이터 계수 입력[]

결과[] result_valid load_done

sload_coeff

sclr 시계
설치하다

관련 정보 기능 페이지 71

9.1. 특징
ALTMEMMULT IP 코어는 다음과 같은 기능을 제공합니다.
인텔 FPGA · 1비트의 데이터 폭 지원 · 서명 및 서명되지 않은 데이터 표현 형식 지원 · 고정 출력 대기 시간으로 파이프라이닝 지원

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

ISO 9001 : 2015 등록

9. ALTMEMMULT(메모리 기반 상수 계수 승수) IP 코어 683490 | 2020.10.05
· RAM(Random-Access Memory)에 다중 상수 저장
· RAM 블록 유형을 선택하는 옵션 제공
· 선택적 동기 클리어 및 부하 제어 입력 포트 지원
9.2. Verilog HDL 프로토타입
다음 Verilog HDL 프로토타입은 Verilog 디자인에 있습니다. File (.v)에서 altera_mf.v eda 합성 디렉토리.
모듈 altmemmult #( 매개변수 coeff_representation = "SIGNED", 매개변수 coeff_representation = "UNUSED", 매개변수 data_representation = "SIGNED", 매개변수 wants_device_family = "unused", 매개변수 max_clock_cycles_per_result = 0, 매개변수 number_of_coefficients = 1, 매개변수 ram_block_type = "AUTO", 매개변수 total_latency = 1, 매개변수 width_c = 1, 매개변수 width_d = 1, 매개변수 width_r = 1, 매개변수 width_s = 1, 매개변수 lpm_type = "altmemmult", 매개변수 lpm_hint = "unused") ( 입력 와이어 클럭, 입력 와이어 [width_c-1: 1]coeff_in, 입력선 [width_d-0:1] data_in, 출력선 load_done, 출력선 [width_r-0:1] result, 출력선 result_valid, 입력선 sclr, 입력선 [width_s-0:1] sel, input 와이어 sload_coeff, 입력 와이어 sload_data)/* 합성 syn_black_box=0 */; 엔드모듈
9.3. VHDL 구성 요소 선언
VHDL 구성 요소 선언은 VHDL 디자인에 있습니다. File (.vhd)에 있는 altera_mf_components.vhd libraryvhdlaltera_mf 디렉토리.
component altmemmult generic ( coeff_representation:string := "SIGNED"; coefficient0:string := "UNUSED"; data_representation:string := "SIGNED"; := 1; ram_block_type:string := "AUTO"; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := "UNUSED"; lpm_type:string := "altmemmult"); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (others => '0'); data_in:in std_logic_vector(width_d-0 downto 1);

Intel FPGA 정수 산술 IP 코어 사용 설명서 58

피드백 보내기

9. ALTMEMMULT(메모리 기반 상수 계수 승수) IP 코어 683490 | 2020.10.05

load_done:out std_logic; 결과:out std_logic_vector(width_r-1 down to 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 down to 0) := (기타 => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); 엔드 컴포넌트;

9.4. 포트

다음 표에는 ALTMEMMULT IP 코어의 입력 및 출력 포트가 나열되어 있습니다.

표 37. ALTMEMMULT 입력 포트

포트 이름

필수의

설명

시계

멀티플라이어에 클록 입력.

coeff_in[]

아니요

곱셈기의 계수 입력 포트입니다. 입력 포트의 크기는 WIDTH_C 매개변수 값에 따라 다릅니다.

데이터 입력[]

승수에 대한 데이터 입력 포트. 입력 포트의 크기는 WIDTH_D 매개변수 값에 따라 다릅니다.

sctr

아니요

동시 클리어 입력. 사용하지 않는 경우 기본값은 활성 높음입니다.

셀[]

아니요

고정 계수 선택. 입력 포트의 크기는 WIDTH_S에 따라 다릅니다.

매개변수 값.

sload_coeff

아니요

동기 부하 계수 입력 포트. 현재 선택된 계수 값을 coeff_in 입력에 지정된 값으로 바꿉니다.

sload_data

아니요

동기 부하 데이터 입력 포트. 새 곱셈 연산을 지정하고 기존 곱셈 연산을 취소하는 신호입니다. MAX_CLOCK_CYCLES_PER_RESULT 매개변수 값이 1이면 sload_data 입력 포트가 무시됩니다.

표 38. ALTMEMMULT 출력 포트

포트 이름

필수의

설명

결과[]

승수 출력 포트. 입력 포트의 크기는 WIDTH_R 매개변수 값에 따라 다릅니다.

결과_유효

출력이 완전한 곱셈의 유효한 결과인 경우를 나타냅니다. MAX_CLOCK_CYCLES_PER_RESULT 매개변수 값이 1이면 result_valid 출력 포트가 사용되지 않습니다.

로드_완료

아니요

새 계수가 로드를 완료한 시기를 나타냅니다. load_done 신호는 새 계수가 로드를 완료했을 때 어설션됩니다. load_done 신호가 높지 않으면 다른 계수 값을 메모리에 로드할 수 없습니다.

9.5. 매개 변수

다음 표에는 ALTMEMMULT IP 코어의 매개변수가 나열되어 있습니다.

표 39.
WIDTH_D WIDTH_C

ALTMEMMULT 매개변수
매개변수 이름

유형 필수

설명

정수 예

data_in[] 포트의 너비를 지정합니다.

정수 예

coeff_in[] 포트의 너비를 지정합니다. 계속되는…

피드백 보내기

Intel FPGA 정수 산술 IP 코어 사용 설명서 59

9. ALTMEMMULT(메모리 기반 상수 계수 승수) IP 코어 683490 | 2020.10.05

매개변수 이름 WIDTH_R WIDTH

문서 / 리소스

인텔 FPGA 정수 산술 IP 코어 [PDF 파일] 사용자 가이드
FPGA 정수 산술 IP 코어, 정수 산술 IP 코어, 산술 IP 코어, IP 코어

참고문헌

댓글을 남겨주세요

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