(19) 대한민국특허청(KR) (12) 공개특허공보(A)
(11) 공개번호 10-2015-0117129 (43) 공개일자 2015년10월19일 (51) 국제특허분류(Int. Cl.)
G01R 31/3183
(2006.01) (21) 출원번호 10-2014-0042511 (22) 출원일자 2014년04월09일 심사청구일자 없음(71) 출원인
한국전자통신연구원
대전광역시 유성구 가정로 218 (가정동) (72) 발명자
한진호
서울특별시 송파구 중대로 24 올림픽아파트 326동 805호
권영수
대전광역시 유성구 노은로 416 송림마을아파트 510동 1502호
변경진
대전광역시 유성구 유성대로1679번길 18-7 (74) 대리인
특허법인이지 전체 청구항 수 : 총 14 항
(54) 발명의 명칭 에러 시뮬레이션 장치 및 그 방법 (57) 요 약
본 발명은 데이터를 입력받아서 출력하고, 노드(Node)를 포함하는 제1서브회로; 동일한 상기 데이터를 입력받아 서 출력하고, 상기 제1서브회로와 동일하게 구성된 제1테스트회로; 상기 제1테스트회로에 에러를 주입하는 에러 주입부; 제1서브회로의 출력 데이터와 제1테스트회로의 출력 데이터를 비교하는 에러 검출부; 상기 비교 결과를 통계 처리하여 제1서브회로의 입력 노드 에러 확률을 산출하는 에러율 산출부;를 포함하는 것을 특징으로 하는 에러율 산출 장치를 제공한다. 따라서 본 발명은 전체 회로를 직접 시뮬레이션하는 것에 비하여 에러 확률을 신 속히 구하여 소요시간을 단축하는 효과가 있다.
대 표 도 - 도1
이 발명을 지원한 국가연구개발사업 과제고유번호 10041648 부처명 지식경제부
연구관리전문기관 한국산업기술평가관리원 연구사업명 산업원천기술개발사업(정보통신)
연구과제명 자동차 전장시스템의 실시간 오류 감지 및 복구 프로세서 SW 개발 기 여 율 1/1
주관기관 한국전자통신연구원 연구기간 2012.06.01 ~ 2017.05.31
명 세 서 청구범위 청구항 1
데이터를 입력받아서 출력하고, 노드(Node)를 포함하는 제1서브회로;
동일한 상기 데이터를 입력받아서 출력하고, 상기 제1서브회로와 동일하게 구성된 제1테스트회로;
상기 제1테스트회로에 에러를 주입하는 에러 주입부;
제1서브회로의 출력 데이터와 제1테스트회로의 출력 데이터를 비교하는 에러 검출부;
상기 비교 결과를 통계 처리하여 제1서브회로의 입력 노드 에러 확률을 산출하는 에러율 산출부;를 포함하는 것 을 특징으로 하는 에러율 산출 장치.
청구항 2 제1항에 있어서,
상기 제1서브회로의 노드(Node) 정보를 추출하여 에러를 생성하는 에러 생성부;를 더 포함하는 것 을 특징으로 하는 에러율 산출 장치.
청구항 3 제2항에 있어서,
상기 노드 정보는 상기 제1서브회로의 입력 노드 및 출력 노드에 관한 정보를 포함하는 것 을 특징으로 하는 에러율 산출 장치.
청구항 4 제2항에 있어서,
상기 에러 생성부는 에러를 발생시킬 상기 제1테스트회로의 노드 및 에러 발생 시간에 관한 정보를 포함하는 에 러 주입 정보를 생성하는 것
을 특징으로 하는 에러율 산출 장치.
청구항 5 제4항에 있어서,
상기 에러 주입부는 상기 에러 주입 정보에 상응하도록 상기 제1테스트회로에 에러를 주입하는 것 을 특징으로 하는 에러율 산출 장치.
청구항 6 제1항에 있어서,
상기 에러 주입부는 상기 제1테스트회로의 노드 값을 반전시켜서 에러를 주입하는 것 을 특징으로 하는 에러율 산출 장치.
청구항 7 제1항에 있어서,
상기 에러 검출부는 상기 제1서브회로의 출력 데이터와 상기 제1스트회로의 출력 데이터를 비교하여 불일치하는 경우를 에러로 검출하는 것
을 특징으로 하는 에러율 산출 장치.
청구항 8
제1항의 에러율 산출 장치; 및
상기 제1서브회로의 입력 노드 에러 확률을 기반으로 제1서브회로의 출력 노드 에러 확률을 산출하는 시뮬레이 션부;를 포함하는 것
을 특징으로 하는 에러 시뮬레이션 장치.
청구항 9 제8항에 있어서,
상기 제1서브회로는 복수의 입력 노드를 포함하고,
상기 시뮬레이션부는 상기 복수의 입력 노드에 대한 상기 제1서브회로 입력 노드 에러 확률을 기반으로 상기 제 1서브회로의 출력 노드 에러 확률을 산출하는 것
을 특징으로 하는 에러 시뮬레이션 장치.
청구항 10 제8항에 있어서,
상기 데이터를 입력받아서 출력하고, 노드(Node)를 포함하며, 상기 제1서브회로의 출력 노드와 연결되는 제2서 브회로;를 더 포함하고,
상기 시뮬레이션부는 상기 제1서브회로의 입력 노드 에러 확률을 기반으로 제2서브회로의 출력 노드 에러 확률 을 산출하는 것
을 특징으로 하는 에러 시뮬레이션 장치.
청구항 11 제10항에 있어서,
상기 시뮬레이션부는 상기 제1서브회로의 입력 노드 에러 확률을 기반으로 상기 제1서브회로의 출력 노드 에러 확률을 산출하고, 상기 제1서브회로의 출력 노드 에러 확률을 상기 제2서브회로의 입력 노드 에러 확률로 하여 상기 제2서브회로의 출력 노드 에러 확률을 산출하는 것
을 특징으로 하는 에러 시뮬레이션 장치.
청구항 12
제1서브회로가 데이터를 입력받아 제1서브회로의 출력 데이터를 출력하는 단계;
제1테스트회로가 동일한 상기 데이터를 입력받는 단계;
상기 제1테스트회로에 에러를 주입하는 단계;
상기 제1테스트회로가 제1테스트회로의 출력 데이터를 출력하는 단계;
상기 제1서브회로의 출력 데이터와 상기 제1테스트회로의 출력 데이터를 비교하는 단계; 및
상기 비교 결과를 통계 처리하여 제1서브회로의 입력 노드 에러 확률을 산출하는 단계;를 포함하는 것 을 특징으로 하는 에러율 산출 방법.
청구항 13 제12항에 있어서,
상기 제1서브회로의 노드(Node) 정보를 전송받아서 에러를 생성하는 단계;를 더 포함하는 것 을 특징으로 하는 에러율 산출 방법.
청구항 14
제1서브회로가 데이터를 입력받아 제1서브회로의 출력 데이터를 출력하는 단계;
제1테스트회로가 동일한 상기 데이터를 입력받는 단계;
상기 제1테스트회로에 에러를 주입하는 단계;
상기 제1테스트회로가 제1테스트회로의 출력 데이터를 출력하는 단계;
상기 제1서브회로의 출력 데이터와 상기 제1테스트회로의 출력 데이터를 비교하는 단계;
상기 비교 결과를 통계 처리하여 제1서브회로의 입력 노드 에러 확률을 산출하는 단계; 및
상기 제1서브회로의 입력 노드 에러 확률을 기반으로 제1서브회로의 출력 노드 에러 확률을 산출하는 시뮬레이 션 단계;를 더 포함하는 것
을 특징으로 하는 에러 시뮬레이션 방법.
발명의 설명 기 술 분 야
본 발명은 디지털 회로가 오류 감내성(Fault Tolerant Feature)을 갖도록 설계되었을 때, 에러를 주입하여 에러 [0001]
확률을 산출하여 시뮬레이션 하는 에러 시뮬레이션 장치 및 그 방법에 관한 것이다.
배 경 기 술
디지털 회로는 알파입자(Alpha Particle), 열, 낮은 동작 전압 등에 의해 에러(Error)를 발생시킬 수 있다. 상 [0002]
기 에러는 상황에 따라서 디지털 회로의 동작 실패 즉, 오류(Fault)로 발현될 수 있다. 상기 에러는 디지털 회 로에 치명적이기에 이를 방지하기 위한 오류 방지 장치가 필요하다. 그리고, 상기 오류 방지 장치가 개발되었을 때, 오류(Fault)의 발현이 낮아졌다는 것을 증명할 수 있는 시뮬레이션 장치가 요구된다. 개발자가 상기 오류 방지 장치를 시스템에 적용시키고자 하는 경우, 상기 시뮬레이션 장치는 상기 오류 방지 장치의 성능을 측정하
기 위해 필요하다.
아날로그 회로와 달리, 디지털 회로는 0 또는 1이라는 값을 전달하여 원하는 기능을 구현하고 있다. 디지털 회 [0003]
로에서의 에러는 디지털 회로를 구성하는 소자 또는 셀(Cell) 의 출력을 0 또는 1에서 반전을 시킬 것이다. 이 렇게 발생한 에러는 영속적인 SEU와 SET로 구분된다. SET는 어느 순간 알파입자(Alpha Particle), 열 또는, 낮 은 동작 전압에 의해 디지털 회로의 노드에 에러가 발생하나 시간이 지나면 없어지는 것이다. SEU는 순차 로직 (Sequential Logic)의 상태(State)를 변화시켜서 에러가 다음 상태 변화까지는 유지를 하는 경우이다. SET/SEU 를 통한 에러가 오류로 발현되는 정도를 시뮬레이션 하는 장치는 오류 감내성(Fault Tolerance Feature)을 가지 는 부품의 성능 검증 및 측정을 위해서 필요하다. 또한, 상기 시뮬레이션 장치는 오류 감내성(Fault Tolerance Feature)을 가지는 부품을 채용하는 시스템을 위해서도 필요하다.
선행기술문헌 특허문헌
(특허문헌 0001) 미국등록특허 제8051247호(Fault-tolerant multi-core microprocessing) [0004]
발명의 내용 해결하려는 과제
본 발명의 목적은 에러 주입을 통하여, 에러 확률을 측정할 수 있는 에러 시뮬레이션 장치 및 그 방법을 제공하 [0005]
기 위한 것이다.
본 발명의 다른 목적은 정적 분석(Static Analysis)으로 전체 디지털 회로의 에러 확률을 측정할 수 있는 에러 [0006]
시뮬레이션 장치 및 그 방법을 제공하기 위한 것이다.
과제의 해결 수단
본 발명의 실시의 일 측면에서, 본 발명은 데이터를 입력받아서 출력하고, 노드(Node)를 포함하는 제1서브회로;
[0007]
동일한 상기 데이터를 입력받아서 출력하고, 상기 제1서브회로와 동일하게 구성된 제1테스트회로; 상기 제1테스 트회로에 에러를 주입하는 에러 주입부; 제1서브회로의 출력 데이터와 제1테스트회로의 출력 데이터를 비교하는 에러 검출부; 상기 비교 결과를 통계 처리하여 제1서브회로의 입력 노드 에러 확률을 산출하는 에러율 산출부;
를 포함하는 것을 특징으로 하는 에러율 산출 장치를 제공한다.
바람직하게는, 상기 제1서브회로의 노드(Node) 정보를 추출하여 에러를 생성하는 에러 생성부;를 더 포함하는 [0008]
것을 특징으로 하는 에러율 산출 장치를 제공한다.
바람직하게는, 상기 노드 정보는 상기 제1서브회로의 입력 노드 및 출력 노드에 관한 정보를 포함하는 것을 특 [0009]
징으로 하는 에러율 산출 장치를 제공한다.
바람직하게는, 상기 에러 생성부는 에러를 발생시킬 상기 제1테스트회로의 노드 및 에러 발생 시간에 관한 정보 [0010]
를 포함하는 에러 주입 정보를 생성하는 것을 특징으로 하는 에러율 산출 장치를 제공한다.
바람직하게는, 상기 에러 주입부는 상기 에러 주입 정보에 상응하도록 상기 제1테스트회로에 에러를 주입하는 [0011]
것을 특징으로 하는 에러율 산출 장치를 제공한다.
바람직하게는, 상기 에러 주입부는 상기 제1테스트회로의 노드 값을 반전시켜서 에러를 주입하는 것을 특징으로 [0012]
하는 에러율 산출 장치를 제공한다.
바람직하게는, 상기 에러 검출부는 상기 제1서브회로의 출력 데이터와 상기 제1스트회로의 출력 데이터를 비교 [0013]
하여 불일치하는 경우 에러를 검출하는 것을 특징으로 하는 에러율 산출 장치를 제공한다.
본 발명의 실시의 다른 측면에서, 본 발명은 에러율 산출 장치; 및 상기 제1서브회로의 입력 노드 에러 확률을 [0014]
기반으로 제1서브회로의 출력 노드 에러 확률을 산출하는 시뮬레이션부;를 포함하는 것을 특징으로 하는 에러 시뮬레이션 장치를 제공한다.
바람직하게는, 상기 제1서브회로는 복수의 입력 노드를 포함하고, 상기 시뮬레이션부는 상기 복수의 입력 노드 [0015]
에 대한 상기 제1서브회로 입력 노드 에러 확률을 기반으로 상기 제1서브회로의 출력 노드 에러 확률을 산출하 는 것을 특징으로 하는 에러 시뮬레이션 장치를 제공한다.
바람직하게는, 상기 데이터를 입력받아서 출력하고, 노드(Node)를 포함하며, 상기 제1서브회로의 출력 노드와 [0016]
연결되는 제2서브회로;를 더 포함하고, 상기 시뮬레이션부는 상기 제1서브회로의 입력 노드 에러 확률을 기반으 로 제2서브회로의 출력 노드 에러 확률을 산출하는 것을 특징으로 하는 에러 시뮬레이션 장치를 제공한다.
바람직하게는, 상기 시뮬레이션부는 상기 제1서브회로의 입력 노드 에러 확률을 기반으로 상기 제1서브회로의 [0017]
출력 노드 에러 확률을 산출하고, 상기 제1서브회로의 출력 노드 에러 확률을 상기 제2서브회로의 입력 노드 에 러 확률로 하여 상기 제2서브회로의 출력 노드 에러 확률을 산출하는 것을 특징으로 하는 에러 시뮬레이션 장치 를 제공한다.
본 발명의 실시의 또 다른 측면에서, 본 발명은 제1서브회로가 데이터를 입력받아 제1서브회로의 출력 데이터를 [0018]
출력하는 단계; 제1테스트회로가 동일한 상기 데이터를 입력받는 단계; 상기 제1테스트회로에 에러를 주입하는 단계; 상기 제1테스트회로가 제1테스트회로의 출력 데이터를 출력하는 단계; 상기 제1서브회로의 출력 데이터와 상기 제1테스트회로의 출력 데이터를 비교하는 단계; 및 상기 비교 결과를 통계 처리하여 제1서브회로의 입력 노드 에러 확률을 산출하는 단계;를 포함하는 것을 특징으로 하는 에러율 산출 방법을 제공한다.
바람직하게는, 상기 제1서브회로의 노드(Node) 정보를 전송받아서 에러를 생성하는 단계;를 더 포함하는 것을 [0019]
특징으로 하는 에러율 산출 방법을 제공한다.
본 발명의 실시의 또 다른 측면에서, 본 발명은 제1서브회로가 데이터를 입력받아 제1서브회로의 출력 데이터를 [0020]
출력하는 단계; 제1테스트회로가 동일한 상기 데이터를 입력받는 단계; 상기 제1테스트회로에 에러를 주입하는 단계; 상기 제1테스트회로가 제1테스트회로의 출력 데이터를 출력하는 단계; 상기 제1서브회로의 출력 데이터와 상기 제1테스트회로의 출력 데이터를 비교하는 단계; 상기 비교 결과를 통계 처리하여 제1서브회로의 입력 노드 에러 확률을 산출하는 단계; 및 상기 제1서브회로의 입력 노드 에러 확률을 기반으로 제1서브회로의 출력 노드 에러 확률을 산출하는 시뮬레이션 단계;를 더 포함하는 것을 특징으로 하는 에러 시뮬레이션 방법을 제공한다.
발명의 효과
본 발명은 전체 회로를 직접 시뮬레이션하는 것에 비하여 에러 확률을 신속히 구하여 소요시간을 단축하는 효과 [0021]
가 있다.
또한, 본 발명은 하위 회로들에 대한 에러 확률만을 기반으로, 하위 회로들로 구성된 전체 회로를 시뮬레이션하 [0022]
여 에러 확률을 용이하게 산출하는 효과가 있다.
도면의 간단한 설명
도 1은 본 발명의 바람직한 일 실시예에 따른 에러율 산출 장치의 구성도를 나타내는 도면이다.
[0023]
도 2는 본 발명의 바람직한 다른 실시예에 따른 에러 시뮬레이션 장치의 구성도를 나타내는 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 서브회로에 대한 에러 시뮬레이션 장치의 시뮬레이션 예시도를 나 타내는 도면이다.
도 4는 본 발명의 바람직한 다른 실시예에 따른 복수의 서브회로를 포함하는 전체 회로에 대한 에러 시뮬레이션 장치의 구성도를 나타내는 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 전체 회로에 대한 에러 시뮬레이션 예시도를 나타내는 도면이다.
도 6은 본 발명의 바람직한 다른 실시예에 따른 에러율 산출 장치의 흐름도를 나타내는 도면이다.
도 7은 본 발명의 바람직한 다른 실시예에 따른 에러 시뮬레이션 장치의 흐름도를 나타내는 도면이다.
발명을 실시하기 위한 구체적인 내용
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 [0024]
예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대 한 상세한 설명은 생략한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관 없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 에러율 산출 장치의 구성도를 나타내는 도면이다.
[0025]
도 1을 참조하면, 에러율 산출 장치(100)는 입력부(110), 서브회로(120), 테스트회로(130), 에러 생성부(140), [0026]
에러 주입부(150), 에러 검출부(160) 및 에러율 산출부(170)를 포함한다.
입력부(110)는 데이터를 입력받고, 상기 데이터를 서브회로(120) 및 테스트회로(130)로 전송한다. 입력부(110) [0027]
는 서브회로(120) 및 테스트회로(130)가 복수인 경우, 각 복수의 서브회로(121, 122) 및 복수의 테스트회로 (131, 132)로 상기 데이터를 전송한다. 입력부(110)는 서브회로(120) 및 테스트회로(130)로 상기 데이터를 동시 에 또는 이시에 전송한다. 입력부(110)는 서브회로(120) 및 테스트회로(130)로 동일한 데이터를 전송한다.
상기 데이터는 2진화된 입력 벡터(Input Vector)의 형태일 수 있다. 상기 데이터는 서브회로(120)의 입력 노드 [0028]
마다 직렬로 나열된 2진화의 값으로 구성될 수 있다. 서브회로(120)가 복수의 입력 노드를 가지는 경우, 상기 데이터는 상기 복수의 입력 노드의 수에 상응하게 병렬로 나열된 2진화의 값으로 구성될 수 있다.
서브회로(120)는 입력부(110)로부터 데이터를 입력받아서 서브회로(120) 출력 데이터를 출력하고, 노드(Node)를 [0029]
포함한다. 서브회로(120)는 디지털 회로를 구성하는 작은 단위 회로일 수 있다. 바람직하게는, 서브회로(120)는 연산을 수행할 수 있는 디지털 회로 논리 게이트(AND, OR, NOR, XOR, NOT)이거나 논리 게이트의 조합으로 이루 어진 디지털 회로일 수 있다. 서브회로(120)는 단수 또는 복수의 입력 노드와 단수 또는 복수의 출력 노드를 포 함한다. 서브회로(120)는 각각의 입력 노드로 상기 데이터를 입력받고, 직렬 또는 병렬로 입력 노드의 수에 상 응하게 입력받는다.
테스트회로(130)는 입력부(110)로부터 데이터를 입력받아서 테스트회로(130) 출력 데이터를 출력하고, 노드 [0030]
(Node)를 포함한다. 테스트회로(130)는 서브회로(120)와 동일한 형식과 값의 데이터를 입력받는다. 테스트회로 (130)는 입력 데이터로부터 출력 데이터를 생성하고 테스트회로(130) 출력 데이터는 서브회로(120) 출력 데이터 와 비교되어야하므로, 서브회로(120)의 출력 데이터 값과 서브회로(120)와 동일한 회로인 것이 바람직하다. 테 스트회로(130)는 에러가 주입되어 변형되어야 하기 때문에, 에러 주입부(150)에 의하여 에러를 주입받아 회로의 일부분의 값이 변형된다.
에러 생성부(140)는 서브회로(120)에서 노드 정보를 추출하여 에러를 생성한다. 상기 노드 정보는 서브회로 [0031]
(120)에서 에러 주입이 가능한 디지털 회로의 입력 노드 및 출력 노드 리스트를 추출한다. 상기 리스트는 서브 회로(120)의 Netlist를 기반으로 형성된다. 또는, 에러 생성부(140)는 서브회로(120)의 게이트 단위(Gate Level)의 회로도를 입력받아, 상기 게이트 단위 회로도를 기반으로 에러를 발생시키고자 하는 서브회로(120)내 의 모든 입출력 노드와 모든 노드 정보를 추출한다. 상기 추출된 노드는 에러가 주입될 수 있는 곳이 되며, 상 기 노드 정보는 추후 생성될 에러 주입 정보에 포함된다.
에러 생성부(140)는 설정된 에러 생성율(Error Generation Rate), 에러를 발생시킬 테스트회로(130)의 노드 정 [0032]
보 및 에러 발생 시간 정보를 포함하는 에러 주입 정보를 생성한다. 여기서, 상기 테스트회로(130)의 노드 정보 는 상기 서브회로(120)의 노드 정보에 기인한 것이다. 상기 에러 발생 시간 정보는 미리 설정된 에러 발생율 (Error Generation Rate)에 따라서 노드에 에러를 발생시킬 임의의 시간에 대한 정보이다.에러 생성부(140)는 상기 에러 주입 정보를 에러 주입부(150)로 전송하여 에러 주입부(150)가 에러를 테스트회로(130)로 주입하도록 한다.
에러 주입부(150)는 상기 에러 주입 정보에 상응하도록 테스트회로(130)에 에러를 주입한다. 상세하게는, 에러 [0033]
주입부(150)는 상기 서브회로(120)의 노드 정보에 기인한 노드에 상기 에러 발생 시간 정보에 따른 특정 시간에 에러를 주입한다. 에러 주입부(150)는 테스트회로(130)에서 해당 노드값을 읽어오고 반전시켜서 상기 노드값을 다시 테스트회로(130)에 저장한다. 에러가 주입된 테스트회로(130)는 에러 주입으로 변형된 상태로 동작을 하게 된다. 에러 주입부(150)는 상기 에러 주입 정보에 따라서 시간 및 노드를 다양하게 하여 테스트회로(130)에 에 러를 주입시킨다.
에러 검출부(160)는 서브회로(120)의 출력값인 서브회로(120) 출력 데이터와 테스트회로(130)의 출력값인 테스 [0034]
트회로(130) 출력 데이터를 비교한다. 에러 검출부(160)는 상기 서브회로(120) 출력 데이터와 상기 테스트회로 (130) 출력 데이터를 비교하여 불일치하는 경우, 에러 발생이라고 판단하여 에러를 검출한다. 테스트회로(130) 는 주입된 에러에 따라서 테스트회로(130) 출력 데이터를 다르게 생성한다.
에러율 산출부(170)는 에러 검출부(160)에서 에러 발생이라고 판단한 결과를 통계를 내어 확률로 산출한다. 에 [0035]
러율 산출부(170)에서 산출한 에러 확률은 서브회로(120)에 데이터가 입력되었을 때 출력되는 데이터가 오류가 날 확률이므로, 서브회로(120) 입력 노드에 대한 에러 확률을 의미한다.
도 2는 본 발명의 바람직한 다른 실시예에 따른 에러 시뮬레이션 장치의 구성도를 나타내는 도면이다.
[0036]
도 2를 참조하면, 에러 시뮬레이션 장치(200)는 입력부(110), 서브회로(120), 테스트회로(130), 에러 생성부 [0037]
(140), 에러 주입부(150), 에러 검출부(160) 및 에러율 산출부(170)에 시뮬레이션부(210)를 더 포함한다.
시뮬레이션부(210)는 서브회로(120)에 대하여 정적 분석을 수행한다. 정적 분석은 어떤 회로나 프로그램을 분석 [0038]
할 때 상기 회로나 프로그램을 실행시키지 않고 그 자체를 분석하는 것을 의미한다. 회로나 프로그램에 내재한 논리적 오류는 보통 프로그램을 실행하여 확인하지 않으면 찾기가 힘들지만, 정적 분석은 이러한 오류를 찾아내 는 데 도움을 줄 수 있다.
시뮬레이션부(210)는 서브회로(120)의 입력 노드 에러 확률을 기반으로 서브회로(120)의 출력 노드 에러 확률을 [0039]
산출한다. 서브회로(120)가 복수의 입력 노드를 포함하는 경우, 시뮬레이션부(210)는 상기 복수의 입력 노드에 대한 서브회로(120) 입력 노드 에러 확률을 기반으로 서브회로(120)의 출력 노드 에러 확률을 산출한다. 서브회 로(120)의 입력 노드가 복수인 경우, 시뮬레이션부(210)는 각 노드의 서브회로(120) 입력 노드 에러 확률을 모 델링(Modeling)하여 서브회로(120) 출력 노드 에러 확률을 산출한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 서브회로에 대한 에러 시뮬레이션 장치의 시뮬레이션 예시도를 나 [0040]
타내는 도면이다.
도 3을 참조하면, 시뮬레이션부(210)가 복수의 입력 노드를 가진 서브회로(120)를 대상으로, 서브회로(120)의 [0041]
입력 노드 에러 확률을 정적 분석하여 서브회로(120)의 출력 노드 에러 확률을 산출하는 예시가 도시되어 있다.
본 도면에서, 서브회로(120)는 디지털 회로의 가장 기본 단위인 AND게이트이고 구하고자 하는 노드의 에러 확률 [0042]
은 AND게이트의 출력 노드 에러 확률(Pp(O))이다. O는 AND게이트의 출력 노드이고, I 및 J는 각각 AND게이트의 입력 노드이다. Pp(I)는 AND게이트를 서브회로(120)로 하여 에러율 산출부(170)가 산출한 AND게이트 I입력 노드 에러 확률이고, Pp(J)는 AND게이트를 서브회로(120)로 하여 에러율 산출부(170)가 산출한 AND게이트 J입력 노드 에러 확률이다.
정적 분석시, 사용되는 입력 노드 에러 확률은 에러율 산출부(170)에 의한 입력 노드 에러 확률에 AND게이트의 [0043]
보정을 취한 값이다. 따라서, AND게이트 I입력 노드 보정 에러 확률 P(I)는 Pp(I) + P(G) 이고, AND게이트 J입 력 노드 보정 에러 확률 P(J)는 Pp(J) + P(G) 이다. 여기서 P(G)는 게이트 에러 확률이다. 상세하게, P(I)는 입 력단자 I가 0 일 때, 입력단자 I 값의 오류로 인하여 출력단자에 0이 아닌 값이 나타날 확률 Pp(I)와 입력단자 I가 0 일 때, 서브회로(120)인 AND게이트 회로 내의 오류로 인하여 출력단자에 0이 아닌 값이 나타날 확률 P (G)의 합으로 표현된다. P(J)는 입력단자 J가 0 일 때, 입력단자 J 값의 오류로 인하여 출력단자에 0이 아닌 값 이 나타날 확률 Pp(J)와 입력단자 J가 0 일 때, 서브회로(120)인 AND게이트 회로 내의 오류로 인하여 출력단자 에 0이 아닌 값이 나타날 확률 P(G)의 합으로 표현된다. P(G)는 AND게이트 회로 내부에서 오류가 발생해서 출력 노드 값에 에러가 발생될 확률로 입력 노드와 무관한게 일정하다.
시뮬레이션부(210)는 AND게이트 I입력 노드 보정 에러 확률 P(I)와 AND게이트 J입력 노드 보정 에러 확률 P(J) [0044]
를 가지고, AND게이트 입출력 경우의 수를 이용하여 모델링 하여 AND게이트 O출력 노드 에러 확률 Pp(O)를 산출
할 수 있다. AND게이트 I,J입력 노드 데이터와 AND게이트 O출력 노드의 경우의 수는 ) (I, J, O) = (0, 0, 0) P(I)*P(J) ) (I, J, O) = (0, 1, 0) P(I)*(1-P(J)) ) (I, J, O) = (1, 0, 0) (1-P(I))*P(J) ) (I, J, O) = (1, 1, 1) 1-(1-P(I))*(1-P(J)) 가 된다. 따라서, 최종 Pp(O)는 다음 수식(1)과 같다.
(1) [0045]
시뮬레이션부(210)는 복수의 입력 노드에 대한 AND게이트 입력 노드 에러 확률을 가지고 정적 분석하여, 실제로 [0046]
AND게이트에 RTL 시물레이션을 하지 않고도 간단히 최종 출력 노드 에러 확률을 구할 수 있게 된다.
도 4는 본 발명의 바람직한 다른 실시예에 따른 복수의 서브회로를 포함하는 전체 회로에 대한 에러 시뮬레이션 [0047]
장치의 구성도를 나타내는 도면이다.
도 4를 참조하면, 제1서브회로(121), 제2서브회로(122) 및 제3서브회로(123)를 포함하는 복수의 서브회로(120) [0048]
를 대상으로 시뮬레이션을 하는 에러 시뮬레이션 장치(200)이다.
에러 시뮬레이션 장치(200)는 시뮬레이션 대상 회로가 단수인 경우와는 다르게 복수의 서브회로(120)들을 포함 [0049]
한 전체 회로(410)를 시뮬레이션 분석한다. 에러 시뮬레이션 장치(200)는 전체 회로(410)의 최초 입력이 되는 서브회로(120)들의 노드에 대한 입력 노드 에러 확률을 가지고 정적 분석(Static Analysis)을 수행하여 전체 회 로(410)의 최종 출력이 되는 서브회로(120)들의 노드에 대한 출력 노드 에려 확률을 산출한다. 에러 시뮬레이션 장치(200)는 서브회로(120)들의 출력 노드 에러 확률을 산출하고, 서브회로(120)들의 출력 노드 에러 확률을 바 탕으로 다음 단계의 서브회로(120)들의 입력 노드 에러 확률 및 다음 단계의 서브회로(120)들의 출력 노드 에러 확률을 구한다.
도 4에 도시된, 에러 시뮬레이션 장치(200)는 복수의 서브회로(120)인 제1서브회로(121), 제2서브회로(122) 및 [0050]
제3서브회로(123)를 포함하는 전체 회로(410)를 대상으로 시뮬레이션을 수행한다. 제2서브회로(122)는 제2서브 회로(122)의 입력 노드가 제1서브회로(121)의 출력 노드와 연결되는 방식으로 제1서브회로(121)와 서로 연결될 수 있고, 제3서브회로(123)은 제3서브회로(123)의 입력 노드가 제1서브회로(121)의 출력 노드 또는 제2서브회로 (122)의 출력 노드와 연결될 수 있다. 에러 시뮬레이션 장치(200)는 제1서브회로(121), 제2서브회로(122) 및 제 3서브회로(123)의 입력 노드 에러 확률 에러율 산출 장치(100)에 의하여 각각 산출된다.
시뮬레이션부(210)는 에러율 산출 장치(100)로부터 각 서브회로의 입력 노드 에러 확률에 대한 정보를 [0051]
전송받고, 제1서브회로(121), 제2서브회로(122) 및 제3서브회로(123)가 연결되어 포함된 전체 회로(410)를 시뮬 레이션(정적 분석) 한다.
시뮬레이션부(210)는 전단의 서브회로의 입력 노드 에러 확률을 기반으로 후단의 서브회로의 출력 노드 에러 확 [0052]
률을 산출한다. 상세하게, 제1서브회로(121)의 입력 노드 에러 확률을 기반으로 제2서브회로(122)의 출력 노드 에러 확률을 산출한다. 바람직하게는, 시뮬레이션부(210)는 제1서브회로(121)의 입력 노드 에러 확률을 기반으 로 제1서브회로(121)의 출력 노드 에러 확률을 제2서브회로(122)의 입력 노드 에러 확률로 하여 제2서브회로 (122)의 출력 노드 에러 확률을 산출한다. 시뮬레이션부(210)는 전체 회로(410)에 대한 시뮬레이션(정적 분석) 을 다단계(Cascade) 형식으로 수행한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 전체 회로에 대한 에러 시뮬레이션 예시도를 나타내는 도면이다.
[0053]
도 5를 참조하면, AND게이트, OR게이트, NOT게이트와 같은 서브회로(120)들로 구성된 디지털 전체 회로(410)에 [0054]
대한 정적 분석과정이 도시된다. 총 5개의 서브회로로 구성된 디지털 전체 회로(410)가 정적 분석된다. 제1서브 회로(121)는 OR게이트이고, 제2서브회로(122)는 AND게이트이고, 제3서브회로(123)는 NOT게이트이고, 제4서브회 로(124)는 NOT게이트이고, 제5서브회로(125)는 OR게이트이고, I, J는 전체 회로(410)의 입력 노드이고, 입력 노 드 I, J의 입력이 (I, J) =(0,0), (I, J) =(0,1), (I, J) =(1,0) 및 (I, J) =(1,1) 이며, 각각의 전체 회로 (410)의 출력 노드 에러 확률을 Pp(0,0), Pp(0,1), Pp(1,0), Pp(1,1)라 가정하자. 서브회로(120)들은 동일한 구 성들로 이루어져 디지털 전체 회로(410)에 포함될 수 있고, 동일한 서브회로(120)들은 동일한 입출력노드 에러 확률을 가지는 것이 바람직하다.
시뮬레이션부(210)는 전체 회로(410)의 입력 노드 I, J의 입력이 (I, J) =(0,0), (I, J) =(0,1), (I, J) [0055]
=(1,0) 및 (I, J) =(1,1)일 때, 각각의 전체 회로(410)의 출력 노드 에러 확률 Pp(0,0), Pp(0,1), Pp(1,0), Pp(1,1)를 구하고 더하여, 전체 회로(410)의 최종 출력 노드 에러 확률 Pp(O)을 산출하여 정적 분석을 끝마친다.
전체 회로(410)의 입력 노드 I, J의 입력이 (I, J) =(0,0)일 때, 전체 회로(410)의 최종 출력 노드 에러 확률 [0056]
Pp(0,0)는 다음과 같이 구하여진다. 전체 회로(410)의 노드들에 대한 에러 확률들을 Pp(a), Pp(b), Pp(c), Pp(d), Pp(e), Pp(f), Pp(g), Pp(h)라 하자. Pp(d), Pp(e)는 제1서브회로(121)인 OR게이트의 출력 노드 에러 확률 이고, Pp(f)는 제3서브회로(123)인 NOT게이트의 출력 노드 에러 확률이다. 또한, Pp(d)는 제3서브회로(123)인 NOT게이트의 입력 노드 확률로, Pp(e), Pp(f)는 제2서브회로(122)인 AND게이트의 입력 노드 확률이다.
Pp(g)는 제3서브회로(123)인 NOT게이트의 출력 노드 에러 확률이고, Pp(h)는 제2서브회로(122)인 AND게이트의 [0057]
출력 노드 에러 확률이다. 또한, Pp(g), Pp(h)는 제1서브회로(121)인 OR게이트의 입력 노드 에러 확률이다.
시뮬레이션부(210)는 제1서브회로(121) 입력 노드 에러 확률, 제2서브회로(122) 입력 노드 에러 확률(Pp(a)) 및 [0058]
제3서브회로(123) 입력 노드 에러 확률(Pp(c))을 각각 계산한다. 시뮬레이션부(210)는 전체 회로 내부 노드 I, J, D, F의 값과 제1서브회로(121) 입력 노드 에러 확률(Pp(a)) 및 제3서브회로(123) 에러 확률(Pp(c))을 이용하 여, 제3서브회로(123) 입력 노드 에러 확률(Pp(d)), 제2서브회로(122) 입력 노드 에러 확률(Pp(e), Pp(f))를 계 산한다. 시뮬레이션부(210)는 전체 회로 내부 노드 D, F, G, G의 값과 제3서브회로(123) 입력 노드 에러 확률 (Pp(d)) 및 제2서브회로(122) 입력 노드 에러 확률(Pp(e), Pp(f))을 이용하여, 제1서브회로(121) 입력 노드 에러 확률(Pp(g), Pp(h))을 계산한다. 시뮬레이션부(210)는 전체 회로 내부 노드 G,H,O의 값과 제1서브회로(121) 입 력 노드 에러 확률을 이용하여, 전체 회로의 출력 노드 에러 확률 Pp(O)를 계산한다. 결국, 전체 회로의 출력 노드 에러 확률 Pp(O)은 단위 서브회로인 제1서브회로(121), 제2서브회로(122) 및 제3서브회로(123)의 입력 노 드 에러 확률(Pp(a), Pp(b), Pp(c))만으로 RTL 시뮬레이션 과정없이 용이하게 산출된다.
나아가, 수식 (2) 내지 수식(5)를 통하여, 전체 회로(410)의 최종 출력 노드 에러 확률 Pp(0,0)는 전체 회로 [0059]
(410)의 최초 입력 노드 에러 확률인 Pp(a), Pp(b), Pp(c)와 게이트 에러 확률 Por(G), Pand(G), Pnot(G) 만으로 표현될 수 있다.
(2) [0060]
(3) [0061]
(4) [0062]
[0063] (5)
이후, 전체 회로(410)의 입력 노드 I, J의 입력이(I, J) =(0,1), (I, J) =(1,0) 및 (I, J) =(1,1)일 때, 각각 [0064]
의 전체 회로(410)의 출력 노드 에러 확률 Pp(0,1), Pp(1,0), Pp(1,1)를 구하고 더하여, 전체 회로(410)의 최 종 출력 노드 에러 확률 Pp(Y)을 산출하여 정적 분석을 끝마친다.
에러 시뮬레이션 장치(200)는 모든 서브회로(120)들을 포함한 디지털 전체 회로(410)들의 시뮬레이션을 RTL 시 [0065]
뮬레이션 없이도 가능하게 한다.
도 6은 본 발명의 바람직한 다른 실시예에 따른 에러율 산출 장치의 흐름도를 나타내는 도면이다.
[0066]
도 6을 참조하면, 에러율 산출 장치가 에러 확률을 산출하는 방법의 흐름이 도시되어 있다.
[0067]
S601단계에서, 제1서브회로(121)는 데이터를 입력받아 제1서브회로(121)의 출력 데이터를 출력한다.
[0068]
S603단계에서, 에러율 산출 장치(100)의 제1테스트회로(131)이 제1서브회로(121)가 입력받은 데이터와 동일한 [0069]
데이터를 입력받는다.
S605단계에서, 에러 생성부(140)는 제1서브회로(121)로부터 노드 정보를 추출하여 전송받고, 상기 노드 정보를 [0070]
바탕으로 에러를 주입하기 위하여 요구되는 조건의 에러 주입 정보를 생성한다. 에러 생성부(140)는 에러를 생 성하고, 에러 주입부(150)로 상기 생성된 에러와 상기 에러 주입 정보를 전송한다.
S607단계에서, 에러 주입부(150)는 제1테스트회로(131)에 상기 에러 주입 정보에 상응하도록 목표로 하는 제1테 [0071]
스트회로(131) 노드에 에러를 주입한다.
S609단계에서, 제1테스트회로(131)은 입력된 데이터를 처리하여 제1테스트회로(131)의 출력 데이터를 출력한다.
[0072]
S611단계에서, 에러 검출부(160)는 제1서브회로(121)의 출력 데이터와 제1테스트회로(131)의 출력 데이터를 비 [0073]
교하되, 이들 값이 불일치하는 경우 에러가 발생하였다고 판단한다.
S613단계에서, 에러율 산출부(170)는 상기 에러 검출부(160)의 비교 결과를 통계 처리하여 제1서브회로(121)의 [0074]
입력 노드 에러 확률을 산출한다.
도 7은 본 발명의 바람직한 다른 실시예에 따른 에러 시뮬레이션 장치의 흐름도를 나타내는 도면이다.
[0075]
도 7을 참조하면, 도 4와 같이, 제1서브회로(121), 제2서브회로(122) 및 제3서브회로(123)를 포함한 복수의 서 [0076]
브회로(120)들을 포함하는 디지털 전체 회로(410)에 대하여, 에러 시뮬레이션 장치(200)가 정적 분석하는 방법 의 흐름이 도시되어 있다. 제1서브회로(121), 제2서브회로(122) 및 제3서브회로(123)의 입출력 단자는 서로 겹 쳐지도록 연결된다.
S701단계에서, 에러율 산출 장치(100)는 제1서브회로(121)의 입력 노드 에러 확률, 제2서브회로(122)의 입력 노 [0077]
드 에러 확률 및 제3서브회로(123)의 입력 노드 에러 확률을 각각 산출한다.
S703단계에서, 시뮬레이션부(210)는 에러율 산출 장치(100)로부터 상기 산출된 각 서브회로의 입력 노드 에러 [0078]
확률을 입력 받는다.
S705단계에서, 시뮬레이션부(210)는 전체 회로(410)로부터 전체 회로의 입력 노드에 대한 값과 전체 회로 각 내 [0079]
부의 노드값을 입력받는다.
S707단계에서, 시뮬레이션부(210)는 각 서브회로의 입력 노드 에러 확률, 전체 회로의 입력 노드에 대한 값과 [0080]
전체 회로 각 내부의 노드값을 기반으로 각 노드에 대한 에러 확률(입력 노드 에러 확률 및 출력 노드 에러 확 률)을 연산한다. 상세하게, 전단의 서브회로 입력 노드 에러 확률을 기반으로 다단계(Casade) 방식으로 디지털 전체 회로(410)의 최종 출력 노드 에러 확률을 산출한다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 [0081]
특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
부호의 설명
100 : 에러율 산출 장치 [0082]
110 : 입력부 120 : 서브회로 130 : 테스트회로 140 : 에러 생성부 150 : 에러 주입부 160 : 에러 검출부
200 : 에러 시뮬레이션 장치 210 : 시뮬레이션부
도면 도면1
도면2
도면3
도면4
도면5
도면6
도면7