본문 바로가기

기술자료

임베디드 소프트웨어에서 TMR(Triple Modular Redundancy)

임베디드 소프트웨어에서 TMR(Triple Modular Redundancy)을 구현하는 데 필요한 기술
TMR(Triple Modular Redundancy)은 하드웨어 안정성을 향상하고 SEU(단일 이벤트 업셋)를 완화하는 데 사용되는 내결함성 설계 기술입니다. 임베디드 소프트웨어에서 TMR을 구현하려면 몇 가지 핵심 기술과 고려 사항이 필요합니다.
1. 하드웨어 모듈 복제
동일한 하드웨어 인스턴스: TMR에는 세 개의 동일한 하드웨어 모듈 인스턴스가 필요합니다. 각 인스턴스는 동일한 작업을 동시에 수행합니다.
동기화: 세 개의 모듈이 모두 동기화되어 동일한 입력을 처리하고 동시에 출력을 생성하는지 확인합니다.
2. 투표 논리
다수 투표 메커니즘: 세 개의 하드웨어 인스턴스에서 출력을 가져와 다수 투표에 따라 올바른 출력을 결정하는 투표 로직을 구현합니다. 이는 SEU의 영향을 받는 단일 인스턴스의 오류를 마스킹하는 데 도움이 됩니다.
보팅 회로: 투표 메커니즘의 하드웨어 구현에는 일반적으로 멀티플렉서, 비교기 및 논리 게이트 사용이 포함됩니다.
3. 오류 감지 및 수정
오류 감지: 오류 감지 메커니즘을 통합하여 세 가지 하드웨어 모듈 출력의 불일치를 식별합니다.
재프로그래밍 모듈: 오류가 감지되면 결함이 있는 모듈을 다시 프로그래밍하거나 재설정하는 메커니즘을 개발합니다.
소프트 인터럽트 복구: 계단식 오류를 방지하기 위해 SEU로 인한 소프트 인터럽트로부터 시스템이 즉시 복구될 수 있는지 확인합니다.
4. 자동화 도구
자동화된 TMR 합성: Synopsys*와 같은 도구를 활용하여 하드웨어 모듈의 복제와 필요한 투표 로직의 합성을 자동화합니다.
하드웨어 설명 언어(HDL): VHDL 또는 Verilog와 같은 HDL을 사용하여 하드웨어 모듈 및 투표 논리를 설명하고 자동화를 촉진합니다.
5. 중복 관리
리소스 할당: TMR의 추가 하드웨어 오버헤드를 처리하기 위해 리소스를 효율적으로 할당합니다. 여기에는 전력, 공간 및 냉각 요구 사항 관리가 포함됩니다.
중요 부품 선택: 하드웨어 비용을 최소화하기 위해 설계의 가장 중요한 부분에서만 TMR을 식별하고 구현합니다.
세부 구현 단계
하드웨어 모듈 설계:
내결함성을 요구하는 하드웨어 모듈에 대한 HDL 코드를 작성합니다.
모듈이 복제되도록 설계되었는지 확인하십시오.
하드웨어 모듈 복제:
자동화된 도구를 사용하여 하드웨어 모듈을 세 번 복제합니다.
복제된 각 모듈이 동일하고 병렬로 작동하는지 확인하세요.
투표 논리 구현:
세 가지 하드웨어 인스턴스로부터 입력을 받도록 다수결 논리 회로를 설계합니다.
투표 로직이 각 모듈의 출력을 비교하고 다수의 결과를 선택하여 올바른 출력을 정확하게 결정할 수 있는지 확인하십시오.
결함 감지 및 수정 통합:
하드웨어 모듈의 출력을 지속적으로 모니터링하는 메커니즘을 개발합니다.
오류를 나타내는 불일치를 감지하는 논리를 구현하십시오.
오류 감지 시 결함이 있는 모듈을 재설정하거나 재구성하는 재프로그래밍 논리를 통합합니다.
테스트 및 검증:
내결함성과 올바른 기능을 검증하기 위해 TMR 설계를 시뮬레이션합니다.
SEU로부터 효과적으로 복구할 수 있는지 확인하기 위해 다양한 조건에서 설계를 테스트합니다.
Verilog의 예제 코드 조각
다음은 Verilog를 사용하여 TMR을 구현하는 방법에 대한 간단한 예입니다.
 
결론
임베디드 소프트웨어에서 TMR을 구현하려면 하드웨어 모듈 복제, 투표 로직 통합, 오류 감지 및 수정 메커니즘 통합이 필요합니다. TMR은 자동화된 도구와 신중한 리소스 관리를 사용하여 특히 가동 중지 시간이 허용되지 않는 중요한 응용 프로그램에서 시스템 신뢰성과 내결함성을 크게 향상시킬 수 있습니다.