KR20040054528A - 마이크로컴퓨터 및 그 평가 장치 - Google Patents

마이크로컴퓨터 및 그 평가 장치 Download PDF

Info

Publication number
KR20040054528A
KR20040054528A KR1020030092291A KR20030092291A KR20040054528A KR 20040054528 A KR20040054528 A KR 20040054528A KR 1020030092291 A KR1020030092291 A KR 1020030092291A KR 20030092291 A KR20030092291 A KR 20030092291A KR 20040054528 A KR20040054528 A KR 20040054528A
Authority
KR
South Korea
Prior art keywords
address data
address
data
microcomputer
counter
Prior art date
Application number
KR1020030092291A
Other languages
English (en)
Other versions
KR100545969B1 (ko
Inventor
야마다스스무
나까무라다다오
구보따스스무
Original Assignee
산요덴키가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 산요덴키가부시키가이샤 filed Critical 산요덴키가부시키가이샤
Publication of KR20040054528A publication Critical patent/KR20040054528A/ko
Application granted granted Critical
Publication of KR100545969B1 publication Critical patent/KR100545969B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

어드레스 카운터의 어드레스 데이터를 정확하게 평가한다. 본 발명은 프로그램 메모리의 어드레스를 지정하는 어드레스 카운터를 갖고, 상기 어드레스 카운터의 어드레스 데이터를, 상기 어드레스 데이터를 평가하기 위한 외부 기기로 출력하는 마이크로컴퓨터에 있어서, 상기 외부 기기로부터 분기했을 때의 어드레스 데이터만을 기억하도록, 상기 어드레스 카운터의 어드레스 데이터가 분기한 것인가 여부를 판별하기 위한 판별 데이터를, 이 어드레스 데이터와 함께 상기 외부 기기로 출력하는 어드레스 데이터 출력 수단을 구비한 것을 특징으로 한다.

Description

마이크로컴퓨터 및 그 평가 장치{MICROCOMPUTER AND ITS EVALUATION DEVICE}
본 발명은, 마이크로컴퓨터 및 그 평가 장치에 관한 것이다.
원칩-마이크로컴퓨터란, ROM(프로그램 메모리), RAM, CPU, 주변 회로를 단일의 반도체 칩 상에 집적화하여 이 반도체칩을 기판 위에 고정하고, 이 반도체 칩 상에 형성되어 있는 입출력 포트(주변 회로)를 외부핀과 와이어 본딩으로 접속하고, 외부핀을 노출시킨 상태에서 이 반도체칩을 갖는 기판을 수지 부재(절연부재)로 피복한 것이다. 또한, 최근의 원칩-마이크로컴퓨터로서는, 소프트웨어를 ROM에 기억시키기까지의 시간, 제조 비용 등을 고려하여, 데이터를 전기적으로 재기입하는 것이 가능한 불휘발성 메모리(예를 들면 EEPROM)를 마스크 ROM 대신에 집적화한 것이 있다.
그런데, 원칩-마이크로컴퓨터 ROM에 기억되어 있는 데이터(예를 들면 프로그램 데이터, 테이블 데이터 등)는, 원칩-마이크로컴퓨터가 제어를 행하는 피제어체에 따라 다르다. 그 때문에, 원칩-마이크로컴퓨터가 상기의 불휘발성 메모리를 ROM으로서 갖고 있을 때, 피제어체의 종류가 변경될 때마다, 디버그 툴(평가 장치)로 평가된 데이터를 이용하여, ROM에 기억되어 있는 데이터를 재기입하게 된다.
여기서, 디버그 툴이란, 원칩-마이크로컴퓨터와 접속됨으로써, ROM의 어드레스를 지정하는 어드레스 카운터의 어드레스 데이터, ROM의 프로그램 데이터에 기초하는 연산 데이터 등의 변화를 실시간으로 판독함으로써, 프로그램 데이터의 정오(正誤)를 평가하는 것이다. 이에 따라, ROM에 기억되어 있는 데이터를 정확하게 재기입하는 것이 가능하게 된다.
또, 디버그 툴에 관한 기술은, 예를 들면, 이하의 특허 문헌1에 개시되어 있다.
<특허 문헌1>
특개평11-282713호 공보
그러나, 종래의 디버그 툴에서는, 마이크로컴퓨터가 동작하고 있을 때, 어드레스 카운터의 어드레스 데이터를 실시간으로 판독하여 모두 기억하고 있어서, 대용량의 휘발성 메모리 또는 불휘발성 메모리 등이 필요하다. 그 때문에, 상기의 메모리에의 어드레스 데이터의 기억 속도가 빠르게 되면, 일부의 어드레스 데이터가 기억되지 않게 될 가능성이 있어, 데이터를 정확하게 평가할 수 없게 되는 문제가 있었다. 또한, 디버그 툴이 대형화함과 함께 비용이 상승하는 문제가 있었다.
또한, 최근에는, 원칩-마이크로컴퓨터의 연산 처리 속도는, 수백 ㎒로 고속화하고 있는 것이 있다. 그 때문에, 종래의 디버그 툴로는, 어드레스 데이터, 연산 데이터 등의 변화를 실시간으로 판독할 수 없고, 데이터를 정확하게 평가할 수 없게 되는 문제가 있었다.
또한, 원칩-마이크로컴퓨터 수지 부재로 피복된 패키지는, 소형 기기(예를 들면 디지털 카메라, 휴대 전화)에의 내장을 고려하여 소형화하고, 이것에 따라 외부핀의 간격은, 매우 좁게 되어 있다. 그 때문에, 종래의 디버그 툴로는, 어드레스 데이터, 연산 데이터 등을 물리적으로 판독할 수 없고, 전자와 같이, 데이터를정확하게 평가할 수 없게 되는 문제가 있었다.
도 1은 본 발명의 마이크로컴퓨터 및 그 평가 장치의 개략 구성을 도시하는 블록도.
도 2는 본 발명의 마이크로컴퓨터의 내부 요소를 도시하는 블록도.
도 3은 본 발명의 마이크로컴퓨터의 평가 장치에서의 판별 동작을 설명하기 위한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
2 : 마이크로컴퓨터
4 : 프로그램 카운터
6 : 비트폭 변환 회로
8 : 디버그 툴
10 : 제어부
12 : 기억 수단
16 : ROM
44 : 직렬 입출력 포트
46, 48, 50, 52, 54 : 입출력 포트
상기 과제를 해결하기 위한 주된 발명은, 프로그램 메모리의 어드레스를 지정하는 어드레스 카운터를 갖고, 상기 어드레스 카운터의 어드레스 데이터를, 상기 어드레스 데이터를 평가하기 위한 외부 기기로 출력하는 마이크로컴퓨터에 있어서,
상기 외부 기기가 분기했을 때의 어드레스 데이터 만을 기억하도록, 상기 어드레스 카운터의 어드레스 데이터가 분기한 것인가의 여부를 판별하기 위한 판별 데이터를, 이 어드레스 데이터와 함께 상기 외부 기기로 출력하는 어드레스 데이터 출력 수단을 구비한 것을 특징으로 하는 마이크로컴퓨터이다.
본 발명의 상기 이외의 특징으로 하는 부분은, 본 명세서 및 첨부 도면의 기재에 의해 분명하여 진다.
<발명의 실시 형태>
===개시의 개요===
본 명세서 및 첨부 도면의 기재에 의해 적어도 이하의 사항이 분명해 진다.
프로그램 메모리의 어드레스를 지정하는 어드레스 카운터를 갖고, 상기 어드레스 카운터의 어드레스 데이터를, 상기 어드레스 데이터를 평가하기 위한 외부 기기로 출력하는 마이크로컴퓨터에 있어서, 상기 외부 기기가 분기했을 때의 어드레스 데이터 만을 기억하도록, 상기 어드레스 카운터의 어드레스 데이터가 분기한 것인지의 여부를 판별하기 위한 판별 데이터를, 이 어드레스 데이터와 함께 상기 외부 기기로 출력하는 어드레스 데이터 출력 수단을 구비한 것을 특징으로 하는 마이크로컴퓨터.
이 마이크로컴퓨터에 따르면, 어드레스 카운터의 어드레스 데이터가 분기한 것인지의 여부를 판별하기 위한 판별 데이터를 이 어드레스 데이터와 함께 외부 기기로 출력하게 된다. 즉, 외부 기기는, 분기했을 때의 어드레스 데이터(필요 최소한의 어드레스 데이터)를 기억하면 되기 때문에, 소용량의 메모리를 설치하는 것이 가능하게 된다. 이에 따라, 외부 기기는, 마이크로컴퓨터의 연산 처리 속도가 고속화하여 상기 메모리에의 어드레스 데이터의 기억 속도가 빠르게 되더라도, 필요로 하는 어드레스 데이터를 기억하여 데이터를 정확하게 평가하는 것이 가능하게 된다. 또, 외부 기기의 대형화 및 비용 상승을 방지하는 것도 가능하게 된다.
또한, 이러한 마이크로컴퓨터에 있어서, 상기 어드레스 데이터는, 상기 판별 데이터가 첨부되어 있는 것으로 하여도 된다.
이 마이크로컴퓨터에 따르면, 판별 데이터와 일체화하고 있는 어드레스 데이터를 외부 기기로 출력하기 때문에, 외부 기기로서는, 분기했을 때의 어드레스 데이터를 효과적으로 기억하여 데이터를 정확하게 평가하는 것이 가능하게 된다.
또한, 이러한 마이크로컴퓨터에 있어서, 상기 어드레스 데이터 출력 수단은, 상기 외부 기기로부터 공급되는 마이크로컴퓨터가 동작하기 위한 클럭보다 높은 주파수의 클럭을 이용하여, 상기 어드레스 카운터의 어드레스 데이터의 비트수보다 적은 비트수를 단위로 하여, 상기 어드레스 카운터의 어드레스 데이터를 상기 외부 기기로 출력하도록 해도 된다.
이 마이크로컴퓨터에 따르면, 외부 기기로부터의 클럭을 입력하기 위한 포트와, 어드레스 카운터의 어드레스 데이터를 출력하기 위한 최소한의 포트를 설치함으로써, 어드레스 데이터를 외부 기기로 출력하는 것이 가능하게 된다. 예를 들면, 데이터를 전기적으로 재기입하는 것이 가능한 프로그램 메모리를 갖는 양산용의 마이크로컴퓨터에 적용하면, 피제어체를 변경하는 그 때마다, 외부 기기에서의 어드레스 데이터의 평가 결과에 기초하여, 프로그램 메모리를 위한 정확한 재기입 데이터를 얻는 것이 가능하게 된다.
또한, 이러한 마이크로컴퓨터에 있어서, 상기 어드레스 데이터 출력 수단은, 상기 어드레스 카운터의 어드레스 데이터를 직렬 데이터로서 출력하도록 해도 된다.
이 마이크로컴퓨터에 따르면, 외부 기기로부터의 클럭을 입력하기 위한 포트와, 어드레스 카운터의 어드레스 데이터를 출력하기 위한 포트의 수는, 2 포트만으로 되게 된다.
또한, 이러한 마이크로컴퓨터에 있어서, 상기 어드레스 데이터 출력 수단은, 상기 어드레스 카운터의 어드레스 데이터를 복수 분할하여 출력하도록 해도 된다.
이 마이크로컴퓨터에 따르면, 어드레스 카운터의 어드레스 데이터를 직렬 데이터로 하는 경우에 비교하여, 외부 기기로부터 공급되는 클럭의 주파수를 저하시키는 것이 가능하게 된다.
또한, 프로그램 메모리의 어드레스를 지정하는 어드레스 카운터를 갖는 마이크로컴퓨터로부터, 상기 어드레스 카운터의 어드레스 데이터를 판독하는 마이크로컴퓨터의 평가 장치에서, 상기 어드레스 카운터의 어드레스 데이터가 분기한 것인지의 여부를 판독 후에 판별하여, 상기 어드레스 카운터의 어드레스 데이터가 분기한 것일 때에만, 이 어드레스 데이터를 기억하는 어드레스 데이터 기억 수단을 구비한 것을 특징으로 하는 마이크로컴퓨터의 평가 장치이다. 또한, 이러한 마이크로컴퓨터의 평가 장치에서, 상기 어드레스 데이터 기억 수단은, 상기 어드레스 카운터의 어드레스 데이터가 분기하지 않은 것일 때, 이 어드레스 데이터의 기억을 금지하는 것으로 한다.
이 마이크로컴퓨터의 평가 장치에 따르면, 어드레스 데이터 기억 수단은, 분기했을 때의 어드레스 데이터(필요 최소한의 어드레스 데이터)를 기억하면 되기 때문에, 소용량의 메모리를 설치하는 것이 가능하게 된다. 이에 따라, 어드레스 데이터 기억 수단은, 마이크로컴퓨터의 연산 처리 속도가 고속화하여 상기 메모리에의 어드레스 데이터의 기억 속도가 빠르게 되더라도, 필요로 하는 어드레스 데이터를 기억하고 데이터를 정확하게 평가하는 것이 가능하게 된다. 또한, 평가 장치의 대형화 및 비용 상승을 방지하는 것도 가능하게 된다.
또한, 이러한 마이크로컴퓨터의 평가 장치에서, 상기 어드레스 데이터 기억 수단은, 상기 어드레스 데이터가 분기한 것인지의 여부를 판별하기 위한 판별 데이터를, 상기 어드레스 데이터와 함께 판독하는 것으로 한다. 이 때, 상기 어드레스 데이터는, 상기 판별 데이터가 첨부되어 있는 것으로 해도 된다.
이 마이크로컴퓨터의 평가 장치에 따르면, 판별 데이터와 일체화하고 있는 어드레스 데이터가 마이크로컴퓨터로부터 공급되기 때문에, 분기했을 때의 어드레스 데이터를 효과적으로 기억하여 데이터를 정확하게 평가하는 것이 가능하게 된다.
또한, 이러한 마이크로컴퓨터의 평가 장치에서, 상기 어드레스 데이터 기억 수단은, 상기 마이크로컴퓨터가 동작하기 위한 클럭보다 높은 주파수의 클럭을 이용하여, 상기 어드레스 카운터의 어드레스 데이터의 비트수보다 적은 비트수를 단위로 하여, 상기 어드레스 카운터의 어드레스 데이터를 판독하도록 해도 된다.
이 마이크로컴퓨터의 평가 장치에 따르면, 마이크로컴퓨터가 갖는 어드레스 카운터의 어드레스 데이터를 평가하는 것에 특화되어 있기 때문에, 마이크로컴퓨터의 연산 처리 속도가 빠른 경우에도, 어드레스 카운터의 어드레스 데이터를 실시간으로 판독하여 정확하게 평가하는 것이 가능하게 된다. 또, 마이크로컴퓨터와의 접속선 수가 적기 때문에, 마이크로컴퓨터 자체가 소형화하고 있는 경우에도, 어드레스 카운터의 어드레스 데이터를 실시간으로 판독하여 정확하게 평가하는 것이 가능하게 된다.
===전체의 구성===
도 1을 참조하면서, 본 발명에 따른 전체의 개략 구성에 대하여 설명한다. 도 1은, 본 발명의 마이크로컴퓨터 및 그 평가 장치의 개략 구성을 도시하는 블록도이다. 또, 마이크로컴퓨터는, 데이터를 전기적으로 재기입하는 것이 가능한 프로그램 메모리를 갖는 양산품인 것으로 한다.
도 1에 있어서, 마이크로컴퓨터(2)는, 프로그램 카운터(4)(어드레스 카운터)와, 비트폭 변환 회로(6)(어드레스 데이터 출력 수단)를 갖고 있다.
프로그램 카운터(4)는, 마이크로컴퓨터의 프로그램 메모리(도시 생략)의 어드레스를 지정하기 위한 것으로서, 소정 바이너리값의 어드레스 데이터가 세트되어 있다.
비트폭 변환 회로(6)는, 프로그램 카운터(4)의 어드레스 데이터를 수신하여, 이 어드레스 데이터의 최상위 비트측에 스타트 비트 및 판별 비트(판별 데이터)로 이루어지는 헤더를 첨부하는 것이다. 여기서, 스타트 비트는, 복수의 각 어드레스 데이터를 구획하기 위한 것으로서, 논리값 "0"인 것으로 한다. 또한, 판별 비트는, 프로그램 카운터(4)의 어드레스 데이터가 +1 인크리먼트하지 않고 분기한 것인지의 여부를 판별하기 위한 것이다. 판별 비트는, 프로그램 메모리로부터의 프로그램 데이터의 해독 결과로부터, 프로그램 카운터(4)의 어드레스 데이터가 +1 인크리먼트한 것일 때는 논리값 "0"이 되고, 한편, 프로그램 카운터(4)의 어드레스 데이터가 분기한 것일 때는 논리값 "1"이 되는 것으로 한다. 또, 스타트 비트 및 판별 비트는, 상기의 논리값과는 역의 논리값인 것으로 해도 된다.
또한, 비트폭 변환 회로(6)는, 프로그램 카운터(4)의 어드레스 데이터의 비트수보다 적은 비트수를 단위로 하여, 헤더가 첨부되어 있는 어드레스 데이터를 출력해 가는 것이다. 예를 들면, 비트폭 변환 회로(6)는, 병렬-직렬 변환 회로인 것으로 해도 된다. 즉, 비트폭 변환 회로(6)는, 헤더가 첨부되어 있는 어드레스 데이터가 병렬로 입력됨과 함께, 이 어드레스 데이터를 직렬로 출력하게 된다. 또한, 비트폭 변환 회로(6)는, 헤더가 첨부되어 있는 어드레스 데이터(n 비트)를 복수(m:m<n) 분할하는 회로인 것으로 해도 된다. 즉, 비트폭 변환 회로(6)는, 헤더가 첨부되어 있는 어드레스 데이터가 병렬로 입력됨과 함께, 이 어드레스 데이터를n/m 비트를 단위로 하는 m 개의 데이터로 분할하여 순차 병렬로 출력하게 된다. 이 비트폭 변환 회로(6)로부터 얻어지는 어드레스 데이터는, 후술하는 어드레스 데이터를 평가하기 위한 디버그 툴에 공급된다. 또, 비트폭 변환 회로(6)로부터는, 복수의 어드레스 데이터가 연속하여 출력되기 때문에, 스타트 비트는, 유효하게 작용하게 된다.
디버그 툴(8)(외부 기기 또는 평가 장치)은, 마이크로컴퓨터(2)의 비트폭 변환 회로(6)로부터 공급되는 어드레스 데이터를 평가하기 위한 것으로서, 제어부(10)와, 기억 수단(12)을 갖고 있다. 또, 제어부(10) 및 기억 수단(12)은, 청구항에서 기술하는 어드레스 데이터 기억 수단을 구성한다.
제어부(10)는, 비트폭 변환 회로(6)가 어드레스 데이터를 출력하기 위한 클럭을 발생시킴과 함께, 기억 수단(12)의 기입 및 판독을 제어하는 것이다. 프로그램 카운터(4)에 세트되는 어드레스 데이터의 값은, 마이크로컴퓨터(2)가 동작하기 위한 시스템 클럭에 동기하여, 인크리먼트 또는 소정의 어드레스 데이터로 변경되는 것이다. 그 때문에, 제어부(10)는, 마이크로컴퓨터(2)가 동작하기 위한 시스템 클럭에 비교하여, 높은 주파수를 갖는 클럭을 비트폭 변환 회로(6)에 공급하게 된다.
일례로서, 마이크로컴퓨터(2)가 동작하기 위한 시스템 클럭이 1 ㎒, 비트폭 변환 회로(6)가 16 비트의 어드레스 데이터(단 상위 2 비트는 헤더이다)를 병렬로부터 직렬로 변환하는 병렬-직렬 변환 회로인 것으로 한다. 이 경우, 제어부(10)는, 프로그램 카운터(4)의 어드레스 데이터가 변경을 받기 전에 이 어드레스 데이터를 수신하지 않으면 안되기 때문, 16 ㎒의 클럭을 비트폭 변환 회로(6)에 공급하게 된다. 이에 따라, 비트폭 변환 회로(6)는, 16 ㎒의 클럭에 동기하여, 또한, 프로그램 카운터(4)의 어드레스 데이터의 변경에 확실하게 추종하여, 16 비트의 어드레스 데이터를 직렬 출력하게 된다.
또한, 다른 예로서, 마이크로컴퓨터(2)가 동작하기 위한 시스템 클럭이 1 ㎒, 비트폭 변환 회로(6)가 16 비트의 어드레스 데이터 A15∼A0(단 A15는 스타트 비트, A14는 판별 비트이다)을 4 비트를 단위로 하는 데이터 A15∼A12, A11∼A8, A7∼A4, A3∼A0으로 분할하는 회로인 것으로 한다. 이 경우, 제어부(10)는, 프로그램 카운터(4)의 어드레스 데이터가 변경을 받기 전에 이 어드레스 데이터를 수신하지 않으면 안되기 때문, 4 ㎒의 클럭을 비트폭 변환 회로(6)에 공급하게 된다. 이에 따라, 비트폭 변환 회로(6)는, 4 ㎒의 클럭에 동기하여, 또한, 프로그램 카운터(4)의 어드레스 데이터의 변경에 확실하게 추종하여, 4 비트 데이터 A15∼A12, A11∼A8, A7∼A4, A3∼A0의 순으로 병렬 출력하게 된다.
기억 수단(12)은, 비트폭 변환 회로(6)로부터 얻어지는 어드레스 데이터 중, 분기했을 때의 어드레스 데이터 만을 기억하는 것이다. 여기서, 제어부(10)는, 비트폭 변환 회로(6)로부터 얻어지는 어드레스 데이터 중, 스타트 비트 및 판별 비트가 분리되어 공급됨으로써, 기억 수단(12)의 기입을 제어한다. 상술하면, 제어부(10)는, 스타트 비트가 공급되어 각 어드레스 데이터를 적절하게 구획하고, 판별 비트가 공급되어 어드레스 데이터가 분기한 것인지의 여부를 판별한다. 이에 따라, 제어부(10)가 어드레스 데이터를 분기한 것이라고 판별했을 때, 기억수단(12)은, 제어부(10)로 지정되는 어드레스에, 비트폭 변환 회로(6)로부터 상기의 예와 같이 하여 얻어지는 어드레스 데이터를 순차 기억해 가게 된다. 또, 기억 수단(12)으로서는, SRAM, DRAM 등의 휘발성 메모리, EPROM, EEPROM 등의 불휘발성 메모리, 또는, 하드디스크 등을 이용할 수 있다. 그러나, 기억 수단(12)으로서는, 비트폭 변환 회로(6)로부터 얻어지는 어드레스 데이터를 확실하게 기억할 수 있는 것이면, 상기 이외의 기억 소자를 이용하도록 해도 된다.
여기서, 제어부(10)는, 마이크로컴퓨터(2)가 동작을 개시하기 위한 개시 신호와, 마이크로컴퓨터(2)가 동작을 정지하기 위한 정지 신호를, 마이크로컴퓨터(2)에 공급함으로써, 마이크로컴퓨터(2)의 동작 기간을 적절하게 제어하는 것이기도 하다. 이에 따라, 제어부(10)에서는, 마이크로컴퓨터(2)의 동작을 정지시키고 있는 기간에, 기억 수단(12)이 현시점까지 기억하고 있는 분기 시의 어드레스 데이터를 판독하여, 어드레스 데이터의 변화를 기초로 프로그램 메모리의 데이터를, 전체를 통해서 또는 단속적으로 평가하는 것이 가능하게 된다.
===마이크로컴퓨터의 구성===
다음으로, 도 2를 참조하면서, 본 발명의 마이크로컴퓨터에 대하여 설명한다. 도 2는, 본 발명의 마이크로컴퓨터의 내부 요소를 도시하는 블록도이다. 또, 도 1과 동일 요소에 대해서는 동일 번호를 붙이도록 한다.
도 2에 있어서, 복수의 내부 요소가 내부 버스(14)를 통하여 접속되어 있다. 또, 내부 버스(14)는, 어드레스 버스 및 데이터 버스를 갖는 것이다. 그러나, 어드레스 버스 및 데이터 버스를 분리한 것이어도 된다.
우선, ROM(16)(프로그램 메모리)는, 마이크로컴퓨터(2)가 연산 처리를 적절하게 실행하기 위한 프로그램 데이터, 마이크로컴퓨터(2)가 연산 처리를 적절하게 실행할 때에 참조하는 테이블 데이터 등이 미리 기억되어 있는 것이다. 또, 본 실시 형태에 있어서, ROM(16)는, 데이터를 재기입하는 것이 가능한 불휘발성 메모리로서, EEPROM(플래시 ROM을 포함) 또는 EPROM인 것이 바람직하다. 예를 들면, EPROM을 내장하는 마이크로컴퓨터(2)에서는, 반도체 칩 상의 수지 부재를 절개하여 자외선 조사용의 윈도우부를 형성함으로써, 양산품으로서 사용 가능하게 된다.
프로그램 카운터(4)에 대하여 상술한다. 프로그램 카운터(4)는, ROM(16)의 모든 어드레스의 중에서, 연산 처리를 실행하기 위한 프로그램 데이터 또는 테이블 데이터가 기억되어 있는 어드레스를 지정하는 것이다. 프로그램 카운터(4)는, 마이크로컴퓨터(2)가 전원 투입되었을 때, 마이크로컴퓨터(2)를 초기화하기 위한 프로그램 데이터가 기억되어 있는 ROM(16)의 어드레스 데이터가 프리세트된다. 그 후, 프로그램 카운터(4)의 어드레스 데이터는, 시스템 클럭의 타이밍에서, +1 인크리먼트하거나, ROM(16)로부터 판독되는 프로그램 데이터의 해독 결과 또는 인터럽트 요구에 따라서 소정의 어드레스 데이터에 분기(점프)된다. 이에 따라, ROM(16)는, 프로그램 카운터(4)로 어드레스가 지정되어, 이 어드레스에 기억되어 있는 프로그램 데이터 또는 테이블 데이터를 판독하게 된다.
인스트럭션 레지스터(18)는, ROM(16)으로부터 판독된 프로그램 데이터를 시스템 클럭의 타이밍에서 일시 유지하는 것이다. 인스트럭션 디코더(20)는, 인스트럭션 레지스터(18)로부터 출력되는 프로그램 데이터(바이너리 데이터)를PLA(Programmable Logic Array)로 해독하고, 연산 처리를 실행하기 위한 제어 신호를 출력하는 것이다.
RAM(22)는, 연산 처리에 관한 데이터의 기입 및 판독을 행하는 것이다. 또, 본 실시 형태에 있어서, RAM(22)로서는, 연산 처리에 관한 데이터를 효과적으로 재기입할 수 있는 SRAM 등의 휘발성 메모리를 이용하는 것이 바람직하다.
ALU(24)(연산 논리 유닛)은, 2 입력 및 1 출력으로 이루어지고, ROM(16)로부터 판독된 프로그램 데이터의 해독 결과에 따라서, 2 입력 데이터를 연산 처리하여, 이 때 얻어지는 출력 데이터를 내부 버스(14)로 전송하는 것이다. ALU(24)는, 필요에 따라, 출력 데이터를 한쪽의 입력에 공급하여 재차 연산 처리를 실행한다.
어큐뮬레이터(26), 레지스터군(28)은, ALU(24)으로부터 얻어지는 출력 데이터 등의 연산 처리에 관한 데이터를 일시 유지하는 것이다.
스택 포인터(30)는, 소정의 인터럽트 처리에 따라 현 프로그램 루틴과는 다른 프로그램 루틴으로 이행할 때, 현 프로그램 루틴의 복귀처가 될 ROM(16)의 어드레스 데이터를 보유하는 것이다. 또, 마이크로컴퓨터(2)가 다중의 인터럽트 처리를 실행하는 것이 가능한 경우, 스택 포인터(30)는, 다중의 인터럽트 처리수에 따른 계층수를 갖는 것으로 한다.
발진 회로(32)는, 마이크로컴퓨터(2)의 내부 요소를 구동하기 위한 시스템 클럭의 기초가 되는 발진 클럭을 발생시키는 것이다. 본 실시 형태에서는, 발진 회로(32)는, 그것 자체로 발진 주파수를 생성하는 자주 발진형인 것으로 한다. 예를 들면, 발진 회로(32)로서는, 고유 진동자를 갖는 세라믹 발진 회로 및 수정 발진 회로, RC 발진 회로 등을 적용하는 것이 가능하다. 또, 발진 회로(32) 대신에, 외부 클럭을 발진 클럭으로서 공급하는 타주 발진형으로서도 좋다.
클럭 제너레이터(34)는, 발진 회로(32)로부터 발생하는 발진 클럭을 소정수 분주하고, 마이크로컴퓨터(2)의 내부 요소를 구동하기 위한 시스템 클럭을 발생시키는 것이다.
타이머(36)는, 클럭 제너레이터(34)가 발진 클럭을 소정수 분주하여 얻어지는 1초 신호를 계시(計時)하고, 계시 출력을 내부 버스(14)로 전송하는 것이다. 또, 타이머(36)는, 인스트럭션 디코더(20)로부터 얻어지는 제어 신호에 따라, 리세트됨과 함께 계시를 행한다.
인터럽트 제어부(38)는, 현 프로그램 루틴과는 다른 프로그램 루틴을 실행하기 위한 인터럽트 요구를 발생시키는 것이다. 예를 들면, 인터럽트 제어부(38)는, 타이머(36)의 1초마다의 계시 변화가 공급됨으로써, 타이머 인터럽트 요구를 발생시킨다. 이 때, ALU(24)에서는, ROM(16)로부터 판독된 프로그램 데이터의 해독 결과에 따라서, 예를 들면 시계의 일, 시, 분, 초의 인크리먼트, 자릿수 올림 등의 연산 처리만을 실행한다. 또한, 인터럽트 제어부(38)는, 마이크로컴퓨터(2)의 인터럽트 입력 단자(도시 생략)에 소정의 외부 신호가 공급됨으로써, 외부 인터럽트 요구를 발생시킨다. 이 때, ALU(24)에서는, ROM(16)로부터 판독된 프로그램 데이터의 해독 결과에 따라서, 외부 신호가 요구하는 연산 처리만을 실행한다. 또한, 인터럽트 제어부(38)는, 워치도그 타이머(40)로부터 마이크로컴퓨터(2)가 이상 상태인 것을 나타내는 신호가 공급됨으로써, 스탠바이 제어부(42)를 제어하여, 현재의 연산 처리를 정지하여 스탠바이 모드로 한다. 또, 인터럽트 요구는, 상기의 인터럽트 요구에 한정되는 것이 아니다. 예를 들면, ALU(24)의 연산 결과가 소정값이 되었을 때, 인터럽트 요구를 발생시키는 것도 가능하다.
직렬 입출력 포트(44), 입출력 포트(46, 48, 50, 52)는, 마이크로컴퓨터(2)와 외부 기기(본 실시 형태에서는 디버그 툴(8))와의 사이의 인터페이스를 행하는 것으로서, 한쪽의 입출력측은 내부 버스(14)와 접속되고, 다른 쪽의 입출력측은 외부핀(도시 생략)과 접속되어 있다.
입출력 포트(54)는, 마이크로컴퓨터(2)와 디버그 툴(8)과의 사이의 인터페이스를 행하는 것으로서, 한쪽의 입출력측은 외부핀(도시 생략)과 접속되고, 다른 쪽의 입출력측은 비트폭 변환 회로(6)의 클럭 입력 및 데이터 출력과 접속되어 있다. 즉, 비트폭 변환 회로(6)가 어드레스 데이터를 출력하기 위한 클럭은, 제어부(10)로부터 입출력 포트(54)를 통하여 비트폭 변환 회로(6)에 입력되게 된다.
===마이크로컴퓨터와 디버그 툴의 동작===
다음으로, 도 3을 참조하면서, 마이크로컴퓨터(2) 및 디버그 툴(8)의 동작에 대하여 설명한다. 도 3은, 본 발명의 평가 장치(디버그 툴(8))의 판별 동작을 설명하기 위한 흐름도이다.
우선, 디버그 툴(8)의 제어부(10)에서는, 마이크로컴퓨터(2)가 동작을 개시하기 위한 개시 신호 및 마이크로컴퓨터(2)가 동작을 정지하기 위한 정지 신호를 출력하여, 마이크로컴퓨터(2)의 인터럽트 입력 단자에 공급한다. 이에 따라, 마이크로컴퓨터(2)는, 이들의 개시 신호 및 정지 신호와 대응하는 외부 인터럽트 요구를 받아, ROM(16)의 프로그램 데이터를 해독하여 연산 처리를 행함과 함께, 이 때의 프로그램 카운터(4)의 어드레스 데이터를 디버그 툴(8)로 출력하기 위한 스탠바이 모드가 된다.
그리고, 디버그 툴(8)의 제어부(10)에서는, 마이크로컴퓨터가 동작하기 위한 시스템 클럭보다 높은 주파수의 클럭을 출력하여, 마이크로컴퓨터(2)의 입출력 포트(54)에 공급한다. 또, 마이크로컴퓨터의 시스템 클럭의 주파수와 이 클럭의 주파수와의 관계는, 상기에 설명한 바와 같다(S2).
이에 따라, 마이크로컴퓨터(2)에서는, ROM(16)의 프로그램 데이터를 해독하여 연산 처리를 행함과 함께, 이 때의 프로그램 카운터(4)의 어드레스 데이터를 헤더와 함께 디버그 툴(8)로 출력하게 된다. 예를 들면, 비트폭 변환 회로(6)가 병렬-직렬 변환 회로일 때, 헤더가 첨부된 어드레스 데이터는, 비트폭 변환 회로(6)로부터 입출력 포트(54)를 통하여 디버그 툴(8)로 직렬 출력된다. 또한, 비트폭 변환 회로(6)가 어드레스 데이터를 복수 분할하는 회로일 때, 헤더가 첨부된 어드레스 데이터는, 복수 분할된 후, 비트폭 변환 회로(6)로부터 입출력 포트(54)를 통하여 순차 병렬 출력된다. 또, 입출력 포트(54)는, 클럭의 입력과 어드레스 데이터의 출력(어드레스 데이터를 복수 분할했을 때에는 분할 후의 개개의 데이터 비트수)을 가능하게 하는 비트수 만큼, 미리 설치하여 놓으면 좋다(S4).
디버그 툴(8)의 제어부(10)에서는, 어드레스 데이터로부터 헤더를 추출하여, 스타트 비트로부터 어드레스 데이터를 적절하게 구획함과 함께, 판별 비트의 논리값으로부터 이 때의 어드레스 데이터가 분기한 것인지의 여부를 판별하게된다(S6).
디버그 툴(8)의 제어부(10)에서는, 판별 비트가 논리값 "1"인 것으로 판별하면 (S8:YES), 이 때의 어드레스 데이터는 분기한 것이 되기 때문에, 이 어드레스 데이터를 기억 수단(12)의 지정 어드레스에 기억하여, 상기의 단계 S4로부터의 처리를 재차 실행하게 된다(S10).
한편, 디버그 툴(8)의 제어부(10)에서는, 판별 비트가 논리값 "0"인 것으로 판별하면 (S8: NO), 이 때의 어드레스 데이터는 전의 어드레스 데이터를 +1 인크리먼트한 것으로 되기 때문에, 이 어드레스 데이터를 기억 수단(12)에 기억하지 않고서, 상기의 단계 S4로부터의 처리를 재차 실행하게 된다. 즉, 분기하지 않는 어드레스 데이터는, +1 인크리먼트할 뿐이고 불규칙한 변화를 발생시키지 않기 때문에, 기억 수단(12)에 일부러 기억시킬 필요가 없다.
그 후, 마이크로컴퓨터(2)에서는, 공급되어 있는 정지 신호에 대응하여, 적절한 타이밍에서 동작을 정지한다. 이에 따라, 디버그 툴(8)의 제어부(10)에서는, 어드레스 데이터가 공급되지 않게 되기 때문에, 클럭의 출력을 정지하여, 일련의 동작이 종료한다.
이상으로부터, 디버그 툴(8)의 기억 수단(12)에는, 프로그램 카운터(4)의 어드레스 데이터 중, 분기했을 때의 어드레스 데이터만이 순차 기억되게 된다. 그리고, 디버그 툴(8)은, 프로그램 카운터(4)의 어드레스 데이터를 평가하는 것에 특화되어 있기 때문에, 마이크로컴퓨터(2)의 연산 처리 속도가 빠른 경우에도, 프로그램 카운터(4)의 어드레스 데이터를 정확하게 평가하는 것이 가능하게 된다. 또,마이크로컴퓨터(2)와 디버그 툴(8)과의 사이에는, 개시 신호, 정지 신호, 클럭, 어드레스 데이터를 위한 접속선만 설치하면 되기 때문에, 마이크로컴퓨터(2) 자체가 소형화하고 있는 경우에도, 프로그램 카운터(4)의 어드레스 데이터를 정확하게 평가하는 것이 가능하게 된다.
===그 밖의 실시 형태===
이상, 본 발명에 따른 마이크로컴퓨터 및 그 평가 장치에 대하여 설명했지만, 상기한 발명의 실시 형태는, 본 발명의 이해를 용이하게 하기 위한 것으로서, 본 발명을 한정하는 것은 아니다. 본 발명은, 그 취지를 일탈하지 않고, 변경, 개량될 수 있음과 함께, 본 발명에는 그 등가물이 포함되는 것은 물론이다.
<판별 비트>
본 실시 형태에서는, 판별 비트는 어드레스 데이터의 헤더로 되어있지만, 이것에 한정되는 것이 아니다. 예를 들면, 판별 비트는, 마이크로컴퓨터(2)로부터 디버그 툴(8)로 어드레스 데이터와는 독립하는 비트선을 이용하여 출력하도록 해도 된다. 이에 따라, 디버그 툴(8)의 제어부(10)에서는, 어드레스 데이터로부터 판별 비트를 추출하는 처리를 생략할 수 있게 된다.
<어드레스 데이터>
본 실시 형태에서는, 복수의 어드레스 데이터의 단락을 판별하기 위해서, 각 어드레스 데이터의 최상위에 스타트 비트를 첨부하도록 하고 있지만, 이것에 한정되는 것이 아니다. 예를 들면, 각 어드레스 데이터의 최하위 또는 중간 비트의 소정 위치에 스타트 비트와 마찬가지의 판별 비트를 첨부하도록 해도 된다.
<마이크로컴퓨터>
본 실시 형태에서는, 마이크로컴퓨터(2)는 데이터를 전기적으로 재기입하는 것이 가능한 프로그램 메모리를 갖는 양산품인 것으로 하고 있지만, 이것에 한정되는 것이 아니다. 예를 들면, 마이크로컴퓨터(2)는, 마스크 ROM 또는 원 타임 EPROM 등을 갖는 마이크로컴퓨터를 양산하기 전에 사용하는, 평가용의 마이크로컴퓨터이어도 된다.
본 발명에 따르면, 평가 장치는, 분기했을 때의 필요 최소한의 어드레스 데이터를 기억하면 되기 때문에, 소용량의 메모리를 설치하는 것이 가능하게 된다. 이에 따라, 평가 장치는, 마이크로컴퓨터의 연산 처리 속도가 고속화하여 메모리에의 어드레스 데이터의 기억 속도가 빠르게 되더라도, 필요로 하는 어드레스 데이터를 기억하고 데이터를 정확하게 평가하는 것이 가능하게 된다. 또, 평가 장치의 대형화 및 비용 상승을 방지하는 것도 가능하게 된다.

Claims (10)

  1. 프로그램 메모리의 어드레스를 지정하는 어드레스 카운터를 갖고, 상기 어드레스 카운터의 어드레스 데이터를, 상기 어드레스 데이터를 평가하기 위한 외부 기기로 출력하는 마이크로컴퓨터에 있어서,
    상기 외부 기기가 분기했을 때의 어드레스 데이터 만을 기억하도록, 상기 어드레스 카운터의 어드레스 데이터가 분기한 것인지의 여부를 판별하기 위한 판별 데이터를, 이 어드레스 데이터와 함께 상기 외부 기기로 출력하는 어드레스 데이터 출력 수단
    을 구비한 것을 특징으로 하는 마이크로컴퓨터.
  2. 제1항에 있어서,
    상기 어드레스 데이터는, 상기 판별 데이터가 첨부되어 있는 것을 특징으로 하는 마이크로컴퓨터.
  3. 제1항 또는 제2항에 있어서,
    상기 어드레스 데이터 출력 수단은, 상기 외부 기기로부터 공급되는 마이크로컴퓨터가 동작하기 위한 클럭보다 높은 주파수의 클럭을 이용하여, 상기 어드레스 카운터의 어드레스 데이터의 비트수보다 적은 비트수를 단위로 하여, 상기 어드레스 카운터의 어드레스 데이터를 상기 외부 기기로 출력하는 것을 특징으로 하는마이크로컴퓨터.
  4. 제1항 또는 제2항에 있어서,
    상기 어드레스 데이터 출력 수단은, 상기 어드레스 카운터의 어드레스 데이터를 직렬 데이터로서 출력하는 것을 특징으로 하는 마이크로컴퓨터.
  5. 제1항 또는 제2항에 있어서,
    상기 어드레스 데이터 출력 수단은, 상기 어드레스 카운터의 어드레스 데이터를 복수 분할하여 출력하는 것을 특징으로 하는 마이크로컴퓨터.
  6. 프로그램 메모리의 어드레스를 지정하는 어드레스 카운터를 갖는 마이크로컴퓨터로부터, 상기 어드레스 카운터의 어드레스 데이터를 판독하는 마이크로컴퓨터의 평가 장치에 있어서,
    상기 어드레스 카운터의 어드레스 데이터가 분기한 것인지의 여부를 판독 후에 판별하고, 상기 어드레스 카운터의 어드레스 데이터가 분기한 것일 때에만, 이 어드레스 데이터를 기억하는 어드레스 데이터 기억 수단
    을 구비한 것을 특징으로 하는 마이크로컴퓨터의 평가 장치.
  7. 제6항에 있어서,
    상기 어드레스 데이터 기억 수단은, 상기 어드레스 카운터의 어드레스 데이터가 분기하지 않은 것일 때, 이 어드레스 데이터의 기억을 금지하는 것을 특징으로 하는 마이크로컴퓨터의 평가 장치.
  8. 제6항 또는 제7항에 있어서,
    상기 어드레스 데이터 기억 수단은, 상기 어드레스 데이터가 분기한 것인지의 여부를 판별하기 위한 판별 데이터를, 상기 어드레스 데이터와 함께 판독하는 것을 특징으로 하는 마이크로컴퓨터의 평가 장치.
  9. 제8항에 있어서,
    상기 어드레스 데이터는, 상기 판별 데이터가 첨부되어 있는 것을 특징으로 하는 마이크로컴퓨터의 평가 장치.
  10. 제6항 또는 제7항에 있어서,
    상기 어드레스 데이터 기억 수단은, 상기 마이크로컴퓨터가 동작하기 위한 클럭보다 높은 주파수의 클럭을 이용하여, 상기 어드레스 카운터의 어드레스 데이터의 비트수보다 적은 비트수를 단위로 하여, 상기 어드레스 카운터의 어드레스 데이터를 판독하는 것을 특징으로 하는 마이크로컴퓨터의 평가 장치.
KR1020030092291A 2002-12-18 2003-12-17 마이크로컴퓨터 및 그 평가 장치 KR100545969B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00366364 2002-12-18
JP2002366364A JP2004199333A (ja) 2002-12-18 2002-12-18 マイクロコンピュータおよびその評価装置

Publications (2)

Publication Number Publication Date
KR20040054528A true KR20040054528A (ko) 2004-06-25
KR100545969B1 KR100545969B1 (ko) 2006-01-26

Family

ID=32763590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030092291A KR100545969B1 (ko) 2002-12-18 2003-12-17 마이크로컴퓨터 및 그 평가 장치

Country Status (5)

Country Link
US (1) US7185117B2 (ko)
JP (1) JP2004199333A (ko)
KR (1) KR100545969B1 (ko)
CN (1) CN100395716C (ko)
TW (1) TWI277899B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373565B2 (en) * 2005-08-23 2008-05-13 Hewlett-Packard Development Company, L.P. Start/stop circuit for performance counter
CN109116972B (zh) * 2017-06-23 2023-05-12 三垦电气株式会社 微型计算机
JP7489398B2 (ja) 2019-10-18 2024-05-23 ローム株式会社 トレース回路、半導体装置、トレーサ、トレースシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4989207A (en) * 1988-11-23 1991-01-29 John Fluke Mfg. Co., Inc. Automatic verification of kernel circuitry based on analysis of memory accesses
JP2845155B2 (ja) * 1995-02-07 1999-01-13 日本電気株式会社 シングルチップマイクロコンピュータのエミュレーションチップ
JP3684831B2 (ja) 1998-03-31 2005-08-17 セイコーエプソン株式会社 マイクロコンピュータ、電子機器及びデバッグシステム
JP2000013414A (ja) * 1998-06-25 2000-01-14 Fujitsu Ltd 装置内監視制御システム
CN1071038C (zh) * 1998-08-04 2001-09-12 英业达股份有限公司 用于调试串行通讯的诊断装置
JP2000259408A (ja) * 1999-03-08 2000-09-22 Texas Instr Inc <Ti> 遅延スロットにおけるソフトウェアブレークポイント
US6502210B1 (en) * 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method

Also Published As

Publication number Publication date
US20050060523A1 (en) 2005-03-17
TW200415510A (en) 2004-08-16
CN1508686A (zh) 2004-06-30
JP2004199333A (ja) 2004-07-15
TWI277899B (en) 2007-04-01
KR100545969B1 (ko) 2006-01-26
US7185117B2 (en) 2007-02-27
CN100395716C (zh) 2008-06-18

Similar Documents

Publication Publication Date Title
CN110634530B (zh) 芯片的测试系统和测试方法
US6057705A (en) Programmable pin designation for semiconductor devices
US7447959B2 (en) Semiconductor integrated circuit and a method of testing the same
TW586121B (en) Semiconductor memory device with built-in self-diagnostic function and semiconductor device having the semiconductor memory device
KR100519687B1 (ko) 마이크로컴퓨터 및 그 평가 장치
KR100545969B1 (ko) 마이크로컴퓨터 및 그 평가 장치
JP2007256264A (ja) 半導体装置
EP0358773B1 (en) Microcomputer
KR100737912B1 (ko) 반도체 메모리 장치의 에러 검출 및 정정 회로
US10074436B1 (en) Memory device and data reading method thereof
JP2006294005A (ja) プログラマブル・コントローラ
EP1814037A1 (en) Semiconductor storage device
US7260671B2 (en) Information containing means for memory modules and memory chips
JP4257239B2 (ja) コンフィグレーションデータ設定方法およびコンピュータシステム
JPH11232077A (ja) 情報処理システム
JPH08314757A (ja) ブレイクポイントの組合せが確認された時命令プログラムの実行を停止する手段を備える集積回路
KR101948152B1 (ko) 메모리 모듈의 검사 장치 및 방법
EP0328422A2 (en) Microcomputer system
JPH06150024A (ja) マイクロコンピュータ
JPH0789439B2 (ja) 半導体集積回路装置
JPH11166956A (ja) Lsi論理回路評価装置
WO2003065222A2 (en) Software correction
KR20190033429A (ko) 반도체 기억 장치, 및 반도체 기억 장치의 제어 방법
JPH11214520A (ja) 半導体集積回路
KR20000046804A (ko) 데이터 크기를 가변할 수 있는 임베디드 엠씨유

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee