죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

ISO26262 규격의 결함 분석 최적화를 위한 3단계 방법


PDF 다운로드



글/제이콥 윌트겐(Jacob Wiltgen), 기능 안전성 매니저 / 멘토, 지멘스 비즈니스


자동차 안전 기준인 ISO 26262에서는 안전 메커니즘의 적합성과 이들이 결함을 감지하여 안전 필수 영역에 영향을 미치지 못하도록 막을 수 있는 능력을 평가하기 위해서는 하드웨어 아키텍처 메트릭(hardware architectural metrics)이 요구된다고 밝히고 있다
결함 주입은 이러한 기능 안전 요건을 충족시킴에 있어서 안전 메커니즘의 완전성과 정확성을 알아내는 데 필수적이다. 하지만 무작위적인 결함 주입은 오늘날의 제품 출시 주기에 맞추기에는 시간이 많이 소요되고 비효율적이다
본고에서는 결함 주입의 효율성을 개선하기 위한 정적 분석 단계를 제시한다. 또한 Formal 방법론을 결함 주입에 적용함으로써 안전성 결함에 대한 식별을 극대화하는 법도 알아본다. 이러한 기법을 채택해 결함 목록을 도출하고 최적화하며 우선순위를 정하면 ISO 26262 요건을 보다 쉽고 빠르게 달성할 수 있으므로 분석의 효율성과 결함 있는 결과의 관측성을 극대화할 수 있다.


차량용 IC 복잡성 증가, 결함 분석 최적화에 대한 요구 높아져

차량용 IC의 복잡성은 첨단 운전자 보조 시스템(ADAS)과 자율주행 기술이 도입되면서 기하급수적으로 증가했다. 이러한 복잡성 증가는 IC를 하드웨어의 우발적인 결함, 즉 예측 불가능하게 발생하는 기능 결함으로부터 보호해야 하는 부담이 증가하는 것과 직접적인 관련성이 있다. 랜덤 결함의 경감은 여전히 산업 전반의 주된 문제이자 고충사항 중 하나로 남아 있다.
랜덤 결함으로 인해 반도체 기능이 영향을 받거나 사람들이 부상 위험에 처하는 일이 없도록 이러한 결함을 식별 및 통제하는 안전 메커니즘을 구현해 설계를 향상시켜야 한다. ISO26262 규격의 요건에 따라 개발 팀은 각 안전 메커니즘의 유효성을 측정 및 입증해야 한다. 이제까지 자동차 업계는 툴과 전문가의 판단을 통해 랜덤 결함 분석 문제를 다뤄왔다. 초기의 안전성 분석은 일반적으로 고장 형태 영향 및 진단 분석(FMEDA: Failure Modes Effects Diagnostic Analysis)을 이용해 하향식으로 수행되어 왔다. 하향식 분석의 필요성은 여전하지만, 반도체의 복잡성 증가로 인해 이러한 형태의 전문가 판단은 관리하기 어렵고 오류가 발생하기도 쉽게 되었다. 따라서 전문가가 안전성 분석, 안전성 주입 및 안전성 검증 작업의 자동화를 수반하는 3단계 방법론을 통해 랜덤 결함 문제를 해결하도록 도와줄 툴을 개발해야 한다.

AR(ISO26262)-1.jpg

안전성 분석
안전성 분석의 목표는 하드웨어 우발 고장에 대한 설계의 취약성은 물론 원하는 안전 지표를 달성하기 위해 취해야 하는 단계들까지 완전히 이해하는 것으로서, 이는 보다 높은 ASIL(Automotive Safety Integrity Level:  차량 안전 무결성 등급)이라는 목표로 정의된다.
목표 안전 지표에 따른 설계 안전성을 알아내기 위해 여러 가지 분석 기법이 이용된다. 구조 검사는 FMEDA의 작성 시에 수행되는 시간당 고장 수(FIT: failures in time) 추정치를 계산 및 인증하기 위한 입증된 방법이다. 영향권(COI) 분석은 구조 분석과의 조합을 통해 기존의 안전 메커니즘으로부터 이미 보호 받고 있는 설계 구조를 시각화해 준다. 구조 분석과 영향권 분석을 통해 안전 메커니즘이 우발적인 하드웨어 결함을 잡아내는 데 있어서 얼마나 효과적인지 정량화 하며 추정 진단 커버리지(DC)를 실현한다. FIT 및 DC 추정은 초기의 전문가 주도적 분석에서 이루어지는 FMEDA 갭 분석 및 인증을 대표한다.
FMEDA 갭 분석은 중요한 체크포인트이다. 설계 주기 초기에 피드백을 제공함으로써 안전 검증 완료 후에 결함 완화가 충분치 못했음을 발견할 경우 많은 비용이 초래될 위험을 피할 수 있기 때문이다. 갭 분석 외에 구조 분석을 통해서는 각 기본 설계 구조가 FIT에 기여하는 정도를 상세하게 알 수 있다.
구조 분석에서 안전 상의 허점이 드러날 경우, 기본 FIT 데이터를 통해 안전성이 더욱 향상되어야 하는 설계 구조들을 강조하고 우선순위를 정하게 된다. 안전성 설계자는 이 정보를 이용해 향상 옵션을 모색함으로써 원하는 안전성 목표를 달성하면서 전력 및 면적 요건까지 고려할 수 있다. 예를 들어, 안전성 설계자는 오류 정정 코드(ECC: error correcting code)가 메모리에 미치는 영향을 추정하고, 진단 커버리지의 전반적인 향상 정도를 검토하며, 제안되는 일련의 안전 메커니즘이 안전성 목표치를 충족시키는 지 여부를 알아낼 수 있다.
이러한 옵션 모색을 통해 랜덤 결함 워크플로우가 완료되고 나면 제안된 안전 메커니즘에 의해 ASIL 목표가 달성되어 나머지 두 단계(안전성 주입과 안전성 검증)를 통해 반복 작업을 없앨 수 있다. 안전성 모색의 결과로 안전성 목표 달성에 필요한 설계 향상점들을 분명히 알게 된다. 안전성 목표 달성에 필요한 것으로 제시되는 안전 메커니즘은 안전성 주입 단계에 직접 입력된다.


안전성 주입

안전 메커니즘에는 다양한 버전이 있으며, 이들은 우발적인 하드웨어 결함을 감지하는 데 있어서 저마다 독자적인 효율성 수준을 갖고 있다. 안전성 메커니즘은 대개 고장 안전(fail-safe) 또는  고장시 안전 동작(fail-operational)으로 분류된다. 고장 안전 메커니즘은 랜덤 결함을 감지할 수 있다. 고장시 안전동작 메커니즘은 하드웨어 우발 고장을 수정할 수 있다. 대개는 더욱 많은 자원(전력, 성능, 면적)을 이용하게 되며, 가장 엄격한 안전성 목표(ASIL D로 지정되는)를 달성해야 한다.
전통적으로, 수작업에 의한 설계 향상 프로세스는 팀과 프로젝트 전반에 걸쳐 혼란스럽고 일관성이 없다. 엔지니어는 안전 메커니즘의 주입을 자동화 함으로써 다음과 같은 몇 가지 이점을 달성할 수 있다.
* 일관성 있는 안전 메커니즘의 구현을 주입하여 인적 오류를 없앤다
* 설계 엔지니어 자원을 확보하여 차별화된 기능에 집중할 수 있도록 해준다
* 설계 아키텍처를 모르는 써드파티 IP의 안전성을 향상시킬 수 있다
* HLS(high-level synthesis) 디자인과 같은 머신 생성 코드의 안전성을 향상시킬 수 있다

사용자는 안전 분석에서 제공하는 지침에 따라 전력, 성능, 면적 및 안전성 목표를 충족시키는 안전 메커니즘을 주입하게 된다. 엔지니어는 다음과 같은 일련의 하드웨어 안전 메커니즘을 선택할 수 있다.
* 플립플롭 패리티, 이중 복제(duplication) 및 삼중 복제(triplication)
* 유한 상태 기계(FSM) 보호
* ECC 및 삼중화(TMR: Triple modular redundancy)
* 모듈 수준의 락스텝(lockstep) 및 삼중 복제
* 단대단 패리티 및 순환중복검사(CRC)

안전 메커니즘을 주입한 후에는 원본 설계와 향상된 설계 간의 논리적 등가성을 확인하여 기능 일탈이 일어나지 않도록 해야 한다.


안전성 검증

결함 완화 로직을 이용해 설계를 향상시키고 나면 결함 주입 캠페인을 통해 해당 설계가 하드웨어 결함으로부터 안전함을 입증해야 한다. 결함 주입 캠페인의 목적은 결함 목록 내에 있는 각각의 결함을 완전히 분류하고 안전성 분석 시에 추정된 진단 커버리지 지표를 인증하는 것이다. 결함 분류 작업은 결함을 설계에 주입한 뒤 기능일탈 사항이 자동 주입된 안전 메커니즘에 의해 포착됨을 확인함으로써 수행된다. 결함 목록의 크기는 결함 캠페인의 길이에 직접적인 영향을 미치므로 이를 최소 세트로 줄일 수 있도록 모든 수단을 취해야 한다. 그 결과, 결함 캠페인은 두 개의 서브파트로 세분된다.
첫 번째 파트에서는 안전성 분석에 사용된 것과 동일한 구조 분석 기법을 이용해 결함 목록이 자동생성 된다. 이렇게 생성된 일련의 결함 최적화 태스크에 의해 결함 목록은 최소한의 문제 세트로 줄어든다. 첫 번째 최적화에서는 안전 필수 영향권 내에 포함되어 있는 로직을 파악하여 안전성 목표에 영향을 미칠 수 없는 영향권 밖의 로직을 제거한다. 안전성 분석 시에 채택했던 것과 동일한 구조 분석 알고리즘으로 안전 메커니즘을 인식한 분석을 수행함으로써 결함 목록을 더욱 최적화하며, 이를 통해 목록에는 진단 커버리지에 직접 기여하는 결함들만이 포함되도록 다듬는다. 끝으로, 결함 중첩(fault collapsing) 작업을 수행하여 논리적으로 등가인 모든 결함을 제거한다. 예를 들어, AND 게이트의 출력에 나타나는 고착결함(stuck-at 0 fault)은 고착되는 모든 입력과 동등하므로 해당 게이트의 결함 노드 수가 줄어들게 된다. 결함 최적화는 결함 주입 캠페인의 범위를 줄이는 데 있어서 매우 중요한 첫 단계이다.
이렇게 최적화된 결함 목록을 이용해 우발적인 하드웨어 결함을 설계에 주입해 넣는다. 이 결함 캠페인의 두 번째 파트에는 종종 가장 많은 시간이 소비되곤 한다. 오늘날의 설계 복잡성으로 인해 최적화된 결함 목록이라 해도 설계 노드가 수십만 개나 포함될 수 있기 때문이다. 결함 주입의 일차적인 해결과제는 결함 캠페인을 수용 가능한 기간 내에 마칠 수 있는 접근 방법을 확립하는 데 있다. 그 목표는 결함을 주입하고, 설계 거동에 미치는 영향을 시뮬레이트 하며, 궁극적으로는 안전성 분석 시에 계산된 추정 진단 커버리지를 인증하는 것이다. 결함 시뮬레이션은 기능 스티뮬러스를 이용하여 결함 주입을 수행한다. 시뮬레이터는 결함 주입 지점을 파악하여 기능 일탈이 발생 가능할 경우 결함을 주입한다. 주입된 결함은 안전/감지나 단일 지점, 잔류, 다지점 잠재 또는 다지점 감지/인지로 분류될 때까지 전파된다.
최대의 성능을 달성하기 위해 세 단계의 동시병행성이 이용된다. 첫째, 동시병행적인 결함 주입 알고리즘을 이용해 결함이 주입된다. 이 알고리즘은 단일 스레드 전반에 걸친 병렬처리 기능을 제공한다. 결함은 단일 스레드 동시병행성과 맞물려 CPU 코어 클러스터 전반에 주입된 뒤, 더 나아가 보다 큰 머신 그리드 전반에 걸쳐 배포된다. 결함 관리 기능은 업무 분담과 그에 따른 데이터의 융합을 감독한다. 오늘날의 자동차 반도체 설계에서는 수십만 개의 결함 노드가 발생하므로 결함 주입 캠페인의 병렬화는 프로젝트 일정을 맞추는 데 있어서 필수적이다.

결론
상향식 안전성 분석은 워크플로우 전반에 걸친 반복작업 수를 줄이는 데 있어서 중요하다. 전문가 주도의 판단을 인증하는 것 외에도 설계 향상 및 결함 검증 시에 극히 중요한 지침을 제공한다. 랜덤 결함 워크플로우의 주요 3단계(안전성 분석, 안전성 주입 및 안전성 검증)를 자동화함으로써 랜덤 결함을 완화 및 검증하기 위한 매끄럽고 효율적인 접근 방법을 구현할 수 있다.

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정



* 가입시 이메일만 입력하신 회원은 이름란을 비워두시면 됩니다.