intel UG-01173 Fault Injection FPGA IP 코어
Fault Injection Intel® FPGA IP Core 사용자 가이드
Fault Injection Intel® FPGA IP 코어는 FPGA 장치의 구성 RAM(CRAM)에 오류를 주입합니다. 이 절차는 단일 이벤트 업셋(SEU)으로 인해 정상 작동 중에 발생할 수 있는 소프트 오류를 시뮬레이션합니다. SEU는 드문 이벤트이므로 테스트하기 어렵습니다. Fault Injection IP 코어를 설계에 인스턴스화하고 장치를 구성한 후 Intel Quartus® Prime Fault Injection Debugger 도구를 사용하여 FPGA에서 의도적인 오류를 유도하여 이러한 오류에 대한 시스템의 응답을 테스트할 수 있습니다.
관련 정보
- 단일 이벤트의 혼란
- AN 737: Intel Arria 10 장치에서의 SEU 감지 및 복구
특징
- 단일 이벤트 기능 인터럽트(SEFI)를 완화하기 위한 시스템 대응을 평가할 수 있습니다.
- SEFI 특성화를 사내에서 수행할 수 있으므로 전체 시스템 빔 테스트가 필요 없습니다. 대신 빔 테스트를 장치 수준에서 시간(FIT)/Mb 측정 실패로 제한할 수 있습니다.
- 설계 아키텍처와 관련된 SEFI 특성화에 따라 FIT 비율을 조정합니다. 전체 장치에 걸쳐 오류 주입을 무작위로 분산하거나 특정 기능 영역으로 제한하여 테스트 속도를 높일 수 있습니다.
- 단일 이벤트 오류(SEU)로 인한 중단을 줄이기 위해 설계를 최적화하세요.
장치 지원
Fault Injection IP 코어는 Intel Arria® 10, Intel Cyclone® 10 GX 및 Stratix® V 제품군 장치를 지원합니다. Cyclone V 제품군은 주문 코드에 -SC 접미사가 있는 장치에서 Fault Injection을 지원합니다. -SC 접미사 Cyclone V 장치에 대한 주문 정보는 현지 영업 담당자에게 문의하십시오.
자원 활용도 및 성능
Intel Quartus Prime 소프트웨어는 Stratix V A7 FPGA에 대한 다음 리소스 추정치를 생성합니다. 다른 장치에 대한 결과는 비슷합니다.
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
결함 주입 IP 코어 FPGA 성능 및 리소스 활용
장치 | 의연금 | 논리 레지스터 | M20K | |
주요한 | 반성 | |||
스트라틱스 V A7 | 3,821 | 5,179 | 0 | 0 |
Intel Quartus Prime 소프트웨어 설치에는 Intel FPGA IP 라이브러리가 포함되어 있습니다. 이 라이브러리는 추가 라이센스 없이도 프로덕션 용도로 사용할 수 있는 유용한 IP 코어를 많이 제공합니다. 일부 Intel FPGA IP 코어는 프로덕션 용도로 사용하려면 별도의 라이센스를 구매해야 합니다. Intel FPGA IP 평가 모드를 사용하면 전체 프로덕션 IP 코어 라이센스 구매를 결정하기 전에 라이센스가 부여된 Intel FPGA IP 코어를 시뮬레이션 및 하드웨어에서 평가할 수 있습니다. 하드웨어 테스트를 완료하고 프로덕션에서 IP를 사용할 준비가 된 후에만 라이선스가 부여된 인텔 IP 코어에 대한 전체 프로덕션 라이선스를 구입하면 됩니다. Intel Quartus Prime 소프트웨어는 기본적으로 다음 위치에 IP 코어를 설치합니다.
IP Core 설치 경로
IP Core 설치 위치
위치 | 소프트웨어 | 플랫폼 |
:\intelFPGA_pro\quartus\ip\altera | 인텔 Quatus 프라임 프로 에디션 | Windows * |
:\intelFPGA\quartus\ip\altera | 인텔 Quatus 프라임 표준 에디션 | 윈도우 |
:/intelFPGA_pro/quartus/ip/altera | 인텔 Quatus 프라임 프로 에디션 | Linux * |
:/인텔FPGA/쿼터스/ip/알테라 | 인텔 Quatus 프라임 표준 에디션 | 리눅스 |
메모: Intel Quartus Prime 소프트웨어는 설치 경로의 공백을 지원하지 않습니다.
IP 코어 사용자 정의 및 생성
다양한 애플리케이션을 지원하도록 IP 코어를 사용자 정의할 수 있습니다. Intel Quartus Prime IP 카탈로그 및 매개변수 편집기를 사용하면 IP 코어 포트, 기능 및 출력을 빠르게 선택하고 구성할 수 있습니다. files.
IP 카탈로그 및 매개변수 편집기
IP 카탈로그는 Intel FPGA IP 및 IP 카탈로그 검색 경로에 추가하는 기타 IP를 포함하여 프로젝트에 사용할 수 있는 IP 코어를 표시합니다. IP 카탈로그의 다음 기능을 사용하여 IP 코어를 찾고 사용자 정의합니다.
- 활성 장치 제품군에 대해 IP를 표시하거나 모든 장치 제품군에 대해 IP를 표시하도록 IP 카탈로그를 필터링합니다. 열려 있는 프로젝트가 없는 경우 IP 카탈로그에서 장치 제품군을 선택합니다.
- 검색 필드에 입력하여 IP 카탈로그에서 전체 또는 부분 IP 코어 이름을 찾습니다.
- IP 카탈로그에서 IP 코어 이름을 마우스 오른쪽 버튼으로 클릭하여 지원되는 장치에 대한 세부 정보를 표시하고, IP 코어의 설치 폴더를 열고, IP 문서에 대한 링크를 표시합니다.
- 딸깍 하는 소리 검색 파트너 IP 정보에 접근하기 위한 파트너 IP web.
매개변수 편집기는 IP 변형 이름, 선택적 포트 및 출력을 지정하라는 메시지를 표시합니다. file 세대 옵션. 매개변수 편집기는 최상위 Intel Quartus Prime IP를 생성합니다. file (.ip) Intel Quartus Prime Pro Edition 프로젝트의 IP 변형입니다. 매개변수 편집기는 최상위 Quartus IP를 생성합니다. file (.qip) Intel Quartus Prime Standard Edition 프로젝트의 IP 변형입니다. 이것들 files는 프로젝트의 IP 변형을 나타내며 매개변수화 정보를 저장합니다.
IP 매개변수 편집기(Intel Quartus Prime Standard Edition)
IP 코어 생성 출력(Intel Quartus Prime Pro Edition)
Intel Quartus Prime 소프트웨어는 다음과 같은 출력을 생성합니다. file 플랫폼 디자이너 시스템의 일부가 아닌 개별 IP 코어의 구조입니다.
개별 IP 코어 생성 출력(Intel Quartus Prime Pro Edition)
- IP 코어 변형에 대해 지원 및 활성화된 경우.
산출 FileIntel FPGA IP 세대의
File 이름 | 설명 |
<your_ip>.ip | 최상위 IP 변형 file 프로젝트의 IP 코어 매개변수화가 포함되어 있습니다. IP 변형이 플랫폼 디자이너 시스템의 일부인 경우 매개변수 편집기는 .qsys도 생성합니다. file. |
<your_ip>.cmp | VHDL 구성 요소 선언(.cmp) file 텍스트입니다 file VHDL 디자인에서 사용하는 로컬 일반 및 포트 정의가 포함된 files. |
<your_ip>_세대.rpt | IP 또는 플랫폼 설계자 생성 로그 file. IP 생성 중 메시지 요약을 표시합니다. |
계속되는… |
File 이름 | 설명 |
<your_ip>.qgsimc(플랫폼 디자이너 시스템에만 해당) | 시뮬레이션 캐싱 file .qsys와 .ip를 비교합니다. files 플랫폼 디자이너 시스템 및 IP 코어의 현재 매개변수화를 사용합니다. 이 비교를 통해 플랫폼 디자이너가 HDL 재생성을 건너뛸 수 있는지 여부가 결정됩니다. |
<your_ip>.qgsynth(플랫폼 디자이너 시스템에만 해당) | 합성 캐싱 file .qsys와 .ip를 비교합니다. files 플랫폼 디자이너 시스템 및 IP 코어의 현재 매개변수화를 사용합니다. 이 비교를 통해 플랫폼 디자이너가 HDL 재생성을 건너뛸 수 있는지 여부가 결정됩니다. |
<your_ip>.qip | IP 구성 요소를 통합하고 컴파일하기 위한 모든 정보를 포함합니다. |
<your_ip>.csv | IP 구성 요소의 업그레이드 상태에 대한 정보를 포함합니다. |
.bsf | 블록 다이어그램에서 사용하기 위한 IP 변형의 기호 표현 Files(.bdf). |
<your_ip>.spd | 입력 file ip-make-simscript는 시뮬레이션 스크립트를 생성하는 데 필요합니다. .spd file 의 목록을 포함합니다. file초기화하는 메모리에 대한 정보와 함께 시뮬레이션을 위해 생성합니다. |
<your_ip>.ppf | 핀 플래너 File (.ppf)는 Pin Planner와 함께 사용하기 위해 생성한 IP 구성 요소에 대한 포트 및 노드 할당을 저장합니다. |
<your_ip>_bb.v | Verilog 블랙박스(_bb.v) 사용 file 블랙박스로 사용하기 위한 빈 모듈 선언으로. |
<your_ip>_inst.v 또는 _inst.vhd | HDL 전ample 인스턴스화 템플릿. 이 내용을 복사하여 붙여넣기 file 당신의 HDL로 file IP 변형을 인스턴스화합니다. |
<your_ip>.regmap | IP에 등록 정보가 포함된 경우 Intel Quartus Prime 소프트웨어는 .regmap을 생성합니다. file. .regmap file 마스터 및 슬레이브 인터페이스의 레지스터 맵 정보를 설명합니다. 이것 file 보완하다
.sopcinfo file 시스템에 대한 더 자세한 레지스터 정보를 제공함으로써. 이것 file 레지스터 표시 활성화 view및 System Console에서 사용자 정의 가능한 통계. |
<your_ip>.svd | HPS 시스템 디버그 도구에서 다음을 수행할 수 있습니다. view 플랫폼 디자이너 시스템 내에서 HPS에 연결되는 주변 장치의 레지스터 맵입니다.
합성 중에 Intel Quartus Prime 소프트웨어는 .svd를 저장합니다. file.sof에서 시스템 콘솔 마스터가 볼 수 있는 슬레이브 인터페이스용 file 디버그 세션에서. 시스템 콘솔은 플랫폼 디자이너가 레지스터 맵 정보를 쿼리하는 이 섹션을 읽습니다. 시스템 슬레이브의 경우 플랫폼 디자이너는 이름으로 레지스터에 액세스합니다. |
<your_ip>.v
<your_ip>.vhd |
고밀도지질단백질(HDL) file합성 또는 시뮬레이션을 위해 각 하위 모듈 또는 자식 IP 코어를 인스턴스화합니다. |
멘토르/ | 시뮬레이션을 설정하고 실행하기 위한 msim_setup.tcl 스크립트가 포함되어 있습니다. |
알덱/ | 시뮬레이션을 설정하고 실행하기 위한 스크립트 rivierapro_setup.tcl이 포함되어 있습니다. |
/시놉시스/vcs
/시놉시스/vcsmx |
시뮬레이션을 설정하고 실행하기 위한 쉘 스크립트 vcs_setup.sh가 포함되어 있습니다.
셸 스크립트 vcsmx_setup.sh 및 synopsys_sim.setup을 포함합니다. file 시뮬레이션을 설정하고 실행합니다. |
/운율 | 셸 스크립트 ncsim_setup.sh 및 기타 설정이 포함되어 있습니다. file시뮬레이션을 설정하고 실행합니다. |
/xcelium | 병렬 시뮬레이터 셸 스크립트 xcelium_setup.sh 및 기타 설정이 포함되어 있습니다. file시뮬레이션을 설정하고 실행합니다. |
/하위 모듈 | HDL 함유 files는 IP 코어 하위 모듈입니다. |
<IP 서브모듈>/ | 플랫폼 디자이너는 플랫폼 디자이너가 생성하는 각 IP 하위 모듈 디렉터리에 대해 /synth 및 /sim 하위 디렉터리를 생성합니다. |
기능 설명
Fault Injection IP 코어를 사용하면 설계자는 자체적으로 SEFI 특성화를 수행하고, SEFI 특성화에 따라 FIT 비율을 조정하고, SEU의 영향을 줄이기 위해 설계를 최적화할 수 있습니다.
단일 이벤트 업셋 완화
FPGA와 같은 통합 회로 및 프로그래밍 가능 논리 장치는 SEU에 취약합니다. SEU는 알파 입자와 우주선의 중성자라는 두 가지 주요 소스에 의해 발생하는 무작위적이고 비파괴적인 이벤트입니다. 방사선은 논리 레지스터, 임베디드 메모리 비트 또는 구성 RAM(CRAM) 비트가 상태를 뒤집도록 만들어 예기치 않은 장치 작동을 초래할 수 있습니다. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V 및 최신 장치에는 다음과 같은 CRAM 기능이 있습니다.
- 오류 감지 순환 중복 검사(EDCRC)
- 잘못된 CRAM(스크러빙)의 자동 수정
- CRAM 조건을 악화시키는 능력(오류 주입)
Intel FPGA 장치의 SEU 완화에 대한 자세한 내용은 해당 장치 핸드북의 SEU 완화 장을 참조하세요.
오류 주입 IP 핀 설명
Fault Injection IP 코어에는 다음과 같은 I/O 핀이 포함됩니다.
결함 주입 IP 코어 I/O 핀
핀 이름 | 핀 방향 | 핀 설명 |
crcererror_pin | 입력 | 오류 메시지 레지스터 언로더 Intel FPGA IP(EMR 언로더 IP)에서 입력. 이 신호는 장치의 EDCRC에서 CRC 오류가 감지되었을 때 어서트됩니다. |
emr_데이터 | 입력 | 오류 메시지 레지스터(EMR) 내용. EMR 필드에 대한 해당 장치 핸드북을 참조하십시오.
이 입력은 Avalon 스트리밍 데이터 인터페이스 신호를 준수합니다. |
emr_valid | 입력 | emr_data 입력에 유효한 데이터가 포함되어 있음을 나타냅니다. 이는 Avalon Streaming 유효한 인터페이스 신호입니다. |
다시 놓기 | 입력 | 모듈 리셋 입력. 리셋은 Fault Injection Debugger에 의해 완전히 제어됩니다. |
오류 주입됨 | 산출 | J를 통해 명령된 대로 CRAM에 오류가 삽입되었음을 나타냅니다.TAG 인터페이스. 이 신호가 주장되는 시간의 길이는 J 설정에 따라 달라집니다.TAG TCK 및 제어 블록 신호. 일반적으로 시간은 TCK 신호의 약 20클럭 사이클입니다. |
오류_제거됨 | 산출 | J를 통해 명령된 대로 장치 스크러빙이 완료되었음을 나타냅니다.TAG 인터페이스. 이 신호가 주장되는 시간의 길이는 J 설정에 따라 달라집니다.TAG TCK 및 제어 블록 신호. 일반적으로 시간은 TCK 신호의 약 20클럭 사이클입니다. |
인토스 | 산출 | 선택 출력. Fault Injection IP는 이 클록을 사용합니다. 예를 들어,ample, EMR_unloader 블록을 클록합니다. |
결함 주입 IP 핀 다이어그램
Fault Injection Debugger 및 Fault Injection IP Core 사용
Fault Injection Debugger는 Fault Injection IP 코어와 함께 작동합니다. 먼저 설계에서 IP 코어를 인스턴스화하고 컴파일하고 결과 구성을 다운로드합니다. file 장치에 넣습니다. 그런 다음 Intel Quartus Prime 소프트웨어 내부에서 또는 명령줄에서 Fault Injection Debugger를 실행하여 소프트 오류를 시뮬레이션합니다.
- 오류 주입 디버거를 사용하면 오류 주입 실험을 대화형으로 또는 일괄 명령으로 실행할 수 있으며, 설계에서 오류 주입을 위한 논리적 영역을 지정할 수 있습니다.
- 명령줄 인터페이스는 스크립트를 통해 디버거를 실행하는 데 유용합니다.
메모
Fault Injection Debugger는 J를 통해 Fault Injection IP 코어와 통신합니다.TAG 인터페이스. Fault Injection IP는 J에서 명령을 수락합니다.TAG 인터페이스 및 보고서 상태를 J를 통해 다시 표시합니다.TAG 인터페이스. Fault Injection IP 코어는 장치의 소프트 로직으로 구현되므로 설계에서 이 로직 사용을 고려해야 합니다. 한 가지 방법은 실험실에서 SEU에 대한 설계의 응답을 특성화한 다음 최종 배포된 설계에서 IP 코어를 생략하는 것입니다.
다음 IP 코어와 함께 Fault Injection IP 코어를 사용합니다.
- Intel FPGA 장치의 강화된 오류 감지 회로에서 데이터를 읽고 저장하는 오류 메시지 레지스터 언로더 IP 코어입니다.
- (선택 사항) 장치 작동 중에 단일 비트 오류 위치를 민감도 맵과 비교하여 소프트 오류가 장치에 영향을 미치는지 확인하는 고급 SEU 감지 Intel FPGA IP 코어입니다.
오류 주입 디버거 종료view 블록 다이어그램
참고사항:
-
Fault Injection IP는 대상 논리의 비트를 뒤집습니다.
-
Fault Injection Debugger와 Advanced SEU Detection IP는 동일한 EMR Unloader 인스턴스를 사용합니다.
-
고급 SEU 감지 IP 코어는 선택 사항입니다.
관련 정보
- SMH 소개 File13페이지
- 10페이지의 EMR Unloader IP Core에 관하여
- 11페이지의 Advanced SEU Detection IP Core에 관하여
Fault Injection IP 코어 인스턴스화
메모
Fault Injection IP 코어는 매개변수를 설정할 필요가 없습니다. IP 코어를 사용하려면 새 IP 인스턴스를 만들고 Platform Designer(Standard) 시스템에 포함하고 적절한 신호를 연결합니다. Fault Injection IP 코어는 EMR Unloader IP 코어와 함께 사용해야 합니다. Fault Injection 및 EMR Unloader IP 코어는 Platform Designer 및 IP Catalog에서 사용할 수 있습니다. 선택적으로 Verilog HDL, SystemVerilog 또는 VHDL을 사용하여 RTL 설계에 직접 인스턴스화할 수 있습니다.
EMR Unloader IP Core에 대하여
EMR 언로더 IP 코어는 EMR에 대한 인터페이스를 제공하며, 이는 장치의 EDCRC에 의해 지속적으로 업데이트되어 장치의 CRAM 비트 CRC에서 소프트 오류를 검사합니다.
ExampFault Injection IP Core 및 EMR Unloader IP Core를 포함한 플랫폼 디자이너 시스템
Example Fault Injection IP Core 및 EMR Unloader IP Core 블록 다이어그램
관련 정보
오류 메시지 레지스터 언로더 Intel FPGA IP Core 사용자 가이드
Advanced SEU Detection IP Core에 대하여
SEU 허용 오차가 설계 문제인 경우 Advanced SEU Detection(ASD) IP 코어를 사용합니다. EMR Unloader IP 코어를 ASD IP 코어와 함께 사용해야 합니다. 따라서 동일한 설계에서 ASD IP와 Fault Injection IP를 사용하는 경우 Avalon®-ST 스플리터 구성 요소를 통해 EMR Unloader 출력을 공유해야 합니다. 다음 그림은 Avalon-ST 스플리터가 EMR 콘텐츠를 ASD 및 Fault Injection IP 코어에 분배하는 Platform Designer 시스템을 보여줍니다.
동일한 플랫폼 디자이너 시스템에서 ASD 및 오류 주입 IP 사용
관련 정보
고급 SEU 감지 Intel FPGA IP Core 사용자 가이드
결함 주입 영역 정의
Sensitivity Map Header(.smh)를 사용하여 오류 주입을 위한 FPGA의 특정 영역을 정의할 수 있습니다. file. SMH file 장치 CRAM 비트의 좌표, 할당된 영역(ASD 영역) 및 중요도를 저장합니다. 설계 프로세스 동안 계층 구조를 사용합니다. tag지역을 생성하기 위해 ging을 실행합니다. 그런 다음 컴파일하는 동안 Intel Quartus Prime Assembler가 SMH를 생성합니다. file. Fault Injection Debugger는 SMH에서 정의한 특정 장치 영역에 대한 오류 주입을 제한합니다. file.
계층 수행 Tag깅
테스트할 FPGA 영역을 정의하려면 위치에 ASD 영역을 할당합니다. Design Partitions Window를 사용하여 디자인 계층의 모든 부분에 대해 ASD 영역 값을 지정할 수 있습니다.
- 할당 ➤ 파티션 창 디자인을 선택합니다.
- 헤더 행의 아무 곳이나 마우스 오른쪽 버튼을 클릭하고 ASD 영역을 켜면 ASD 영역 열이 표시됩니다(아직 표시되지 않은 경우).
- 파티션에 0~16 사이의 값을 입력하여 특정 ASD 지역에 할당하세요.
- ASD 영역 0은 장치의 사용되지 않는 부분에 예약되어 있습니다. 이 영역에 파티션을 할당하여 비중요로 지정할 수 있습니다.
- ASD 지역 1은 기본 지역입니다. ASD 지역 할당을 명시적으로 변경하지 않는 한, 장치의 모든 사용 부분은 이 지역에 할당됩니다.
SMH 소개 Files
SMH는 file 다음 정보가 포함되어 있습니다:
- 계층 구조를 사용하지 않는 경우 tag(즉, 설계 계층에 설계에 명시적인 ASD 지역 할당이 없는 경우) SMH file 모든 CRAM 비트를 나열하고 그것이 설계에 민감한지 여부를 나타냅니다.
- 계층구조를 수행한 경우 tagging 및 변경된 기본 ASD 지역 할당, SMH file 모든 CRAM 비트를 나열하고 ASD 영역에 할당합니다.
Fault Injection Debugger는 하나 이상의 지정된 영역에 대한 주입을 제한할 수 있습니다. 어셈블러가 SMH를 생성하도록 지시하려면 file:
- 할당 ➤ 장치 ➤ 장치 및 핀 옵션 ➤ 오류 감지 CRC를 선택합니다.
- SEU 민감도 맵 생성 켜기 file (.smh) 옵션.
Fault Injection 디버거 사용
메모
Fault Injection Debugger를 사용하려면 J를 통해 장치에 연결해야 합니다.TAG 인터페이스. 그런 다음 장치를 구성하고 오류 주입을 수행합니다. 오류 주입 디버거를 시작하려면 Intel Quartus Prime 소프트웨어에서 도구 ➤ 오류 주입 디버거를 선택합니다. 장치를 구성하거나 프로그래밍하는 것은 프로그래머 또는 신호 탭 논리 분석기에 사용되는 절차와 유사합니다.
오류 주입 디버거
J를 구성하려면TAG 체인:
- 하드웨어 설정을 클릭합니다. 도구는 컴퓨터에 연결된 프로그래밍 하드웨어를 표시합니다.
- 사용하고 싶은 프로그래밍 하드웨어를 선택하세요.
- 닫기를 클릭하세요.
- 자동 감지를 클릭하면 J에서 찾은 프로그래밍 가능한 장치로 장치 체인이 채워집니다.TAG 체인.
관련 정보
21페이지의 타겟 결함 주입 기능
하드웨어 및 소프트웨어 요구 사항
Fault Injection Debugger를 사용하려면 다음과 같은 하드웨어 및 소프트웨어가 필요합니다.
- Fault Injection IP 코어를 활성화하는 Intel FPGA 라이선스의 FEATURE 라인. 자세한 내용은 현지 Intel FPGA 영업 담당자에게 문의하세요.
- 케이블 다운로드(Intel FPGA 다운로드 케이블, Intel FPGA 다운로드 케이블 II, 또는 II).
- Intel FPGA 개발 키트 또는 J를 갖춘 사용자 설계 보드TAG 테스트 중인 장치에 대한 연결.
- (선택 사항) Intel FPGA 라이선스의 FEATURE 라인으로 Advanced SEU Detection IP 코어를 활성화합니다.
장치 및 오류 주입 디버거 구성
Fault Injection Debugger는 .sof 및(선택적으로) Sensitivity Map Header(.smh)를 사용합니다. file. 소프트웨어 객체 File (.sof)는 FPGA를 구성합니다. .smh file 장치의 CRAM 비트의 민감도를 정의합니다. .smh를 제공하지 않으면 file, Fault Injection Debugger는 CRAM 비트 전체에 걸쳐 무작위로 오류를 주입합니다. .sof를 지정하려면:
- 장치 체인 상자에서 구성하려는 FPGA를 선택하세요.
- 선택 클릭 File.
- .sof로 이동하여 확인을 클릭합니다. Fault Injection Debugger가 .sof를 읽습니다.
- (선택사항) SMH를 선택하세요 file.
SMH를 지정하지 않으면 file, Fault Injection Debugger는 전체 장치에 무작위로 오류를 주입합니다. SMH를 지정하는 경우 file, 장치의 사용 영역에만 주입을 제한할 수 있습니다.- 장치 체인 상자에서 장치를 마우스 오른쪽 버튼으로 클릭한 다음 SMH 선택을 클릭합니다. File.
- SMH를 선택하세요 file.
- 확인을 클릭합니다.
- 프로그램/구성을 켭니다.
- 시작을 클릭하세요.
Fault Injection Debugger는 .sof를 사용하여 장치를 구성합니다.
SMH 선택을 위한 컨텍스트 메뉴 File
결함 주입을 위한 지역 제한
SMH를 로드한 후 file, Fault Injection Debugger가 특정 ASD 영역에서만 작동하도록 지시할 수 있습니다. 오류를 주입할 ASD 영역을 지정하려면 다음을 수행합니다.
- 장치 체인 상자에서 FPGA를 마우스 오른쪽 버튼으로 클릭하고 장치 민감도 맵 표시를 클릭합니다.
- 오류 주입을 위한 ASD 영역을 선택하세요.
장치 민감도 맵 Viewer
오류 유형 지정
주입 시 다양한 유형의 오류를 지정할 수 있습니다.
- 단일 오류(SE)
- 이중 인접 오류(DAE)
- 수정 불가능한 다중 비트 오류(EMBE)
인텔 FPGA 장치는 스크러빙 기능이 활성화된 경우 단일 및 이중 인접 오류를 자체 수정할 수 있습니다. 인텔 FPGA 장치는 다중 비트 오류를 수정할 수 없습니다. 이러한 오류 디버깅에 대한 자세한 내용은 SEU 완화에 대한 장을 참조하십시오. 주입할 오류의 혼합과 주입 시간 간격을 지정할 수 있습니다. 주입 시간 간격을 지정하려면:
- Fault Injection Debugger에서 도구 ➤ 옵션을 선택합니다.
- 빨간색 컨트롤러를 오류 믹스로 드래그합니다. 또는 숫자로 믹스를 지정할 수 있습니다.
- 주입 간격 시간을 지정하세요.
- 확인을 클릭합니다.
그림 12. SEU 오류 유형의 혼합 지정
관련 정보 단일 이벤트 혼란 완화
오류 주입
여러 모드에서 오류를 주입할 수 있습니다.
- 명령에 하나의 오류를 주입합니다
- 명령에 여러 오류 주입
- 중지하라는 명령을 받을 때까지 오류를 주입합니다.
이러한 오류를 주입하려면:
- Inject Fault 옵션을 켭니다.
- 여러 번의 반복에 대해 오류 주입을 실행할지 아니면 중지될 때까지 실행할지 선택하세요.
- 중지될 때까지 실행하도록 선택하면 오류 주입 디버거는 도구 ➤ 옵션 대화 상자에서 지정한 간격으로 오류를 주입합니다.
- 특정 반복 횟수에 대해 오류 주입을 실행하려면 숫자를 입력하세요.
- 시작을 클릭하세요.
메모: Fault Injection Debugger는 지정된 반복 횟수 동안 또는 중지될 때까지 실행됩니다. Intel Quartus Prime Messages 창은 주입된 오류에 대한 메시지를 표시합니다. 주입된 오류에 대한 추가 정보를 보려면 EMR 읽기를 클릭합니다. Fault Injection Debugger는 장치의 EMR을 읽고 Messages 창에 내용을 표시합니다.
Intel Quartus Prime 오류 주입 및 EMR 콘텐츠 메시지
녹음 오류
Intel Quartus Prime Messages 창에 보고된 매개변수를 기록하여 주입된 오류의 위치를 기록할 수 있습니다. 예를 들어,ample, 주입된 오류로 인해 재생하고 싶은 동작이 발생하는 경우 해당 위치를 주입 대상으로 지정할 수 있습니다. Fault Injection Debugger 명령줄 인터페이스를 사용하여 대상 주입을 수행합니다.
주입된 오류 지우기
FPGA의 정상 기능을 복원하려면 Scrub을 클릭합니다. 오류를 스크러빙하면 장치의 EDCRC 기능이 오류를 수정하는 데 사용됩니다. 스크러빙 메커니즘은 장치 작동 중에 사용되는 메커니즘과 유사합니다.
명령줄 인터페이스
스크립트에서 오류 주입을 수행하려는 경우 유용한 quartus_fid 실행 파일을 사용하여 명령줄에서 오류 주입 디버거를 실행할 수 있습니다.
표 5. 오류 주입을 위한 명령줄 인수
짧은 주장 | 긴 주장 | 설명 |
c | 케이블 | 프로그래밍 하드웨어 또는 케이블을 지정하세요. (필수) |
i | 색인 | 오류를 주입할 활성 장치를 지정합니다. (필수) |
n | 숫자 | 주입할 오류 수를 지정합니다. 기본값은 다음과 같습니다.
1. (선택사항) |
t | 시간 | 주사 간격. (선택 사항) |
메모: quartus_fid –help를 사용하여 view 사용 가능한 모든 옵션. 다음 코드는 ex를 제공합니다.ampFault Injection Debugger 명령줄 인터페이스를 사용하여 les를 실행합니다.
#########################################
- # 이 인스턴스에 사용 가능한 USB 케이블을 찾아보세요
- # 결과는 “USB-Blaster”라는 이름의 케이블이 하나 있음을 보여줍니다. #
- $ quartus_fid – 목록 ...
- 정보: 명령: quartus_fid –list
- sj-sng-z4의 USB-Blaster [USB-0] 정보: Intel Quartus Prime 64비트 오류 주입 디버거가 성공했습니다. 오류 0개, 경고 0개
- ######################################## #
- # USB-Blaster 케이블에서 사용 가능한 장치 찾기
- # 결과에는 Stratix V A7과 MAX V CPLD라는 두 개의 장치가 표시됩니다. #
- $ quartus_fid –케이블 USB 블래스터 -a
- 정보: 명령: quartus_fid –cable=USB-Blaster -a
- 정보(208809): 프로그래밍 케이블 “USB-Blaster on sj-sng-z4 [USB-0]” 사용
- sj-sng-z4의 USB-Blaster [USB-0]
- 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
- 020A40DD 5M2210Z/EPM2210
- 정보: Intel Quartus Prime 64-Bit Fault Injection 디버거가 성공했습니다.
- 0개의 오류, 0개의 경고
- ######################################## #
- # Stratix V 장치 프로그래밍
- # –index 옵션은 연결된 장치에서 수행되는 작업을 지정합니다.
- # “=svgx.sof”는 .sof를 연결합니다. file 장치와 함께
- # “#p”는 장치를 프로그래밍하는 것을 의미합니다.
- $ quartus_fid – 케이블 USB 블래스터 – 인덱스 “@1=svgx.sof#p” . . .
- 정보(209016): 장치 인덱스 1 구성
- 정보(209017): 장치 1에는 J가 포함되어 있습니다.TAG ID 코드 0x029030DD
- 정보(209007): 구성이 성공했습니다. 1개의 장치가 구성되었습니다.
- 정보(209011): 작업이 성공적으로 수행되었습니다.
- 정보(208551): 장치 1에 프로그램 서명을 넣습니다.
- 정보: Intel Quartus Prime 64-Bit Fault Injection 디버거가 성공했습니다.
- 0개의 오류, 0개의 경고
- ######################################## #
- # 장치에 오류를 주입합니다.
- # #i 연산자는 오류를 주입함을 나타냅니다.
- # -n 3은 3개의 오류를 주입함을 나타냅니다.
- $ quartus_fid – 케이블 USB 블래스터 – 인덱스 “@1=svgx.sof#i” -n 3
- 정보: 명령: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
- 정보(208809): 프로그래밍 케이블 “USB-Blaster on sj-sng-z4 [USB-0]” 사용
- 정보(208521): 장치에 3개의 오류를 주입합니다.
- 정보: Intel Quartus Prime 64-Bit Fault Injection 디버거가 성공했습니다.
- 0개의 오류, 0개의 경고
- ######################################## #
- # 대화형 모드.
- # -n 0과 함께 #i 연산을 사용하면 디버거가 대화형 모드로 전환됩니다.
- # 이전 세션에서 3개의 오류가 주입된 점에 유의하세요.
- # “E”는 현재 EMR Unloader IP 코어에 있는 오류를 읽습니다. #
- $ quartus_fid – 케이블 USB 블래스터 – 인덱스 “@1=svgx.sof#i” -n 0
- 정보: 명령: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
- 정보(208809): 프로그래밍 케이블 “USB-Blaster on sj-sng-z4 [USB-0]” 사용
- 입력하다 :
- 'F'는 오류를 주입합니다.
- EMR을 읽으려면 'E'를 입력하세요
- 'S'는 오류를 제거합니다.
- 'Q'를 눌러 E를 종료합니다.
- 정보(208540): EMR 배열 읽기
- 정보(208544): 장치 3에서 1개의 프레임 오류가 감지되었습니다.
- 정보(208545): 오류 #1: 프레임 0x1028의 비트 0x21EA에 단일 오류가 있습니다.
- 정보(10914): 오류 #2: 프레임 0x1116에 수정할 수 없는 다중 비트 오류가 있습니다.
- 정보(208545): 오류 #3: 프레임 0x1848의 비트 0x128C에 단일 오류가 있습니다.
- 'F'는 오류를 주입합니다.
- EMR을 읽으려면 'E'를 입력하세요
- 'S'는 오류를 제거합니다.
- 'Q'를 눌러 Q를 종료합니다.
- 정보: Intel Quartus Prime 64-Bit Fault Injection Debugger가 성공했습니다. 오류 0개, 경고 0개
- 정보: 최대 가상 메모리: 1522메가바이트
- 정보: 처리 종료: 3년 18월 50일 월요일 오후 00시 2014분 XNUMX초
- 정보: 경과 시간 : 00:00:29
- 정보: 총 CPU 시간(모든 프로세서): 00:00:13
타겟형 결함 주입 기능
메모
Fault Injection Debugger는 FPGA에 무작위로 오류를 주입합니다. 그러나 Targeted Fault Injection 기능을 사용하면 CRAM의 대상 위치에 오류를 주입할 수 있습니다. 이 작업은 예를 들어 유용할 수 있습니다.ample, SEU 이벤트를 기록하고 복구 전략을 수정한 후 동일한 이벤트에 대한 FPGA 또는 시스템 응답을 테스트하려는 경우. Targeted Fault Injection 기능은 명령줄 인터페이스에서만 사용할 수 있습니다. 오류가 명령줄 또는 프롬프트 모드에서 주입되도록 지정할 수 있습니다. 관련 정보
안 539: Intel FPGA 장치에서 CRC를 사용한 테스트 방법론 또는 오류 감지 및 복구
명령줄에서 오류 목록 지정
대상 오류 주입 기능을 사용하면 다음 예제와 같이 명령줄에서 오류 목록을 지정할 수 있습니다.ample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i” -n 2 -user="@1= 0x2274 0x05EF 0x2264 0x0500" 여기서: c 1은 FPGA가 컴퓨터의 첫 번째 케이블에 의해 제어됨을 나타냅니다. i “@1= six.sof#i”는 체인의 첫 번째 장치에 객체가 로드됨을 나타냅니다. file svgx.sof이며 오류가 주입됩니다. n 2는 두 개의 오류가 주입됨을 나타냅니다. user="@1= 0x2274 0x05EF 0x2264 0x0500"은 주입할 오류의 사용자 지정 목록입니다. 이 ex에서amp장치 1에는 프레임 0x2274, 비트 0x05EF 및 프레임 0x2264, 비트 0x0500에 두 개의 오류가 있습니다.
프롬프트 모드에서 오류 목록 지정
오류 수를 0(-n 0)으로 지정하여 Targeted Fault Injection 기능을 대화형으로 작동할 수 있습니다. Fault Injection Debugger는 프롬프트 모드 명령과 해당 설명을 제공합니다.
프롬프트 모드 명령 | 설명 |
F | 결함을 주입하다 |
E | EMR을 읽어보세요 |
S | 스크럽 오류 |
Q | 그만두다 |
프롬프트 모드에서는 F 명령만 실행하여 장치의 임의의 위치에 단일 오류를 주입할 수 있습니다. 다음 예제에서amp프롬프트 모드에서 F 명령을 사용하면 세 가지 오류가 삽입됩니다. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +
- 오류 1 – 프레임 0x12, 비트 0x34에서 단일 비트 오류
- 오류 2 – 프레임 0x56, 비트 0x78에서 수정할 수 없는 오류(*는 다중 비트 오류를 나타냄)
- 오류 3 – 프레임 0x9A, 비트 0xBC에서 이중 인접 오류(a +는 이중 비트 오류를 나타냄)
F 0x12 0x34 0x56 0x78 * 1개(기본값) 오류가 주입됨: 오류 0 – 프레임 12x0, 비트 34x3에서 단일 비트 오류. 첫 번째 프레임/비트 위치 이후의 위치는 무시됨. F #0 12x0 34x0 56x0 78x0 * 9x0A 0xBC + 0xDE 00xXNUMX
세 가지 오류가 주입되었습니다.
- 오류 1 – 프레임 0x12, 비트 0x34에서 단일 비트 오류
- 오류 2 – 프레임 0x56, 비트 0x78에서 수정 불가능한 오류
- 오류 3 – 프레임 0x9A, 비트 0xBC에서 이중 인접 오류
- 첫 번째 3개 프레임/비트 쌍 이후의 위치는 무시됩니다.
CRAM 비트 위치 결정
메모:
Fault Injection Debugger가 CRAM EDCRC 오류를 감지하면 오류 메시지 레지스터(EMR)에는 감지된 CRAM 오류의 증후군, 프레임 번호, 비트 위치 및 오류 유형(단일, 이중 또는 다중 비트)이 포함됩니다. 시스템 테스트 중에 EDCRC 오류를 감지하면 Fault Injection Debugger에서 보고한 EMR 내용을 저장합니다. 기록된 EMR 내용을 사용하여 프레임 및 비트 번호를 Fault Injection Debugger에 제공하여 시스템 테스트 중에 발견된 오류를 재생하고, 추가로 설계하고, 해당 오류에 대한 시스템 복구 응답을 특성화할 수 있습니다.
관련 정보
AN 539: Intel FPGA 디바이스에서 CRC를 사용한 테스트 방법론 또는 오류 감지 및 복구
고급 명령줄 옵션: ASD 영역 및 오류 유형 가중치
Fault Injection Debugger 명령줄 인터페이스를 사용하여 ASD 영역에 오류를 주입하고 오류 유형에 가중치를 둘 수 있습니다. 먼저 –weight를 사용하여 오류 유형(단일 비트, 이중 인접 및 다중 비트 수정 불가능)의 혼합을 지정합니다. . . 옵션. 예를 들어ample, 50% 단일 오류, 30% 이중 인접 오류, 20% 다중 비트 수정 불가 오류의 혼합을 위해 –weight=50.30.20 옵션을 사용합니다. 그런 다음 ASD 영역을 대상으로 하려면 -smh 옵션을 사용하여 SMH를 포함합니다. file 그리고 타겟으로 삼을 ASD 영역을 표시합니다. 예를 들어amp파일: $ quartus_fid – 케이블 = USB-BlasterII – 인덱스 “@1 = svgx.sof # pi” – 가중치 = 100.0.0 – smh = “@1 = svgx.smh # 2” – 숫자 = 30
이 전amp르 명령:
- 장치를 프로그래밍하고 오류를 주입합니다(pi 문자열)
- 100% 단일 비트 오류(100.0.0)를 주입합니다.
- ASD_REGION 2에만 주입합니다(2번으로 표시됨)
- 30개의 결함을 주입합니다
Fault Injection IP Core 사용자 가이드 아카이브
IP 코어 버전 | 사용자 가이드 |
18.0 | Fault Injection Intel FPGA IP Core 사용자 가이드 |
17.1 | Intel FPGA Fault Injection IP Core 사용자 가이드 |
16.1 | Altera Fault Injection IP Core 사용자 가이드 |
15.1 | Altera Fault Injection IP Core 사용자 가이드 |
IP core 버전이 목록에 없으면 이전 IP core 버전의 사용 설명서가 적용됩니다.
Fault Injection IP Core 사용자 가이드에 대한 문서 개정 내역
문서 버전 | 인텔 Quatus 프라임 버전 | 변화 |
2019.07.09 | 18.1 | 업데이트됨 오류 주입 IP 핀 설명 Reset, error_injected, error_scrubbed 신호를 명확히 하기 위한 주제입니다. |
2018.05.16 | 18.0 | • Intel Quartus Prime Pro Edition 핸드북에서 다음 항목을 추가했습니다.
— 결함 주입 영역 정의 및 하위 주제. — Fault Injection 디버거 사용 및 하위 주제. — 명령줄 인터페이스 및 하위 주제. • Intel FPGA Fault Injection IP 코어의 이름을 Fault Injection Intel FPGA IP로 변경했습니다. |
날짜 | 버전 | 변화 |
2017.11.06 | 17.1 | • Intel로 브랜드 변경.
• Intel Cyclone 10 GX 장치 지원이 추가되었습니다. |
2016.10.31 | 16.1 | 업데이트된 장치 지원. |
2015.12.15 | 15.1 | • Quartus II를 Quartus Prime 소프트웨어로 변경했습니다.
• 자체 참조 관련 링크가 고정되었습니다. |
2015.05.04 | 15.0 | 최초 출시. |
문서 / 리소스
![]() |
intel UG-01173 Fault Injection FPGA IP 코어 [PDF 파일] 사용자 가이드 UG-01173 결함 주입 FPGA IP 코어, UG-01173, 결함 주입 FPGA IP 코어, 주입 c, 주입 FPGA IP 코어 |