FPGA(Field Programmable Gate Array) 디바이스는 회로의 개발 기간을 단축할 수 있으며, 낮은 비용으로 자체적인 회로를 구현할 수 있다는 장점이 있다. FPGA 중에서도 SRAM기술을 사용하는 FPGA는 게이트의 집적도가 높아 복잡한 회로의 구현이 가능하고, 구현한 회로를 동적으로 변경할 수 있는 특징이 있어, 최근 인공위성의 탑재컴퓨터에 그 사용빈도가 증가하고 있는 추세다. 그러나, SRAM 기반 FPGA는 우주 방사선 입자들에 의한 오류 현상인 단일사건오류에 취약하여, 우주에서 사용할 때에는 이를 검출하고, 정정할 수 있는 회로를 탑재해야 한다. 이 논문에서는 FPGA의 내부 모듈 중에서 SEU에 가장 취약한 재구성 메모리를 보호하는 제어기를 설계하였다. 제어기는 SEU에 강한 Anti-Fuse방식의 FPGA에 구현하였으며, 실제 회로 구현 후, 방사능 시험을 수행한 결과, 본 연구에서 제안한 재구성 메모리 보호 제어기를 기존의 TMR회로와 함께 사용하면, 보다 우수한 고장허용성을 갖는 것을 입증하였다.
FPGA(Field Programmable Gate Array) 디바이스는 회로의 개발 기간을 단축할 수 있으며, 낮은 비용으로 자체적인 회로를 구현할 수 있다는 장점이 있다. FPGA 중에서도 SRAM기술을 사용하는 FPGA는 게이트의 집적도가 높아 복잡한 회로의 구현이 가능하고, 구현한 회로를 동적으로 변경할 수 있는 특징이 있어, 최근 인공위성의 탑재컴퓨터에 그 사용빈도가 증가하고 있는 추세다. 그러나, SRAM 기반 FPGA는 우주 방사선 입자들에 의한 오류 현상인 단일사건오류에 취약하여, 우주에서 사용할 때에는 이를 검출하고, 정정할 수 있는 회로를 탑재해야 한다. 이 논문에서는 FPGA의 내부 모듈 중에서 SEU에 가장 취약한 재구성 메모리를 보호하는 제어기를 설계하였다. 제어기는 SEU에 강한 Anti-Fuse방식의 FPGA에 구현하였으며, 실제 회로 구현 후, 방사능 시험을 수행한 결과, 본 연구에서 제안한 재구성 메모리 보호 제어기를 기존의 TMR회로와 함께 사용하면, 보다 우수한 고장허용성을 갖는 것을 입증하였다.
FPGA(Field Programmable Gate Array) devices are widely used due to their merits in circuit development time, and development cost. Among various FPGA technologies, SRAM-based FPGAs have large cell capacity so that they are attractive for complex circuit design and their reconfigurability. However, t...
FPGA(Field Programmable Gate Array) devices are widely used due to their merits in circuit development time, and development cost. Among various FPGA technologies, SRAM-based FPGAs have large cell capacity so that they are attractive for complex circuit design and their reconfigurability. However, they are weak in space environment where radiation energy particles cause Single Event Upset(SEU). In this paper, we designed a controller supervising SRAM-based FPGA to protect configuration memory inside. The controller is implemented on an Anti-Fusing FPGA. Radiation test was performed on the implemented computer board and the result show that our controller provides better SEU-resilience than TMR-only system.
FPGA(Field Programmable Gate Array) devices are widely used due to their merits in circuit development time, and development cost. Among various FPGA technologies, SRAM-based FPGAs have large cell capacity so that they are attractive for complex circuit design and their reconfigurability. However, they are weak in space environment where radiation energy particles cause Single Event Upset(SEU). In this paper, we designed a controller supervising SRAM-based FPGA to protect configuration memory inside. The controller is implemented on an Anti-Fusing FPGA. Radiation test was performed on the implemented computer board and the result show that our controller provides better SEU-resilience than TMR-only system.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 Xilinx 사의 Virtex 시리즈 FPGA의 재구성 메모리를 회로에서 CRC(Cyclic Redundancy Check)값의 비교를 통하여 SEU의 판단 여부를 결정하는 회로를 설계하였다. 기존의 연구에서는 FGPA에서 SEU로 인한 오류가 검출되면 회로 전체를 재구성하는 방식으로 오류를 정정하였으나[7], 본 연구에서는 FPGA의 부분 재구성[8] 방식을 사용하고, 재구성정보의 CRC를 사용하여 오류 검출 및 재구성 시간을 단축하였다.
본 연구에서는 EEPROM에서 데이터를 가져오는 횟수를 줄임으로써 읽어내기의 속도를 향상 시켰다. 표 1은 CRC 값을 비교하기 위해 EEPROM에 접근하는 횟수를 수정하기 전과 후의 1 사이클 읽어내기 작업의 속도를 비교한 것이다.
본 연구에서는 SRAM 기반 FPGA의 재구성 메모리 블록을 SEU로 불리는 소프트에러로부터 보호할 수 있는 재구성 메모리 제어기를 설계하고 그 성능을 평가하였다. 구현한 재구성 메모리 제어기는 Xilinx Virtex-4 FPGA를 보호하기 위한 회로로, FPGA의 부분재구성 회로를 사용하였으며, 특히 재구성 비트스트림 이미지의 CRC를 계산하여, 런타임에 FPGA로부터 재구성 데이터의 CRC를 주기적으로 계산한 후, 서로 비교하여 오류를 검출하는 방식으로 구현되었다.
이 논문에서는 SRAM기반 FPGA인 Xilinx Virtex-4[7]의 재구성 메모리에서 발생하는 소프트에러를 검출하고 정정하는 제어기를 구현하였다. 그림 1은 본 연구가 적용된 재구성 메모리 보호시스템의 구조도를 보여준다.
제안 방법
기존의 연구에서는 FGPA에서 SEU로 인한 오류가 검출되면 회로 전체를 재구성하는 방식으로 오류를 정정하였으나[7], 본 연구에서는 FPGA의 부분 재구성[8] 방식을 사용하고, 재구성정보의 CRC를 사용하여 오류 검출 및 재구성 시간을 단축하였다. 개발한 회로를 실제 방사선에 노출시켜 실험하여 오류정정 성능을 분석하였다.
본 연구에서는 SRAM 기반 FPGA의 재구성 메모리 블록을 SEU로 불리는 소프트에러로부터 보호할 수 있는 재구성 메모리 제어기를 설계하고 그 성능을 평가하였다. 구현한 재구성 메모리 제어기는 Xilinx Virtex-4 FPGA를 보호하기 위한 회로로, FPGA의 부분재구성 회로를 사용하였으며, 특히 재구성 비트스트림 이미지의 CRC를 계산하여, 런타임에 FPGA로부터 재구성 데이터의 CRC를 주기적으로 계산한 후, 서로 비교하여 오류를 검출하는 방식으로 구현되었다. SEU의 누적 가능성을 줄이기 위해 전체 비트스트림 데이터가 아닌 CRC데이터만을 사용하였으며, 그 결과 삼중화 기법을 단순 사용한 경우보다 우수한 내방사선 성능을 보임을 실험을 통해 입증하였다.
SEU 완화 회로 동작은 프레임 단위로 진행되며 1 프레임(164 바이트)을 읽어 내어 CRC 값을 계산한다. 그 후, EEPROM에서 해당 프레임을 읽어와 CRC값을 계산하여 비교한 후 그 값이 일치하지 않으면 SEU가 발생한 것으로 판단하고, 부분 재구성을 이용하여 해당 부분만을 다시 회로를 재구성한다.
본 논문에서는 Xilinx 사의 Virtex 시리즈 FPGA의 재구성 메모리를 회로에서 CRC(Cyclic Redundancy Check)값의 비교를 통하여 SEU의 판단 여부를 결정하는 회로를 설계하였다. 기존의 연구에서는 FGPA에서 SEU로 인한 오류가 검출되면 회로 전체를 재구성하는 방식으로 오류를 정정하였으나[7], 본 연구에서는 FPGA의 부분 재구성[8] 방식을 사용하고, 재구성정보의 CRC를 사용하여 오류 검출 및 재구성 시간을 단축하였다. 개발한 회로를 실제 방사선에 노출시켜 실험하여 오류정정 성능을 분석하였다.
또 다른 방법은 재구성 메모리 영역을 집중 감시하는 회로를 구현하는 것이다. 별도의 회로를 두어 FPGA의 재구성 메모리를 주기적으로 테스트하고, 오류가 검출되면 동적으로 회로를 재구성하는 방법을 사용한다.
한국원자력병원에서 테스트를 진행하였으며, 부품들에 방사선이 축적되면 누적된 방사선으로 칩에 영구적인 오류가 발생할 수 있기 때문에 각 실험은 15초 동안 진행하였다. 실험 방법은 Virtex-4 FPGA에 Leon-3 프로세서를 구성한 후 프로세서의 디버그 지원 유닛을 통해 메모리를 읽고 쓰는 소프트웨어를 다운로딩 하여 동작 시킨 후 Virtex-4 FPGA 칩에만 방사선을 노출시켰다.
성능 개선전의 실험과는 달리 각 실험은 60초당 진행 되었다. 실험은 SEU 정정회로가 전혀 없는 기본회로, 재구성제어기를 포함하는 SEU완화회로, TMR만을 FPGA에 구현한 경우, TMR와 재구성제어기 모두를 구현한 경우에 프로그램의 정상동작여부, 검출된 SEU의 수, SEU 발생빈도를 측정하였다.
읽어내기를 할때 CRC 값을 계산하는 것은 어찌할 수 없지만 EEPROM 에 저장되어 있는 데이터를 읽어와 CRC값을 계산하는 것은 미리 계산된 4바이트 CRC값을 써 놓으므로 해서 속도의 개선이 이루어질 수 있다. 즉, 1 프레임의 CRC 값을 비교할 때 EEPROM에서 164바이트를 읽어오는 것을 4바이트만 읽어오는 것으로 수정하여 속도를 개선하였다. 그림 7은 CRC값의 비교를 위해 EEPROM에 접근하는 횟수를 줄인 수정된 시스템의 전체 구조도이다.
표 2는 CRC 비교 알고리즘을 개선하기 전 방사선 테스트를 한 결과이다. 한국원자력병원에서 테스트를 진행하였으며, 부품들에 방사선이 축적되면 누적된 방사선으로 칩에 영구적인 오류가 발생할 수 있기 때문에 각 실험은 15초 동안 진행하였다. 실험 방법은 Virtex-4 FPGA에 Leon-3 프로세서를 구성한 후 프로세서의 디버그 지원 유닛을 통해 메모리를 읽고 쓰는 소프트웨어를 다운로딩 하여 동작 시킨 후 Virtex-4 FPGA 칩에만 방사선을 노출시켰다.
이론/모형
이 장에서는 방사선 테스트를 진행한 결과를 분석한다. 본장의 실험에서 사용된 SRAM기반 FGPA에는 Leon-3[11]라고 하는 임베디드 프로세서가 구현되어 있으며, 소프트오류 보정을 위해 내부 회로의 삼중화 기법이 적용되었다.
성능/효과
구현한 재구성 메모리 제어기는 Xilinx Virtex-4 FPGA를 보호하기 위한 회로로, FPGA의 부분재구성 회로를 사용하였으며, 특히 재구성 비트스트림 이미지의 CRC를 계산하여, 런타임에 FPGA로부터 재구성 데이터의 CRC를 주기적으로 계산한 후, 서로 비교하여 오류를 검출하는 방식으로 구현되었다. SEU의 누적 가능성을 줄이기 위해 전체 비트스트림 데이터가 아닌 CRC데이터만을 사용하였으며, 그 결과 삼중화 기법을 단순 사용한 경우보다 우수한 내방사선 성능을 보임을 실험을 통해 입증하였다.
SEU 완화 회로는 1회 읽어내기 작업을 하는 시간 즉, 동작 속도가 성능을 좌우 한다. TMR로 보호되고 있는 회로라고 하여도 SEU완화 회로가 SEU를 보정 하기 전에 많은 부분에 다중으로 SEU가 발생하면 회로의 변조가 일어나 데이터가 변질 되거나 시스템이 멈춰 버릴 수 있다는 것을 확인하였다.
실험 결과 초당 1.7번의 SEU 발생 시에는 FPGA에서 실행되고 있는 프로그램이 정상적으로 동작하지만 그보다 높은 강도의 실험에서는 S/W가 동작이 멈춘 것을 확인 하였다. SEU 완화 회로는 1회 읽어내기 작업을 하는 시간 즉, 동작 속도가 성능을 좌우 한다.
질의응답
핵심어
질문
논문에서 추출한 답변
FPGA는 ASIC에 비해 어떤 장점을 가지고 있는가?
최근 인공위성의 탑재 컴퓨터에 FPGA(Field Programmable Gate Array)를 사용하는 빈도가 증가하고 있다[1]. FPGA는 ASIC(Application-Specific Integrated Circuit)에 비해 비용이 낮고, 개발 시간이 짧다는 장점을 가지고 있다. FPGA 중에서 특히 SRAM 기반의 FPGA는 회로의 집적도가 높아 복잡한 회로의 구현이 가능하고 구현된 회로를 동적으로 변경할 수 도 있다.
FPGA에서 SEU는 어디서 발생하는가?
SRAM기반 FPGA도 메모리 소자를 기본회로로 채택하고 있기 때문에, 일반 메모리 디바이스와 마찬가지로 SEU에 취약성을 갖게 된다. FPGA에서 SEU는 메모리 블록, 플립플롭, 재구성 메모리 블록 등에서 발생할 수 있으며, 이 중 가장 면적이 넓은 재구성 메모리 블록에서의 SEU 발생 빈도가 가장 높다[4]. 재구성 메모리 블록은 FPGA의 내부 구현 회로의 정보를 가지고 있어 이 부분이 변경되면 지상에서 구현되었던 기능이 변경되어 정상적인 동작을 보장할 수 없게 된다.
FPGA에서 Single Event Upset는 어떤 에러의 성격을 갖는가?
태양에서 발생한 방사선 에너지 입자들이 메모리 소자와 충돌하여 저장된 비트 값이 바뀌는 현상을 SEU이라고 한다. FPGA에서 SEU는 고 에너지 입자가 SRAM 기반 FPGA의 표면에 충돌하여 발생하는데 해당 소자의 값이 ‘0’에서 ‘1’로 ‘1’에서 ‘0’으로 변경되는 소프트에러의 성격을 갖는다. 이러한 문제에 대응하기 위해 메모리의 내용을 오류정정 코드와 함께 기록한 뒤, 주기 적으로 메모리의 내용을 읽어 내어 오류가 발생한 경우, 오류정정 코드를 이용하여 오류를 정정하는 방법이 사용되었다[3].
F. Vargas and M. Nicolaidis, "SEU-tolerant SRAM design based on current monitoring", Proc. of 24th Intl. Symp. on fault-tolerant computing, pp.106-115, IEEE, 1994.
H. S. Kim, J. H. Park, K. H. Kim and S.D. Choi, "On-board computer system for KITSAT - The first Korean satellite," IEEE/AIAA 13th Digital Avionics Systems Conference, pp.34-39, Oct. 1994.
E. Fuller et al, "Radiation characterization, and SEU mitigation, of Virtex FPGA for space-based reconfigurable computing", Presented at NSREC, Oct. 2000.
C. Carmichael. "Triple Module Redundancy Design Techniques for Virtexm $\circledR$ Series FPGA", Application Notes 197. San Jose, USA: Xilinx, 2000.
Kastensmidt, F. L., L. Sterpone, et al. "On the Optimal Design of Triple Modular Redundancy Logic for SRAM-based FPGAs." Proceedings of Design, Automation and Test in Europe, pp.290-295, 2005.
Adell, P and G. Allen, "Assessing and mitigating radiation effects in Xilinx FPGAs", JPL Publication, 08-9, 2008.
C. Bolchini et al, "TMR and partial dynamic reconfiguration to mitigate SEU faults in FPGAs", Proc. of 22nd IEEE Int. Symp. on Defect and Fault Tolerance in VLSI Systems, pp.87-95, 2007.
J. J. Wang, "Radiation effects in FPGAs", Actel cooperation
※ AI-Helper는 부적절한 답변을 할 수 있습니다.