모든 이야기

Pre-silicon fault model: 오류를 찾지 못한 실험은 무엇을 보장할까

fault를 여러 번 넣어도 권한 오류가 나오지 않았다면 회로가 안전하다고 말할 수 있을까. 먼저 어디에, 어떤 변화가, 어떤 상태에서 허용됐는지 물어야 한다. Pre-silicon fault model은 오류를 넣는 실험의 조건을 정의한다. 모델을 바꾸면 같은 회로에서 확인할 수 있는 결론도 달라진다.

모델에 없는 오류는 결과의 바깥에 있다

오류 모델은 위치, 개수, 효과와 관측 조건을 포함한다. 레지스터 비트 반전과 조합 게이트의 출력 고정은 같은 변화가 아니다. 한 번의 순간 변화와 계속 유지되는 고장도 다르다. 입력 상태를 고정했는지, 어떤 상태를 추가로 검토했는지도 결과의 범위다.

SYNFI 논문은 합성된 netlist와 cell library, fault specification을 받아 정상·고장 회로의 관계를 분석한다. 설정에는 대상 입출력과 기대 값, 동시 오류 수, 위치와 게이트 함수의 변경이 포함된다. 정상 기능만 보는 검증에 오류 조건을 추가하고, 합성 이후에 보호 구조가 남았는지도 확인하는 접근이다. SYNFI 원 논문, 3·5–6쪽

여기서 오류의 효과를 지정한 것과 물리적인 주입 방법이 그 효과를 실제로 만든다는 것은 별도의 검증이다. 논리 모델은 어떤 변화에 취약한지 좁히는 데 유용하지만 전압이나 광학 장비의 조건을 그대로 계산하는 도구는 아니다.

한 위치를 바꾸는 검사와 두 위치를 바꾸는 검사

가상의 1비트 권한 계산을 두 번 저장하고, 두 저장 비트가 같을 때만 그 값을 받아들인다고 하자. 정상 값이 0일 때 두 비트는 [0,0]이다. 두 저장 비트 중 하나만 반전하면 [1,0] 또는 [0,1]이 돼 비교에서 잡힌다.

이 모델에서 저장 비트 한 개의 반전에 대한 검출은 확인할 수 있다. 그러나 두 비트를 함께 반전하면 [1,1]이 돼 같은 잘못된 값을 비교가 통과시킨다. 공유 입력이나 비교기, 최종 허용 출력까지 오류 위치에 넣으면 또 다른 조건을 검사하게 된다. 저장 비트만 다뤘다는 결과를 회로 전체의 단일 오류 보장으로 표현해서는 안 된다.

검출의 성공 조건도 정해야 한다. 출력이 정상과 달라지는지만 확인하는 실험과, 오류 표시 없이 민감한 허용 상태에 들어갈 수 있는지를 확인하는 실험은 서로 다른 질문이다. 표시가 발생했어도 민감한 동작이 먼저 수행된다면 대응 시점은 추가 검토가 필요하다.

오류 조합이 늘어나는 속도를 계산한다

별도의 가상 평가 계획에서 대상 위치 8개, 각 위치의 오류 효과 3가지, 사전에 정한 회로 상태 4가지를 검사한다고 하자. 한 위치 오류의 조합은 8×3×4=96개다. 두 개의 서로 다른 위치를 같은 상태에서 동시에 바꾸면 조합(8,2)×3²×4=1008개다.

이 수치는 모든 조합을 같은 비용으로 실행했을 때의 실험 수일 뿐 실제 SYNFI 실행 시간이나 결과가 아니다. 두 위치를 순서와 무관하게 고르되, 효과는 위치별로 따로 선택했기 때문에 위치 조합은 28개다. 입력 제약 때문에 불가능한 상태가 있거나 효과가 동등하면 분석할 항목이 줄 수도 있다.

동시에 여러 위치를 다룰수록 범위가 커지므로, 중단된 분석이나 일부만 실행한 목록을 완료된 전체 분석처럼 적지 않는다. 오류를 찾지 못한 것이 특정 모델을 모두 확인한 결과인지, 일부 실험의 결과인지 구분해야 한다. 형식 분석에서도 타임아웃과 만족 불가능 판정은 같은 결과가 아니다.

논리 분석이 설명하지 않는 시간을 남겨 둔다

SYNFI의 해당 논문은 시간 독립적인 논리 모델을 만들기 위해 register와 loop를 전처리하며, 반복 상태는 별도의 설정으로 평가할 수 있음을 설명한다. 한 주기 안의 전기적 transient나 게이트 propagation delay, 배치 위치는 이 논리 분석의 범위 밖이다. SYNFI의 전처리와 한계, 8·26–27쪽

따라서 어떤 논리 오류가 효과가 없다는 결론을 모든 시간 폭과 모든 물리 위치에 대한 보증으로 늘리지 않는다. 합성 후의 분석 이후에 구현 도구가 회로를 더 바꿨다면, 평가한 회로와 최종 회로가 같은지도 다시 확인해야 한다.

Pre-silicon fault model은 안전이라는 말을 좁고 확인 가능한 문장으로 바꾸는 도구다. 대상 회로, 오류 위치와 효과, 상태와 성공 기준을 함께 적으면, 무엇을 검증했고 어떤 조건을 더 검사해야 하는지 결과를 이어 사용할 수 있다.

Pre-silicon fault model: 오류를 찾지 못한 실험은 무엇을 보장할까 · ariser