KR100354932B1 - 멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서 - Google Patents

멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서 Download PDF

Info

Publication number
KR100354932B1
KR100354932B1 KR1019950048164A KR19950048164A KR100354932B1 KR 100354932 B1 KR100354932 B1 KR 100354932B1 KR 1019950048164 A KR1019950048164 A KR 1019950048164A KR 19950048164 A KR19950048164 A KR 19950048164A KR 100354932 B1 KR100354932 B1 KR 100354932B1
Authority
KR
South Korea
Prior art keywords
bus
cycle
address
data
integrated circuit
Prior art date
Application number
KR1019950048164A
Other languages
English (en)
Other versions
KR960025089A (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 KR960025089A publication Critical patent/KR960025089A/ko
Application granted granted Critical
Publication of KR100354932B1 publication Critical patent/KR100354932B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

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

Abstract

데이타 프로세서(10) 및 고속 멀티플렉싱 버스(28)상에 쇼 사이클을 제공하는 방법은 두개의 동작 모드를 이용한다. 제 1 동작 모드는 논리 해석기(100)와 같은 수동 장치에 인터페이싱하는 멀티플렉싱 버스상에 표준 쇼 사이클을 지원한다.
제 2 동작 모드는 멀티플렉싱 버스를 이용하여 제어 펑션의 실시간 트랙킹을 에뮬레이션 툴(100)에 지원한다. 데이타 프로세서(10)의 각각의 동작 모드동안, 판독 및 기록 쇼 사이클은 유사한 포맷으로 동시에 지원 및 제공된다.

Description

멀티플렉싱 버스상에 쇼 사이클을 제공하는 방법 및 데이타 프로세서
기술분야
본 발명은 쇼 사이클(show cycles)을 갖는 데이타 프로세서에 관한 것으로, 보다 구체적으로, 멀티플렉싱 버스상에 쇼 사이클을 제공하는 데이타 프로세서에 관한 것이다.
발명의 배경
다수의 마이크로컨트롤러 어플리케이션은 마이크로컨트롤러 유닛(MCU)내에서 발생하는 버스 동작을 포함한다. 이러한 버스 동작은 내부 제어 레지스터, 내부 데이타 레지스터, 및 온-칩(on-chip) 메모리의 판독 및 기록 동작을 포함한다. 이러한 동작은 일반적으로 마이크로컨트롤러의 외부 장치에 대해 가시성이 없다. 그러나, 개발 환경(development environment)에서, 이러한 내부 동작의 관찰이 흔히 요구된다.
일반적으로, 마이크로컨트롤러 유닛내의 외부 버스 회로는 마이크로컨트롤러 유닛의 외부 장치와 고속(fast) 내부 버스사이에 인터페이스를 제공한다. 외부 버스 회로는 버스 동작동안 다른 시간에서 동일 집적 회로 터미널상의 어드레스와 데이타 신호를 멀티플렉싱하기 위해 내부 버스를 액세싱하고, 외부 버스 메니지먼트(management)하는 책임이 있다. 동일 집적 회로 터미널상의 어드레스와 데이타 신호를 멀티플렉싱함으로써, 외부 버스 회로는 마이크로컨트롤러 유닛의 총 집적 회로 터미널 카운트를 감소시킬 수 있으며, 따라서, 저가의 데이타 프로세서를 제공한다.
외부 버스 회로의 주요 특성은 마이크로컨트롤러 유닛이 낮은 터미널 카운트를 갖도록 할 수 있는 능력이 있다는 것이다. 데이타 버스 터미널의 감소를 통해 비용이 크게 절감될 수 있다. 따라서, 쇼 사이클을 포함하는 모든 외부 버스 사이클은 멀티플렉싱 버스 인터페이스를 사용하도록 요구된다.
개발 환경에서, 외부 버스 사이클은 내부 버스 사이클의 외부 가시성을 제공해야 한다. 이것은 논리 해석기 및 버스 해석기 등의 수동 툴과, 실시간 내부 제어 동작의 트랙킹을 필요로 하는 능동 툴을 지원하기 위해 제공된다. 내부 버스 사이클의 외부 가시성을 제공하기 위한 메카니즘은 쇼 사이클(show-cycle)로서 지칭되며, 표준의 외부 버스 사이클로부터 다른 데이타 버스 타이밍을 필요로 한다. 일반적으로, 쇼 사이클의 어드레스 페이즈는 데이타 페이즈가 지연된 표준의 외부 버스 사이클과 유사하다. 데이타 페이즈는, 내부 판독 사이클로부터의 유효 데이타가 마이크로컨트롤러 유닛내에서 내부적으로 유효할 때까지는 외부적으로 구동될 수 없다. 데이타는 외부 버스 사이클의 종료까지는 마이크로컨트롤러내에서 내부적으로 유효하지 않다. 이때, 외부 버스 회로가 데이타를 외부적으로 구동하는 동안 지연이 있다. 따라서, 표준 쇼 판독 사이클의 데이타 페이즈(phase)는 현재의 버스 사이클의 종료 전까지는 제공되지 않으며 실질적으로 다음 버스 사이클로 넘어간다.
종래의 쇼 사이클 메카니즘은 넌-멀티플렉싱(non- multiplexed) 버스상에 쇼 사이클을 제공한다. 종래의 쇼 사이클 메카니즘은 버스 사이클의 데이타 페이즈의 확장을 다음 버스 사이클에 제공한다. 다음의 버스 사이클에서, 데이타 페이즈는 시작되지 않으며, 집적 회로 데이타 터미널은 데이타 페이즈가 시작할 때까지는 재사용된다. 그러나, 멀티플렉싱 버스의 경우, 다음의 버스 사이클은 동일 어드레스/데이타 버스 집적 회로 터미널을 사용하여 어드레스 페이즈를 실행할 것을 요구한다. 쇼 사이클의 데이타 페이즈 확장을 위한 시간상의 여유는 없다. 내부 판독 동작동안 검색된 타임 데이타가 마이크로컨트롤러의 멀티플렉싱 버스의 외부 집적 회로 터미널상에서 유효할 때까지, 다음의 버스 사이클로부터의 어드레스는 동일 집적 회로 터미널상에 존재할 것이다. 상기 설명된 멀티플렉싱 버스에서, 쇼 사이클의 시퀀스는 이러한 상황에 적절하지가 않다. 에뮬레이션 동작 모드에 있어서, 외부 버스 회로는 내부 펑션에 대해 동기 제어하는 외부의 개발 툴을 지원하도록 내부 기록 동작의 실시간 가시성을 제공해야만 한다.
쇼 사이클은 수년간 데이타 프로세서내에서 사용되어 왔다. 그러나, 이러한 데이타 프로세서내의 쇼 사이클은 넌-멀티플렉싱 버스상에 제공된다. 종래의 쇼 사이클 메카니즘은 버스 사이클의 데이타 페이즈의 확장을 다음 버스 사이클에 제공하며, 다음의 버스 사이클의 데이타 페이즈는 아직 시작하지 않는다. 그러나, 집적 회로 데이타 터미널은 데이타 페이즈가 시작할 때까지는 재사용될 수 있다. 데이타 프로세서가 더욱 밀도있는 펑션을 제공할 때, 넌-멀티플렉싱 외부 버스가 더 이상 필요치 않다. 그러나, 쇼 사이클의 물리적 요구 및 멀티플렉싱 어드레스/데이타 버스의 물리적 제한으로 인하여, 현재의 기술은 내부 사이클과 동일한 외부 버스 사이클동안 내부 데이타를 공급 할 수 없다.
또한, 에뮬레이션 사이클은 외부 새도우(shadow) 레지스터의 사용을 통해 데이타 프로세서의 내부 펑션 제어를 트랙킹하는데 사용된다. 일부 제어 신호는 멀티플렉싱 버스 사이클의 래칭된 어드레스 페이즈와 동시에 디코딩되어 섀도우 레지스터의 어드레스를 발생시킨다. 섀도우 레지스터는 제어 변경의 실시간 가시성을 필요로 하는 외부 합성 회로에 관련되어 내부 데이타 처리 펑션(function)에 동기된다. 전형적인 개발 툴은 몇몇 펑션을 지원하기 위해 이러한 특성을 갖는다. 각 펑션은 섀도우 레지스터의 동일한 기본 아키텍쳐를 나타내며 실시간에서 내부 펑션의 동작을 트랙킹해야만 하는 외부 펑션을 제어하는 내부 레지스터의 실시간 복사를 제공한다. 이러한 펑션은 내부의 기록 가시성을 실시간으로 제공하는 에뮬레이션 사이클에 의존적이다.
발명의 개요
상술한 문제점들은 본 발명으로 해결된다. 따라서, 다수의 제어 신호, 다수의 어드레스 값, 및 다수의 데이타 값을 제공하는 중앙 처리 유닛을 포함하는 데이타 프로세서가 제공된다. 시스템 집적 회로는 다수의 제어 신호, 다수의 어드레스 값, 및 다수의 데이타 값을 수신하기 위해 데이타 프로세서에 접속된다. 시스템 집적 회로는 데이타 프로세서가 쇼 사이클을 실행하도록 인에이블링하는 제 1 제어 신호를 발생한다. 그 데이타 프로세서가 쇼 사이클을 실행함을 다수의 제어 신호들 중의 제 1 신호가 나타낼 때, 시스템 집적 회로는 다수의 어드레스값 및 다수의 데이타 값을 제 1 소정의 포맷으로 멀티플렉싱 버스상에 공급한다. 제 1 소정의 포맷은 제 1 버스 사이클동안 액세싱되고, 제 1 어드레스 값에 관련된 다수의 데이타 값들중의 제 1 데이타 값을 포함한다. 시스템 집적 회로는 제 2 사이클 동안 다수의 데이타 값들중의 제 1 데이타 값을 멀티플렉싱 버스에 제공하며, 제 2 사이클동안, 다수의 어드레스 값들 중의 제 2 어드레스값이 멀티플렉싱 버스에 공급된다.
본 발명의 제 2 실시예에서, 데이타 프로세서의 멀티플렉싱 버스상에 쇼 사이클을 공급하는 방법이 제공된다. 본 방법은 다수의 어드레스값, 다수의 데이타 값, 및 다수의 제어 신호를 공급하기 위해 데이타 프로세서의 중앙 처리 장치를 인에이블링하는 단계 및, 상기 데이타 프로세서가 쇼 사이클을 실행하도록 인에이블링하는 제 1 제어 신호를 발생하기 위해 시스템 집적 회로를 인에이블링하는 단계를 포함한다. 다수의 제어 신호중의 제 1 신호가 상기 데이타 프로세서를 인에이블시켜 쇼 사이클을 실행할 때, 다수의 어드레스 값 및 다수의 데이타 값을 상기 멀티플렉싱 버스상에 제 1 소정의 포맷으로 공급한다. 제 1 소정의 포맷은 제 1 버스 사이클동안 액세싱 되고 제 1 어드레스에 관련된 다수의 데이타 값들중의 제 1 데이타 값을 포함한다. 시스템 집적 회로는 제 2 사이클동안 다수의 데이타 값들중의 제 1 데이타 값을 멀티플렉싱 버스상에 제공하며, 상기 제 2 사이클동안 다수의 어드레스 값들중의 제 2 어드레스 값은 멀티플렉싱 버스상에 공급된다.
상기 및 또 다른 특징 및 장점은 첨부 도면을 참조한 하기 설명에서 더욱 분명해진다. 본 도면은 단지 본 발명을 설명하기 위한 것이지 유일한 형태를 나타내고자 한 것이 아니다.
양호한 실시예의 상세한 설명
일반적으로, 내부 회로 에뮬레이션 시스템(ICE)과 같은 전체 기능 개발 툴(a full feature development tool)은 마이크로 컨트롤러의 내부 동작에 대해 최대의 가시성(visibility)을 제공하는 모드에서 마이크로컨트롤러를 동작시켜야 한다. 이것은, 이 툴이 어플리케이션(application)의 개발동안 마이크로컨트롤러의 시스템 동작 및 프로그램 해석을 제공할 수 있도록 한다. 흔히, 이러한 가시성을 얻기 위하여, 개발 툴은 어플리케이션이 일반적으로 요구하는 것과는 다르게 마이크로컨트롤러 리소스(resource)를 구성해야 한다. 이러한 상황에서, 툴은 다른 마이크로컨트롤러 리소스 구성에 의해 영향받는 어플리케이션이 요구하는 모든 펑션를 대체시켜야 한다. 에뮬레이션 시스템은 변경된 리소스 구성에 영향받는 모든 펑션의 정확한 재생을 제공해야만 한다. 또한, 그러한 기능을 바르게 합성하기 위해 에뮬레이션 시스템에 필요한 지원을 제공하는 마이크로컨트롤러도 동일한 중요성을 갖는다.
전형적으로, 마이크로컨트롤러가 온 칩(on-chip) 리소스의 가시성 및 제어 능력을 외부 장치에 지원하도록 구성될 때, 마이크로컨트롤러는 그 내부 칩 리소스의 내부 제어 레지스터를 리맵핑(remapping)함으로써 개발 툴을 지원한다. 그 관련된 온-칩 리소스는 폐쇄되며 마이크로컨트롤러는 에뮬레이션 시스템에 의해 리소스 구현된 오프-칩(off-chip)으로 동작한다. 이것은 에뮬레이팅된 리소스 또는 펑션으로 언급된다. 대부분의 에뮬레이팅된 펑션은 시간 감지 동작을 나타내며, 이때, 펑션에서의 변화는 펑션의 제어를 변경하는 버스 사이클동안 특정 시간에서 발생한다. 이것은 마이크로컨트롤러가 실시간에서 외부적으로 에뮬레이팅된 리소스를 지원하고 외부적으로 맵핑된 에뮬레이팅 리소스 또는 펑션의 임의의 변경이 동시에 발생할 것을 요구한다. 이러한 동시 동작은 레지스터가 정상 동작에서 내부적으로 맵핑된다면 발생하도록 시뮬레이팅 한다.
온-칩 리소스는 에뮬레이션 모드를 지원하도록 재할당된 입력/출력 집적 회로 터미널을 갖는 경우가 있다. 입력/출력 집적 회로 터미널을 입력/출력 통신 기능을 실행하는 또 다른 온-칩 리소스에 연결될 수 있으며, 그 외부 시스템의 동작은 대체된 집적 회로 터미널의 컴패니언(companion) 입력/ 출력 통신 펑션을 요구한다. 이 경우, 에뮬레이션 시스템은 그 입력/출력 집적 회로 터미널이 대체된 적합하게 동기된 펑션의 재생을 외부적으로 제공해야만 한다. 이러한 동일 펑션은 마이크로컨트롤러내에서 내부적으로 계속 동작하며 또 다른 내부(외부적으로 가시적인) 펑션에 동기된다. 이러한 유형의 동기 동작의 에뮬레이션은 그러한 펑션 동작에 영향을 주는 제어 동작의 실시간 가시성에 의존한다.
본 발명은 급속 멀티플렉싱 버스상에 쇼-사이클(show- cycles)을 공급하는 데이타 프로세서 및 방법을 제공한다. 제 1 동작 모드는 인터페이스를 위해 멀티플렉싱된 버스상의 표준 쇼-사이클을 논리 해석기와 같은 수동 장치에 지원한다. 제 2 동작 모드는 멀티플렉싱 버스를 사용하여 제어 펑션의 실시간 트랙킹으로 에뮬레이션 툴을 지원한다. 제 1 동작 모드는 저가의 마이크로컨트롤러 인터페이스 툴 및 타이밍 해석기의 사용으로 데이타 프로세싱 시스템의 소프트웨어 및 하드웨어를 디버깅하는데 사용된다. 제 2 동작 모드는 버스 해석기 및 여러 다른 시스템 해석 특성을 제공하는 내부 회로 에뮬레이션 시스템을 사용하여 펌웨어의 디버깅에 일차적으로 사용된다.
동작동안, 표준의 급속 멀티플렉싱 버스 쇼 사이클은 멀티플렉싱된 사이클의 일반 주기동안 어드레스 정보를 외부적으로 제공하지만, 데이타 정보의 디스플레이를 위해 다음의 쇼 사이클 또는 외부 사이클로부터 시간 주기를 빌려온다. 이 빌려온 주기는 쇼 사이클에 이어지는 버스 사이클의 어드레스와 데이타 페이즈(phase)간의 시간에 위치된다. 예를 들어, 제 1 사이클의 어드레스 신호를 A1, 제 1 사이클의 데이타 신호를 D1, 제 2 사이클의 어드레스 신호를 A2, 제 2 사이클의 데이타 신호를 D2 라 가정한다. 이전 쇼-사이클의 데이터는 Dx이다. 두개의 연속 컨벌루션 멀티플렉싱 버스는 시퀀스(A1-D1-A2-D2)를 나타낸다. 그러나, 멀티플릭싱 버스상의 표준 외부 사이클이 이어지는 쇼 사이클은 시퀀스(A1-Dx-A2-D1-D2)를 나타낸다.
본 발명의 동작동안, 쇼 사이클은 데이타 스트로브(DS) 신호의 표명(assertion)동안 부정되는 어드레스 스트로브(AS) 신호에 의해 표시된다. AS 및 DS 신호는 외부 해석 툴에 의해 용이하게 식별될 수 있다. 본 발명의 실시예의 주요 특성은 외부의 논리 해석 툴만이 단일 쇼 사이클 타이밍 및 명령 시퀀스를 디코딩하는데 필요하도록 판독과 기록 쇼 사이클간에 일관성이 있다는 것이다. 외부 버스 또는 논리 해석 툴은 그 관련된 데이타 페이즈까지 어드레스 버스를 래칭할 수 있는 간단한 파이프라인 메카니즘을 제공해야 하며, 상기 관련 데이타 페이즈후의 재동기된 어드레스 및 데이타는 데이타 프레임내에서 함께 관련될 수 있다. 제 7 도의 타이밍도는 더욱 상세하게 나타낸 쇼 사이클 타이밍이다.
본 발명에서, 데이타 프로세서의 에뮬레이션 모드는 두 클럭 멀티플렉싱 판독 및 기록 버스 사이클을 지원한다. 이 두 클럭 멀티플렉싱 판독 및 기록 버스 사이클은 데이타 프로세서가 에뮬레이션 동작 모드에 있을 때 지원된다. 이리하여, 다음 버스 사이클내에 삽입되는 에뮬레이션 모드의 쇼 사이클의 데이타 페이즈의 타이밍은 일반 모드에서의 쇼 사이클의 데이타 페이즈의 타이밍과는 다르다. 또한,에뮬레이션 쇼 사이클은 내부의 제어 동작의 실시간 관찰을 지원한다. 내부 제어 동작의 실시간 관찰은 동작의 외부 관찰이 내부 동작과 동시에 발생해야 할 때 요구된다. 이러한 경우는 시퀀스 A1-Dx-D1-A2-D1-D2를 나타낸다. 상기는 현재의 버스 사이클이 에뮬레이션 쇼 사이클임을 나타내는 에뮬레이션 칩 선택 신호의 표명을 수반한다.
본 발명의 실시예에서, 논리 또는 버스 해석 툴은 상기 설명된 바와 같이 에뮬레이션 쇼 사이클에 동기될 수도 있다. 제 8 도 및 9 도의 타이명도는 에뮬레이션 쇼 사이클을 보다 상세하게 나타낸 것이다. 제 7 도는 쇼 사이클 타이밍을 보다 상세하게 설명한 것이다.
관련 설명
제 1 도는 개발 시스템(5)을 설명한 것이다. 개발 시스템(5)은 데이타 처리 시스템(10) 및 개발 툴(100)을 포함한다. 데이타 처리 시스템(10)은 버스(28), 다수의 집적 회로 터미널(24), 다수의 집적 회로 터미널(26), 다수의 집적 회로 터미널(30), 다수의 집적 회로 터미널(32) 및 다수의 집적 회로 터미널(34)을 통해 개발 툴(100)에 결합된다. 버스(28)는 다수의 집적 회로 터미널(28)과 상호 교환 가능하게 사용될 수도 있다. 데이타 처리 시스템(10)은 중앙 처리 장치(CPU)(12), 타이머 회로(14), 시스템 집적 회로(16), 직렬 통신 회로(18), 아날로그-디지탈(A/D) 컨버터(20), 및 스태틱 랜덤 액세스 메모리(SRAM)(22)를 포함한다. CPU(12), 타이머 회로(14), 시스템 집적 회로(16), 직렬 통신 회로(18), A/D 컨버터(20), 및 SRAM(22)은 각각 버스(36)를 통해 내부적으로 통신한다. 또한, CPU(12)는 다수의집적 회로 터미널(24)을 통해 개발 툴(100)에 외부적으로 통신한다. 유사하게, 타이머 회로(14), 시스템 집적 회로(16), 직렬 통신 회로(18), A/D 컨버터(20), 및 SRAM(22)은 각각 다수의 집적 회로 터미널(26), 다수의 집적 회로 터미널(28), 다수의 집적 회로 터미널(30), 다수의 집적 회로 터미널(32), 및 다수의 집적 회로 터미널(34)과 외부적으로 통신한다.
제 2 도는 개발 툴(100)내에 포함된 버스 해석 회로(102)의 일부를 나타낸 것이다. 버스 해석 회로(102)는 외부 버스 제어 회로(103), 디멀티플렉서(104), 스테이지 A 레지스터(106), 스테이지 B 레지스터(108), 멀티플렉서(110), 래치(112) 및 트레이스 버퍼(114)를 포함한다. 다수의 집적 회로 터미널(28)은 제어 버스(101)를 통해 다수의 제어 신호를 외부 버스 제어 회로(103)에 공급한다. 외부 버스 제어 회로(103)는 출력 멀티플렉서 제어 신호를 멀티플렉서(110)의 제 1 입력에, 디멀티플렉서 제어 신호를 디멀티플렉서(104)의 제 1 입력에 공급한다. 외부 버스 제어 회로(103)는 파이프 진행 신호를 스테이지 A 레지스터(106)의 제 1 입력 및 스테이지 B 레지스터(108)의 제 1 입력에 공급한다. 또한, 외부 버스 제어 회로(103)는 래치 제어 신호를 래치(112)의 제 1 입력에 공급하고 트레이스 제어 신호로 트레이스 버퍼(114)와 통신한다.
다수의 집적 회로 터미널(28)은 외부 어드레스 버스(105)를 통해 다수의 외부 어드레스 신호를 디멀티플렉서(104)에 공급한다. 디멀티플렉서(104)는 어드레스 출력 신호를 스테이지 A 레지스터(106)의 제 2 입력에 공급한다. 스테이지 A 레지스터(106)는 제 1 출력을 스테이지 B 레지스터(108)에, 제 2 출력을멀티플렉서(110)에 공급한다. 스테이지 B 레지스터(108)는 제 1 출력을 멀티플렉서(110)에 공급한다. 멀타플렉서(110)는 래치(112)에 결합되어 파이프라인 어드레스 신호를 공급한다. 디멀티플렉서(104)는 또한 래치(112)에 결합되어 출력 데이타 신호를 공급한다. 래치(112)는 래치된 출력 데이타 신호 및 래치된 파이프라인 어드레스 신호를 트레이스 버퍼(114)에 공급한다.
제 3 도는 본 발명을 활용하는 데이타 처리 시스템(10)의 시스템 집적 회로(16) 일부를 도시한 것이다. 시스템 집적 회로(16)는 버스 인터페이스 유닛(40), 외부 버스 제어(42), 및 다수의 버스 터미널(44)을 포함한다. 시스템 집적 회로(16)의 버스 인터페이스 유닛(40)은 버스(36)를 통해 데이타 처리 시스템(10)의 나머지 부분에 결합된다. 버스 인터페이스 유닛(40)은 내부 어드레스 버스(48), 내부 데이타 버스(52), 및 내부 제어 버스(50)를 통해 외부 버스 제어부(42)에 결합된다. 외부 버스 제어부(42)는 외부 어드레스 버스(54) 및 외부 제어 버스(56)를 통해 다수의 버스 터미널(44)에 양방향으로 결합된다. 다수의 버스 터미널(44)은 버스(28)를 통해 개발 툴(100)에 결합된다.
제 4 도는 외부 버스 회로(42)의 일부를 도시한 것이다. 외부 버스 회로(42)는 버스 제어 회로(60), 스테이트 머신(62) 및 쇼 인에이블 레지스터(64)를 포함한다. 버스 제어 회로(60)는 외부 어드레스 버스(54) 및 외부 제어 버스(56)를 통해 다수의 버스 터미널(44)에 결합된다. 버스 제어 회로(60)는 내부 어드레스 버스(48), 내부 제어 버스(50), 및 내부 데이타 버스(52)를 통해 버스 인터페이스(40)에 결합된다. 스테이트 머신(62)은 내부 제어 버스(50)에 결합되어다수의 내부 제어 신호를 수신하며 데이타 처리 시스템(10)이 에뮬레이션 동작 모드에서 동작할 때를 나타내는 에뮬레이션 모드 신호를 수신한다. 쇼 인에이블 레지스터(64)는 쇼 인에이블 신호를 통해 스테이트 머신(62)에 결합된다. 스테이트 머신(62)은 스테이트 신호 버스(66)를 통해 버스 제어 회로(66)에 결합된다.
제 5 도는 버스 제어 회로(60)를 더욱 상세하게 설명한 것이다. 버스 제어 회로(60)는 멀티플렉서(70), 어드레스 레지스터(72), 데이타 레지스터(74), 타이밍 제어 회로(78), 및 지연 회로(80)를 포함한다. 멀티플렉서(70)는 외부 어드레스 버스(54)에 결합되고 타이밍 제어 회로(78)는 외부 제어 버스(56)에 결합된다. 멀티플렉서(70)는 어드레스 버스(71)를 통해 어드레스 레지스터(72)에 결합되며 데이타 버스(73)를 통해 데이타 레지스터(74)에 결합된다. 어드레스 레지스터(72)는 내부 어드레스 버스(78) 및 레지스터 제어 버스(76)에 결합된다. 타이밍 제어 회로(78)에 의해 다수의 레지스터 제어 신호는 레지스터 제어 버스(76)를 통해 어드레스 레지스터(72) 및 데이타 레지스터(74)에 공급된다. 데이타 레지스터(74)는 내부 데이타 버스(52)에 결합된다. 타이밍 제어 회로(78) 및 지연 회로(80)는 각각 내부 제어 버스(50) 및 스테이트 신호 버스(66)에 각각 결합된다. 지연 회로(80)는 멀티플렉서(70)에 결합되어 지연 신호를 공급한다. 타이밍 제어 회로(78)는 멀티플렉서(70)에 결합되어 다수의 타이밍 신호를 공급한다.
다음의 본 발명 구현 설명 동안에 용어 "표명(assert)" 및 "부정(negate)", 및 여러 문법 형태는 "액티브 하이(active high)" 및 "액티브 로우(active low)" 논리 신호를 다룰 때와 혼동을 피하기 위해 사용된 것이다. "표명"은 논리 신호 또는 레지스터 비트가 액티브 또는 참 논리 상태일 때를 언급하도록 사용된다. "부정"은 논리 신호 또는 레지스터 비트를 인액티브 또는 거짓 논리 상태일 때를 언급하도록 사용된다. 또, "$"는 그 값이 16 진수임을 나타낸다.
동작 설명
개선된 환경에서, 제 1 도의 데이타 처리 시스템(10)은 에뮬레이션 동작 모드에서 동작된다. 에뮬레이션 동작 모드에서 동작할 때, 시스템 집적 회로(16)는 특징적인 동작을 제공하여 개발 툴(100)의 사용을 지원한다. 특히, 시스템 집적 회로(16)의 외부 버스 회로(42)(제 3 도)는 이 특징적인 동작을 제공한다. 이 특징적인 동작은 또 다른 응용(본문에서 설명되지 않은)에서 사용되는 데이타 처리 시스템(10)의 명확한 정상 동작 모드를 재생하는 동안, 개발 툴(100)이 그 다수의 내부 동작을 가시적으로 실현하도록 한다. 일부 상황에서, 에뮬레이션 동작 모드는 사용되지 않을 수도 있지만, 일부 에뮬레이션 지원 기능 또는 트레이싱 기능이 여전히 요구된다. 특히, 쇼-사이클 메카니즘은 데이타 처리 시스템(10)의 내부 버스 사이클의 트레이싱을 제공하기 위해 논리 해석기를 사용하는 넌-에뮬레이션 환경에서 흔히 요구된다.
쇼 사이클은 개발 툴(100)에 버스 사이클의 외부 가시성을 제공하기 위해 시스템 집적 회로(16)의 외부 버스 회로(52)에 의해 외부적으로 구동된 내부 버스 사이클이다. 제 1 도에 설명된 본 발명의 실시예에서, 쇼 사이클은 다수의 집적 회로 터미널(28)중의 한 터미널을 통해 개발 툴(100)에 공급된다.
버스가 멀티플렉싱 어드레스 및 데이타 정보를 전송하지 않을 때, 쇼 사이클은 다소 변경된 타이밍으로 제공된다. 이 타이밍은 판독 또는 기록 사이클의 데이타 처리 시스템(10)으로부터 내부 데이타를 개발 툴(100)에 구동하는 물리적 요구를 충족시키도록 변경된다. 일반적으로, 데이타 처리 시스템(10)에 대한 내부 판독 사이클로부터의 내부 데이타는 내부 버스 사이클의 종료까지 유효하지가 않으며, 따라서, 외부 데이타는 버스 사이클의 종료후까지 유효하지 않다. 사실상, 백-투-백(back-to-back) 버스 사이클이 있을 때, 쇼 사이클동안 검색된 데이타는 그 쇼 사이클 다음의 버스 사이클의 시작후에만 유효하다.
이러한 동작 모드에서, 쇼 사이클은 데이타 스트로브(DS) 신호의 표명동안 부인되는 어드레스 스트로브(AS) 신호, 또는 에뮬레이션 칩 선택 신호의 상태에 의해 표시된다. DS, AS 및 에뮬레이션 칩 선택 신호는 각각 다수의 집적 회로 터미널(28) 중의 한 터미널을 통해 개발 툴(100)에 공급된다. 에뮬레이션 칩 선택 신호는 에뮬레이션 동작 모드에서만 사용 가능하다. 흔히, 응용의 외부 회로(여기서는 설명 안됨)는 AS신호를 외부 어드레스 디코딩 회로에 인가함으로써 쇼 사이클로부터 보호된다. AS 신호가 쇼 사이클 동작동안 표명되지 않으므로, 쇼 사이클은 외부 응용에서 파괴적이지 않다.
본 발명의 실시예는 어드레스 및 데이타 정보 값이 단일 버스상에서 멀티플렉싱될 때 쇼 사이클이 제공되도록 허용한다. 데이타 프로세서의 핀 카운트를 줄이기 위해 데이타 프로세서의 전용 터미널상에 데이타가 공급되지 않을 때, 또 다른 외부 버스 사이클뿐만 아니라 쇼 사이클은 외부의 멀티플렉싱 버스상에서 실행된다. 쇼 사이클 및 일반 사이클은 멀티플렉싱된 버스상에서 실행된다. 멀티플렉싱된버스가 외부적으로 실행될지라도, 내부의 버스 판독 또는 기록 사이클은 넌-멀티플렉싱 버스 구조와 동일한 기술 및 타이밍에 의해 발생된다. 그러나, 멀티플렉싱 버스와 통신하는 외부 장치에 의한 물리적 제한으로 인하여 멀티플렉싱된 버스 상에 쇼 사이클을 구현하기가 더욱 복잡하다. 또, 데이타 처리 시스템(10)내의 제한 때문에, 내부의 판독 동작의 결과로서 발생된 데이타는 내부 버스 사이클의 종료전까지 유효하지가 않다. 그러나, 멀티플렉싱된 버스의 공유된 특성으로 인하여, 외부 장치(본 실시예에서는 개발 툴(100))에 대한 지연된 데이타의 가용성은 적정 동작이 희망된다면 충분하지가 않다. 넌-멀티플렉싱 버스가 사용되는 상황에서, 시스템 집적 회로(16)는 넌-멀티플렉싱 어드레스 버스상의 쇼 사이클 바로 다음의 외부 버스 사이클동안 유효 어드레스를 구동하기가 자유로운 반면에, 쇼 사이클로부터의 데이타는 데이타 버스상에 여전히 유효하게 유지된다. 멀티플렉싱 버스가 사용될 때, 다음 버스 사이클의 판독 또는 기록 동작의 어드레스가 구동되므로 데이타는 멀티플렉싱 버스상에서 구동될 수 없다.
따라서, 동작 동안, 멀티플렉싱 쇼 사이클은 다음 버스 사이클의 후반 섹션을 빌려온다. 다음 외부 버스 사이클의 어드레스는 유효 어드레스로서 구동되며 데이타 페이즈를 빌려오기 전에 다음 버스 사이클의 어드레스 페이즈 바로 다음의 짧은 주기로 외부적으로 래칭된다. 이러한 동작은 멀티플렉싱된 메모리, ASIC 장치, 또는 임의의 다른 멀티플렉싱된 외부 장치가 사용된다. 다음 버스 사이클의 어드레스 페이즈 바로 다음의 짧은 주기동안, 이전의 쇼 사이클로부터의 데이타가 멀티플렉싱 버스상에서 구동된다. 본 발명의 실시예에서, 데이타 처리 시스템(10)에 대한내부 기록 동작은 데이타가 버스 사이클에서 유효하므로 판독 사이클에서의 타이밍 문제를 부각시키지 않는다. 그러나, 논리 해석기 및 버스 해석기에 일관된 인터페이스를 제공하기 위해, 기록 쇼 사이클은 외부 사용자에 대한 판독 쇼 사이클과 일치된다.
넌-멀티플렉싱 버스상의 종래의 쇼 사이클로서, 멀티플렉싱 쇼 사이클이 데이타 스트로브(DS) 신호동안 부정되는 어드레스 스트로브(AS) 신호 또는 에뮬레이션 칩 선택 신호의 스테이트에 의해 나타낼 수 있다. 에뮬레이션 칩 선택 신호는 에뮬레이션 동작 모드에서만 사용 가능하다. 흔히, 응용시의 외부 회로는 AS 신호를 외부 어드레스 디코딩 회로에 인가함으로써 쇼 사이클로부터 보호된다. AS 신호가 쇼 사이클 동작동안 표명되지 않으므로, 쇼 사이클은 외부 응용에서 파괴적이지 않다.
데이타 처리 시스템(10)이 에뮬레이션 동작 모드에서 동작할 때, 시스템 집적 회로(16)는 데이타 처리 시스템(10)내의 내부적으로 실행된 기록 동작의 실시간 가시성을 제공해야 한다. 이러한 기록 동작을 제공하기 위한 능력은 내부 동작의 외부 합성을 외부적으로 지원한다. 개발 툴(100)이 데이타 처리 시스템(10)의 내부 액티비티에 동기하도록, 데이타 처리 시스템(10)의 내부 기록 동작의 외부 가시성은 내부 기록 동작의 실행과 동시에 외부적으로 제공되어야 한다. 종래의 쇼 사이클 메카니즘이 사용된다면, 내부 기록 동작동안 기록된 데이타는 다음의 버스 사이클 및 실시간 에뮬레이션이 가능하지 않을 때까지는 외부적으로 사용할 수 없다. 만일, 데이타가 외부적으로 제공된다면, 개발 툴(100)이 내부의 기록 동작과 동시에 액티비티를 재생할 수 있도록, 데이타 처리 시스템(10)과 개발 툴간의 동기가 손실된다.
본 발명에 의해 제공된 해결책은 실제 기록 동작이 내부적으로 발생하는 시간동안, 내부적으로 기록될 데이타 값을 외부적으로 구동하는 것이다. 본 발명에서, 내부 기록 사이클의 데이타가 그 초기 내부 사이클에서 알려지므로 이러한 동작은 실행 가능하다. 따라서, 내부 기록 사이클의 데이타는 내부 동작의 실행과 동시에 외부적으로 구동된다. 그후 개발 툴(100)은 실시간에서 데이타 처리 시스템(10)의 모든 내부 기록 사이클 액티비티를 관찰한다.
제 2 도는 개발 툴(100)의 버스 해석기(102)를 설명한 것이다. 버스 해석기(102)의 동작은 더욱 상세히 후술될 것이다. 제 3 도 내지 제 5 도에서의 회로 또한 보다 상세하게 설명된다.
시스템 집적 모듈(16)의 외부 버스 회로(42)는 개발 툴(100)이 데이타 처리 시스템(10)의 모든 내부 기록 사이클 액티비티를 실시간에서 관찰할 수 있도록 한다. 외부 버스 회로(42)는 각각의 버스 사이클이 온-칩 리소스들간의 내부 버스 사이클인지, 온-칩 리소스와 외부 버스간의 외부 버스 사이클인지, 에뮬레이션 사이클인지, 또는 쇼 사이클인지를 식별할 수 있다.
그 사이클이 외부 버스 사이클, 쇼 사이클, 또는 에뮬레이션 사이클이라면, 외부 버스 회로(42)는 내부 어드레스 버스(48), 내부 제어 버스(50), 내부 데이타 버스(52), 외부 어드레스 버스(54), 및 외부 제어 버스(56)를 통해 전송된 내부 액티비티에 관한 정보를 전송한다. 외부 버스 회로(42)는 외부 어드레스 버스(54) 및외부 제어 버스(56)를 사용하여 다수의 버스 터미널(44)을 통해 다수의 집적 회로 터미널(28)에 정보를 전송한다.
일반적으로, 데이타 처리 시스템(10)의 동작은 오프-칩 저장 매체에 저장된 프로그램을 실행하는 단계, 온-칩 메모리를 스택 및 데이타 공간으로서 활용하는 단계, 및 온-칩 및 오프-칩 주변 장치를 여러 시스템 펑션으로 사용하는 단계를 포함한다. 시스템 집적 회로(16)는 외부 버스를 내부 액티비티로부터 분리하는 반면에 외부 버스 회로(42)가 오프-칩 리소스와 관련된 버스 사이클을 발생하도록 하면서 외부 버스 펑션에 대해 제어를 유지한다. 그러나, 에뮬레이션 동작 모드는 더욱 상세히 후술된다.
제 5 도는 버스 제어 회로(60)의 블럭도이다. 어드레스 레지스터(72)는 레지스터 제어 버스(76)를 통해 전송된 레지스터 제어 신호의 일부 및 타이밍 제어 회로(78)에 의해. 나타낸 적정 시간에서의 어드레스 정보를 래치한다. 또한, 데이타 레지스터(74)는 타이밍 제어 회로(78)에 의해 나타낸 적정 시간의 데이타 정보 및 레지스터 제어 버스(76)를 통해 전송된 레지스터 제어 신호의 일부를 래치한다. 또, 타이밍 제어 회로(78)에 의해 공급된 다수의 타이밍 신호 및 지연 회로(80)에 의해 공급된 지연 신호는 멀티플렉서(70)에 공급되어 외부 어드레스 버스(54)에 전송된 정보가 어드레스 레지스터(72) 또는 데이타 레지스터(74)에 결합되는지를 제어한다.
동작 동안, 외부 버스 회로(42)는 스테이트 머신(62)을 이용하여 외부 버스 사이클을 발생한다. 쇼 인에이블 레지스터(64)에 저장된 쇼 인에이블 비트가 표명될 때, 외부 버스 회로(42)는 쇼 사이클을 발생하며 다수의 버스 터미널(44) 및 다수의 집적 회로 터미널(28)을 통해 개발 툴(100)에 쇼 사이클을 전송한다. 쇼 인에이블 비트는 스테이트 머신(62)에 연속하여 공급된다.
스테이트 머신(62)은 내부 제어 버스(50), 에뮬레이션 모드 신호, 및 쇼 인에이블 신호를 수용한다. 스테이트 머신(62)은 다수의 상태 신호(66)를 공급하여 제 6 도에 설명된 상태 도면의 방식으로 외부 버스 사이클의 페이즈 및 펑션을 제어한다. 외부 제어 버스(56)에 의해 전송된 다수의 제어 신호 및 외부 어드레스 버스(54)에 의해 전송된 다수의 어드레스 신호의 동작은 데이타 처리 시스템(10)의 동작 모드에 의존적이다. 동작 모드는 쇼 인에이블 신호 및 에뮬레이션 모드 신호의 논리값이 반영된다. 모드의 효과 및 제어는 제 7 도 내지 9 도에 설명된 여러 버스 사이클 및 관련 타이밍에 관련하여 설명될 것이다.
제 6 도는 스테이트 머신(62)의 동작을 나타내는 상태 도면이다. 스테이트 머신(62)은 상태(S0, S1, S12, S13, S4, S5, S41, S42 및 S43)를 포함한다. 스테이트 머신(62)의 각각의 상태는 버스 사이클에서의 시간 간격을 나타낸다. 각각의 상태에서 여러 액티비티가 발생한다.
각 버스 사이클은 상태(S0)에서 시작한다. 상태(S0)에서, 내부 어드레스는 어드레스 레지스터(72)에 래치되며 외부 어드레스 버스(54)상으로 구동된다. 제 5도의 외부 제어 버스(56)를 통해 전송된 R/W신호는 판독 또는 기록 동작을 나타내기 위해 논리 상태에 제공되며 어드레스 래치 인에이블(ALE) 신호가 표명된다. ALE 신호는 제 5 도의 외부 제어 버스(56)를 통해 전송된다. 스테이트 머신(62)은 그사이클이 내부 사이클인지, 외부 사이클인지, 쇼 사이클인지, 또는 에뮬레이션 사이클인지를 판단한다. 에뮬레이션 칩 선택 신호는 현재의 버스 사이클 유형을 나타내도록 설정된다. 에뮬레이션 칩 선택 신호는 사이클 유형을 외부적으로 나타내도록 타이밍 제어부(78)에 의해 공급된다. 타이밍 제어부(78)는 정보 제어 버스(50)를 통해 수신된 정보로부터의 에뮬레이션 칩 선택 신호 및 다수의 상태 신호(66)를 발생한다. 에뮬레이션 칩 선택 신호는 외부 제어 버스(56) 및 버스(28)를 통해 전송된다.
그 사이클이 내부 사이클이고 쇼 인에이블 신호가 표명된다면, 스테이트 머신(66)은 상태(S0)로부터 상태(S41)로 제어하여 쇼 사이클로서 진행시킨다. 상태(S41)에서, 어드레스 래치 인에이블 신호는 부정되며 데이타 스트로브(DS) 신호가 표명된다. 어드레스 스트로브(AS) 신호는 이 상태에서 부정으로 남는다. 어드레스 스트로브 및 데이타 스트로브 신호는 제 5 도의 외부 제어 버스(56)를 통해 전송된다. 에뮬레이션 모드 신호는 또한 테스팅된다. 에뮬레이션 모드 신호는 데이타 처리 시스템(10)이 에뮬레이션 모드에 있고 이전 사이클이 쇼 사이클 이였음을 나타내도록 표명된다면, 데이타 레지스터(74)에서 래치되고 이전의 버스 사이클동안 내부적으로 전송된 데이타 값은 외부 어드레스 버스(54)상에서 구동된다.
상태(S42)는 상태(S41)후에 실행된다. 상태(S42)에서, 에뮬레이션 모드 신호가 테스팅된다. 에뮬레이션 모드 신호가 부정되고 이전의 사이클이 쇼 사이클이라면, 이전의 버스 사이클을 통해 전송되고 데이타 레지스터(74)에 래치된 데이타 값은 외부 어드레스 버스(54)상에서 멀티플렉싱된다. 에뮬레이션 모드 신호가 표명되고 현재의 버스 사이클이 기록 사이클이라면, 내부 데이타가 데이타 레지스터(74)에 래치된다.
상태(S43)는 상태(S42)후에 실행된다. 상태(S43)에서, 데이타 스트로브(DS) 신호는 부정된다. 에뮬레이션 모드 신호는 다시 테스팅된다. 에뮬레이션 모드 신호가 표명되고 현재의 사이클이 쇼-라이트(show-write) 신호라면, 데이타 레지스터(74)에 래치된 데이타는 외부 어드레스 버스(54)상에서 멀티플렉싱된다. 판독 사이클인 경우나 에뮬레이션 모든 신호가 부정인 경우, 내부 데이타는 데이타 레지스터(74)내에 래치된다. 상태(S43)가 실행된 후, 상태 제어는 다음 사이클의 시작을 위해 상태(S0)로 복귀한다.
상태(S0)에서, 내부 어드레스는 어드레스 레지스터(72)에 래치되고 외부 어드레스 버스(54)상으로 구동된다. R/W 신호는 판독 또는 기록 사이클임을 나타내도록 설정되고 어드레스 래치 인에이블 신호는 표명된다. 스테이트 머신은 그 사이클이 내부 사이클인지, 외부 사이클인지, 쇼 사이클인지, 또는 에뮬레이션 사이클인지를 판단한다. 에뮬레이션 칩 선택 신호는 외부 제어 버스(56)상에 사이클 유형을 나타내도록 설정된다.
그 사이클이 내부 사이클이 아니라면, 스테이트 머신(66)은 상태(S0)로부터 상태(S1)로 제어를 전달하여 외부 사이클 또는 에뮬레이션 사이클로서 진행시킨다. 상태(S1)에서, 어드레스 래치 인에이블 신호는 부정되며 어드레스 스트로브(AS) 신호는 표명된다. 데이타 스트로브(DS) 신호는 이 상태에서 부정으로 머무른다. 에뮬레이션 모드 신호는 또한 테스팅된다. 에뮬레이션 모드 신호가 표명되고 이전의 사이클이 쇼 사이클이라면, 이전의 버스 사이클동안 전송되어 데이타 레지스터(74)에 래치된 데이타 값은 외부 어드레스 버스(54)상에서 멀티플렉싱된다. 만일, 사이클이 외부 사이클이라면, 상태(S12)가 실행된다. 사이클이 에뮬레이션 사이클이라면, 상태(S4)가 실행된다.
상태(S12)에서, 에뮬레이션 모드 신호가 테스팅된다. 에뮬레이션 모드 신호가 부정되고 이전 사이클이 쇼 사이클이라면, 이전의 버스 사이클동안 전송되어 데이타 레지스터(74)에 래치된 데이타 값은 외부 어드레스 버스(54)상에서 멀티플렉싱된다. 그후, 상태(S13)가 실행된다. 상태(S13)에서, 데이타 스트로브(DS) 신호가 표명된다. 기록 사이클의 경우, 데이타 레지스터(74)에 래치된 데이타는 외부 어드레스 버스(54)에 전송된다.
그후, 상태(S4)가 실행된다. 상태(S4)에서, 데이타 레지스터(74)에 래치된 데이타는 기록 사이클이 표시된다면 외부 어드레스(54)에 전송된다. 기록 사이클이 표시된다면, 외부 데이타는 외부 메모리 또는 장치에 의해 외부 어드레스 버스(54)에 공급된다. 외부 데이타는 멀티플렉서(70)에 제공되어 데이타 레지스터(74)내에 래치된다.
그후, 상태(S5)가 실행된다. 상태(S5)에서, 어드레스 스트로브(AS) 및 데이타 스트로브(DS) 신호는 외부 버스 사이클의 종료를 나타내도록 부정된다. 판독 사이클의 경우, 데이타 레지스터(74)에 래치된 데이타는 내부 데이타 버스(52)상에서 구동된다. 상태(S5)후에 상태(S0)가 다음 버스 사이클의 시작을 위해 다시 실행된다.
제 6 도 및 스테이트 머신(66)에 관련한 상기 각 버스 사이클 동작은 제 7 도 내지 9 도에서 설명된다. 제 7 도 내지 9 도는 쇼 사이클, 에뮬레이션 사이클, 및 외부 버스 사이클의 다양한 조합을 나타낸다. 제 7 도 내지 9 도에 있어서, 제 6 도의 스테이트 머신(66)의 상태는 상기 시스템 클럭 파형으로 나타낸다. 또한 상태(S0)에서의 모든 버스 사이클의 시작 및 내부 어드레스 값이 각각의 버스 사이클의 시작에서 유효하다. 또, 내부 데이타의 내부 동작에 일관성이 있다. 내부 데이타는 각각의 기록 사이클의 제 1 클럭의 제 2 페이즈동안 유효하며 각각의 판독 사이클의 최종 클럭의 제 2 페이즈의 상승 엣지에서 유효하다. 멀티플렉싱 어드레스/데이타로 표시되는 외부 멀티플렉싱 버스는 각 버스 사이클의 상태(S0)동안 어드레스를 공급하고, 어드레스 래치 인에이블 신호는 외부 회로에 의해 사용될 수 있는 펄스를 공급하여 유효 어드레스를 래치한다.
제 7 도는 일반 외부 사이클 다음의 두 연속 쇼 사이클 동안의 멀티플렉싱 버스상의 여러 신호들간의 시간 관계를 나타낸 것이다. 제 1 버스 사이클은 판독 쇼 사이클이며, 어드레스 스트로브(AS) 신호는 부정되며, 데이타 스트로브(DS) 신호는 표명되고 판독/기록 신호는 판독 사이클을 나타내도록 표명된다. 제 1 버스 사이클동안 데이타는 멀티프렉싱 버스상으로 구동되지 않는다.
제 2 버스 사이클은 기록 쇼 사이클이며, AS신호는 버스 사이클동안 부정되며, DS 신호는 표명되고 판독/기록 신호는 기록 사이클을 나타내도록 부정된다. 이전 쇼 사이클로부터의 데이타는 어드레스 뒤에서, 상태(S42)에서 시작하여 다음 사이클의 시작에서 종료한다.
쇼 사이클 시퀀스의 제 1 쇼 사이클동안, 데이타 페이즈는 존재하지 않는다. 다음 쇼 사이클의 종료전까지, 특정 쇼 사이클로부터의 데이타는 다음 버스 사이클 동안 구동된다. 시퀀스의 종료시에, 외부 사이클은 제 7 도에 도시된 바와 같이 두 데이타 페이즈로 실행된다.
제 7 도는 쇼 기록 사이클 다음에 외부 판독 사이클이 이어질 때 신호들간의 관계를 나타낸 것이다. 어드레스가 표명되어 외부 판독 사이클의 초기에 래치되는 동안, 판독 데이타는 외부 판독 사이클의 후반까지는 존재하지 않는다. 그후, 외부 판독 사이클의 중간의 남은 기간은 이전의 쇼 사이클로부터 데이타를 디스플레이하는데 사용된다. DS 신호는 현재의 버스 사이클의 상태를 나타내고, 쇼 사이클을 트랙킹 하기 위한 외부 메카니즘은 시스템 클럭 신호, 여러 버스 제어 신호의 현재 상태 및, 이전의 쇼 사이클 표시를 사용하여 쇼 데이타를 적절하게 래치한다.
제 8 도는 에뮬레이션 외부 판독 사이클이 이어지는 연속 에뮬레이션 쇼 사이클동안 멀티플렉싱 버스상의 여러 신호들간의 시간 관계를 나타낸 것이다. 제 1 사이클은 판독 쇼 사이클이고 AS 신호는 버스 사이클동안 부정되며, DS 신호는 표명되고, 판독/기록 신호는 판독 사이클을 나타내도록 표명된다. 에뮬레이션 칩 선택 신호는 상태(S0 내지 S41)동안의 쇼 사이클을 나타낸다. DS 신호의 상승 엣지는 에뮬레이션 시스템의 실시간 지원을 위해 현재 사이클의 데이타를 래칭하기 위한 시스템 클럭의 제 2 상승 엣지를 게이팅하는데 사용된다.
제 2 사이클은 기록 쇼 사이클이며, AS 신호는 버스 사이클 동안 부정되며, DS 신호는 표명되고, 판독/기록 신호는 기록 사이클을 나타내도록 부정된다. 에뮬레이션 칩 선택 신호는 상태(S0 내지 S41)동안의 쇼 사이클을 나타낸다. 이전의 에뮬레이션 사이클로부터의 데이타는 어드레스 값뒤에 구동된다. DS 신호의 상승 엣지는 에뮬레이션 시스템의 실시간 지원을 위해 현 사이클의 데이타를 래칭하는 시스템 클럭의 제 2 상승 엣지를 게이팅하는데 사용된다.
각각의 에뮬레이션 기록 쇼 사이클은 종료 사이클 주기에서 현재 데이타를 공급한다. 따라서, 에뮬레이션 기록 쇼 사이클은 두개의 데이타 페이즈를 제공한다.
제 8 도는 외부의 두 클럭 에뮬레이션 판독 사이클이 이어지는 에뮬레이션 기록 쇼 사이클동안 신호들간의 관계를 나타낸다. 외부의 두 클럭 에뮬레이션 판독 사이클의 어드레스가 표명되어 버스 사이클의 초기에 래치되는 동안, 판독 데이타는 사이클(S4)의 후반까지는 존재하지 않는다. 그후, 버스 사이클의 중간의 남은 주기(S1 내지 S4 동안)는 이전의 에뮬레이션 쇼 사이클로부터 데이타를 디스플레이하는데 사용된다. 쇼 사이클 다음의 외부 사이클과는 달리 DS 신호는 표명되지 않는다. 그러나, AS 신호는 메모리 인터페이스가 R/W 및 또 다른 타이밍 신호를 조합하여 판독 스트로브 신호를 효과적으로 형성하는데 스트로브 신호를 사용할 수 있도록, 현재의 버스 사이클에 스트로브 신호를 공급한다. 버스 사이클을 트랙킹하기 위한 외부 메카니즘은 시스템 클럭, 여러 버스 제어 신호의 현 상태, 및 이전의 에뮬레이션 쇼 사이클 표시를 사용하여 외부 사이클 동안 구동된 에뮬레이션 데이타를 적절하게 래칭해야 한다.
제 9 도는 외부의 두 클럭 기록 사이클이 이어지는 에뮬레이션 쇼 사이클의시퀀스간의 관계를 나타낸다. 제 1 사이클은 에뮬레이션 판독 쇼 사이클이며, AS 신호는 버스 사이클동안 부정되며, DS 신호는 표명되고, 판독/기록 신호는 판독 사이클을 나타내도록 표명된다. 에뮬레이션 칩 선택 신호는 상태(S0 내지 S41)동안의 쇼 사이클을 나타낸다. DS 신호의 상승 엣지는 에뮬레이션 시스템의 실시간 지원을 위해 현 사이클의 데이타를 래칭하는 시스템 클럭의 제 2 상승 엣지를 게이팅하는 데 사용된다.
제 2 사이클은 에뮬레이션 기록 쇼 사이클이며, AS 신호는 버스 사이클동안 부정되고 DS 신호는 표명되며, 판독/기록 신호는 기록 사이클을 나타내도록 부정된다. 에뮬레이션 칩 선택 신호는 상태(S0 내지 S41)동안의 쇼 사이클을 나타낸다. 이전 에뮬레이션 사이클로부터의 데이타는 어드레스 값뒤에 구동된다. DS 신호의 상승 엣지는 에뮬레이션 시스템의 실시간 지원을 위해 현 사이클의 데이타를 래칭하는 시스템 클럭의 제 2 상승 엣지를 게이팅하는데 사용된다. 각각의 에뮬레이션 기록 쇼 사이클은 종료 사이클 주기에서 현재의 데이타를 공급한다. 따라서, 임의의 에뮬레이션 기록 쇼 사이클은 두개의 데이타 페이즈를 제공할 것이다.
제 8 도는 외부의 기록 사이클이 이어지는 에뮬레이션 기록 쇼 사이클동안 신호들간의 관계를 나타낸다. 에뮬레이션 외부 사이클의 어드레스가 외부적으로 표명되어 버스 사이클의 초기에 래칭되는 반면, 기록 데이타는 사이클(S4)의 후반까지는 존재하지 않는다. 그후, 버스 사이클의 중간의 남은 주기(S1 내지 S4 동안)는 이전의 에뮬레이션 쇼 사이클로부터의 데이타를 디스플레이하는데 사용된다. 쇼 사이클이 이어지는 외부 사이클과는 달리, DS 신호는 표명되지 않는다. 그러나, AS신호는 스트로브 신호를 현재의 버스 사이클에 공급하여, 메모리 인터페이스가 R/W 및 또 다른 타이밍 신호를 조합하고 판독 스트로브 신호를 효과적으로 형성하도록 스트로브 신호를 사용한다. 버스 사이클을 트랙킹하는 외부 메카니즘은 시스템 클럭, 여러 버스 제어 신호의 현재 상태, 및 이전의 에뮬레이션 쇼 사이클 표시를 사용하여 외부 사이클동안 구동된 에뮬레이션 데이타를 적절하게 래칭한다.
동작을 조합하여, 제 1 도 내지 제 9 도는 본 발명 동작의 상세한 설명을 제공한다. 설명된 본 발명 실시예의 동작동안, 표준 멀티플렉싱 쇼 사이클은 외부 버스 제어 회로(103), 버스 디멀티플렉서(104), 스테이지 A 레지스터(106), 스테이지 B 레지스터(108), 멀티플렉서(110), 래치(112), 및 제 2 도의 트레이스 버퍼(114)를 사용하여, 개발 툴(100)의 버스 해석기(102)에 의해 디코딩된다.
버스 사이클 유형의 시퀀스에 의존하는 두 동작 모드가 있다. 이 동작 모드들은 쇼 사이클 다음의 버스 사이클이 고속 멀티플렉싱 버스상에 효과적인 쇼 사이클의 사용을 허용하는 이중 데이타 페이즈를 나타낸다는 점에서 기본적으로 다르다.
멀티플렉싱된 쇼 사이클이 정상 모드의 멀티플렉싱 외부 사이클이 이어지는 멀티플렉싱 쇼 사이클에 선행될 때. 제 7 도와 유사한 타이밍이 사용된다. 제 1 버스 사이클동안, AS 신호는 부정된다. DS신호는 상태(S41)에서 표명되고 상태(S43)에서 부정된다. 이러한 AS 및 DS 신호의 표명 및 부정 시퀀스는 제 1 사이클이 쇼 사이클임을 나타낸다. 상태(S0)에서, 제 1 사이클의 어드레스(A1)는 멀티플렉싱 어드레스/데이타상에 존재한다. 멀티플렉싱된 어드레스/데이타 및 외부 어드레스 버스(105)는 상호 교환적으로 사용된다. 외부 제어 버스(56 및 28)를 통해 전송된 어드레스 래치 인에이블은 상태(S0)에서 표명되고 상태(S1)에서 부정되어, 멀티플렉싱 어드레스/데이타상의 어드레스가 유효함을 나타내게 한다. 제 2 도의 버스 해석기(102)에서, 외부 어드레스 버스(105)에 의해 전송된 값은 디멀티플렉서(104)를 통해 어드레스 출력 신호로 루팅되어 스테이지 A 레지스터(106)에 래칭되며, 이 레지스터(106)는 어드레스 값이 일시적으로 저장되는 파이프 라인의 제 1 스테이지이다.
제 2 버스 사이클동안, AS 신호는 부정된다. DS 신호는 상태(S41)에서 표명되고 상태(S43)에서 부정된다. AS 및 DS 신호의 부정과 표명간의 관계는 제 2 사이클이 쇼 사이클임을 나타낸다. 제 2 상태(S0)에서, 제 2 버스 사이클의 어드레스(A2)는 멀티플렉싱 어드레스/데이타 터미널상에 존재한다.
어드레스 래치 인에이블 신호는 상태(S0)에서 표명되고, 상태(S1)에서 부정되어 멀티플렉싱 어드레스/데이타 터미널 또는 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)는 어드레스 출력 신호에 루팅된다. 스테이지 A 레지스터(106)내에 래칭된 어드레스(A1)는 스테이지 B 레지스터(108)에 전송되며, 제 2 사이클의 어드레스(A2)는 외부 어드레스 버스(105)상에 존재하며 파이프라인의 제 1 스테이지에 래칭되어 보유된다.
쇼 기록 사이클의 상태(S42 및 S43)동안, 제 1 버스 사이클의 데이타(D1)는 외부 어드레스 버스(105)상에 존재한다. 외부 어드레스 버스(105)는 출력 데이타 신호로 루팅된다. 멀티플렉서(110)는 스테이지 B 레지스터(108)로부터의어드레스(A1)를 파이프라인 어드레스로 루팅한다. 상태(S42)의 종료까지, 출력 데이타 신호상에 존재하는 데이타(D1) 및 파이프라인 어드레스 버스상에 존재하는 어드레스(A1)는 래치 회로(112)에 래칭되어 트레이스 버퍼(114)에 연속하여 전송된다.
제 3 버스 사이클동안, AS 및 DS 신호는 표명된다. AS 및 DS 신호의 부정과 표명간의 관계는 이 사이클이 외부 버스 사이클임을 나타낸다. 상태(S0)에서, 제 3 사이클의 어드레스(A3)는 외부 어드레스 버스(105)상에 존재한다. 어드레스 래치 인에이블 신호는 상태(S0)에서 표명되고 상태(S1)에서 부정되어, 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)에 의해 전송된 값은 어드레스 출력 신호로 루팅된다. 스테이지 A 레지스터(106)에 래칭된 어드레스(A2)는 스테이지 B 레지스터(108)에 전송되며, 제 3 사이클의 어드레스(A3)는 외부 어드레스 버스(105)상에 존재하며 파이프라인의 제 1 스테이지에 래칭되어 보유된다. 제 3 버스 사이클(외부 판독 사이클)의 상태(S12 및 S13)동안, 제 2 버스 사이클의 데이타(D2)는 외부 어드레스 버스(105)에 의해 전송된다. 데이타(D2)는 출력 데이타 버스 신호로 루팅된다. 멀티플렉서(110)는 스테이지 B 레지스터(108)로부터의 어드레스(A2)를 파이프라인 어드레스로 루팅한다. 상태(S12)의 실행 종료까지, 출력 데이타 신호상에 존재하는 데이타(D2) 및 파이프라인 어드레스 신호상에 존재하는 어드레스(A2)는 래치(112)에 래칭되어 트레이스 버퍼(114)에 연속하여 전송된다.
판독 사이클의 상태(S4)에서, 데이타는 외부 메모리 또는 장치에 의해 외부어드레스 버스(105)상에 공급된다. 외부 어드레스 버스(105)는 출력 데이타 신호에 루팅된다. 멀티플렉서(110)는 스테이지 A 레지스터로부터의 어드레스(A3)를 파이프 라인 어드레스 신호로 루팅한다. 상태(S4)의 종료까지, 출력 데이타 신호상에 존재하는 데이타(D3) 및 파이프라인 어드레스 신호상에 존재하는 어드레스(A3)는 래치(112)에 래칭되어 트레이스 버퍼(114)에 연속하여 전송된다.
상기 설명된 버스 사이클동안, 기록/판독 신호는 그 버스 사이클이 판독 사이클 또는 기록 사이클인지를 나타낸다.
에뮬레이션 쇼 판독 사이클 다음의 에뮬레이션 쇼 기록 사이클에 에뮬레이션 모드에서의 멀티플렉싱된 외부 판독 사이클이 이어질 때, 제 8도에서 설명된 것과 유사한 타이밍이 사용된다. 제 1 버스 사이클동안, AS신호는 부정된다. DS 신호는 상태(S41)에서 표명되고 상태(S43)에서 부정된다. AS 및 DS 신호의 부정과 표명간의 관계는 이 제 1 버스 사이클이 쇼 사이클임을 나타낸다. 상태(S0)에서, 제 1 버스 사이클의 어드레스(A1)는 외부 어드레스 버스(105)상에 전송된다. 어드레스 래치 인에이블 신호는 상태(S0)에서 표명되고 상태(S1)에서 부정되어 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)는 어드레스 출력 신호로 루팅되어 상태(S0)의 종료까지 스테이지 A 레지스터(106)에 래칭되며, 이 레지스터(106)는 파이프 라인의 제 1 스테이지이며 일시적으로 신호를 보유한다.
제 2 버스 사이클동안, AS 신호는 부정된다. DS 신호는 상태(S41)에서 표명되고 상태(S43)에서 부정된다. AS 및 DS 신호의 부정과 표명간의 관계는 이 제 2버스 사이클이 쇼 사이클임을 나타낸다. 제 2 상태(S0)에서, 제 2 버스 사이클의 어드레스(A2)는 외부 어드레스 버스(105)상에 존재한다. 어드레스 래치 인에이블 신호는 상태(S0)에서 표명되고 상태(S1)에서 부정되어 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)에 의해 전송된 어드레스 값은 어드레스 출력 신호로 루팅된다. 파이프 라인의 제 1 스테이지(스테이지 A 레지스터(106))내에 래칭된 어드레스(A1)는 제 2 스테이지(스테이지 B 레지스터(108))에 전송되며, 제 2 버스 사이클의 어드레스(A2)는 외부 어드레스 버스(105)상에 존재하며 상태(S0)에서 파이프 라인의 제 1 스테이지에 래칭되어 일시적으로 저장된다.
제 2 버스 사이클의 상태(S41)및(S42)동안, 제 1 버스 사이클의 쇼 기록 사이클, 데이타 값(D1)은 외부 어드레스 버스(105)에 전송된다. 데이타 값(D1)은 출력 데이타 신호로 루팅된다. 멀티플렉서(110)는 스테이지 B 레지스터(108)로부터의 어드레스(A1)를 파이프라인 어드레스 신호로 루팅한다. 상태(S41)의 종료까지, 출력 데이타 신호상의 데이타(D1) 및 파이프 라인 어드레스 신호상의 어드레스(A1)는 래치(112)에 래칭되어 트레이스 버퍼(114)에 또한 래칭된다.
제 2 버스 사이클의 상태(S43)동안, 기록 쇼 사이클, 제 2 버스 사이클의 데이타(D2)는 외부 어드레스 버스(105)상에 존재한다. 일반적으로, 데이타는 이때 내부 레지스터에 래칭 된다. 내부적으로 기록되는 때와 동시에 외부적으로 데이타를 제공하여 개발 툴(100)이 실시간에 데이타 처리 시스템(10)의 내부 액티비티를 재생하도록 한다. 동일한 데이타(D2)는 판독 사이클의 타이밍과 유사한 타이밍 구성을 이용하여 외부 어드레스 버스(105)상에 다시 제공된다. 따라서, 이때 트레이스 버퍼(114)내에 데이타를 래칭할 필요가 없다.
제 3 버스 사이클동안, AS신호는 이 사이클이 외부 버스 사이클임을 나타내도록 표명된다. 상태(S0)에서, 제 3 버스 사이클의 어드레스(A3)는 외부 어드레스 버스(105)를 통해 전송된다. 어드레스 래치 인에이블 신호는 상태(S0)에서 표명 되고 상태(S1)에서 부정되어, 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)를 통해 전송된 어드레스는 어드레스 출력 신호로 루팅된다. 파이프 라인의 제 1 스테이지에서 래칭된 어드레스(A2)는 제 2 스테이지에 전송되며, 제 3 버스 사이클의 어드레스(A3)는 외부 어드레스 버스(105)를 통해 전송된다. 제 3 버스 사이클의 어드레스(A3)는 상태(S0)의 종료까지 파이프 라인의 제 1 스테이지로 래칭되어 일시적으로 저장된다. 제 3 버스 사이클의 상태(S1)동안, 제 2 버스 사이클의 외부 판독 사이클, 데이타(D2)는 외부 어드레스 버스(105)상에 존재한다. 데이타(D2)는 출력 데이타 신호로 루팅된다. 멀티플렉서(110)는 스테이지 B 레지스터(108)에 저장된 어드레스(A2)를 파이프라인 어드레스 신호에 루팅한다. 상태(S1)의 종료에 의해, 출력 데이타 신호상의 데이타(D2) 및 파이프라인 어드레스 신호상의 어드레스(A2)는 래치(112) 및 트레이스 버퍼(114)에 래칭된다. 제 2 버스 사이클, 기록 쇼 사이클의 어드레스 및 데이타는 제 1 버스 사이클, 판독 쇼 사이클의 것과 유사한 타이밍을 이용하여 래치(112)에 래칭된다.
외부 판독 사이클의 상태(S4)에서, 데이타는 외부 메모리 또는 장치에 의해 외부 어드레스 버스(105)에 전송된다. 외부 어드레스 버스(105)는 출력 데이타 신호로 루팅된다. 멀티플렉서(110)는 스테이지 A 레지스터(106)로부터의 어드레스(A3)를 파이프라인 어드레스 신호로 루팅한다. 상태(S4)의 종료에 의해, 출력 데이타 신호상의 데이타(D3)및 파이프라인 어드레스 신호상의 어드레스(A3)는 래치(112) 및 트레이스 버퍼(114)에 래칭된다.
상기 설명된 버스 사이클동안, 판독/기록 신호는 그 버스 사이클이 판독 사이클 또는 기록 사이클인지를 나타낸다. 상태(S0)의 하강 엣지동안 에뮬레이션 칩 선택 신호의 상태는 그 사이클이 일반 외부 사이클, 에뮬레이션 사이클, 또는 쇼 사이클인지를 나타낸다.
에뮬레이션 쇼 판독 사이클 다음의 에뮬레이션 쇼 기록 사이클에 에뮬레이션 모드의 멀티플렉싱 외부 기록 사이클이 이어질 때, 제 9도에 대응하는 타이밍이 사용된다. 제 1 버스 사이클동안, AS 신호는 부정된다. DS 신호는 상태(S41)에서 표명되고 상태(S43)에서 부정된다. AS 및 DS 신호의 부정과 표명간의 관계는 이 제 1 버스 사이클이 쇼 사이클임을 나타낸다. 상태(S0)에서, 제 1 버스 사이클의 어드레스(A1)는 외부 어드레스 버스(105)상에 전송된다. 어드레스 래치 인에이블 신호는 상태(S0)에서 표명되고 상태(S1)에서 부정되어 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)를 통해 전송된 어드레스는 어드레스 출력 신호로 루팅되고 파이프라인의 제 1 스테이지에 래칭되며, 상태(S0)의 종료시에 일시적으로 저장된다.
제 2 버스 사이클동안, AS 신호는 부정된다. DS 신호는 상태(S41)에서 표명되고 상태(S43)에서 부정된다. AS 및 DS 신호의 부정과 표명간의 관계는 제 2 버스사이클이 쇼 사이클임을 나타낸다. 제 2 상태(S0)에서, 제 2 버스 사이클의 어드레스(A2)는 외부 어드레스 버스(105)에 전송된다. 어드레스 래치 인에이블 신호는 상태(S0)에서 표명되고 상태(S1)에서 부정되어, 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)상의 어드레스는 어드레스 출력 신호로 루팅된다. 제 1 스테이지에서 래칭된 어드레스(A1)는 제 2 스테이지에서 전송되고 제 2 버스 사이클의 어드레스(A2)는 외부 어드레스 버스(105)에 전송되어 상태(S0)의 종료까지는 파이프라인 제 1 스테이지에 래칭되어 일시적으로 저장된다.
제 2 버스 사이클인 쇼 기록 사이클의 상태(S41 및 S42)동안, 제 1 버스 사이클의 데이타(D1)는 외부 어드레스 버스(105)에 전송된다. D1 값은 외부 어드레스 버스(105)에 의해 출력 데이타 신호로 전송된다. 멀티플렉서(110)는 스테이지 B 레지스터(108)로부터의 어드레스(A1)를 파이프라인 어드레스 신호로 루팅한다. 상태(S41)의 종료에 의해 출력 데이타 신호상의 데이타(D1)및 파이프라인 어드레스 신호상의 어드레스(A1)를 래치(112) 및 트레이스 버퍼(114)에 래칭된다.
제 2 버스 사이클인 기록 쇼 사이클의 상태(S43)동안, 제 2 버스 사이클의 데이타(D2)는 외부 어드레스 버스(105)상에 존재한다. 일반적으로, 데이타는 이때 내부 레지스터에 래칭된다. 내부적으로 기록되는 것과 동시에 외부적으로 데이타를 제공하는 것은 개발 툴(100)이 내부 액티비티 데이타 처리 시스템(10)을 동시에 재생하도록 한다. 동일한 데이타(D2)는 다시 판독 사이클과 유사한 타이밍을 사용하여 외부 어드레스 버스(105)를 통해 제공된다. 따라서, 이때 트레이스 버퍼(114)내의 데이타를 래칭할 필요가 없다.
제 3 버스 사이클동안, AS 신호는 이 사이클이 외부 버스 사이클임을 나타내도록 표명된다. 상태(S0)에서, 제 3 버스 사이클의 어드레스(A3)는 외부 어드레스 버스(105)상에 존재한다. 어드레스 래치 인에이블 신호는 상태(S0)에서 표명되고 상태(S1)에서 부정되어 외부 어드레스 버스(105)상의 어드레스가 유효함을 나타낸다. 외부 어드레스 버스(105)상에 전송된 어드레스는 어드레스 출력 신호로 루팅된다. 제 1 스테이지에 래칭된 어드레스(A2)는 제 2 스테이지에 전송되며, 제 3 버스 사이클의 어드레스(A3)는 외부 어드레스 버스(105)에 전송된다. 어드레스(A3)는 상태(S0)의 종료까지는 파이프라인의 제 1 스테이지에 래칭되어 보유된다. 제 3 버스 사이클인 외부 기록 사이클의 상태(S1)동안, 제 2 버스 사이클의 데이타(D2)는 외부 어드레스 버스(105)상에 존재한다. 외부 어드레스 버스(105)를 통해 전송된 어드레스는 출력 데이타 신호로 루팅된다. 멀티플렉서(110)는 스테이지 B 레지스터(108)로부터의 어드레스(A2)를 파이프라인 어드레스 신호로 루팅한다. 상태(S1)의 종료에 의해, 출력 데이타 신호 상의 데이타(D2) 및 파이프라인 어드레스 신호상의 어드레스(A2)는 래치(112) 및 트레이스 버퍼(114)에 래칭된다. 제 2 버스 사이클인 기록 쇼 사이클의 어드레스 및 데이타는 제 1 버스 사이클인 판독 쇼 사이클의 것과 유사한 타이밍을 이용하여 래치(112)에 래칭된다.
외부 기록 사이클의 상태(S4)에서, 데이타는 외부 어드레스 버스(105)에 공급된다. 외부 어드레스 버스(105)에 공급된 어드레스는 출력 데이타 신호에 루팅된다. 멀티플렉서(110)는 스테이지 A 레지스터(106)로부터의 어드레스(A3)를 파이프라인 어드레스 신호로 루팅한다. 상태(S4)의 종료에 의해, 출력 데이타 신호상의 데이타(D3)및 파이프라인 어드레스 신호상의 어드레스(A3)를 래치(112) 및 트레이스 버퍼(114)에 래칭된다.
상기 설명된 버스 사이클동안, 판독/기록 신호는 버스 사이클이 판독 사이클 또는 기록 사이클인지를 나타낸다. 상태(S0)의 하강 엣지동안 에뮬레이션 칩 선택 신호의 상태는 그 사이클이 일반 외부 사이클인지, 에뮬레이션 사이클인지, 또는 쇼 사이클인지를 나타낸다.
일반적으로, 에뮬레이션 사이클은 외부 섀도우 레지스터의 사용을 통해 데이타 처리 시스템(10)의 내부 기능 제어를 트랙킹 하는데 사용된다. 에뮬레이션 칩 선택 신호는 멀티플렉싱 버스 사이클의 래칭된 어드레스 페이즈와 동시에 디코딩되어 섀도우 레지스터의 어드레스를 발생한다. 섀도우 레지스터는 제어 변경의 실시간 가시성을 요구하는 외부 합성 회로에 관련되어 내부 데이타 처리 펑션에 동기적으로 유지된다. 전형적인 개발 툴은 몇몇 개별적 펑션을 지원하는 이러한 특성을 갖는다. 각 펑션은 섀도우 레지스터의 동일한 기본 아키텍쳐를 나타내며, 내부의 펑션 동작을 실시간에 트랙킹해야만 하는 외부 펑션을 제어하는 내부 레지스터의 실시간 복사를 제공한다. 이러한 펑션은 내부 기록 실시간 가시성의 에뮬레이션 사이클 제공에 좌우된다.
본 발명은 두 동작 모드로 분리될 수도 있다. 제 1 모드는 논리 해석기에 대한 인터페이싱을 위해 멀티플렉싱 버스상에 표준 쇼 사이클을 지원한다. 제 2 모드는 에뮬레이션 툴에 멀티플렉싱 버스를 제어하는 실시간 트랙킹을 제공한다. 제 1모드는 타이밍 해석기와 함께 저가의 MCU 인터페이스 툴을 사용하여 시스템의 하드웨어 및 소프트웨어를 디버깅하는데 사용된다. 제 2 모드는 내부 회로 에뮬레이션 시스템을 사용하여 펌웨어의 디버깅에 일차적으로 사용되며, 이 시스템은 버스 해석기 및 또 다른 여러 해석 특징부를 제공한다.
멀티플렉싱 어드레스 및 데이타 버스들은 데이타 프로세서에서 그 핀 카운트를 제한하도록 사용된다. 그러나, 낮은 터미널 카운트를 갖는 하이-엔드 데이타 프로세서를 필요로 하는 어플리케이션으로, 내부 동작의 제한된 외부 가시성과 같은 새로운 문제점이 발생된다. 고유의 타이밍 메카니즘을 제공함으로써 본 발명은 기술상의 어려움에 대한 해결안을 설명한다.
또한, 본 발명의 구현은 단지 예시에 의해 제공된 것이다. 여러 다른 구현이 상기 펑션을 실행하는데 존재할 수도 있다. 예를 들어, 개발 툴이 제 2 도에서 설명된 것과는 다른 아키텍쳐를 가질 수도 있다. 제 2 도는 단순히 개발 툴의 한 예시이다. 또, 외부 제어 버스(56)를 통해 전송된 제어 신호는 개시된 것 이외의 추가 신호를 포함할 수도 있다. 또, 제어 신호는 다른 타이밍을 가지고 다른 펑션을 실행할 수도 있다. 에뮬레이션 칩 선택 신호는 버스 사이클의 유형을 나타낼 수도 있다. 더욱이, 스테이트 머신(62)은 제 6도에 설명된 것과는 다른 타이밍 경로 또는 스테이트를 갖도록 변경 될 수도 있다. 또 다른 제어부는 개선된 스테이트 머신을 대체 하도록 구현될 수도 있다.
본 발명의 원리에 따라, 당업자들은 상기 설명이 본 발명의 범위를 한정하는 것이 아니라 단지 실시예임을 인식할 것이다. 따라서, 첨부된 청구범위에 의해, 본발명의 범위 및 정신 내에서 본 발명의 모든 변경 안을 다루게 된다.
제 1 도는 본 발명에 따른 개발 시스템을 설명한 도면.
제 2 도는 제 1 도의 개발 시스템의 버스 해석기를 설명한 도면.
제 3 도는 제 1 도의 데이타 처리 시스템의 시스템 집적 회로를 설명한 도면.
제 4 도는 제 3 도의 시스템 집적 회로의 외부 버스 회로를 설명한 도면.
제 5 도는 제 4 도의 외부 버스 회로의 버스 제어 회로를 설명한 도면.
제 6 도는 제 4 도의 외부 버스 회로의 스테이트 머신을 설명한 도면.
제 7도는 제 1동작 모드를 나타내는 제 1 타이밍도.
제 8 도는 제 2 동작 모드를 나타내는 제 2 타이밍도.
제 9 도는 제 3 동작 모드동안 발생된 다수의 신호를 나타내는 제 3 타이밍 도.
* 도면의 주요부분에 대한 부호의 설명
5 : 개발 시스템 10 : 데이타 처리 시스템
24 : 집적 회로 터미널 100 : 개발 툴(development tool)

Claims (5)

  1. 데이타 프로세서(10)내의 멀티플렉싱 버스(28)상에 쇼 사이클을 제공하는 방법에 있어서,
    상기 데이타 프로세서의 중앙 처리 장치(12)가, 제 1 버스 사이클동안, 상기 데이타 프로세서의 내부 메모리(22)로부터의 제 1 어드레스에서 제 1 데이타 값을 액세스하도록 인에이블링하는 단계와,
    상기 데이타 프로세서에 결합된 시스템 집적 회로(16)가 상기 제 1 버스 사이클동안 멀티플렉싱 버스를 통해 상기 제 1 어드레스를 외부로 제공하도록 인에이블링하는 단계와,
    상기 시스템 집적 회로가 제 2 버스 사이클동안 제 2 어드레스에서의 제 2 데이타 값을 액세스하도록 인에이블링하는 단계와,
    상기 시스템 집적 회로가 상기 제 2 버스 사이클동안 멀티플렉싱 버스를 통해 상기 제 2 어드레스를 외부로 제공하도록 인에이블링하는 단계 및,
    상기 제 2 어드레스가 상기 제 2 버스 사이클동안 외부로 공급된 후에, 상기 시스템 집적 회로가 상기 멀티플렉싱 버스를 통해 상기 제 1 데이타 값을 외부로 공급하도록 인에이블링 하는 단계를 포함하는 멀티플렉싱 버스상에 쇼 사이클을 제공하는 방법.
  2. 데이타 프로세서(10)에 있어서,
    다수의 제어 신호, 다수의 어드레스 값, 다수의 데이타 값을 공급하는 중앙 처리 장치(12) 및,
    상기 데이타 프로세서에 결합되어 다수의 어드레스 값, 다수의 데이타 값, 및 다수의 제어 값을 수신하는 시스템 집적 회로(16)를 구비하며,
    상기 시스템 집적 회로는, 에뮬레이션 모드에서 상기 데이타 프로세서가 동작함을 나타내도록 상기 다수의 제어 신호중의 제 1 신호를 발생하고, 상기 데이타 프로세서가 쇼 사이클을 실행할 때를 나타내도록 다수의 제어 신호중의 제 2 신호를 발생하며, 상기 데이타 프로세서가 제 1 동작 모드에서 동작하고 있음을 상기 다수의 제어 신호중의 제 1 신호가 나타내고, 상기 다수의 제어 신호중의 제 2 신호가 상기 데이타 프로세서가 쇼 사이클을 실행시킴을 나타낼 때, 상기 다수의 어드레스 값 및 상기 다수의 데이타 값을 제 1 소정의 포맷으로 멀티플렉싱 버스상에 공급하며, 상기 제 1 소정의 포맷은 제 1 버스 사이클동안 액세싱되고. 다수의 어드레스중의 제 1 어드레스에 관련된, 상기 다수의 데이타 값중의 제 1 데이타 값을 제공하며,
    상기 시스템 집적 회로는 제 1 버스 사이클 동안에, 상기 다수의 데이타 값들중의 제 1 데이타 값을 상기 멀티플렉싱 버스상에 공급하며, 상기 제 2 버스 사이클동안에 상기 다수의 어드레스 값들중의 제 2 어드레스 값이 상기 멀티플렉싱 버스에 공급되며,
    상기 시스템 집적 회로는 상기 다수의 어드레스 값들 중의 제 2 어드레스 값에 관련된 다수의 데이타 값들중의 제 2 데이타 값을 상기 멀티플렉싱 버스에 전송하는 데이타 프로세서.
  3. 데이타 프로세서(10)의 고속 멀티플렉싱 버스(28)상에 쇼 사이클을 제공하는 방법에 있어서,
    상기 데이타 프로세서의 중앙 처리 장치(12)가 다수의 어드레스 값, 다수의 데이타 값, 및 다수의 제어 신호를 공급하도록 인에이블링하는 단계와,
    시스템 집적 회로(16)가 상기 다수의 제어 신호중의 제 1 신호를 공급하여 상기 데이타 프로세서의 동작 모드를 나타내도록 인에이블링하는 단계와,
    상기 데이타 프로세서가 쇼 사이클을 공급할 때를 나타내기 위해, 상기 데이타 프로세서의 상기 시스템 집적 회로가 상기 다수의 제어 신호중의 제 2 신호를 공급하도록 인에블링하는 단계 및,
    상기 데이타 프로세서가 에뮬레이션 동작 모드에서 동작하고 있음을 상기 다수의 제어 신호중의 제 1 신호가 나타내고, 상기 다수의 제어 신호중의 제 2 신호가 상기 데이타 프로세서를 인에블링하여 상기 쇼 사이클을 실행시킬 때, 상기 시스템 집적 회로가 상기 다수의 어드레스 값 및 상기 다수의 데이타 값을 제 1 소정의 포맷으로 상기 멀티플렉싱 버스상에 공급하도록 인에이블링하는 단계를 포함하며,
    상기 제 1 소정의 포맷은 상기 다수의 어드레스 값들 중의 제 1 어드레스 값에 관련되고, 제 1 버스 사이클동안 액세싱되는 상기 다수의 데이타 값들 중의 제 1 데이타 값을 공급하며,
    상기 시스템 집적 회로는 제 1 버스 사이클동안 상기 다수의 데이타 값들중의 제 1 데이타 값을 공급하고, 상기 제 2 버스 사이클동안 상기 다수의 어드레스 값들중의 제 2 어드레스 값을 공급하며,
    상기 시스템 집적 회로는 상기 다수의 어드레스 값들 중의 제 2 어드레스 값에 관련된 상기 다수의 데이타 값들 중의 제 2 데이타 값을 상기 멀티플렉싱 버스에 전송하는 고속 멀티플렉싱 버스상에 쇼 사이클을 제공하는 방법.
  4. 데이타 프로세서(10)내의 멀티플렉싱 버스(28)상에 쇼 사이클을 제공하는 방법에 있어서,
    상기 데이타 프로세서의 중앙 처리 장치(12)가 제 1 버스 사이클동안, 상기 데이타 프로세서의 내부 메모리(22)로부터의 제 1 어드레스 위치에서 제 1 데이타 값을 판독하도록 인에이블링하는 단계와,
    상기 데이타 프로세서에 결합된 시스템 집적 회로(16)가 제 1 버스 사이클동안 상기 제 1 어드레스 위치를 상기 멀티플렉싱 버스를 통해 외부로 공급하도록 인에이블링하는 단계와,
    상기 시스템 집적 회로가 제 2 버스 사이클동안 상기 데이타 프로세서의 내부 메모리로부터의 제 2 어드레스 위치에서 제 2 데이타 값을 기록하도록 인에이블링하는 단계와,
    상기 시스템 집적 회로가 제 2 버스 사이클동안 상기 멀티플렉싱 버스를 통해 상기 제 2 어드레스 위치를 외부로 공급하도록 인에이블링하는 단계와,
    상기 제 2 버스 사이클동안 상기 제 2 어드레스 위치가 외부로 공급된 후에, 상기 시스템 집적 회로가 상기 멀티플렉싱 버스를 통해 상기 제 1 데이타 값을 외부로 공급하도록 인에이블링하는 단계 및,
    상기 제 2 버스 사이클동안 상기 제 1 데이타 값이 외부로 공급된 후에, 상기 시스템 집적 회로가 상기 멀티플렉싱 버스를 통해 상기 제 2 데이타 값을 외부로 공급하도록 인에이블링하는 단계를 포함하는 멀티플렉싱 버스상에 쇼 사이클을 제공하는 방법.
  5. 데이타 프로세서(10)에 있어서,
    다수의 제어 신호, 다수의 어드레스 값, 다수의 데이타 값을 공급하는 중앙 처리 장치(12) 및,
    상기 데이타 프로세서에 결합되어 다수의 어드레스값, 다수의 데이타 값, 및 다수의 제어값을 수신하는 시스템 집적 회로(16)를 구비하며,
    상기 시스템 집적 회로는 에뮬레이션 모드에서 상기 데이타 프로세서가 동작함을 상기 다수의 제어 신호중의 제 1 신호가 나타낼 때, 상기 다수의 어드레스 값 및 상기 다수의 데이타 값을 제 1 소정의 포맷으로 멀티플렉싱 버스상에 공급하며, 상기 제 1 소정의 포맷은 제 1 버스 사이클동안 액세싱 되고, 상기 다수의 어드레스들중의 제 1 어드레스에 관련된 상기 다수의 데이타 값들중의 제 1 데이타 값을 제공하며,
    상기 시스템 집적 회로는 제 1 버스 사이클동안에, 상기 다수의 데이타 값들중의 제 1 데이타 값을 상기 멀티플렉싱 버스상에 공급하며, 상기 제 2 버스 사이클동안에 상기 다수의 어드레스 값들중의 제 2 어드레스 값이 상기 멀티플렉싱 버스에 공급되며,
    상기 시스템 집적 회로는 상기 다수의 어드레스 값들중의 제 2 어드레스 값에 관련된 다수의 데이타 값들중의 제 2 데이타 값을 상기 멀티플렉싱 버스에 전송하는 데이타 프로세서.
KR1019950048164A 1994-12-05 1995-12-05 멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서 KR100354932B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US349286 1994-12-05
US08/349,286 US5548794A (en) 1994-12-05 1994-12-05 Data processor and method for providing show cycles on a fast multiplexed bus
US349,286 1994-12-05

Publications (2)

Publication Number Publication Date
KR960025089A KR960025089A (ko) 1996-07-20
KR100354932B1 true KR100354932B1 (ko) 2003-02-05

Family

ID=23371702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950048164A KR100354932B1 (ko) 1994-12-05 1995-12-05 멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서

Country Status (4)

Country Link
US (1) US5548794A (ko)
EP (1) EP0718763A1 (ko)
JP (1) JP3901759B2 (ko)
KR (1) KR100354932B1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802348A (en) * 1995-12-18 1998-09-01 Virtual Machine Works, Inc. Logic analysis system for logic emulation systems
US5812798A (en) * 1996-01-26 1998-09-22 Motorola, Inc. Data processing system for accessing an external device and method therefore
US5860161A (en) * 1996-08-14 1999-01-12 Advanced Micro Devices, Inc. Microcontroller configured to indicate internal memory accesses externally
US5903912A (en) * 1996-08-14 1999-05-11 Advanced Micro Devices, Inc. Microcontroller configured to convey data corresponding to internal memory accesses externally
US5838692A (en) * 1996-11-14 1998-11-17 Hewlett-Packard Company System and method for extracting realtime debug signals from an integrated circuit
US5862148A (en) * 1997-02-11 1999-01-19 Advanced Micro Devices, Inc. Microcontroller with improved debug capability for internal memory
JPH10254738A (ja) * 1997-03-12 1998-09-25 Mitsubishi Electric Corp エミュレータ装置及びエミュレーション方法
JPH11161524A (ja) * 1997-11-28 1999-06-18 Nec Corp バス制御方式
US5911073A (en) * 1997-12-23 1999-06-08 Hewlett-Packard Company Method and apparatus for dynamic process monitoring through an ancillary control code system
US6164841A (en) * 1998-05-04 2000-12-26 Hewlett-Packard Company Method, apparatus, and product for dynamic software code translation system
US6148437A (en) * 1998-05-04 2000-11-14 Hewlett-Packard Company System and method for jump-evaluated trace designation
US6189141B1 (en) 1998-05-04 2001-02-13 Hewlett-Packard Company Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability
US6064600A (en) 1999-03-01 2000-05-16 Micron Technology, Inc. Methods and apparatus for reading memory device register data
JP4615137B2 (ja) * 2001-03-26 2011-01-19 富士通セミコンダクター株式会社 同期型メモリに対するフライバイ転送を可能にするdma制御システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4414664A (en) * 1981-02-23 1983-11-08 Genrad, Inc. Wait circuitry for interfacing between field maintenance processor and device specific adaptor circuit
US4489380A (en) * 1982-04-01 1984-12-18 Honeywell Information Systems Inc. Write protected memory
US4665481A (en) * 1983-06-13 1987-05-12 Honeywell Information Systems Inc. Speeding up the response time of the direct multiplex control transfer facility
US4860375A (en) * 1986-03-10 1989-08-22 Environmental Research Inst. Of Michigan High speed cellular processing system
JPS63121934A (ja) * 1986-11-10 1988-05-26 Oki Electric Ind Co Ltd 評価用ワンチツプマイクロコンピユ−タ
KR910018909A (ko) * 1990-04-20 1991-11-30 미다 가쓰시게 데이타처리장치 및 그것을 사용한 시스템개발장치
US5339399A (en) * 1991-04-12 1994-08-16 Intel Corporation Cache controller that alternately selects for presentation to a tag RAM a current address latch and a next address latch which hold addresses captured on an input bus
US5636363A (en) * 1991-06-14 1997-06-03 Integrated Device Technology, Inc. Hardware control structure and method for off-chip monitoring entries of an on-chip cache

Also Published As

Publication number Publication date
JP3901759B2 (ja) 2007-04-04
EP0718763A1 (en) 1996-06-26
US5548794A (en) 1996-08-20
KR960025089A (ko) 1996-07-20
JPH08286946A (ja) 1996-11-01

Similar Documents

Publication Publication Date Title
KR100354932B1 (ko) 멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서
KR100350568B1 (ko) 디버그기능을수행하기위한데이타처리시스템및방법
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
US5768567A (en) Optimizing hardware and software co-simulator
EP1269322B1 (en) Multi-channel, multi-service debug on a pipelined cpu architecture
JP3209776B2 (ja) エミュレーション装置とそれに使用するマイクロコントローラ
US4780819A (en) Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory
JPWO2008020513A1 (ja) デバッガ及びデバッグ方法
US6526501B2 (en) Adapter for a microprocessor
JPH02133834A (ja) インサートキットエミュレータ
US6665737B2 (en) Microprocessor chip includes an addressable external communication port which connects to an external computer via an adapter
US5574894A (en) Integrated circuit data processor which provides external sensibility of internal signals during reset
JP2002323995A (ja) トレース回路
US6389498B1 (en) Microprocessor having addressable communication port
US8250545B2 (en) Associated apparatus and method for supporting development of semiconductor device
EP0942371B1 (en) Debugging method for a microcomputer
JP2005165825A (ja) トレース情報記録装置
JPS6320545A (ja) エミユレ−タのレジスタ読出し装置
JP2000029508A (ja) プログラマブルコントローラ
JPH05108550A (ja) 中央処理装置
JPH0546430A (ja) マイクロプロセツサ装置およびそれを用いたエミユレータ装置
JP2003288235A (ja) デバッグ回路、半導体装置及びデバッグ方法
JPH10289127A (ja) 開発用エミュレータのトレース回路
JPH1021113A (ja) デバッグシステムのデバッグ方法
JPS59106048A (ja) マイクロプロセツサシステム

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: 20120905

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130909

Year of fee payment: 12

EXPY Expiration of term