
GPIO 인텔® FPGA IP 사용 설명서
인텔® Arria® 10 및 인텔® Cyclone® 10 GX 장치
Intel® Quatus® Prime Design Suite에 대해 업데이트됨: 21.2
IP 버전: 20.0.0
온라인 버전 ID: 683136
피드백 보내기 ug-altera_gpio 버전: 2021.07.15
GPIO 인텔® FPGA IP 코어는 범용 I/O(GPIO) 기능 및 구성 요소를 지원합니다. 트랜시버, 메모리 인터페이스 또는 LVDS에 한정되지 않은 일반 애플리케이션에서 GPIO를 사용할 수 있습니다.
GPIO IP 코어는 Intel Arria® 10 및 Intel Cyclone® 10 GX 장치에서만 사용할 수 있습니다. Stratix® V, Arria V 또는 Cyclone V 장치에서 설계를 마이그레이션하는 경우 ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 또는 ALTIOBUF IP 코어를 마이그레이션해야 합니다.
관련 정보
- Arria V, Cyclone V 및 Stratix V 장치에 대한 IP 마이그레이션 흐름 페이지 22
- Intel Stratix 10 I/O 구현 가이드
Intel Stratix 10 장치용 GPIOIP 코어 사용자 가이드를 제공합니다. - 인텔 FPGA IP 코어 소개
IP 코어 매개변수화, 생성, 업그레이드 및 시뮬레이션을 포함하여 모든 인텔 FPGA IP 코어에 대한 일반 정보를 제공합니다. - 버전 독립적인 IP 및 Qsys 시뮬레이션 스크립트 생성
소프트웨어 또는 IP 버전 업그레이드를 위한 수동 업데이트가 필요하지 않은 시뮬레이션 스크립트를 생성합니다. - 프로젝트 관리 모범 사례
프로젝트 및 IP의 효율적인 관리 및 이식성을 위한 지침 files. - 24페이지의 GPIO Intel FPGA IP 사용자 가이드 아카이브
이전 버전의 GPIO IP 코어에 대한 사용자 가이드 목록을 제공합니다. - 이중 데이터 속도 I/O(ALTDDIO_IN, ALTDDIO_OUT 및 ALTDDIO_BIDIR) IP 코어 사용 설명서
- I/O 버퍼(ALTIOBUF) IP 코어 사용 설명서
GPIO 인텔 FPGA IP에 대한 릴리스 정보
인텔 FPGA IP 버전은 v19.1까지 인텔 Quartus® Prime Design Suite 소프트웨어 버전과 일치합니다. Intel Quartus Prime Design Suite 소프트웨어 버전 19.2부터 Intel FPGA IP에는 새로운 버전 체계가 있습니다.
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
Intel FPGA IP 버전(XYZ) 번호는 각 Intel Quartus Prime 소프트웨어 버전에 따라 변경될 수 있습니다. 변경 사항:
- X는 IP의 주요 개정을 나타냅니다. Intel Quartus Prime 소프트웨어를 업데이트하는 경우 IP를 재생성해야 합니다.
- Y는 IP에 새로운 기능이 포함되어 있음을 나타냅니다. 이러한 새로운 기능을 포함하도록 IP를 재생성하십시오.
- Z는 IP에 사소한 변경이 포함되어 있음을 나타냅니다. 이러한 변경 사항을 포함하려면 IP를 재생성하십시오.
표 1. GPIO 인텔 FPGA IP 코어 현재 릴리스 정보
|
목 |
설명 |
| IP 버전 | 20.0.0 |
| 인텔 Quatus 프라임 버전 | 21.2 |
| 출시일 | 2021.06.23 |
GPIO 인텔 FPGA IP 기능
GPIO IP 코어에는 장치 I/O 블록을 지원하는 기능이 포함되어 있습니다. Intel Quartus Prime 매개변수 편집기를 사용하여 GPIO IP 코어를 구성할 수 있습니다.
GPIO IP 코어는 다음 구성 요소를 제공합니다.
- DDIO(Double Data Rate Input/Output) - 통신 채널의 데이터 속도를 두 배 또는 절반으로 만드는 디지털 구성 요소입니다.
- 지연 체인 - 특정 지연을 수행하고 I/O 타이밍 종료를 지원하도록 지연 체인을 구성합니다.
- I/O 버퍼 - 패드를 FPGA에 연결합니다.
GPIO Intel FPGA IP 데이터 경로
그림 1. 높은 수준 View 단일 종단 GPIO

표 2. GPIO IP 코어 데이터 경로 모드
|
데이터 경로 |
등록 모드 | |||
| 우회로 | 간단한 등록 |
DDR 입출력 |
||
|
풀레이트 |
하프레이트 |
|||
| 입력 | 데이터는 모든 DDIO(Double Data Rate I/O)를 우회하여 지연 요소에서 코어로 이동합니다. | 풀레이트 DDIO는 하프레이트 DDIO를 우회하는 간단한 레지스터로 작동합니다. Fitter는 영역 및 타이밍 절충에 따라 레지스터를 I/O에 패킹할지 아니면 코어에 구현할지 선택합니다. | 풀레이트 DDIO는 하프레이트 DDIO를 우회하여 일반 DDIO로 작동합니다. | 최대 속도 DDIO는 일반 DDIO로 작동합니다. 하프레이트 DDIO는 풀레이트 데이터를 하프레이트 데이터로 변환합니다. |
| 산출 | 데이터는 모든 DDIO를 우회하여 코어에서 바로 지연 요소로 이동합니다. | 풀레이트 DDIO는 하프레이트 DDIO를 우회하는 간단한 레지스터로 작동합니다. Fitter는 영역 및 타이밍 절충에 따라 레지스터를 I/O에 패킹할지 아니면 코어에 구현할지 선택합니다. | 풀레이트 DDIO는 하프레이트 DDIO를 우회하여 일반 DDIO로 작동합니다. | 최대 속도 DDIO는 일반 DDIO로 작동합니다. 하프레이트 DDIO는 풀레이트 데이터를 하프레이트 데이터로 변환합니다. |
| 양방향 | 출력 버퍼는 출력 핀과 입력 버퍼를 모두 구동합니다. | 최대 속도 DDIO는 간단한 레지스터로 작동합니다. 출력 버퍼는 출력 핀과 입력 버퍼를 모두 구동합니다. | 최대 속도 DDIO는 일반 DDIO로 작동합니다. 출력 버퍼는 출력 핀과 입력 버퍼를 모두 구동합니다. 입력 버퍼는 XNUMX개의 플립플롭 세트를 구동합니다. | 최대 속도 DDIO는 일반 DDIO로 작동합니다. 하프레이트 DDIO는 풀레이트 데이터를 하프레이트로 변환합니다. 출력 버퍼는 출력 핀과 입력 버퍼를 모두 구동합니다. 입력 버퍼는 XNUMX개의 플립플롭 세트를 구동합니다. |
비동기 클리어 및 프리셋 신호를 사용하는 경우 모든 DDIO가 이러한 동일한 신호를 공유합니다.
하프레이트 및 풀레이트 DDIO는 별도의 클록에 연결됩니다. 하프레이트 및 풀레이트 DDIO를 사용하는 경우, 풀레이트 클럭은 하프레이트 주파수의 두 배에서 실행되어야 합니다. 다양한 위상 관계를 사용하여 타이밍 요구 사항을 충족할 수 있습니다.
관련 정보
12페이지의 입력 및 출력 버스 상위 및 하위 비트
입력 경로
패드는 데이터를 입력 버퍼로 보내고 입력 버퍼는 지연 요소를 공급합니다. 데이터가 지연 요소의 출력으로 이동한 후 프로그래밍 가능한 바이패스 멀티플렉서는 사용할 기능과 경로를 선택합니다. 각 입력 경로에는 두 개의 s가 포함됩니다.tag전체 속도 및 절반 속도인 DDIO의 es.
그림 2. 단순화 View 단일 종단 GPIO 입력 경로

- 패드는 데이터를 수신합니다.
- DDIO IN(1)은 ck_fr의 상승 및 하강 에지에서 데이터를 캡처하고 다음 파형 그림의 신호 (A) 및 (B) 데이터를 단일 데이터 속도로 전송합니다.
- DDIO IN(2) 및 DDIO IN(3)은 데이터 속도를 절반으로 줄입니다.
- dout[3:0]은 데이터를 절반 속도 버스로 표시합니다.
그림 3. Half-Rate 변환이 있는 DDIO 모드의 입력 경로 파형
이 그림에서 데이터는 이중 데이터 속도의 최대 속도 클록에서 단일 데이터 속도의 절반 속도 클록으로 이동합니다. 데이터 전송률을 XNUMX로 나누고 버스 크기를 같은 비율로 늘립니다. GPIO IP 코어를 통한 전체 처리량은 변경되지 않습니다.
서로 다른 신호 간의 실제 타이밍 관계는 전체 속도 및 절반 속도 클럭에 대해 선택한 특정 설계, 지연 및 위상에 따라 다를 수 있습니다.

참고: GPIO IP 코어는 양방향 핀의 동적 보정을 지원하지 않습니다. 양방향 핀의 동적 보정이 필요한 애플리케이션의 경우 관련 정보를 참조하십시오.
관련 정보
- 병렬 인터페이스용 PHY Lite Intel FPGA IP Core 사용 설명서: Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치
양방향 핀에 대한 동적 OCT가 필요한 애플리케이션에 대한 자세한 정보를 제공합니다. - 7페이지의 출력 및 출력 활성화 경로
출력 및 출력 활성화 경로
출력 지연 요소는 출력 버퍼를 통해 패드로 데이터를 보냅니다.
각 출력 경로에는 두 개의 가 포함됩니다.tagHalf-rate 및 Full-rate인 DDIO의 es.
그림 4. 단순화 View 단일 종단 GPIO 출력 경로

그림 5. Half-Rate 변환이 있는 DDIO 모드의 출력 경로 파형

그림 6. 단순화 View 출력 활성화 경로

출력 경로와 OE(출력 활성화) 경로의 차이점은 OE 경로에 최대 속도 DDIO가 포함되어 있지 않다는 것입니다. OE 경로에서 묶음 레지스터 구현을 지원하기 위해 간단한 레지스터가 최대 속도 DDIO로 작동합니다. 같은 이유로 하프레이트 DDIO는 하나만 존재합니다.
OE 경로는 다음 세 가지 기본 모드에서 작동합니다.
- 우회 - 코어는 모든 DDIO를 우회하여 데이터를 지연 요소로 직접 보냅니다.
- 패킹된 레지스터 - 하프레이트 DDIO를 우회합니다.
- 하프레이트의 SDR 출력 - 하프레이트 DDIO는 데이터를 풀레이트에서 하프레이트로 변환합니다.
참고: GPIO IP 코어는 양방향 핀의 동적 보정을 지원하지 않습니다. 양방향 핀의 동적 보정이 필요한 애플리케이션의 경우 관련 정보를 참조하십시오.
관련 정보
- 병렬 인터페이스용 PHY Lite Intel FPGA IP Core 사용 설명서: Intel Stratix 10, Intel Arria 10 및 Intel Cyclone 10 GX 장치
양방향 핀에 대한 동적 OCT가 필요한 애플리케이션에 대한 자세한 정보를 제공합니다. - 5페이지의 입력 경로
GPIO Intel FPGA IP 인터페이스 신호
지정한 매개변수 설정에 따라 GPIO IP 코어에 대해 서로 다른 인터페이스 신호를 사용할 수 있습니다.
그림 7. GPIO IP 코어 인터페이스

그림 8. GPIO 인터페이스 신호

표 3. 패드 인터페이스 신호
패드 인터페이스는 GPIO IP 코어에서 패드로의 물리적 연결입니다. 이 인터페이스는 IP 코어 구성에 따라 입력, 출력 또는 양방향 인터페이스가 될 수 있습니다. 이 표에서 SIZE는 IP 코어 매개변수 편집기에서 지정된 데이터 폭입니다.
|
신호 이름 |
방향 |
설명 |
| pad_in[크기-1:0] |
입력 |
패드에서 신호를 입력합니다. |
| pad_in_b[크기-1:0] |
입력 |
패드의 차동 입력 신호의 음극 노드. 이 포트는 다음을 켜면 사용할 수 있습니다. 차동 버퍼 사용 옵션. |
| pad_out[크기-1:0] |
산출 |
패드로 신호를 출력합니다. |
| pad_out_b[크기-1:0] |
산출 |
패드에 대한 차동 출력 신호의 네거티브 노드. 이 포트는 다음을 켜면 사용할 수 있습니다. 차동 버퍼 사용 옵션. |
| pad_io[크기-1:0] |
양방향 |
패드와의 양방향 신호 연결. |
| pad_io_b[크기-1:0] |
양방향 |
패드와의 차동 양방향 신호 연결의 음극 노드. 이 포트는 다음을 켜면 사용할 수 있습니다. 차동 버퍼 사용 옵션. |
표 4. 데이터 인터페이스 신호
데이터 인터페이스는 GPIO IP 코어에서 FPGA 코어로의 입력 또는 출력 인터페이스입니다. 이 표에서 SIZE는 IP 코어 매개변수 편집기에서 지정된 데이터 폭입니다.
|
신호 이름 |
방향 |
설명 |
| 소음[DATA_SIZE-1:0] |
입력 |
출력 또는 양방향 모드에서 FPGA 코어의 데이터 입력. DATA_SIZE는 레지스터 모드에 따라 다릅니다.
|
| 도우트[DATA_SIZE-1:0] |
산출 |
입력 또는 양방향 모드에서 FPGA 코어로 데이터 출력, DATA_SIZE는 레지스터 모드에 따라 다릅니다.
|
| oe[OE_SIZE-1:0] |
입력 |
출력 모드에서 FPGA 코어의 OE 입력 출력 활성화 포트 활성화 켜져 있거나 양방향 모드입니다. OE는 액티브 하이입니다. 데이터를 전송할 때 이 신호를 1로 설정합니다. 데이터를 받을 때 이 신호를 0으로 설정합니다. OE_SIZE는 레지스터 모드에 따라 다릅니다.
|
표 5. 클록 인터페이스 신호
클럭 인터페이스는 입력 클럭 인터페이스입니다. 구성에 따라 다른 신호로 구성됩니다. GPIO IP 코어는 XNUMX개, XNUMX개, XNUMX개 또는 XNUMX개의 클록 입력을 가질 수 있습니다. 클록 포트는 클록 신호에 의해 수행되는 실제 기능을 반영하기 위해 다른 구성에서 다르게 나타납니다.
|
신호 이름 |
방향 |
설명 |
| ck |
입력 |
입력 및 출력 경로에서 이 클록은 패킹된 레지스터 또는 DDIO를 공급합니다. 하프레이트 로직 매개변수. 양방향 모드에서 이 클록은 입력 및 출력 경로에 대한 고유한 클록입니다. 별도의 입력/출력 클럭 매개변수. |
| ck_fr |
입력 |
입력 및 출력 경로에서 이 클럭은 풀레이트 및 하프레이트 DDIO를 공급합니다. 하프레이트 로직 매개변수. 양방향 모드에서 입력 및 출력 경로는 다음을 끄면 이 클럭을 사용합니다. 별도의 입력/출력 클럭 매개변수. |
|
ck_시간 |
||
| ck_in |
입력 |
양방향 모드에서 이러한 클록은 다음 설정을 모두 지정하는 경우 입력 및 출력 경로에서 패킹된 레지스터 또는 DDIO를 공급합니다.
|
| ck_out | ||
| ck_fr_in |
입력 |
양방향 모드에서 이러한 설정을 모두 지정하는 경우 이러한 클록은 입력 및 출력 경로에서 전체 속도 및 절반 속도 DDIOS를 공급합니다.
예를 들어ample, ck_fr_out은 출력 경로에서 전체 속도 DDIO를 공급합니다. |
| ck_fr_out | ||
| ck_hr_in | ||
| ck_hr_out | ||
| 코크 |
입력 |
시계 활성화. |
표 6. 종단 인터페이스 신호
종단 인터페이스는 GPIO IP 코어를 I/O 버퍼에 연결합니다.
|
신호 이름 |
방향 |
설명 |
| 시리즈 종료 제어 |
입력 |
종료 제어 블록(OCT)에서 버퍼로의 입력입니다. 버퍼 시리즈 임피던스 값을 설정합니다. |
| 병렬 종료 제어 |
입력 |
종료 제어 블록(OCT)에서 버퍼로의 입력입니다. 버퍼 병렬 임피던스 값을 설정합니다. |
표 7. 재설정 인터페이스 신호
재설정 인터페이스는 GPIO IP 코어를 DDIO에 연결합니다.
|
신호 이름 |
방향 |
설명 |
| sctr |
입력 |
동시 클리어 입력. sset을 활성화한 경우 사용할 수 없습니다. |
| aclr |
입력 |
비동기 클리어 입력. 액티브 하이. 자산을 활성화한 경우 사용할 수 없습니다. |
| 자산 |
입력 |
비동기 세트 입력. 액티브 하이. aclr을 활성화한 경우 사용할 수 없습니다. |
| 세트 |
입력 |
동기 세트 입력. sclr을 활성화한 경우 사용할 수 없습니다. |
관련 정보
12페이지의 입력 및 출력 버스 상위 및 하위 비트
- 입력, 출력 및 OE 경로는 동일한 클리어 및 프리셋 신호를 공유합니다.
- 출력 및 OE 경로는 동일한 클럭 신호를 공유합니다.
데이터 인터페이스의 데이터 비트 순서
그림 9. 데이터 비트 순서 규칙
이 그림은 din, dout 및 oe 데이터 신호에 대한 비트 순서 규칙을 보여줍니다.

- 데이터 버스 크기 값이 SIZE이면 LSB는 가장 오른쪽에 위치합니다.
- 데이터 버스 크기 값이 2 × SIZE이면 버스는 SIZE의 두 워드로 구성됩니다.
- 데이터 버스 크기 값이 4 × SIZE이면 버스는 SIZE의 XNUMX워드로 구성됩니다.
- LSB는 각 단어의 가장 오른쪽 위치에 있습니다.
- 맨 오른쪽 단어는 출력 버스로 나가는 첫 번째 단어와 입력 버스로 들어오는 첫 번째 단어를 지정합니다.
관련 정보
5페이지의 입력 경로
입력 및 출력 버스 상위 및 하위 비트
입력 또는 출력 신호의 상위 및 하위 비트는 din 및 dout 입력 및 출력 버스에 포함됩니다.
입력 버스
딘 버스의 경우 datain_h 및 datain_l이 상위 및 하위 비트이고 각 너비가 datain_width인 경우:
- datain_h = din[(2 × datain_width – 1):datain_width]
- datain_l = din[(datain_width – 1):0]
예를 들어ampdin[7:0] = 8'b11001010의 경우:
- datain_h = 4'b1100
- datain_l = 4'b1010
출력 버스
dout 버스의 경우 dataout_h 및 dataout_l이 상위 및 하위 비트이고 각 너비가 dataout_width인 경우:
- dataout_h = dout[(2 × dataout_width – 1):dataout_width]
- dataout_l = dout[(dataout_width – 1):0]
예를 들어ample, dout[7:0] = 8'b11001010의 경우:
- dataout_h = 4'b1100
- dataout_l = 4'b1010
데이터 인터페이스 신호 및 해당 클록
표 8. 데이터 인터페이스 신호 및 해당 클럭
|
신호 이름 |
매개 변수 구성 | 시계 | ||
| 등록 모드 | 하프레이트 |
별도의 시계 |
||
| 소음 |
|
끄다 |
끄다 |
ck |
| 디디오 |
On |
끄다 |
ck_시간 | |
|
끄다 |
On |
ck_in | |
| 디디오 |
On |
On |
ck_hr_in | |
|
|
끄다 |
끄다 |
ck |
| 디디오 |
On |
끄다 |
ck_시간 | |
|
끄다 |
On |
ck_out | |
| 디디오 |
On |
On |
ck_hr_out | |
|
|
끄다 |
끄다 |
ck |
| 디디오 |
On |
끄다 |
ck_fr | |
|
끄다 |
On |
|
|
| 디디오 |
On |
On |
|
|
자원 활용도 및 설계 성능 검증
Intel Quartus Prime 컴파일 보고서를 참조하여 디자인의 리소스 사용 및 성능에 대한 세부 정보를 얻을 수 있습니다.
- 메뉴에서 처리 중 ➤ 컴파일 시작 전체 컴파일을 실행합니다.
- 디자인을 컴파일한 후 처리 ➤ 편집 보고서.
- 사용하여 목차, 탐색하다 피터 ➤ 리소스 섹션.
ㅏ. 에게 view 리소스 사용량 정보에서 선택 리소스 사용량 요약.
NS. NS view 자원 활용 정보, 선택 엔터티별 리소스 사용률.
GPIO Intel FPGA IP 매개변수 설정
Intel Quartus Prime 소프트웨어에서 GPIO IP 코어에 대한 매개변수 설정을 지정할 수 있습니다. 세 가지 옵션 그룹이 있습니다. 일반적인, 완충기, 그리고 레지스터.
표 9. GPIO IP 코어 매개변수 – 일반
|
매개변수 |
상태 | 허용되는 값 |
설명 |
| 데이터 방향 |
— |
|
GPIO의 데이터 방향을 지정합니다. |
| 데이터 폭 |
— |
1에서 128까지 | 데이터 폭을 지정합니다. |
| 레거시 최상위 포트 이름 사용 |
— |
|
Stratix V, Arria V 및 Cyclone V 장치에서와 동일한 포트 이름을 사용하십시오. 예를 들어ample, dout은 dataout_h 및 dataout_l이 되고 din은 datain_h 및 datain_l이 됩니다. 참고: 이러한 포트의 동작은 Stratix V, Arria V 및 Cyclone V 장치와 다릅니다. 마이그레이션 가이드라인은 관련 정보를 참조하세요. |
표 10. GPIO IP 코어 매개변수 - 버퍼
|
매개변수 |
상태 | 허용되는 값 |
설명 |
| 차동 버퍼 사용 |
— |
|
켜진 경우 차동 I/O 버퍼를 활성화합니다. |
| 의사 차동 버퍼 사용 |
|
|
출력 모드에서 켜진 경우 의사 차동 출력 버퍼를 활성화합니다. 이 옵션을 켜면 양방향 모드에서 자동으로 켜집니다. 차동 버퍼 사용. |
| 버스 홀드 회로 사용 |
|
|
켜진 경우 버스 홀드 회로는 출력 버퍼 상태가 1 또는 0이지만 임피던스가 높지 않은 마지막 구동 상태에서 I/O 핀의 신호를 약하게 유지할 수 있습니다. |
| 오픈 드레인 출력 사용 |
|
|
켜져 있는 경우 개방 드레인 출력을 통해 장치는 시스템의 여러 장치에서 어설션할 수 있는 인터럽트 및 쓰기 활성화 신호와 같은 시스템 수준 제어 신호를 제공할 수 있습니다. |
| 출력 활성화 포트 활성화 | 데이터 방향 = 출력 |
|
켜져 있으면 OE 포트에 대한 사용자 입력을 활성화합니다. 이 옵션은 양방향 모드에서 자동으로 켜집니다. |
| 직렬 종단/병렬 종단 포트 활성화 |
— |
|
켜진 경우 출력 버퍼의 seriesterminationcontrol 및 parallelterminationcontrol 포트를 활성화합니다. |
표 11. GPIO IP 코어 매개변수 – 레지스터
| 매개변수 | 상태 | 허용되는 값 | 설명 |
| 등록 모드 |
— |
|
GPIO IP 코어의 등록 모드를 지정합니다.
|
| 동기 클리어/프리셋 포트 활성화 |
|
|
동기 재설정 포트를 구현하는 방법을 지정합니다.
|
| 비동기 클리어/프리셋 포트 활성화 |
|
|
비동기 재설정 포트를 구현하는 방법을 지정합니다.
ACLR 및 ASET 신호는 액티브 하이입니다. |
| 클록 활성화 포트 활성화 | 레지스터 모드 = DDIO |
|
|
| 하프레이트 로직 | 레지스터 모드 = DDIO |
|
켜져 있으면 절반 속도 DDIO를 활성화합니다. |
| 별도의 입력/출력 클럭 |
|
|
켜진 경우 양방향 모드에서 입력 및 출력 경로에 대해 별도의 클록(CK_IN 및 CK_OUT)을 활성화합니다. |
관련 정보
- 12페이지의 입력 및 출력 버스 상위 및 하위 비트
- 지침: 마이그레이션된 IP에서 datain_h 및 datain_l 포트 교환(23페이지)
포장 등록
GPIO IP 코어를 사용하면 레지스터를 주변으로 압축하여 영역 및 리소스 활용을 절약할 수 있습니다.
입력 및 출력 경로에서 최대 속도 DDIO를 플립 플롭으로 구성할 수 있습니다. 이렇게 하려면 이 표에 나열된 .qsf 할당을 추가합니다.
표 12. 레지스터 패킹 QSF 할당
|
길 |
QSF 할당 |
| 입력 레지스터 패킹 | QSF 할당 set_instance_assignment -name FAST_INPUT_REGISTER ON -to |
| 출력 레지스터 패킹 | set_instance_assignment -이름 FAST_OUTPUT_REGISTER ON -to |
| 출력 활성화 레지스터 패킹 | set_instance_assignment -이름 FAST_OUTPUT_ENABLE_REGISTER ON -to |
참고: 이러한 할당은 레지스터 패킹을 보장하지 않습니다. 그러나 이러한 할당을 통해 배관공은 합법적인 배치를 찾을 수 있습니다. 그렇지 않으면 Fitter는 플립플롭을 코어에 유지합니다.
GPIO 인텔 FPGA IP 타이밍
GPIO IP 코어의 성능은 I/O 제약 조건 및 클럭 단계에 따라 다릅니다. GPIO 구성의 타이밍을 확인하려면 타이밍 분석기를 사용하는 것이 좋습니다.
관련 정보
Intel Quartus Prime 타이밍 분석기
타이밍 구성 요소
GPIO IP 코어 타이밍 구성 요소는 세 가지 경로로 구성됩니다.
- I/O 인터페이스 경로 - FPGA에서 외부 수신 장치로, 외부 전송 장치에서 FPGA로.
- I/O에서 코어로, 코어에서 I/O로 데이터 및 클록의 핵심 인터페이스 경로.
- 전송 경로—half-rate에서 full-rate DDIO로, full-rate에서 half-rate DDIO로.
참고: 타이밍 분석기는 DDIO_IN 및 DDIO_OUT 블록 내부의 경로를 블랙 박스로 취급합니다.
그림 10. 입력 경로 타이밍 구성요소

그림 11. 출력 경로 타이밍 구성 요소

그림 12. 출력 활성화 경로 타이밍 구성요소

지연 요소
Intel Quartus Prime 소프트웨어는 I/O 타이밍 분석에서 여유를 최대화하기 위해 지연 요소를 자동으로 설정하지 않습니다. 타이밍을 닫거나 여유 시간을 최대화하려면 Intel Quartus Prime 설정에서 수동으로 지연 요소를 설정하십시오. file (.qsf).
표 13. 지연 요소 .qsf 할당
지연 요소에 액세스하려면 .qsf에서 이러한 할당을 지정합니다.
| 지연 요소 | .qsf 할당 |
| 입력 지연 요소 | set_instance_assignment to -이름 INPUT_DELAY_CHAIN <0..63> |
| 출력 지연 요소 | set_instance_assignment to -이름 OUTPUT_DELAY_CHAIN <0..15> |
| 출력 활성화 지연 요소 | set_instance_assignment to -이름 OE_DELAY_CHAIN <0..15> |
타이밍 분석
Intel Quartus Prime 소프트웨어는 GPIO IP 코어에 대한 SDC 타이밍 제약 조건을 자동으로 생성하지 않습니다. 타이밍 제약 조건을 수동으로 입력해야 합니다.
타이밍 지침을 따르고 examp타이밍 분석기가 I/O 타이밍을 올바르게 분석하는지 확인합니다.
- I/O 인터페이스 경로에 대한 적절한 타이밍 분석을 수행하려면 .sdc에서 시스템 클록 핀에 대한 데이터 핀의 시스템 수준 제약 조건을 지정합니다. file.
- 핵심 인터페이스 경로에 대한 적절한 타이밍 분석을 수행하려면 .sdc에서 이러한 클럭 설정을 정의하십시오. file:
— 코어 레지스터에 클럭
— 단순 레지스터 및 DDIO 모드를 위한 I/O 레지스터에 대한 클록
관련 정보
AN 433: 소스 동기 인터페이스 제한 및 분석
소스 동기 인터페이스를 제한하고 분석하는 기술을 설명합니다.
단일 데이터 속도 입력 레지스터
그림 13. 단일 데이터 속도 입력 레지스터

표 14. 단일 데이터 속도 입력 레지스터 .sdc 명령 Examp레
| 명령 | 명령 예ample | 설명 |
| create_clock | create_clock -이름 sdr_in_clk -기간 "100MHz" sdr_in_clk |
입력 클록에 대한 클록 설정을 생성합니다. |
| set_input_delay | set_input_delay -시계 sdr_in_clk 0.15 sdr_in_data |
0.15ns 입력 지연으로 입력 I/O의 타이밍을 분석하도록 타이밍 분석기에 지시합니다. |
전체 속도 또는 절반 속도 DDIO 입력 레지스터
풀레이트 및 하프레이트 DDIO 입력 레지스터의 입력측은 동일합니다. FPGA에 대한 오프칩 송신기를 모델링하기 위해 가상 클록을 사용하여 시스템을 적절하게 제한할 수 있습니다.
그림 14. 전체 속도 또는 절반 속도 DDIO 입력 레지스터

표 15. 전체 속도 또는 절반 속도 DDIO 입력 레지스터 .sdc 명령 Examp레
| 명령 | 명령 예ample | 설명 |
| create_clock | create_clock -이름 virtual_clock -주기 "200MHz" create_clock -이름 ddio_in_clk -기간 "200MHz" ddio_in_clk |
가상 시계 및 DDIO 시계에 대한 시계 설정을 만듭니다. |
| set_input_delay | set_input_delay -시계 virtual_clock 0.25 ddio_in_data set_input_delay -추가_지연 -clock_fall -시계 virtual_clock 0.25 ddio_in_data |
전송의 포지티브 클록 에지와 네거티브 클록 에지를 분석하도록 타이밍 분석기에 지시합니다. 두 번째 set_input_delay 명령의 -add_delay에 유의하십시오. |
| set_false_path | set_false_path -fall_from virtual_clock -rise_to ddio_in_clk set_false_path -rise_from virtual_clock -fall_to ddio_in_clk |
타이밍 분석기에 네거티브 에지 트리거 레지스터에 대한 포지티브 클록 에지와 포지티브 에지 트리거 레지스터에 대한 네거티브 클록 에지를 무시하도록 지시합니다.
참고: ck_hr 빈도는 ck_fr 빈도의 절반이어야 합니다. I/O PLL이 클럭을 구동하는 경우 파생_pll_clocks .sdc 명령 사용을 고려할 수 있습니다. |
단일 데이터 속도 출력 레지스터
그림 15. 단일 데이터 속도 출력 레지스터

표 16. 단일 데이터 속도 출력 레지스터 .sdc 명령 Examp레
| 명령 | 명령 예ample | 설명 |
| create_clock 및 create_generated_clock | create_clock -이름 sdr_out_clk -기간 "100MHz" sdr_out_clk create_generated_clock -소스 sdr_out_clk -이름 sdr_out_outclk sdr_out_outclk |
전송할 소스 클럭과 출력 클럭을 생성합니다. |
| set_output_delay | set_output_delay -시계 sdr_out_clk 0.45 sdr_out_data |
송신할 출력 클록에 대해 송신할 출력 데이터를 분석하도록 타이밍 분석기에 지시합니다. |
전체 속도 또는 절반 속도 DDIO 출력 레지스터
풀레이트 및 하프레이트 DDIO 출력 레지스터의 출력측은 동일합니다.
표 17. DDIO 출력 레지스터 .sdc 명령 Examp레
| 명령 | 명령 예ample | 설명 |
| create_clock 및 create_generated_clock | create_clock -이름 ddio_out_fr_clk -기간 "200MHz" ddio_out_fr_clk create_generated_clock -소스 ddio_out_fr_clk -이름 ddio_out_fr_outclk ddio_out_fr_outclk |
DDIO에 대한 클럭과 전송할 클럭을 생성합니다. |
| set_output_delay | set_output_delay -시계 ddio_out_fr_outclk 0.55 ddio_out_fr_data set_output_delay -추가_지연 -clock_fall -시계 ddio_out_fr_outclk 0.55 ddio_out_fr_data |
출력 클럭에 대해 양수 및 음수 데이터를 분석하도록 타이밍 분석기에 지시합니다. |
| set_false_path | set_false_path -rise_from ddio_out_fr_clk -fall_to ddio_out_fr_outclk set_false_path -fall_from ddio_out_fr_clk -rise_to ddio_out_fr_outclk |
출력 클럭의 하강 에지에 대한 소스 클럭의 상승 에지와 출력 클럭의 상승 에지에 대한 소스 클럭의 하강 에지를 무시하도록 타이밍 분석기에 지시합니다. |
타이밍 마감 지침
GPIO 입력 레지스터의 경우 입력 지연 체인을 설정하지 않으면 입력 I/O 전송이 보류 시간에 실패할 수 있습니다. 이 오류는 클록 지연이 데이터 지연보다 크기 때문에 발생합니다.
보류 시간을 충족하려면 입력 지연 체인을 사용하여 입력 데이터 경로에 지연을 추가하십시오. 일반적으로 입력 지연 체인은 60 속도 등급에서 단계당 약 1ps입니다. 타이밍을 통과하기 위한 대략적인 입력 지연 체인 설정을 얻으려면 네거티브 홀드 슬랙을 60ps로 나눕니다.
그러나 I/O PLL이 GPIO 입력 레지스터의 클록을 구동하는 경우(단순 레지스터 또는 DDIO 모드) 보상 모드를 소스 동기 모드로 설정할 수 있습니다. 배관공은 더 나은 설정을 위해 I/O PLL을 구성하려고 시도하고 입력 I/O 타이밍 분석을 위해 여유를 유지합니다.
GPIO 출력 및 출력 활성화 레지스터의 경우 출력 및 출력 활성화 지연 체인을 사용하여 출력 데이터 및 클록에 지연을 추가할 수 있습니다.
- 설정 시간 위반이 관찰되면 출력 클럭 지연 체인 설정을 늘릴 수 있습니다.
- 보류 시간 위반이 관찰되면 출력 데이터 지연 체인 설정을 늘릴 수 있습니다.
GPIO 인텔 FPGA IP 설계 Examp레
GPIO IP 코어는 디자인 ex를 생성할 수 있습니다.amp매개변수 편집기에서 IP 구성과 일치하는 파일. 이 디자인을 사용할 수 있습니다.amp시뮬레이션에서 IP 코어 및 예상되는 동작을 인스턴스화하기 위한 참조로 파일.
디자인 ex를 생성할 수 있습니다.ampGPIO IP 코어 매개변수 편집기의 파일. 원하는 매개변수를 설정한 후 Ex 생성amp르 디자인. IP 코어는 디자인 ex를 생성합니다.amp르 소스 files는 지정한 디렉토리에 있습니다.
그림 16. 출처 FileGenerated Design Ex의 samp파일 디렉토리

참고: .qsys files는 디자인 ex 동안 내부 사용을 위한 것입니다.amp르 세대만. 이 .qsys는 편집할 수 없습니다. files.
GPIO IP 코어 합성 가능 Intel Quartus Prime Design Example
합성 가능한 디자인 examp파일은 Intel Quartus Prime 프로젝트에 포함할 수 있는 컴파일 가능한 플랫폼 디자이너 시스템입니다.
Design Ex 생성 및 사용ample
합성 가능한 Intel Quartus Prime 디자인 ex를 생성하려면amp출처에서 files, 디자인 ex에서 다음 명령을 실행합니다.amp파일 디렉토리:
quartus_sh -t make_qii_design.tcl
사용할 정확한 장치를 지정하려면 다음 명령을 실행하십시오.
quartus_sh -t make_qii_design.tcl [장치 이름]
TCL 스크립트는 ed_synth.qpf 프로젝트를 포함하는 qii 디렉토리를 생성합니다. file. Intel Quartus Prime 소프트웨어에서 이 프로젝트를 열고 컴파일할 수 있습니다.
GPIO IP 코어 시뮬레이션 설계 Example
시뮬레이션 설계 예amp파일은 GPIO IP 코어 매개변수 설정을 사용하여 시뮬레이션 드라이버에 연결된 IP 인스턴스를 구축합니다. 드라이버는 임의의 트래픽을 생성하고 나가는 데이터의 합법성을 내부적으로 확인합니다.
디자인 ex 사용amp파일에서 사용하는 시뮬레이터에 따라 단일 명령을 사용하여 시뮬레이션을 실행할 수 있습니다. 시뮬레이션은 GPIO IP 코어를 사용하는 방법을 보여줍니다.
Design Ex 생성 및 사용ample
시뮬레이션 디자인 ex를 생성하려면amp출처에서 fileVerilog 시뮬레이터의 경우 디자인 ex에서 다음 명령을 실행합니다.amp파일 디렉토리:
quartus_sh -t make_sim_design.tcl
시뮬레이션 디자인 ex를 생성하려면amp출처에서 files VHDL 시뮬레이터의 경우 디자인 ex에서 다음 명령을 실행합니다.amp파일 디렉토리:
quartus_sh -t make_sim_design.tcl VHDL
TCL 스크립트는 지원되는 시뮬레이션 도구마다 하나씩 하위 디렉토리를 포함하는 sim 디렉토리를 생성합니다. 해당 디렉토리에서 각 시뮬레이션 도구에 대한 스크립트를 찾을 수 있습니다.
Arria V, Cyclone V 및 Stratix V 장치에 대한 IP 마이그레이션 흐름
IP 마이그레이션 흐름을 통해 Arria V, Cyclone V 및 Stratix V 장치의 ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 및 ALTIOBUF IP 코어를 Intel Arria 10 및 Intel Cyclone 10 GX 장치의 GPIO IP 코어로 마이그레이션할 수 있습니다.
이 IP 마이그레이션 흐름은 ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 및 ALTIOBUF IP 코어의 설정과 일치하도록 GPIO IP 코어를 구성하여 IP 코어를 다시 생성할 수 있도록 합니다.
참고: 일부 IP 코어는 특정 모드에서만 IP 마이그레이션 흐름을 지원합니다. IP 코어가 지원되지 않는 모드에 있는 경우 GPIO IP 코어에 대해 IP 매개변수 편집기를 실행하고 IP 코어를 수동으로 구성해야 할 수 있습니다.
ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 및 ALTIOBUF IP 코어 마이그레이션
ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 및 ALTIOBUF IP 코어를 GPIO Intel FPGA IP IP 코어로 마이그레이션하려면 다음 단계를 따르십시오.
- IP 매개변수 편집기에서 ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 또는 ALTIOBUF IP 코어를 엽니다.
- 에서 현재 선택된 디바이스 제품군, 선택하다 인텔 아리아 10 or 인텔 사이클론 10 GX.
- 딸깍 하는 소리 마치다 GPIO IP 매개변수 편집기를 엽니다.
IP 매개변수 편집기는 ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 또는 ALTIOBUF 코어 설정과 유사한 GPIO IP 코어 설정을 구성합니다. - 둘 사이에 호환되지 않는 설정이 있는 경우 새로운 지원 설정.
- 딸깍 하는 소리 마치다 IP 코어를 재생성합니다.
- RTL에서 ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 또는 ALTIOBUF IP 코어 인스턴스화를 GPIO IP 코어로 교체하십시오.
참고: GPIO IP 코어 포트 이름은 ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR 또는 ALTIOBUF IP 코어 포트 이름과 일치하지 않을 수 있습니다. 따라서 단순히 인스턴스화에서 IP 코어 이름을 변경하는 것만으로는 충분하지 않을 수 있습니다.
관련 정보
12페이지의 입력 및 출력 버스 상위 및 하위 비트
지침: 마이그레이션된 IP에서 datain_h 및 datain_l 포트 교환
GPIO IP를 이전 장치에서 GPIO IP 코어로 마이그레이션할 때 다음을 켤 수 있습니다. 레거시 최상위 포트 이름 사용 GPIO IP 코어 매개변수 편집기의 옵션. 그러나 GPIO IP 코어에서 이러한 포트의 동작은 Stratix V, Arria V 및 Cyclone V 장치에 사용되는 IP 코어와 다릅니다.
GPIO IP 코어는 이러한 포트를 다음 클록 에지의 출력 레지스터로 구동합니다.
- datain_h—outclock의 상승 에지
- datain_l—outclock의 하강 에지
Stratix V, Arria V 및 Cyclone V 장치에서 GPIO IP를 마이그레이션한 경우 GPIO IP 코어에서 생성된 IP를 인스턴스화할 때 datain_h 및 datain_l 포트를 교체하십시오.
관련 정보
12페이지의 입력 및 출력 버스 상위 및 하위 비트
GPIO Intel FPGA IP 사용 설명서 아카이브
IP 버전은 v19.1까지의 Intel Quartus Prime Design Suite 소프트웨어 버전과 동일합니다. Intel Quartus Prime Design Suite 소프트웨어 버전 19.2 이상부터 IP 코어에 새로운 IP 버전 체계가 적용됩니다.
IP core 버전이 목록에 없으면 이전 IP core 버전의 사용 설명서가 적용됩니다.
|
IP 코어 버전 |
사용자 가이드 |
| 20.0.0 | GPIO Intel FPGA IP 사용 설명서: Intel Arria 10 및 Intel Cyclone 10 GX 장치 |
| 19.3.0 | GPIO Intel FPGA IP 사용 설명서: Intel Arria 10 및 Intel Cyclone 10 GX 장치 |
| 19.3.0 | GPIO Intel FPGA IP 사용 설명서: Intel Arria 10 및 Intel Cyclone 10 GX 장치 |
| 18.1 | GPIO Intel FPGA IP 사용 설명서: Intel Arria 10 및 Intel Cyclone 10 GX 장치 |
| 18.0 | GPIO Intel FPGA IP 사용 설명서: Intel Arria 10 및 Intel Cyclone 10 GX 장치 |
| 17.1 | Intel FPGA GPIO IP 코어 사용 설명서 |
| 17.0 | Altera GPIO IP 코어 사용 설명서 |
| 16.1 | Altera GPIO IP 코어 사용 설명서 |
| 16.0 | Altera GPIO IP 코어 사용 설명서 |
| 14.1 | Altera GPIO Megafunction 사용 설명서 |
| 13.1 | Altera GPIO Megafunction 사용 설명서 |
GPIO Intel FPGA IP 사용 설명서의 문서 개정 내역: Intel Arria 10 및 Intel Cyclone 10 GX 장치
|
문서 버전 |
인텔 Quatus 프라임 버전 | IP 버전 |
변화 |
|
2021.07.15 |
21.2 |
20.0.0 |
간소화된 다이어그램을 보여주는 다이어그램을 업데이트했습니다. view dout[0]을 dout[3]으로, dout[3]을 dout[0]으로 업데이트하기 위한 단일 종단 GPIO 입력 경로. |
|
2021.03.29 |
21.1 |
20.0.0 |
GPIO IP 버전 번호를 20.0.0으로 업데이트했습니다. |
|
2021.03.12 |
20.4 |
19.3.0 |
GPIO IP가 상승 에지에서 datain_h를 구동하고 하강 에지에서 datain_l을 구동하도록 지정하기 위해 IP 마이그레이션 지침을 업데이트했습니다. |
|
2019.10.01 |
19.3 |
19.3.0 |
지연 요소에 대한 항목에서 .qsf 할당 코드의 인쇄 오류를 수정했습니다. |
|
2019.03.04 |
18.1 |
18.1 |
입력 경로와 출력 및 출력 활성화 경로에 대한 항목에서:
|
|
2018.08.28 |
18.0 |
18.0 |
|
| 날짜 | 버전 | 변화 |
| 2017년 XNUMX월 | 2017.11.06 |
|
| 2017년 XNUMX월 | 2017.05.08 |
|
| 2016년 XNUMX월 | 2016.10.31 |
|
| 2016년 XNUMX월 | 2016.08.05 |
|
| 2014년 XNUMX월 | 2014.08.18 |
|
| 2013년 XNUMX월 | 2013.11.29 | 최초 출시. |
GPIO Intel FPGA IP 사용 설명서: Intel Arria 10 및 Intel Cyclone 10 GX 장치
문서 / 리소스
![]() |
인텔 GPIO 인텔 FPGA IP [PDF 파일] 사용자 가이드 GPIO 인텔 FPGA IP, GPIO, 인텔 FPGA IP, FPGA IP |




