인텔 로고

인텔 750856 Agilex FPGA 개발 보드

intel-750856-Agilex-FPGA-개발-보드-제품

제품 정보

이 참조 디자인은 Intel Agilex F-시리즈 FPGA 개발 보드용입니다. 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP를 활용하고 간단한 PR 영역을 갖습니다. Intel Agilex 장치 외부 호스트 하드웨어 설정은 외부 장치(도우미 FPGA), DUT FPGA 및 외부 호스트 설계로 구성됩니다. 외부 장치의 호스트 설계는 PR 프로세스를 호스팅하는 역할을 합니다. PR 핀은 두 장치를 모두 연결하는 데 사용되며 사용 가능한 사용자 I/O가 될 수 있습니다.

제품 사용 지침

외부 호스트 구성

외부 호스트 구성을 수행하려면 다음 단계를 수행하십시오.

  1. PR 프로세스를 호스팅하기 위해 외부 장치에 호스트 디자인을 만듭니다.
  2. 외부 장치의 PR 핀을 DUT FPGA의 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP에 연결합니다.
  3. 호스트 설계의 구성 데이터를 IP의 PR 핸드셰이킹 신호에 해당하는 Intel Agilex Avalon 스트리밍 인터페이스 핀으로 스트리밍합니다.

구성 핀 작동을 통한 부분 재구성

다음 순서는 구성 핀을 통한 부분 재구성 작업을 설명합니다.

  1. 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP에 연결된 pr_request 핀을 어설션합니다.
  2. IP는 PR 프로세스가 진행 중임을 나타내기 위해 사용 중 신호를 나타냅니다(선택 사항).
  3. 구성 시스템이 PR 작업 준비가 되면 avst_ready 핀이 표시되어 데이터를 받아들일 준비가 되었음을 나타냅니다.
  4. 배압을 사용한 데이터 전송을 위한 Avalon 스트리밍 사양에 따라 avst_data 핀 및 avst_valid 핀을 통해 PR 구성 데이터를 스트리밍합니다.
  5. avst_ready 핀이 해제되면 스트리밍이 중지됩니다.
  6. PR 작업에 더 이상 데이터가 필요하지 않음을 나타내기 위해 avst_ready 핀을 비활성화합니다.
  7. 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP는 사용 중 신호를 해제하여 프로세스 종료를 나타냅니다(선택 사항).

구성 핀(외부 호스트)을 통한 부분 재구성 참조 설계

이 애플리케이션 노트는 Intel® Agilex® F-시리즈 FPGA 개발 보드의 구성 핀(외부 호스트)을 통한 부분 재구성을 보여줍니다.

레퍼런스 디자인 종료view

PR(부분 재구성) 기능을 사용하면 FPGA의 일부를 동적으로 재구성하는 동시에 나머지 FPGA 설계는 계속 작동할 수 있습니다. 이 지역 외부 영역의 작업에 영향을 주지 않는 디자인의 특정 지역에 대해 여러 페르소나를 생성할 수 있습니다. 이 방법론은 여러 기능이 동일한 FPGA 장치 리소스를 시간 공유하는 시스템에서 효과적입니다. Intel Quartus® Prime Pro Edition 소프트웨어의 현재 버전에는 부분 재구성을 위한 새롭고 단순화된 컴파일 흐름이 도입되었습니다. 이 Intel Agilex 참조 디자인은 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP를 사용하며 간단한 PR 영역을 갖습니다.

Intel Agilex 장치 외부 호스트 하드웨어 설정intel-750856-Agilex-FPGA-개발-보드-FIG-1 (1)

외부 호스트 구성

외부 호스트 구성에서는 Intel Agilex 장치 외부 호스트 하드웨어 설정에 표시된 대로 PR 프로세스를 호스팅하기 위해 먼저 외부 장치에서 호스트 설계를 생성해야 합니다. 호스트 설계는 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP에서 나오는 PR 핸드셰이킹 신호에 해당하는 Intel Agilex Avalon 스트리밍 인터페이스 핀으로 구성 데이터를 스트리밍합니다. 두 장치를 연결하는 데 사용하는 PR 핀은 사용 가능한 사용자 I/O일 수 있습니다.

다음 순서는 구성 핀 작업을 통한 부분 재구성을 설명합니다.

  1. 먼저 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP에 연결된 pr_request 핀을 어설션합니다.
  2. IP는 PR 프로세스가 진행 중임을 나타내기 위해 사용 중 신호를 나타냅니다(선택 사항).
  3. 구성 시스템이 PR 작업을 수행할 준비가 되면 avst_ready 핀이 어설션되어 데이터를 받아들일 준비가 되었음을 나타냅니다.
  4. 백프레셔를 사용한 데이터 전송에 대한 Avalon 스트리밍 사양을 관찰하면서 avst_data 핀과 avst_valid 핀을 통해 PR 구성 데이터 스트리밍을 시작합니다.
  5. avst_ready 핀이 해제될 때마다 스트리밍이 중지됩니다.
  6. 모든 구성 데이터를 스트리밍한 후 avst_ready 핀이 해제되어 PR 작업에 더 이상 데이터가 필요하지 않음을 나타냅니다.
  7. 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP는 프로세스 종료를 나타내기 위해 사용 중 신호를 보냅니다(선택 사항).
  8. pr_done 및 pr_error 핀을 확인하여 PR 작업이 성공적으로 완료되었는지 확인할 수 있습니다. 버전 확인, 권한 확인 실패 등의 오류가 발생하면 PR 작업이 종료됩니다.

관련 정보

  • Intel Agilex F-시리즈 FPGA 개발 키트 Web 페이지
  • Intel Agilex F-시리즈 FPGA 개발 키트 사용자 가이드
  • Intel Quartus Prime Pro Edition 사용자 가이드: 부분 재구성

부분 재구성 외부 구성 컨트롤러 Intel FPGA IP
PR 작업을 위해 PR 데이터를 스트리밍하기 위해 구성 핀을 사용하려면 부분 재구성 외부 구성 컨트롤러가 필요합니다. 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP의 모든 최상위 포트를 pr_request 핀에 연결하여 코어에서 보안 장치 관리자(SDM)를 사용하여 호스트의 핸드셰이크를 허용해야 합니다. SDM은 MSEL 설정에 따라 사용할 구성 핀 유형을 결정합니다.

부분 재구성 외부 구성 컨트롤러 Intel FPGA IPintel-750856-Agilex-FPGA-개발-보드-FIG-1 (2)

부분 재구성 외부 구성 컨트롤러 매개변수 설정

매개변수 설명
바쁜 인터페이스 활성화 할 수 있게 하다 or

장애를 입히다

외부 구성 중에 PR 처리가 진행 중임을 나타내는 신호를 표시하는 Busy 인터페이스를 활성화하거나 비활성화할 수 있습니다.

기본 설정은 장애를 입히다.

부분 재구성 외부 구성 컨트롤러 포트

포트 이름 너비 방향 기능
홍보_요청 1 입력 PR 프로세스를 시작할 준비가 되었음을 나타냅니다. 신호는 클록 신호와 동기화되지 않는 도관입니다.
pr_error 2 산출 부분 재구성 오류를 나타냅니다.:

• 2'b01—일반 PR 오류

• 2'b11 - 호환되지 않는 비트스트림 오류

이러한 신호는 클록 소스와 동기화되지 않는 도관입니다.

홍보 완료 1 산출 PR 프로세스가 완료되었음을 나타냅니다. 신호는 클록 신호와 동기화되지 않는 도관입니다.
시작_주소 1 입력 Active Serial Flash에서 PR 데이터의 시작 주소를 지정합니다. 다음 중 하나를 선택하여 이 신호를 활성화합니다. 아발론®-성 or 활성 직렬 를 위해 Avalon-ST 핀 또는 활성 직렬 핀 활성화 매개변수. 신호는 클록 신호와 동기화되지 않는 도관입니다.
다시 놓기 1 입력 활성 높음, 동기식 재설정 신호.
out_clk 1 산출 내부 발진기에서 생성되는 클록 소스입니다.
바쁘다 1 산출 IP는 이 신호를 어설션하여 PR 데이터 전송이 진행 중임을 나타냅니다. 다음을 선택하여 이 신호를 활성화합니다. 할 수 있게 하다 를 위해 바쁜 인터페이스 활성화 매개변수.

레퍼런스 디자인 요구 사항

이 참조 설계를 사용하려면 다음이 필요합니다.

  • Intel Agilex 장치 제품군을 지원하는 Intel Quartus Prime Pro Edition 버전 22.3 설치.
  • 벤치에서 Intel Agilex F-시리즈 FPGA 개발 보드에 연결합니다.
  • 디자인 ex 다운로드amp파일은 다음 위치에서 사용할 수 있습니다. https://github.com/intel/fpga-partial-reconfig.

디자인 ex를 다운로드하려면amp르 :

  1. 복제 또는 다운로드를 클릭합니다.
  2. ZIP 다운로드를 클릭합니다. fpga-partial-reconfig-master.zip의 압축을 풉니다. file.
  3. tutorials/agilex_external_pr_configuration 하위 폴더로 이동하여 참조 디자인에 액세스하세요.

레퍼런스 디자인 워크스루

다음 단계에서는 Intel Agilex F 시리즈 FPGA 개발 보드의 구성 핀(외부 호스트)을 통한 부분 재구성 구현을 설명합니다.

  • 1단계: 시작하기
  • 2단계: 디자인 파티션 생성
  • 3단계: 배치 및 라우팅 지역 할당
  • 4단계: 부분 재구성 외부 구성 컨트롤러 IP 추가
  • 5단계: 페르소나 정의
  • 6단계: 개정 작성
  • 7단계: 기본 개정판 컴파일
  • 8단계: PR 실시 개정 준비
  • 9단계: 보드 프로그래밍

1단계: 시작하기
참조 설계를 복사하려면 files를 작업 환경에 연결하고 blinking_led 플랫 디자인을 컴파일합니다.

  1. 작업 환경에 agilex_pcie_devkit_blinking_led_pr 디렉터리를 만듭니다.
  2. 다운로드한 tutorials/agilex_pcie_devkit_blinking_led/plat 하위 폴더를 agilex_pcie_devkit_blinking_led_pr 디렉터리에 복사합니다.
  3. Intel Quatus Prime Pro Edition 소프트웨어에서 다음을 클릭합니다. File ➤ 프로젝트를 열고 깜박이는_led.qpf를 선택합니다.
  4. 플랫 디자인의 계층 구조를 자세히 설명하려면 처리 ➤ 시작 ➤ 분석 및 합성 시작을 클릭하세요. 또는 명령줄에서 다음 명령을 실행합니다: quartus_syn 깜박이는_led -c 깜박이는_led

디자인 파티션 생성

부분적으로 재구성하려는 각 PR 영역에 대해 디자인 파티션을 만들어야 합니다. 다음 단계에서는 u_blinking_led 인스턴스에 대한 디자인 파티션을 생성합니다.

디자인 파티션 생성intel-750856-Agilex-FPGA-개발-보드-FIG-1 (3)

  1. 프로젝트 네비게이터에서 u_blinking_led 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 Design Partition ➤ Reconfigurable을 클릭합니다. 파티션으로 설정된 각 인스턴스 옆에는 디자인 파티션 아이콘이 나타납니다.
  2. 할당 ➤ 디자인 파티션 창을 클릭합니다. 창에는 프로젝트의 모든 디자인 파티션이 표시됩니다.
  3. 이름을 두 번 클릭하여 파티션 디자인 창에서 파티션 이름을 편집합니다. 이 참조 디자인의 경우 파티션 이름을 pr_partition으로 바꿉니다.
    • 메모: 파티션을 생성하면 Intel Quartus Prime 소프트웨어가 인스턴스 이름과 계층 경로를 기반으로 파티션 이름을 자동으로 생성합니다. 이 기본 파티션 이름은 인스턴스마다 다를 수 있습니다.
  4. 기본 개정판 컴파일에서 완성된 정적 영역을 내보내려면 최종 내보내기 이후 항목에서 root_partition 항목을 두 번 클릭합니다. File 열을 선택하고 깜박이는_led_static을 입력합니다. gdb.

디자인 파티션 창에서 최종 최종 스냅샷 내보내기intel-750856-Agilex-FPGA-개발-보드-FIG-1 (4)깜박이는_led.qsf에 재구성 가능한 디자인 파티션에 해당하는 다음 할당이 포함되어 있는지 확인하십시오.intel-750856-Agilex-FPGA-개발-보드-FIG-1 (5)

관련 정보
Intel Quartus Prime Pro Edition 사용자 가이드의 "디자인 파티션 생성": 부분 재구성

PR 파티션에 대한 배치 및 라우팅 영역 할당
생성하는 모든 기본 개정에 대해 PR 디자인 흐름은 해당 페르소나 코어를 PR 파티션 영역에 배치합니다. 기본 개정에 대한 장치 평면도에서 PR 영역을 찾아 할당하려면:

  1. 프로젝트 네비게이터에서 u_blinking_led 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 논리 잠금 영역 ➤ 새 논리 잠금 영역 생성을 클릭합니다. 해당 영역은 논리 잠금 영역 창에 나타납니다.
  2. 배치 영역은 깜박이는_led 로직을 포함해야 합니다. Chip Planner에서 노드를 찾아 배치 영역을 선택합니다. 논리 잠금 영역 창에서 u_blinking_led 영역 이름을 마우스 오른쪽 버튼으로 클릭하고

노드를 찾습니다 ➤ Chip Planner에서 찾습니다. u_blinking_led 영역은 색상으로 구분됩니다.

Blinking_led에 대한 칩 플래너 노드 위치intel-750856-Agilex-FPGA-개발-보드-FIG-1 (6)

  1. 논리 잠금 영역 창에서 원점 열에 배치 영역 좌표를 지정합니다. 원점은 영역의 왼쪽 아래 모서리에 해당합니다. 예를 들어amp즉, (X1 Y1) 좌표를 (163 4)로 배치 영역을 설정하려면 원점을 X163_Y4로 지정합니다. Intel Quartus Prime 소프트웨어는 사용자가 지정한 높이와 너비를 기준으로 배치 영역의 (X2 Y2) 좌표(오른쪽 상단)를 자동으로 계산합니다.
    • 메모: 이 튜토리얼에서는 (X1 Y1) 좌표 – (163 4)를 사용하고 배치 영역에 높이와 너비 20을 사용합니다. 배치 영역에 대한 값을 정의합니다. 영역이 깜박이는_led 논리를 포함하는지 확인하세요.
  2. 예약 및 코어 전용 옵션을 활성화합니다.
  3. 라우팅 영역 옵션을 두 번 클릭합니다. 논리 잠금 라우팅 영역 설정 대화 상자가 나타납니다.
  4. 라우팅 유형으로 확장으로 고정을 선택합니다. 이 옵션을 선택하면 확장 길이가 자동으로 2로 할당됩니다.
    • 메모: 엔진이 다른 페르소나를 라우팅할 때 피터에게 추가 유연성을 제공하려면 라우팅 영역이 배치 영역보다 커야 합니다.

논리 잠금 영역 창intel-750856-Agilex-FPGA-개발-보드-FIG-1 (7)blinking_led.qsf에 평면도에 해당하는 다음 할당이 포함되어 있는지 확인하십시오.intel-750856-Agilex-FPGA-개발-보드-FIG-1 (8)intel-750856-Agilex-FPGA-개발-보드-FIG-1 (9)

관련 정보
Intel Quartus Prime Pro Edition 사용자 가이드: 부분 재구성의 "부분 재구성 설계 평면도"

부분 재구성 외부 구성 컨트롤러 Intel FPGA IP 추가
부분 재구성 외부 구성 컨트롤러 Intel FPGA IP는 Intel Agilex PR 제어 블록과 인터페이스하여 비트스트림 소스를 관리합니다. 외부 구성을 구현하려면 이 IP를 설계에 추가해야 합니다. 부분 재구성 외부 구성 컨트롤러를 추가하려면 다음 단계를 따르세요.
프로젝트에 대한 Intel FPGA IP:

  1. IP 카탈로그 검색 필드(도구 ➤ IP 카탈로그)에 부분 재구성을 입력합니다.
  2. 부분 재구성 외부 구성 컨트롤러 Intel FPGA IP를 두 번 클릭합니다.
  3. IP 변형 생성 대화 상자에서 external_host_pr_ip를 입력합니다. File 이름을 지정한 다음 만들기를 클릭합니다. 매개변수 편집기가 나타납니다.
  4. 사용 중인 인터페이스 활성화 매개변수에 대해 비활성화(기본 설정)를 선택합니다. 이 신호를 사용해야 하는 경우 설정을 활성화로 전환할 수 있습니다.

매개변수 편집기에서 사용 중인 인터페이스 매개변수 활성화intel-750856-Agilex-FPGA-개발-보드-FIG-1 (10)

  1. 딸깍 하는 소리 File ➤ 시스템을 생성하지 않고 매개변수 편집기를 저장하고 종료합니다. 매개변수 편집기는 external_host_pr_ip.ip IP 변형을 생성합니다. file 그리고 추가한다 file 깜박이는_led 프로젝트에. AN 991: 구성 핀을 통한 부분 재구성(외부 호스트) 참조 설계 750856 | 2022.11.14 AN 991:
    • 메모:
    • a. external_host_pr_ip.ip를 복사하는 경우 file pr 디렉토리에서 깜박이는_led.qsf를 수동으로 편집하십시오. file 다음 줄을 포함하려면: set_global_location -name IP_FILE pr_ip.ip
    • b. IP_를 배치하세요.FILE SDC_ 이후 할당FILE 깜박이는_led.qsf의 할당(blinking_led.dc) file. 이 순서는 부분 재구성 컨트롤러 IP 코어의 적절한 제한을 보장합니다.
    • 메모: 시계를 감지하려면 .sdc file PR IP의 경우 IP 코어가 사용하는 시계를 생성하는 .sdc를 따라야 합니다. .ip를 확인하여 이 주문을 용이하게 합니다. file PR IP 코어의 경우 .ip 뒤에 나타납니다. files 또는 .sdc file.qsf에서 이러한 시계를 정의하는 데 사용하는 것입니다. file 귀하의 Intel Quartus Prime 프로젝트 개정판에 대한 정보입니다. 자세한 내용은 부분 재구성 IP 솔루션 사용 설명서를 참조하세요.

최상위 디자인 업데이트

top.sv를 업데이트하려면 file PR_IP 인스턴스를 사용하여:

  1. external_host_pr_ip 인스턴스를 최상위 디자인에 추가하려면 top.sv에서 다음 코드 블록의 주석 처리를 제거하세요. file:intel-750856-Agilex-FPGA-개발-보드-FIG-1 (11)

페르소나 정의
이 참조 디자인은 단일 PR 파티션에 대해 세 가지 별도의 페르소나를 정의합니다. 프로젝트에 페르소나를 정의하고 포함하려면:

  1. 세 개의 SystemVerilog 생성 files, 깜박이는_led.sv, 깜박이는_led_slow.sv 및 깜박이는_led_empty.sv 세 가지 페르소나에 대한 작업 디렉터리에 있습니다.

참조 디자인 페르소나intel-750856-Agilex-FPGA-개발-보드-FIG-1 (12) intel-750856-Agilex-FPGA-개발-보드-FIG-1 (13)

메모:

  • 깜박이는_led.sv는 이미 다음의 일부로 사용 가능합니다. fileflat/ 하위 디렉토리에서 복사합니다. 이것을 간단히 재사용할 수 있습니다. file.
  • SystemVerilog를 생성하는 경우 fileIntel Quartus Prime Text Editor에서 추가 기능을 비활성화합니다. file 현재 프로젝트 옵션으로 저장할 때 files.

개정 작성

PR 디자인 흐름은 Intel Quartus Prime 소프트웨어의 프로젝트 개정 기능을 사용합니다. 초기 디자인은 FPGA의 정적 영역 경계와 재구성 가능 영역을 정의하는 기본 개정판입니다. 기본 개정에서 여러 개정을 생성합니다. 이러한 개정판에는 PR 지역에 대한 다양한 구현이 포함되어 있습니다. 그러나 모든 PR 구현 개정은 기본 개정의 동일한 최상위 배치 및 라우팅 결과를 사용합니다. PR 디자인을 컴파일하려면 각 페르소나에 대한 PR 구현 개정을 생성해야 합니다. 또한 각 개정에 대해 개정 유형을 할당해야 합니다. 사용 가능한 개정 유형은 다음과 같습니다.

  • 부분적 재구성 – 기본
  • 부분 재구성 – 페르소나 구현

다음 표에는 각 개정의 개정 이름과 개정 유형이 나열되어 있습니다.

개정 이름 및 유형

개정 이름 개정 유형
깜박이는_led.qsf 부분적 재구성 – 기본
깜박이는_led_default.qsf 부분 재구성 – 페르소나 구현
깜박이는_led_slow.qsf 부분 재구성 – 페르소나 구현
깜박이는_led_empty.qsf 부분 재구성 – 페르소나 구현

기본 개정 유형 설정

  1. 프로젝트 ➤ 수정본을 클릭합니다.
  2. 개정 이름에서 깜박이는_led 개정을 선택한 다음 현재로 설정을 클릭합니다.
  3. 적용을 클릭합니다. 깜박이는_led 개정이 현재 개정으로 표시됩니다.
  4. 깜박이는 LED의 개정 유형을 설정하려면 할당 ➤ 설정 ➤ 일반을 클릭합니다.
  5. 개정 유형으로 부분 재구성 - 기본을 선택한 다음 확인을 클릭합니다.
  6. 이제blinking_led.qsf에 다음 할당이 포함되어 있는지 확인하십시오. ##blinking_led.qsf set_global_locationment -name REVISION_TYPE PR_BASE

구현 개정 생성

  1. 개정판 대화 상자를 열려면 프로젝트 ➤ 개정판을 클릭합니다.
  2. 새 개정판을 생성하려면 < >.
  3. 개정 이름에서 깜박이는_led_default를 지정하고 개정 기준으로 깜박이는_led를 선택합니다.
  4. 개정 유형으로 부분 재구성 – 페르소나 구현을 선택합니다.

개정 작성intel-750856-Agilex-FPGA-개발-보드-FIG-1 (14)

  1. 마찬가지로, 깜박이는_led_slow 및 깜박이는_led_empty 개정에 대한 개정 유형을 설정합니다.
  2. 각 .qsf가 file 이제 다음 할당이 포함됩니다. set_global_locationment -name REVISION_TYPE PR_IMPL set_instance_locationment -name ENTITY_REBINDING \ place_holder -to u_blinking_led 여기서 place_holder는 새로 생성된 PR 구현 개정의 기본 엔터티 이름입니다.

프로젝트 개정intel-750856-Agilex-FPGA-개발-보드-FIG-1 (16)

기본 개정 컴파일

  1. 기본 개정판을 컴파일하려면 처리 ➤ 컴파일 시작을 클릭합니다. 또는 다음 명령을 사용하여 기본 개정판을 컴파일합니다. quartus_sh –flow compile 깜박이는_led -c 깜박이는_led
  2. 비트스트림 검사 file출력에서 생성되는 s_files 디렉토리.

생성됨 Files

이름 유형 설명
깜박이는_led.sof 기본 프로그래밍 file 전체 칩 기본 구성에 사용됩니다.
깜박이는_led.pr_partition.rbf PR 비트스트림 file 기본 페르소나의 경우 기본 페르소나의 부분 재구성에 사용됩니다.
깜박이는_led_static.qdb .qdb 데이터베이스 file 최종 데이터베이스 file 정적 영역을 가져오는 데 사용됩니다.

관련 정보

  • Intel Quartus Prime Pro Edition 사용자 가이드: 부분 재구성의 "부분 재구성 설계 평면도"
  • Intel Quartus Prime Pro Edition 사용자 가이드: 부분 재구성의 "평면도 제약 조건을 점진적으로 적용"

PR 구현 개정 준비
장치 프로그래밍을 위한 PR 비트스트림을 컴파일하고 생성하려면 먼저 PR 구현 개정을 준비해야 합니다. 이 설정에는 정적 영역 .qdb 추가가 포함됩니다. file 소스로 file 각 구현 개정에 대해. 또한 PR 지역의 해당 엔터티를 지정해야 합니다.

  1. 현재 개정판을 설정하려면 프로젝트 ➤ 개정판을 클릭하고 개정 이름으로 깜박이는_led_default를 선택한 다음 현재로 설정을 클릭합니다.
  2. 각 구현 개정의 올바른 소스를 확인하려면 프로젝트 ➤ 추가/제거를 클릭하세요. File프로젝트에 있습니다. 깜박이는_led.sv file 에 나타납니다 file 목록.

Files 페이지intel-750856-Agilex-FPGA-개발-보드-FIG-1 (17)

  1. 다른 구현 개정 소스를 확인하려면 1~2단계를 반복하세요. files:
구현 개정 이름 원천 File
깜박임_led_기본 깜박이는_led.sv
깜박이는_led_empty 깜박이는_led_empty.sv
깜박임_LED_느림 깜박이는_led_slow.sv
  1. .qdb를 확인하려면 file 루트 파티션과 연결된 경우 할당 ➤ 디자인 파티션 창을 클릭합니다. 파티션 데이터베이스를 확인하세요. File blinking_led_static.qdb를 지정합니다. file, 또는 파티션 데이터베이스를 두 번 클릭합니다. File 이를 지정하는 셀 file. 또는 다음 명령을 사용하여 이를 할당합니다. file: 세트_인스턴스_할당 -이름 QDB_FILE_PARTITION \ 깜박임_led_static.qdb -to |
  2. 엔터티 리바인딩 셀에서 구현 개정에서 변경하는 각 PR 파티션의 엔터티 이름을 지정합니다. 깜박이는_led_default 구현 개정의 경우 엔터티 이름은 깜박이는_led입니다. 이 자습서에서는 기본 개정 컴파일의 u_blinking_led 인스턴스를 새 깜박임_led 엔터티로 덮어씁니다.

메모: 자리 표시자 엔터티 리바인딩 할당이 구현 개정에 자동으로 추가됩니다. 그러나 할당의 기본 엔터티 이름을 디자인에 적합한 엔터티 이름으로 변경해야 합니다.

구현 개정 이름 엔티티 리바인딩
깜박임_led_기본 깜박임_LED
깜박임_LED_느림 깜박임_LED_느림
깜박이는_led_empty 깜박이는_led_empty

엔터티 리바인딩intel-750856-Agilex-FPGA-개발-보드-FIG-1 (18)

  1. 디자인을 컴파일하려면 처리 ➤ 컴파일 시작을 클릭합니다. 또는 다음 명령을 사용하여 이 프로젝트를 컴파일합니다. quartus_sh –flow compile 깜박이는_led –c 깜박이는_led_default
  2. 깜박이는_led_slow 및 깜박이는_led_empty 개정을 준비하려면 위 단계를 반복하십시오. quartus_sh –flow compile 깜박이는_led –c 깜박이는_led_slow quartus_sh –flow compile 깜박이는_led –c 깜박이는_led_empt

메모: PR 구현 컴파일 중에 적용하려는 Fitter 관련 설정을 지정할 수 있습니다. Fitter 특정 설정은 가져온 정적 영역에 영향을 주지 않고 페르소나의 적합성에만 영향을 미칩니다.

보드 프로그래밍
이 튜토리얼에서는 호스트 시스템의 PCIe* 슬롯 외부 벤치에 있는 Intel Agilex F 시리즈 FPGA 개발 보드를 사용합니다. 보드를 프로그래밍하기 전에 다음 단계를 완료했는지 확인하십시오.

  1. Intel Agilex F-시리즈 FPGA 개발 보드에 전원 공급 장치를 연결합니다.
  2. PC USB 포트와 개발 보드의 Intel FPGA 다운로드 케이블 포트 사이에 Intel FPGA 다운로드 케이블을 연결합니다.

Intel Agilex F-시리즈 FPGA 개발 보드에서 설계를 실행하려면:

  1. Intel Quartus Prime 소프트웨어를 열고 도구 ➤ 프로그래머를 클릭합니다.
  2. 프로그래머에서 하드웨어 설정을 클릭하고 USB-Blaster를 선택합니다.
  3. 자동 감지를 클릭하고 AGFB014R24AR0 장치를 선택합니다.
  4. 확인을 클릭하세요. Intel Quartus Prime 소프트웨어는 보드에 있는 XNUMX개의 FPGA 장치로 프로그래머를 감지하고 업데이트합니다.
  5. AGFB014R24AR0 장치를 선택하고 변경을 클릭합니다. File 그리고blinking_led_default.sof를 로드하세요. file.
  6. 깜박이는_led_default.sof에 대한 프로그램/구성 활성화 file.
  7. 시작을 클릭하고 진행률 표시줄이 100%에 도달할 때까지 기다립니다.
  8. 원래의 평면 디자인과 동일한 빈도로 보드의 LED가 깜박이는 것을 관찰하십시오.
  9. PR 영역만 프로그래밍하려면 깜박이는_led_default.sof를 마우스 오른쪽 버튼으로 클릭하세요. file 프로그래머에서 PR 프로그래밍 추가를 클릭합니다. File.
  10. 깜박이는_led_slow.pr_partition.rbf를 선택합니다. file.
  11. 깜박이는_led_default.sof에 대한 프로그램/구성 비활성화 file.
  12. blinking_led_slow.pr_partition.rbf에 대한 프로그램/구성 활성화 file 그리고 시작을 클릭하세요. 보드에서 LED[0]과 LED[1]이 계속 깜박이는 것을 관찰하세요. 진행 표시줄이 100%에 도달하면 LED[2]와 LED[3]가 더 느리게 깜박입니다.
  13. PR 영역을 다시 프로그래밍하려면 .rbf를 마우스 오른쪽 버튼으로 클릭하세요. file 프로그래머에서 PR 프로그래밍 변경을 클릭하세요. File.
  14. .rbf를 선택하세요. file다른 두 페르소나가 보드의 동작을 관찰하도록 합니다. 깜박이는_led_default.rbf 로드 file LED가 특정 빈도로 깜박이게 하고 깜박이는_led_empty.rbf를 로드합니다. file LED가 계속 켜져 있도록 합니다.

Intel Agilex F-시리즈 FPGA 개발 보드 프로그래밍intel-750856-Agilex-FPGA-개발-보드-FIG-1 (19)하드웨어 테스트 흐름

다음 시퀀스에서는 참조 설계 하드웨어 테스트 흐름을 설명합니다.
Intel Agilex 장치 외부 호스트 하드웨어 설정intel-750856-Agilex-FPGA-개발-보드-FIG-1 (20)

도우미 FPGA 프로그래밍(외부 호스트)
다음 순서에서는 PR 프로세스 외부 호스트로 작동하는 도우미 FPGA 프로그래밍을 설명합니다.

  1. 선택한 모드(x8, x16 또는 x32)에 해당하는 Avalon 스트리밍 인터페이스 설정을 지정합니다.
  2. Intel Quartus Prime Programmer 및 연결된 구성 케이블을 사용하여 도우미 FPGA를 프로그래밍하여 플랫폼을 초기화합니다.
  3. 도우미 FPGA를 사용하여 CONF_DONE 및 AVST_READY 신호를 읽습니다. CONF_DONE은 0, AVST_READY는 1이어야 합니다. 이 핀의 로직 하이는 SDM이 외부 호스트로부터 데이터를 받아들일 준비가 되었음을 나타냅니다. 이 출력은 SDM I/O의 일부입니다.

메모: CONF_DONE 핀은 비트스트림 전송이 성공했음을 외부 호스트에 알립니다. 이러한 신호는 전체 칩 구성 프로세스를 모니터링하는 데에만 사용하십시오. 이 핀에 대한 자세한 내용은 Intel Agilex 구성 사용자 가이드를 참조하십시오.

외부 호스트를 통해 풀 칩 SOF로 DUT FPGA 프로그래밍 다음 순서에서는 풀 칩 SRAM 개체로 DUT FPGA를 프로그래밍하는 방법을 설명합니다. File (.sof) 호스트 Avalon 스트리밍 인터페이스 사용:

  1. 전체 칩 비트스트림을 도우미 FPGA(외부 호스트)의 DDR4 외부 메모리에 씁니다.
  2. Avalon 스트리밍 인터페이스(x8, x16, x32)를 사용하여 전체 칩 .sof로 DUT FPGA를 구성합니다.
  3. 상태 DUT FPGA 구성 신호를 읽습니다. CONF_DONE은 1이어야 하고, AVST_READY는 0이어야 합니다.

타이밍 사양: 부분 재구성 외부 컨트롤러 Intel FPGA IPintel-750856-Agilex-FPGA-개발-보드-FIG-1 (21)

외부 호스트를 통해 첫 번째 페르소나로 DUT FPGA 프로그래밍

  1. DUT FPGA의 대상 PR 영역에 동결을 적용합니다.
  2. Intel Quartus Prime System Console을 사용하여 pr_request를 어설션하여 부분 재구성을 시작합니다. AVST_READY는 1이어야 합니다.
  3. 첫 번째 PR 페르소나 비트스트림을 도우미 FPGA(외부 호스트)의 DDR4 외부 메모리에 씁니다.
  4. Avalon 스트리밍 인터페이스(x8, x16, x32)를 사용하여 첫 번째 페르소나 비트스트림으로 DUT FPGA를 재구성합니다.
  5. PR 상태를 모니터링하려면 도구 ➤ 시스템 콘솔을 클릭하여 시스템 콘솔을 시작합니다. 시스템 콘솔에서 PR 상태를 모니터링합니다.
    • pr_error는 2입니다. 재구성이 진행 중입니다.
    • pr_error는 3입니다. 재구성이 완료되었습니다.
  6. DUT FPGA의 PR 영역에 고정 해제를 적용합니다.

메모: PR 동작 중 버전 확인, 권한 확인 실패 등 오류가 발생하면 PR 동작이 종료된다.

관련 정보

  • Intel Agilex 구성 사용자 가이드
  • Intel Quartus Prime Pro Edition 사용자 가이드: 디버그 도구

AN 991에 대한 문서 개정 내역: Intel Agilex F-시리즈 FPGA 개발 보드용 구성 핀(외부 호스트) 참조 설계를 통한 부분 재구성

문서 버전 인텔 Quatus 프라임 버전 변화
2022.11.14 22.3 • 초판.

AN 991: 구성 핀을 통한 부분 재구성(외부 호스트) 참조 설계: Intel Agilex F-시리즈 FPGA 개발 보드용

자주 묻는 질문에 대한 답변:

  • Q 구성 핀을 통한 PR이란 무엇입니까?
  • A 3페이지의 외부 호스트 구성
  • Q 이 참조 디자인에는 무엇이 필요합니까?
  • A 6페이지의 참조 설계 요구 사항
  • Q 레퍼런스 디자인은 어디서 구할 수 있나요?
  • A 6페이지의 참조 설계 요구 사항
  • Q 외부 구성을 통해 PR을 어떻게 수행합니까?
  • A 6페이지의 참조 설계 연습
  • Q PR 페르소나란 무엇입니까?
  • A 11페이지의 페르소나 정의
  • Q 보드를 어떻게 프로그래밍하나요?
  • A 보드 프로그래밍(17페이지)
  • Q PR의 알려진 문제와 제한 사항은 무엇입니까?
  • A 인텔 FPGA 지원 포럼: PR
  • Q PR에 대한 교육을 받았나요?
  • A 인텔 FPGA 기술 교육 카탈로그

온라인 버전 피드백 보내기

  • ID: 750856
  • 버전: 2022.11.14

문서 / 리소스

인텔 750856 Agilex FPGA 개발 보드 [PDF 파일] 사용자 가이드
750856, 750857, 750856 Agilex FPGA 개발 보드, Agilex FPGA 개발 보드, FPGA 개발 보드, 개발 보드, 보드

참고문헌

댓글을 남겨주세요

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