KR20150029579A - 진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법 - Google Patents

진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20150029579A
KR20150029579A KR20140118592A KR20140118592A KR20150029579A KR 20150029579 A KR20150029579 A KR 20150029579A KR 20140118592 A KR20140118592 A KR 20140118592A KR 20140118592 A KR20140118592 A KR 20140118592A KR 20150029579 A KR20150029579 A KR 20150029579A
Authority
KR
South Korea
Prior art keywords
data
logging
logging interface
streaming
integrated circuit
Prior art date
Application number
KR20140118592A
Other languages
English (en)
Other versions
KR102184695B1 (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 KR20150029579A publication Critical patent/KR20150029579A/ko
Application granted granted Critical
Publication of KR102184695B1 publication Critical patent/KR102184695B1/ko

Links

Images

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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

전자 시스템은 집적 회로, 집적 회로에 연결되고, 추적 데이터 버스를 수신하는 지원 회로, 및 지원 회로에 연결되고, 집적 회로의 실패 모드의 식별을 위한 추적 데이터를 분석하는 지원 프로세서 칩을 포함한다. 여기서 집적 회로는 기능적인 출력을 구동하기 위한 내부 데이터 경로, 추적 데이터 버스의 생성을 위해 내부 데이터 경로에 연결되는 범용 스트리밍 및 로깅 인터페이스, 및 추적 데이터 버스의 스토리지를 관리하기 위해 범용 스트리밍 및 로깅 인터페이스에 연결되는 직접 액세스 메모리(DMA: Direct Access Memory) 제어기를 포함한다.

Description

진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법{ELECTRONIC SYSTEM WITH DIAGNOSTIC INTERFACE MECHANISM AND METHOD OF OPERATION THEREOF}
본 발명은 일반적인 전자 시스템에 관한 것으로, 특히 전자 시스템들을 위한 내부 기능들의 모니터링을 위한 시스템에 관한 것이다.
현대의 전자 시스템들은 최근의 특징들을 살펴보면 빠른 발달을 필요로 한다. 집적 회로 개발 프로세스는 개발 시간의 단축을 위하여 의도된 회로들을 시뮬레이션하기 위해 상당히 진전되었다. 불행하게도, 제조 프로세스들은 오염, 기생 장치들, 및 성장 레이어들의 다양한 집중 등과 같은 어려움을 갖는다. 이러한 실패 모드들의 식별은 시간의 확장된 주기들을 소모하고, 매우 큰 비용의 발생을 수반한다. 실패 매커니즘을 식별하기 위한 순수한 비용은 초기 지연에 의해 측정될 수 없으나, 집적 회로의 수명이 다하는 용량 수송들의 손실에 의해 측정될 수 있다.
지연을 위한 포텐셜을 완화하기 위하여, 테스팅과 분석은 모든 기회에서 수행된다. 어떤 내부 회로들은 내부 회로의 가시성의 추가로 인해 입/출력 드라이버에 연결될 수 있는 집적 회로의 에지에서 테스트할 수 없다. 불행하게도, 그러한 기법은 내부 회로로 지연을 증가시킬 수 있고, 회로의 전환들을 위한 주파수는 내부 회로 동작을 보여주기 위해서 단지 추가된 출력 드라이버의 대역폭에 의해 제한될 수 있다.
어떤 접근 방식들은 정적 상태들에서만 내부회로를 감시할 수 있고, 회로 동작의 전체 도면을 제공하지 않는다. 이러한 어려움들 모두는 우리의 일상 생활에서 더 많은 집적 회로 장치들을 사용하는 우리 사회에 기반하여 매일 마주하게 된다. 우리의 스마트폰들, 개인 음악 플레이어들, 비디오 플레이어들, 및 핸드-헬드 게임들 등의 편리함은 전세계를 통해 만연되어 있다. 이러한 개발들 각각은 개발 및 제조 프로세스들 동안 검증되어야만 하는 수백만개의 트랜지스터를 포함할 수 있다.
따라서, 개발 사이클들과 제조 신뢰성의 향상을 위한 진단 인터페이스 메커니즘을 갖는 전자 시스템을 여전히 필요로 한다. 상업적 경쟁적 압박들이 계속 증가하는 관점에서, 시장에서 의미있는 제품 차별화를 위한 기회들의 감소와 소비자 기대의 증가에 따라, 이러한 문제들의 해답들의 발견은 점점 더 중요하다. 추가적으로, 비용의 감소, 효율 및 성능의 개선, 및 경쟁적 압박들의 수요는 이러한 문제들의 해답을 찾기 위해 중대한 필요로서 더 큰 위기를 초래한다.
이러한 문제들의 해법들은 오랫동안 추적해 왔으나, 이전 개발들은 어느 해법들을 제안하거나 발견하지 못하였으므로, 이러한 문제들은 해당 기술 분야에서 오랫동안 벗어날 수 없었다.
본 발명의 목적은 개발 사이클들과 제조 신뢰성의 향상을 위한 진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법을 제공함에 있다.
본 발명에 따른 전자 시스템은 집적 회로, 상기 집적 회로에 연결되고, 추적 데이터 버스를 수신하는 지원 회로, 및 상기 지원 회로에 연결되고, 상기 집적 회로의 실패 모드의 식별을 위한 추적 데이터를 분석하는 지원 프로세서 칩을 포함하고, 상기 집적 회로는 기능적인 출력을 구동하기 위한 내부 데이터 경로, 상기 추적 데이터 버스의 생성을 위해 상기 내부 데이터 경로에 연결되는 범용 스트리밍 및 로깅 인터페이스, 및 상기 추적 데이터 버스의 스토리지를 관리하기 위해 상기 범용 스트리밍 및 로깅 인터페이스에 연결되는 직접 액세스 메모리(DMA: Direct Access Memory) 제어기를 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 상기 내부 데이터 경로로부터 로드된 복수의 레지스터들을 포함하는 동기 캡쳐 유닛을 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 상기 내부 데이터 경로로부터 로드된 복수의 레지스터들을 포함하는 비동기 로깅 인터페이스 유닛을 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 로그된 데이터 패킷 내 상기 추적 데이터의 컨텐츠 제공을 위한 상기 추적 데이터 버스의 컨텐츠들을 함께 로드하는 메인 버퍼에 연결되는 데이터 패킷타이저 회로를 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 로그된 데이터 패킷 내 상태 레지스터 컨텐츠의 제공을 위한 메인 버퍼에 연결되는 데이터 패킷타이저 회로를 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 로그된 데이터 패킷 내 시스템 타임 스탬프를 제공하기 위한 메인 버퍼에 연결되는 데이터 패킷타이저 회로를 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 상기 직접 액세스 메모리(DMA) 제어기 또는 진보된 확장 인터페이스(AXI: Advanced eXtensible Interface)를 위한 직접 액세스 메모리(DMA) 데이터를 제공하기 위한 상기 추적 데이터 버스에 연결되는 메인 버퍼를 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 패킷 생성 멀티플렉서를 통해 생성하는 데이터 패킷타이저 회로를 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 패킷 크기 비교기에 의해 로그된 데이터 패킷의 크기를 조정하기 위한 데이터 패킷타이저 회로를 포함한다.
이 실시예에 있어서, 상기 범용 스트리밍 및 로깅 인터페이스는 상기 내부 데이터 경로로부터 비동기 데이터의 캡쳐를 위한 비동기 선입선출(FIFO: First-In-First-Out) 레지스터에 연결되는 데이터 패커를 포함하는 비동기 로깅 인터페이스 유닛을 포함한다.
본 발명의 전자 시스템의 동작 방법은 집적 회로를 모니터링하는 단계, 추적 데이터 버스를 수신하기 위한 지원 회로를 구성하는 단계, 및 상기 집적 회로의 실패 모드를 식별하기 위한 상기 추적 데이터 버스를 분석하는 단계를 포함하고, 상기 모니터링하는 단계는, 기능적인 출력의 구동을 위해 구성된 내부 데이터 경로를 활성화하는 단계, 범용 스트리밍 및 로깅 인터페이스에 의해 상기 내부 데이터 경로의 상태의 캡쳐링을 포함하는 상기 추적 데이터 버스를 활성화하는 단계, 및 상기 범용 스트리밍 및 로깅 인터페이스를 통해 상기 추적 데이터 버스의 스토리지를 관리하기 위해 직접 메모리 액세스(DMA: Direct Memory Access) 제어기에 접속하는 단계를 포함한다.
이 실시예에 있어서, 상기 추적 데이터 버스의 생성은 내부 데이터 경로로부터 비동기 데이터를 캡쳐하는 단계를 포함한다.
이 실시예에 있어서, 상기 추적 데이터 버스의 생성은 상기 내부 데이터 경로로부터 비동기 데이터를 캡쳐하는 단계를 포함하는 동작 방법.
이 실시예에 있어서, 상기 추적 데이터 버스의 스토리지의 관리는 로그된 데이터 패킷 내 상기 추적 데이터 버스의 상기 컨텐츠를 제공하는 단계를 포함한다.
이 실시예에 있어서, 상기 추적 데이터 버스의 스토리지의 관리는 상기 로그된 데이터 패킷 내 상태 레지스터 컨텐츠를 제공하는 단계를 포함한다.
이 실시예에 있어서, 상기 추적 데이터 버스의 스토리지의 관리는 로그된 데이터 패킷 내 시스템 타임 스탬프를 제공하는 단계를 포함한다.
이 실시예에 있어서, 상기 직접 메모리 액세스(DMA) 제어기에 접속하는 단계는, 직접 메모리 액세스(DMA) 제어기 또는 진보된 확장 인터페이스(AXI: Advanced eXtensible Interface)를 위한 직접 메모리 액세스(DMA) 데이터를 제공하는 단계를 포함한다.
이 실시예에 있어서, 상기 직접 메모리 액세스(DMA) 제어기를 액세스하는 단계는, 로그된 데이터, 동기화 패턴, 시스템 타임 스탬프, 상태 레지스터들, 및 패킷 번호를 포함하는 로그된 데이터 패킷을 생성하는 단계를 포함한다.
이 실시예에 있어서, 상기 직접 메모리 액세스(DMA) 제어기를 액세스하는 단계는, 로그된 데이터 패킷의 크기를 조정하는 단계를 포함한다.
이 실시예에 있어서, 상기 추적 데이터 버스의 생성은 데이터 패커와 비동기 선입선출(FIFO: First-In-First-Out) 레지스터 사이에 비동기 데이터의 통과에 의해 내부 데이터 경로로부터 비동기 데이터를 캡쳐하는 단계를 포함한다.
본 발명의 전자 시스템은 대역폭 제한된 입/출력 핀들의 제한들 없이 내부 데이터 경로의 동작을 보여주도록 하는 범용 스트리밍 및 로깅 인터페이스를 통해 개발 사이클들과 제조 신뢰성의 향상을 위한 진단 인터페이스 메커니즘을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 진단 인터페이스 메커니즘을 갖는 전자 시스템을 도시한 도면,
도 2는 본 발명에 따른 범용 스트리밍 및 로깅 인터페이스의 예시적인 블록도,
도 3은 본 발명에 따른 데이터 패커 유닛의 예시적인 블록도,
도 4는 본 발명에 따른 비동기 로깅 인터페이스 유닛의 예시적인 블록도,
도 5는 본 발명에 따른 리셋 제어 회로의 예시적인 블록도,
도 6은 본 발명에 따른 범용 스트리밍 및 로깅 인터페이스 제어 기능의 예시적인 블록,
도 7은 본 발명에 따른 도 2의 범용 스트리밍 및 로깅 인터페이스의 데이터 패킷타이저 회로를 예시적으로 도시한 도면,
도 8은 본 발명의 다른 실시예에 따른 범용 스트리밍 및 로깅 인터페이스의 예시적인 블록도,
도 9는 본 발명의 실시예에 따른 전자 시스템으로의 적용 예들을 예시적으로 도시한 도면, 및
도 10은 본 발명의 또 다른 실시예에 따른 전자 시스템의 동작 방법의 순서도이다.
이하, 본 발명에 따른 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명하고, 동일한 참조 번호들은 명세서 전체에서 동일한 구성 요소들을 나타낸다. 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 하기에서 설명하기로 한다.
본 발명의 다양한 실시예들은 집적 회로의 임의의 타입에 집적될 수 있는 범용 스트리밍 및 로깅 인터페이스를 제공한다. 그러한 구현들은 대역 제한된 입/출력 핀들의 제한들 없이 집적 회로의 내부 데이터 경로의 동작들로 보이도록 제공될 수 있다. 범용 스트리밍 및 로깅 인터페이스와 그것을 지원하는 하드웨어들은 복수의 입/출력 핀들의 극적인 증가 없이도 집적 회로의 실시간 실행 상태를 캡쳐할 수 있다. 동작 추적 데이터는 집적 회로의 실패의 야기를 결정하기 위한 지원 프로세서 칩에 의해 실패 분석을 위한 제 2 지원 회로와 같은 외부 기기로 전송될 수 있다.
다양한 실시예들에서 내부 데이터 경로로부터의 동기 및 비동기 데이터 모두와 선택적인 직접 메모리 액세스(Direct Memory Access, 이하 'DMA'라 칭하기로 함) 데이터를 캡쳐 및 로그할 수 있고, 반면에 메인 버퍼 내 추적 데이터 버스를 계속해서 저장할 수 있는 스트리밍 및 로깅 인터페이스를 포함할 수 있는 집적 회로를 제공한다. 이러한 기능은 내부 데이터 경로 또는 내부 데이터 경로의 실패 상에서 수집한 데이터의 시작을 위한 로깅을 하는 반면에 실패할 때까지 실행할 수 있는 진단 프로세스들을 허용할 수 있다. 추적 데이터 버스의 대체 동작은 내부 데이터 경로의 실패 이전 또는 이후에 메인 버퍼 내 저장될 수 있다. 그 데이터는 실패 이벤트의 발생이 무엇에 의해 발생되었는지를 결정하기 위해 분석될 수 있다.
다양한 실시예들은 수많은 다른 방법들로 구성될 수 있는 유연한 데이터 수집 메커니즘을 제공할 수 있는 데이터 팩커 유닛을 제공한다. 실시예들은 높거나 낮은 대역폭의 필요를 지원하기 위한 다른 용량일 수 있는 4비트 레지스터들 개수는 단지 예시적으로 도시될 수 있다.
다양한 실시예들은 집적 회로의 내부 데이터 경로의 로깅 상세 상태의 확장 성능을 제공할 수 있는 데이터 패킷타이저 회로를 제공한다. 시퀀스 번호들과 패킷 상태들을 포함한 타임 스탬프된 패킷의 전달은 집적 회로 내 실패들의 진단을 돕기 위해 완전히 보여지도록 제공될 수 있다.
다음 실시예들은 발명이 만들어지고 사용되기 위해 해당 기술분야에서 실행될 수 있도록 충분하고 상세히 기술될 것이다.
그것은 다른 실시예들에서 본 발명에 개시된 것에 근거하여 이해될 수 있고, 시스템, 프로세스, 또는 기계적인 변경들은 본 발명의 실시예의 범위를 벗어나지 않는 범위 내에서 만들어질 수 있다.
다음의 상세한 설명에서, 많은 특정 상세들은 본 발명을 통해 제공되는 것에 의해 주어질 수 있다. 그러나, 그것은 이러한 특정 상세들 없이 실행될 수 있는 발명을 의미할 것이다. 본 발명의 실시예들에서 모호한 것을 회피하기 위하여, 어떤 잘 알려진 회로들, 시스템 구성들, 및 프로세스 단계들은 상세히 기술하지 않는다.
도면에 도시되어 보여지는 시스템 실시예들은 제한적으로 도식되고, 비율로 한정되지 않고, 특히 발명을 명확히 하기 위해 크기중 일부는 도시된 도면들 내에서 과장되도록 도시될 수 있다. 마찬가지로, 비록 일반적으로 설명의 편의를 위한 도면에서의 시점들이 비슷한 방향을 보여주지만, 이 도면에서의 묘사는 대부분의 부분에서 임의로 설정된다. 일반적으로 본 발명은 임의의 방향에서 동작할 수 있다. 본 발명의 실시예들은 설명의 편의의 한 방법으로 제 1 실시예, 제 2 실시예와 같은 순서로 매겨지고, 이러한 실시예들이 다른 의미나 발명의 실시에 대해 한정을 제공하는 것으로 간주되지 않는다.
"모듈" 의 용어는 그 문맥이 사용된 본 발명의 실시예에서 소프트웨어, 하드웨어 또는 그것들의 조합을 포함할 수 있다. 예를 들면, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 응용 소프트웨어들을 포함할 수 있다. 또한, 예를 들면, 하드웨어는 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 마이크로전자기계시스템(MEMS: microelectromechanical system), 수동 장치들, 또는 그것들의 조합을 포함할 수 있다. 더욱이, 모듈은 하기에서 장치 청구항들의 영역으로 기술될 수 있고, 모듈들은 장치 청구항들의 영역과 목적을 위한 하드웨어 회로를 포함한 것으로 간주될 수 있다.
여기에 따른 "유닛"의 용어는 타이밍 임계값과 소프트웨어 기능들 또는 지원을 포함하지 않는 특정 기능들을 위해 사용되는 하드웨어 구성성분들 또는 하드웨어 상태 머신들로 형성된 회로이다.
도 1은 본 발명의 실시예에 따른 진단 인터페이스 메커니즘을 갖는 전자 시스템을 도시한 도면이다.
도 1을 참조하면, 전자 시스템(100)은 모뎀 회로, 통신 회로, 또는 프로세서 회로와 같은 집적 회로(102)를 포함한다. 집적 회로(102)는 매우 높은 트랜지스터 카운트와 고속의 로직으로 구현될 수 있다.
실례가 되는 목적들을 위해, 전자 시스템(100)은 통신 장치와 같은 집적 회로(102)를 갖도록 기술될 수 있더라도, 그것은 장치들의 서로 다른 타입들일 수 있는 집적 회로(102)로 이해될 수 있다. 예를 들면, 집적 회로(102)는 이미지들 또는 멀티미디어 기능을 위한 장치일 수도 잇다. 예시한 바와 같이, 집적 회로(102)는 고화질 텔레비전(High definition television), 컴퓨터 태블릿(computer tablet), 컴퓨터 모니터(computer monitor), 개인 휴대 정보 단말기(PDA: personal digital assistant), 셀룰러 폰(celluar phone), 광 드라이버(optical driver), 광 수신기(optical receiver), 또는 멀티미디어 폰(multimedia phone)을 위한 회로일 수 있다. 다른 예로, 집적 회로(102)는 텔레비전 수신기(television), 케이블 박스(cable box), 위성 접시 안테나(satellite dish receiver), 또는 웹 실행가능 장치(web enabled device)와 같은 방송 또는 라이브 스트림 신호들을 수신하기 위한 신호 수신기로 이용될 수 있다.
전자 시스템(100)은 제 1 지원 회로(104)를 포함할 수 있다. 제 1 지원 회로(104)는 집적 회로(102)의 기능을 위한 인터페이스 장치일 수 있다. 예시적인 실시예에서, 제 1 지원 회로(104)는 무선 주파수(RF: radio frequency) 수신 유닛으로 보여질 수 있고, 그것은 서로 다른 타입의 장치 또는 기능일 수 있는 제 1 지원 회로(104)로 이해될 수 있다.
전자 시스템(100)은 제 2 지원 회로(106)를 포함할 수 있다. 제 2 지원 회로(106)는 집적 회로(102) 내부로부터 수집된 상태 정보를 저장하기 위한 메모리 장치일 수 있다. 제 2 지원 회로(106)는 집적 회로(102)의 내부 동작의 로그된 정보를 유지할 수 있다. 집적 회로(102)는 실시간에서 노멀 동작을 수행할 수 있는 반면, 제 2 지원 회로(106)는 내부 신호들을 위한 동작 상태들을 수집한다.
프로세서, 마이크로프로세서, 및 에이에스아이씨(ASIC: application specific integrated circuit)와 같은, 지원 프로세서 칩(107)은 제 2 지원 회로(106)에 연결될 수 있다. 지원 프로세서 칩(107)은 제 2 지원 회로(106) 내에 저장된 데이터의 컨텐츠를 분석할 수 있다. 지원 프로세서 칩(107)은 실시간 동작 동안 집적 회로(102)의 실패 모드의 결정을 위해 제 2 지원 회로(106)와 함께 상호 동작할 수 있다.
본 발명의 실시예에 따른 집적 회로(102)는 제 1 지원 회로(104)에 연결된 아날로그 디지털 변환기(Analog to Digital Converter, 이하 'ADC'라 칭하기로 함)(108)를 포함할 수 있다. ADC(108)는 제 1 지원 회로(104)로부터의 아날로그 신호를 집적 회로(102)의 내부 동작들을 위한 디지털 신호로 변환한다. 집적 회로(102)의 예시적인 실시예에서, ADC(108)는 입력 다중화 유닛(112)을 포함한 수신 필터 유닛(110)에 연결될 수 있고, 범용 스트리밍 및 로깅 인터페이스(114)의 지원 기능을 제공할 수 있다.
수신기 필터 유닛(110)은 집적 회로(102)의 기능적 회로를 포함하는 내부 데이터 경로(116)에 연결될 수 있다. 내부 데이터 경로(116)는 디지털 아날로그 변환기(Digital to Analog Converter, 이하 'DAC'라 칭하기로 함)와 센싱 멀티플렉서 유닛(120)을 통해 집적 회로(102)를 위한 외부 인터페이스를 제공하는 송신기 유닛(118)에 연결될 수 있다. DAC(122)는 예시적인 집적 회로(102)를 위한 기능적인 출력(123)을 제공할 수 있다. 센싱 멀티플렉서 유닛(120)은 범용 스트리밍 및 로깅 인터페이스(114)로 신호 입력을 제공할 수 있다.
기능 출력(123)은 집적 회로(102) 내 실장된 기능의 의도된 출력을 전달하기 위한 인터페이스로 이해될 수 있다. 예를 들면, 기능 출력(123)은 모뎀 출력, 비디오 드라이버, 오디오 드라이버, 제어 기능, 및 프로세서 등 일 수 있다. 범용 스트리밍 및 로깅 인터페이스(114)는 집적 회로(102)의 내부 데이터 경로(116)의 역량의 추적을 제공할 수 있다.
범용 스트리밍 및 로깅 인터페이스(114)는 입력 멀티플렉서 유닛(120)을 통해 내부 데이터 경로(116)의 상태를 저장하고 검색하기 위한 DMA 제어기(124)에 연결될 수 있다. 상태의 변화는 범용 스트리밍 및 로깅 인터페이스(114)와 DMA(122)로 클록들을 제공하는 타이밍 디바이스(126)에 의해 조정될 수 있다.
그것은 범용 스트리밍 및 로깅 인터페이스(114)에서 집적 회로(102)의 임의의 타입 내 집적될 수 있는 것으로 발견될 수 있다. 구현은 대역폭 제한된 입/출력 핀들의 제한들 없이 내부 데이터 경로(116)의 동작들로 보이도록 제공될 수 있다. 범용 스트리밍 및 로깅 인터페이스(114)와 그것을 지원하는 하드웨어들은 복수의 입/출력 핀들의 극단적인 증가 없이도 집적 회로의 실시간 실행 상태를 캡쳐할 수 있다. 동작 추적 데이터는 집적 회로의 실패의 야기를 결정하기 위한 지원 프로세서 칩(107)에 의해 실패 분석을 위한 제 2 지원 회로(106)와 같은 외부 기기로 전송될 수 있다.
도 2는 본 발명에 따른 범용 스트리밍 및 로깅 인터페이스의 예시적인 블록도이다.
도 2를 참조하면, 범용 스트리밍 및 로깅 인터페이스(114)의 예시적인 블록도는 범용 스트리밍 및 로깅 인터페이스(114)의 동작들을 관리하는 스트리밍 및 로깅 제어 유닛(202)을 묘사하고 있다.
스트리밍 및 로깅 제어 유닛(202)은 동기 데이터 캡쳐와 비동기 데이터 캡쳐를 지원할 수 있다. 동기 캡쳐 유닛(204)은 스트리밍 및 로깅 제어 유닛(202)으로부터의 S&L_ON과 도 1의 타이밍 장치(126)로부터 제공되는 S&L_CLK(205)에 의해 제어될 수 있다. 동기 캡쳐 유닛(204)은 도 1의 내부 데이터 경로(116) 내 임의의 곳으로부터 동기 데이터를 수신할 수 있다. 동기 데이터는 동기 캡쳐 유닛(204)에 의한 캡쳐를 위해 동기 데이터 버스(206)로 수신할 수 있다. 동기 캡쳐 유닛(204)은 동시에 내부 데이터 경로(116)로부터 32비트까지 캡쳐할 수 있다. 이것은 범용 스트리밍 및 로깅 인터페이스(114) 내 포함될 수 있는 많은 동기 캡쳐 유닛(204)으로 이해될 수 있다.
비동기 로깅 인터페이스 유닛(208)은 비동기 데이터(210)를 캡쳐하기 위해 데이터 패커 유닛(214)으로 제공될 수 있는 비동기 데이터 래치 인에이블(212)과 S&L_CLK(205)로 동기되지 않는 비동기 데이터를 내부 데이터 경로(116)로부터 수신할 수 있다. 데이터 패커 유닛(214)은 타이밍 디바이스(126)로부터 제공된 S&L_CLK로 동기화되는 비동기 선입선출(first in first out, 이하 'FIFO'라 칭하기로 함) 레지스터(216)로 캡쳐된 데이터를 제공할 수 있다. 비동기 로깅 인터페이스 유닛(208)은 서로 다른 시간들에서 유효할 수 있는 비동기 데이터를 위한 레프트 뱅크/라이트 뱅크 구조를 제공하는 쌍으로 예를 들어 설명될 수 있다. S&L_IF0_CLK(218)과 S&L_IF1_CLK(220)는 타이밍 디바이스(126)로부터 제공된 S&L_CLK(205)와 동기화된 데이터의 준비로 데이터의 캡쳐에 사용될 수 있다. S&L_IF0_CLK(218)과 S&L_IF1_CLK(220)은 비동기 데이터(210)의 소스들의 비동기 도메인 내 영향을 줄 수 있다.
데이터 패커 유닛(214)은 S&L_IF0_CLK(218)와 the S&L_IF1_CLK(220) 사이의 타이밍과, 타이밍 디바이스(216)로부터 제공된 S&L_CLK에 동기화될 수 있는 비동기 FIFO 레지스터(216)에 연결될 수 있다. 데이터 패커 유닛(214)은 비동기 FIFO 레지스터(216)로 전송을 위해 32비트 어레이 내 비-32비트(non-32 bit) 팩(pack)을 할 수 있다.
그것은 임의의 개수의 비동기 캡쳐 유닛(204)과 비동기 로깅 인터페이스 유닛(208)이 범용 스트리밍 및 로깅 인터페이스(114) 내 포함될 수 있다. 반면에 범용 스트리밍 및 로깅 인터페이스(114)는 비동기 로깅 인터페이스 유닛(208)을 두 개를 포함하는 것을 도시하고 있고, 이것은 단지 예시적인 것으로 도 1의 전자 시스템(100)에서 필요들을 충족시키기 위해 초기화될 수 있는 비동기 로깅 인터페이스 유닛(205)의 개수는 다를 수 있다.
채널 선택 멀티플렉서(222)는 특정 로깅 전략을 구현하기 위해 범용 스트리밍 및 로깅 인터페이스(114)로 제공될 수 있다. 채널 선택 멀티플렉서(222)는 선택된 채널 0-N에 연관된 비트 구조를 패스하기 위하여 소스 선택 버스(224)에 의해 지정될 수 있다. 일실시예에서, 채널 선택 멀티플렉서(222)는 소스 선택 버스(224)에 의해 선택된 것과 같은 32비트 버스 구조를 패스할 수 있다.
채널 선택 멀티플렉서(222)는 추적 데이터 버스(226)를 메인 버퍼(228)로 줄 수 있다. 추적 데이터 버스(226)의 폭과 메인 버퍼(228)의 폭은 스트리밍 및 로깅 인터페이스(114)가 초기화될 때, 결정될 수 있다. 메인 버퍼(228)는 정적 랜덤 액세스 메모리(SRAM) 또는 레지스터 어레이와 같은 고속 메모리 장치일 수 있다. 채널 선택 멀티플렉서(222)의 양 측면 상의 데이터는 타이밍 장치(126)로부터 제거된 S&L_CLK의 도메인 내에 있다.
메인 버퍼(228)는 스트리밍 및 로깅 제어 유닛(202)으로 워드 카운트 경보(230)를 제공할 수 있다. 워드 카운트 경보(230)가 수신되는 동안, 스트리밍 및 로깅 제어 유닛(202)은 도 1의 DMA 제어기(124)로 메인 버퍼(228) 내 포함된 데이터를 전송하기 위해 DMA 요청(DMA request)(232)을 제공할 수 있다. DMA 읽기 라인(234)은 DMA 요청(232)에 응답하여 메인 버퍼(228)로부터 출력되는 DMA 데이터(236)를 게이트할 수 있다. 시스템 시간 버스(238)는 집적 회로(102)로부터 캡쳐된 데이터의 이벤트 로깅 및 스트리밍을 관리하기 위해 스트리밍 및 로깅 제어 유닛(202)에 의해 사용될 수 있다. 스트리밍 및 로깅 제어 유닛(202)은 로깅 기능들을 시작하고 종료하는 S&L_ON 활성화(240)의 조정을 위한 시스템 시간 버스(238)에 사용될 수 있다.
스트리밍 및 로깅 인터페이스(114)는 내부 데이터 경로(116)로부터 동기 및 비동기 데이터 모두와 선택적인 DMA 데이터를 캡쳐 및 로그할 수 있고, 메인 버퍼(228) 내 추적 데이터 버스(226)에 저장을 하는 반면에, 메인 버퍼 내 추적 데이터 버스를 계속해서 저장할 수 있다. 이러한 기능은 내부 데이터 경로(116)를 로깅하는 동안 실패할 때까지 실행되거나 내부 데이터 경로(116)의 실패에서 수집된 데이터를 시작하기 위한 진단 프로세스들을 허용할 수 있다. 추적 데이터 버스(226)의 대체 동작은 내부 데이터 경로(116)의 실패 이전 및 이후 메인 버퍼(228)에 저장될 수 있다. 데이터는 실패 이벤트를 야기한 것이 무엇인지의 결정을 위해 분석될 수 있다.
스트리밍 및 로깅 인터페이스(114)의 다른 실시예를 예를 들면, 데이터 패커(214)는 채널 선택 멀티플렉서(222)와 메인 버퍼(228) 사이에 위치할 수 있다. 이러한 실시예는 스트리밍 및 로깅 인터페이스의 하드웨어가 차지하는 공간을 감소시킬 수 있으나, 캡쳐 타이밍을 변화하도록 만들 수 있다.
도 3은 본 발명에 따른 데이터 패커 유닛의 예시적인 블록도이다.
도 3을 참조하면, 데이터 패커 유닛(214)의 예시적인 블록도는 복수의 4비트 레지스터들(302)을 포함할 수 있고, 복수의 4비트 레지스터들(302)은 도 1의 내부 데이터 경로(116)로부터 추적 데이터인 데이터 버스(304)로부터 로드될 수 있다.
예를 들면, 여덟 개의 8개의 2:1(2 to 1) 멀티플렉서들(306)에 연결된 여덟 개의 4비트 레지스터들(302)이 있다. 2:1 멀티플렉서들(306)의 출력은 32비트 출력 버스(308)로 형성될 수 있다. R0-R7 레지스터 선택 라인들(310)은 32비트 출력 버스(308)의 구성을 변화할 수 있다.
데이터 패커 유닛(214)은 많은 다른 방법들로 구성될 수 있는 유연한 데이터 수집 메커니즘을 제공할 수 있는 것으로 발견된다. 본 발명의 실시예는 단지 예시적으로 도시된 것으로 복수의 4비트 레지스터들(302)이 높거나 낮은 대역폭 필요들을 지원하기 위한 다른 용량일 수 있다.
도 4는 본 발명에 따른 비동기 로깅 인터페이스 유닛의 예시적인 블록도이다.
도 4를 참조하면, 비동기 로깅 인터페이스(401)의 예시적인 블록도는 비동기 FIFO 레지스터(216)에 연결된 데이터 패커(214)를 도시한다. 리셋 제어 유닛(402)은 데이터 패커(214)와 비동기 FIFO 레지스터(216)에 연결된다. 리셋 제어 유닛(402)은 리셋 시퀀스의 초기화를 위해 S&L 인터페이스 리셋 로컬(403)을 수신할 수 있다. 데이터의 클리어링 아웃(clearing out)을 위해, 리셋 제어 유닛(402)은 쓰기 리셋(404)과 읽기 리셋(406)을 비동기 FIFO 레지스터(216)로 제공할 수 있고, 또한 S&L 인터페이스 리셋(408)이 도 1의 DMA 제어기(124)로 전송된다.
리셋 제어 유닛(402)은 데이터 패커(214)와 비동기 FIFO 레지스터(216)에 연결될 수도 있는 S&L 인터페이스 클록(410)을 수신한다. 리셋 제어 유닛(402)은 삽입의 타이밍 제어를 위해 S&L 인터페이스 클록(410)을 사용할 수 있고, 쓰기 리셋(404)과 읽기 리셋(406)을 해제할 수 있다. 워드 카운트 경보(230)는 비동기 FIFO 레지스터(216)로부터 출력되는 데이터의 전송을 위한 DMA 요청을 획득하기 위해 비동기 FIFO 레지스터(216)에 의해 제공될 수 있다.
플러시 신호(412)는 4비트 레지스터들(302)로부터 데이터의 플러싱을 위해 데이터 패커(214)에 연결될 수 있다. 플러시 신호(412)는 도 2의 스트리밍 및 로깅 제어 유닛(202)으로부터 소스일 수 있다. 워드 카운트 신호(414)는 최대 워드 카운트가 전송되어지고 동작이 종료되는 것을 지시하기 위해 스트리밍 및 로깅 제어 유닛(202)에 의해 제공될 수 있다.
도 5는 본 발명에 따른 리셋 제어 회로의 예시적인 블록도이다.
도 5를 참조하면, 리셋 제어 회로(402)의 예시적인 도면은 제 1 지연 플립플롭(FF: Flip Flop)(502)과 읽기 리셋 래치(504)에 연결된 리셋 시퀀스를 초기화하기 위해 S&L 인터페이스 리셋 로컬(403)을 도시한다. S&L 인터페이스 리셋 로컬(403)의 초기 설정은, 읽기 리셋(406)이 실행되지만, 쓰기 리셋(404)은 지연된다.
S&L 인터페이스 클록(410)은 제 1 지연 플립플롭(502)을 통해 S&L 인터페이스 리셋 로컬(403)은 패스될 수 있다. S&L 인터페이스 클록(410)의 두 개의 추가 사이클들 이후, 쓰기 리셋(404)은 삽입될 수 있다. 쓰기 리셋(404)은 S&L 인터페이스 클록(410)의 세 개의 사이클들 이후에 실행되도록 남은 이후, 쓰기 리셋(404)이 실행될 수 있다. 쓰기 리셋(404)은 S&L 인터페이스 리셋 로컬(403)이 무효화된 후, S&L 인터페이스 클록(410)의 세 개의 싸이클들을 위해 실행되도록 남을 수 있다.
쓰기 리셋(404)이 리셋 지연 플립플롭(506)으로 인가될 때, 읽기 리셋(406)의 반전은 지연될 수 있다. 리셋 지연 플립플롭(506)은 도 1의 집적 회로(102)의 진단 인터페이스에 의해 제어될 수 있는 S&L_CLK(205)에 의해 클록될 수 있다. S&L_CLK(205)의 두 싸이클 이후, 읽기 리셋(406)은 반전될 수 있다. 그것은 쓰기 리셋(404)과 읽기 리셋(406)의 지연과 타이밍은 단지 예시적인 것으로, 다른 구조들로 구현될 수 있는 것으로 이해될 수 있다. S&L 인터페이스 클록과 S&L_CLK(205)의 관계는 중요하고, 포지티브 에지 전환은 리셋 지연 플립플롭(506) 내 경합 조건을 방지하기 위해 정렬되어야만 한다.
도 6은 본 발명에 따른 범용 스트리밍 및 로깅 인터페이스 제어 기능의 예시적인 블록도이다.
도 6을 참조하면, 범용 스트리밍 및 로깅 인터페이스 제어 함수(601)의 예시적인 블록도는 DMA 인터페이스(124)에 연결된 스트리밍 및 로깅 타이밍 제어(604)를 포함하는 범용 스트리밍 및 로깅 인터페이스 제어(602)를 도시한다. DMA 인터페이스(124)는 DMA 요청, 시작 주소, 길이, 및 DMA 승인을 포함한 데이터 전송 제어 버스(606)를 가질 수 있다.
메인 버퍼(228)는 전송 요구를 충족하는 메인 버퍼(228)와, DMA 데이터(236)와 같이 전송되는 것이 준비되는 데이터를 지시하는 현재 워드 카운트 경보(230)를 위해 범용 스트리밍 및 로깅 인터페이스 제어(602)와 DMA 인터페이스(124)에 연결될 수 있다.
스트리밍 및 로깅 타이밍 제어(604)는 S&L_ON 인에이블(240)이 인가되는 동안 DMA 데이터(230)의 전송을 인에이블 한다. 데이터 펜딩 상태(608)는 DMA 데이터(230)의 추가 전송이 펜딩된 것을 지시할 수 있다. 데이터 펜딩 상태가 반전될 때, 모든 데이터가 전송된 것을 나타내면, 스트리밍 및 로깅 타이밍 제어(604)는 S&L_ON 인에이블(240)을 반전할 수 있다.
S&L_ON 인에이블(240)이 반전되면, 도 3의 4비트 레지스터들(302) 내에 남아있는 데이터를 클리어할 수 있는 도 2의 데이터 패커 유닛(214) 각각을 지시하는 스트리밍 및 로깅 타이밍 제어(604)는 플러시 신호(412)를 인가할 수 있다. 시스템 시간 버스(238)는 DMA 데이터(230)를 전송할 수 있는 스트리밍 및 로깅 타이밍 제어(604)의 타임 스탬프를 제공한다.
도 7은 본 발명에 따른 도 2의 범용 스트리밍 및 로깅 인터페이스의 데이터 패킷타이저 회로를 예시적으로 도시한 도면이다.
도 7을 참조하면, 데이터 패킷 타이저 회로(701)의 예시적인 도면은 로그 데이터, 동기 패턴, 시스템 시간 버스, 상태 레지스터들, 및 패킷 넘버 또는 동기 패턴의 종료의 시퀀싱을 위한 패킷 생성 멀티플렉서(702)를 도시한다.
로깅 에러 이벤트에서, 전체 데이터의 손실보다, 에러 조건 상태는 로깅 데이터의 불완전한 전송의 식별을 위해 로깅 데이터의 프레임이 첨부될 수 있다. 패킷 상태는 실패 타이밍을 식별하기 위한 타임스탬프를 포함할 수 있다. 전송된 데이터의 분석에서, 펌웨어는 도 1의 범용 스트리밍 및 로깅 인터페이스(114)에서 실패를 야기하는 무엇과 유효한 것으로 여겨질 수 있는 타임 프레임을 식별할 수 있다.
패킷은 내부 동작 조건들과 버스 성능을 수용하기 위해 크기를 조절할 수 있다. 범용 스트리밍 및 로깅 인터페이스(114)는 로그 데이터가 우선일 수 있다. 각 패킷의 종단에서, 범용 스트리밍 및 로깅 인터페이스는 동기화 패턴, 타임 스태프, 및 버스 응답을 쓸 것이다.
패킷타이저 영역 로직(704)은 패킷 생성 멀티플렉서(702)를 통해 패킷의 엘리먼트의 시퀀스를 위해 0과 3 사이의 선택 라인들(706)을 증가시킬 수 있다. 패킷 생성 멀티플렉서(702)는 전송의 병렬 또는 직렬 모드로 동작할 수 있는 것으로 이해될 수 있다. 버스 폭은 병렬 프로세서로 동작하면, 도 2의 메인 버퍼(228)의 폭 이상일 수 있는 것으로 더 이해될 수 있다.
패킷 생성 멀티플렉서(702)의 동작 동안, 로그 데이터(708)는 우선 전송된다. 패킷 데이터 카운터(710)는 전송된 로그 데이터(708)의 워드들의 수를 모니터할 수 있다. 패킷 데이터 카운터(710)가 예상된 카운트에 도달할 때, 패킷 사이즈 비교기(726)에 의해 결정된 것처럼, 패킷타이저 섹션 로직(704)은 동기화된 패턴(712)의 전송을 위해 증가될 수 있다. 동기 패턴(712)은 펌웨어 분석에 의해 식별될 수 있는 임의의 유일한 패턴일 수 있다.
패킷타이저 섹션 로직(704)은 시스템 타임 스탬프(714)로 전송을 위해 증가될 수 있다. 시스템 타임 스탬프(714)는 데이터 패킷들의 다중 분석을 위해 순차적인 타임 마커를 제공할 수 있다. 패킷 타이저 선택 로직(704)은 트랜스퍼 상태 레지스터들(716)을 증가시킬 수 있다.
상태 레지스터들(716)은 하기의 표 1에 참조된 패킷들의 전송에 영향을 줄 수 있는 식별 에러들일 수 있다.
Name Width Description
Buffer Overflow 1 패킷의 양호함을 지시, 버퍼 오버플로우는 손실 샘플들에 의한 데미지를 갖는 패킷을 지시함.
Bus Error 2 패킷의 양호함을 지시. 버스 에러는 쓰기에 적절하지 않은 패킷만을 지시함. 이 필드는 실제 버스 응답을 기록함.
Pending Req # 3 범용 스트리밍 및 로깅 인터페이스의 내부 상태를 로그함. 펜딩 요청(pending req#)의 넘버가 높은 것은 버스가 예상치 이하의 성능임을 나타냄.
Main Buffer # 10 메인 버퍼의 내부 상태를 로그함. 메인 버퍼에서 워드 카운트의 수가 높은 것은 버스가 예상치 이하의 성능임을 나타냄.
Async FIFO # 3 비동기 FIFO의 내부 상태를 로그함.
패킷타이저 섹션 로직(704)은 구성 레지스터(미도시) 내 레지스터 패킷 번호 비트(722)의 상태에 의존하는 패킷 넘버(720) 또는 동기화 패턴(712) 중 어느 하나일 수 있는 패킷의 종단(718) 전송을 위해 증가할 수 있다. 결합 로그된 데이터 패킷(724)은 도 1의 집적 회로(102)의 내부 실패들의 분석을 위해, 실시간으로 내부 데이터 경로(116)의 상태를 상세히 제공할 수 있다.
데이터 패킷타이저 회로(701)의 실시에는 집적 회로(102)의 내부 데이터 경로(116)의 상세한 상태의 로깅의 스케일러블 성능을 제공할 수 있는 것을 발견할 수 있다. 시퀀스 넘버들과 패킷 상태를 포함한 타임 스탬프된 패킷의 전달은 집적 회로(102)에서 실패들의 진단을 돕기 위해 완전히 보여지도록 제공될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 범용 스트리밍 및 로깅 인터페이스의 예시적인 블록도이다.
도 8을 참조하면, 범용 스트리밍 및 로깅 인터페이스(114)의 예시적인 블록도는 스트리밍 및 로깅 제어 유닛(202)과 메인 버퍼(228)에 연결된 진보된 확장 인터페이스(Advanced eXtensible Interface, 이하 'AXI'라 칭하기로 함)(802)를 도시한다. AXI 인터페이스(802)는 분리된 주소/제어 및 데이터 위상들을 제공할 수 있고, 바이트 스트로브들을 사용하여 연합되지 않은 데이터 전송들, 시작 어드레스 만을 갖는 트랜잭션들에 근거한 버스트, 다중 대기 전송들, 및 레지스터 단계들의 추가에 의한 타이밍 조정을 지원할 수 있다.
AXI 인터페이스(802)의 유연하교 효율적인 이점을 수행하는 범용 스트리밍 및 로깅 인터페이스(114)를 발견할 수 있다. 집적 회로(102)하의 분석의 실패의 이벤트에서 가변 길이 패킷화된 로깅 데이터의 제공을 위한 범용 스트리밍 및 로깅 인터페이스(114)의 기능은 집적 회로(102)의 동작 동안 집적 회로가 어떻게 그리고 왜 실패하였는지를 결정하기 위한 중요한 관점일 수 있다. 이러한 기능은 기술적 이슈들로 빠르게 해결될 수 있고, 집적 회로(102)의 수명의 끝에서의 용량의 수송에 근거하여 수백만 달러로 전환될 수 있는 빠른 해결을 이끈다.
도 9는 본 발명의 실시예에 따른 전자 시스템으로의 적용 예들을 예시적으로 도시한 도면이다.
도 9를 참조하면, 스마트폰, 자동차의 대쉬 보드 모니터, 및 노트북 컴퓨터 등과 같은 전자 시스템(100)의 사용을 예시적으로 도시한다.
이러한 응용 예들은 부가적인 지시를 필요로 하는 불필요한 상호작용들의 감소에 의해 손실이 큰 지연들을 최소화, 집적 회로(102)에 포함된 것의 해체, 및 집적 회로의 실시간 동작 동안 내부 회로들의 분석을 허용하는 반면, 실패 분석 특징들의 개선을 제공을 위한 다양한 본 발명의 중요성을 도시한다.
스마트폰, 대쉬 보드 모니터, 및 노트북 컴퓨터와 같은 전자 시스템(100)은 다양한 본 발명의 실시예를 포함하는 프린트된 회로 보드 또는 다양한 본 발명의 실시예를 포함하는 전자 어셈블리와 같은 하나 이상의 서브 시스템(미도시)을 포함할 수 있다.
도 10은 본 발명의 또 다른 실시예에 따른 전자 시스템의 동작 방법의 순서도이다.
도 10을 참조하면, 방법(1000)은 집적 회로 모니터링을 포함한다. 집적 회로 모니터링은 기능 출력의 구동을 위해 구성된 내부 데이터 경로를 활성화하고, 범용 스트리밍 및 로깅 인터페이스를 통해 추적 데이터 버스의 스토리지를 관리하기 위한 범용 스트리밍 및 로깅 인터페이스, 내부 데이터 경로 상태, 및 DMA 제어기 액세스에 의해 캡쳐한 것을 포함한 추적 데이터 버스를 생성한다(1002단계).
이후, 추적 데이터버스의 수신을 위해 지원 회로를 구성한다(1004단계).
다음으로, 집적 회로의 실패모드 식별을 위한 추적 데이터 버스를 분석한다(1006단계).
방법, 프로세스, 장치, 디바이스, 제품, 및/또는 시스템은 간단하고, 비용 효율이 높고, 효용 가치가 높고, 정확하고, 민감하고, 효율적이며, 준비, 효율, 및 경제적인 제조, 응용, 및 이용을 위해 알려진 구성성분들의 채택에 의해 구현될 수 있다. 본 발명의 다른 중요한 관점은 비용 감소, 시스템 간소화, 및 성능 증가의 역사적 트랜드의 중요한 지원과 서비스이다.
이것과, 본 발명의 실시예에 따른 다른 가치의 결과로서 기술 상태를 적어도 다음 수준으로 이끌 수 있다.
한편, 본 발명은 구체적인 최적 실시예에 따른 결합이 기술되고 있으나, 많은 대안들, 수정들, 변화들이 상술한 것에 비추어 당업자에 의해 수행될 수 있는 것으로 이해될 것이다. 따라서, 본 발명의 특허청구범위에 포함된 범위 내에서 모든 대안들, 수정들, 및 변화들이 수용될 수 있다. 여기에 기술된 모든 구성요소와 수반하는 도면들에서 도시된 것들은 보여지거나 한정되지 않는 것으로 해석될 수 있다.
100: 전자 시스템 102: 집적 회로
104: 제 1 지원 회로 106: 제 2 지원 회로
107: 지원 프로세서 칩 108: ADC
110: 수신기 필터 유닛 112: 입력 다중화 유닛
114: 범용 스트리밍 및 로깅 인터페이스
116: 내부 데이터 경로 118: 송신기 유닛
122: DAC 124: 직접 메모리 액세스(DMA) 제어기
126: 타이밍 디바이스 202: 스트리밍 및 로깅 인터페이스
204: 동기 캡쳐 유닛 208: 비동기 로깅 인터페이스 유닛
214: 데이터 패커 유닛 216: 비동기 FIFO
222: 채널 선택 멀티플렉서 228: 메인 버퍼
302: 4비트 레지스터들 306: 2:1 멀티플렉서들
402: 리셋 제어 유닛 502: 제 1 지연 플립플롭
504: 읽기 리셋 래치 506: 리셋 지연 플립 플롭
604: 스트리밍 및 로깅 타이밍 제어
802: AXI 인터페이스

Claims (10)

  1. 집적 회로;
    상기 집적 회로에 연결되고, 추적 데이터 버스를 수신하는 지원 회로; 및
    상기 지원 회로에 연결되고, 상기 집적 회로의 실패 모드의 식별을 위한 추적 데이터를 분석하는 지원 프로세서 칩을 포함하고,
    상기 집적 회로는
    기능적인 출력을 구동하기 위한 내부 데이터 경로,
    상기 추적 데이터 버스의 생성을 위해 상기 내부 데이터 경로에 연결되는 범용 스트리밍 및 로깅 인터페이스, 및
    상기 추적 데이터 버스의 스토리지를 관리하기 위해 상기 범용 스트리밍 및 로깅 인터페이스에 연결되는 직접 액세스 메모리(DMA: Direct Access Memory) 제어기를 포함하는 전자 시스템.
  2. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 상기 내부 데이터 경로로부터 로드된 복수의 레지스터들을 포함하는 동기 캡쳐 유닛을 포함하는 전자 시스템.
  3. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 상기 내부 데이터 경로로부터 로드된 복수의 레지스터들을 포함하는 비동기 로깅 인터페이스 유닛을 포함하는 전자 시스템.
  4. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 로그된 데이터 패킷 내 상기 추적 데이터의 컨텐츠 제공을 위한 상기 추적 데이터 버스의 컨텐츠들을 함께 로드하는 메인 버퍼에 연결되는 데이터 패킷타이저 회로를 포함하는 전자 시스템.
  5. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 로그된 데이터 패킷 내 상태 레지스터 컨텐츠의 제공을 위한 메인 버퍼에 연결되는 데이터 패킷타이저 회로를 포함하는 전자 시스템.
  6. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 로그된 데이터 패킷 내 시스템 타임 스탬프를 제공하기 위한 메인 버퍼에 연결되는 데이터 패킷타이저 회로를 포함하는 전자 시스템.
  7. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 상기 직접 액세스 메모리(DMA) 제어기 또는 진보된 확장 인터페이스(AXI: Advanced eXtensible Interface)를 위한 직접 액세스 메모리(DMA) 데이터를 제공하기 위한 상기 추적 데이터 버스에 연결되는 메인 버퍼를 포함하는 전자 시스템.
  8. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 패킷 생성 멀티플렉서를 통해 생성하는 데이터 패킷타이저 회로와 상기 범용 스트리밍 및 로깅 인터페이스는 패킷 크기 비교기에 의해 로그된 데이터 패킷의 크기를 조정하기 위한 데이터 패킷타이저 회로 중 하나를 포함하는 전자 시스템.
  9. 제 1 항에 있어서,
    상기 범용 스트리밍 및 로깅 인터페이스는 상기 내부 데이터 경로로부터 비동기 데이터의 캡쳐를 위한 비동기 선입선출(FIFO: First-In-First-Out) 레지스터에 연결되는 데이터 패커를 포함하는 비동기 로깅 인터페이스 유닛을 포함하는 전자 시스템.
  10. 전자 시스템의 동작 방법에 있어서,
    집적 회로를 모니터링하는 단계;
    추적 데이터 버스를 수신하기 위한 지원 회로를 구성하는 단계; 및
    상기 집적 회로의 실패 모드를 식별하기 위한 상기 추적 데이터 버스를 분석하는 단계를 포함하고,
    상기 모니터링하는 단계는,
    기능적인 출력의 구동을 위해 구성된 내부 데이터 경로를 활성화하는 단계,
    범용 스트리밍 및 로깅 인터페이스에 의해 상기 내부 데이터 경로의 상태의 캡쳐링을 포함하는 상기 추적 데이터 버스를 활성화하는 단계, 및
    상기 범용 스트리밍 및 로깅 인터페이스를 통해 상기 추적 데이터 버스의 스토리지를 관리하기 위해 직접 메모리 액세스(DMA: Direct Memory Access) 제어기에 접속하는 단계를 포함하는 동작 방법.
KR1020140118592A 2013-09-09 2014-09-05 진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법 KR102184695B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361875228P 2013-09-09 2013-09-09
US61/875,228 2013-09-09

Publications (2)

Publication Number Publication Date
KR20150029579A true KR20150029579A (ko) 2015-03-18
KR102184695B1 KR102184695B1 (ko) 2020-11-30

Family

ID=52626685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140118592A KR102184695B1 (ko) 2013-09-09 2014-09-05 진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9977754B2 (ko)
KR (1) KR102184695B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10762030B2 (en) * 2016-05-25 2020-09-01 Samsung Electronics Co., Ltd. Storage system, method, and apparatus for fast IO on PCIE devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001020456A1 (fr) * 1999-09-10 2001-03-22 Hitachi, Ltd. Systeme de gestion et procede pour systeme d'exploitation
US20020194401A1 (en) * 2001-06-18 2002-12-19 Mamoru Sakugawa DMA controller and semiconductor integrated circuit
US20050086454A1 (en) * 2002-03-08 2005-04-21 Seiko Epson Corporation System and methods for providing a debug function built-in type microcomputer

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271466A (en) * 1975-02-20 1981-06-02 Panafacom Limited Direct memory access control system with byte/word control of data bus
US5983340A (en) 1995-12-07 1999-11-09 Conexant Systems, Inc. Microprocessor system with flexible instruction controlled by prior instruction
EP0978788A1 (en) * 1998-08-04 2000-02-09 Texas Instruments France Improvements in or relating to direct memory access data transfers
US6874022B1 (en) 1999-03-12 2005-03-29 Cisco Technology, Inc. Method and system for modeling behavior of elements in a telecommunications system
US7127506B1 (en) 1999-05-28 2006-10-24 Teradyne, Inc. PC configuration fault analysis
US6539488B1 (en) * 1999-11-30 2003-03-25 Agere Systems Inc. System with a plurality of media access control circuits with a shared memory for storing data and synchronizing data from a clock domain to a host clock domain
US6931355B2 (en) 2002-02-26 2005-08-16 Xerox Corporation Method and apparatus for providing data logging in a modular device
JP3902509B2 (ja) 2002-05-28 2007-04-11 日本電気株式会社 移動通信システム、及びそれに用いる無線基地局とその無線通信モデムの障害復旧方法
US7080283B1 (en) * 2002-10-15 2006-07-18 Tensilica, Inc. Simultaneous real-time trace and debug for multiple processing core systems on a chip
US7069176B2 (en) * 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
US7603589B2 (en) * 2005-05-16 2009-10-13 Texas Instruments Incorporated Method and system for debugging a software program
US20060267820A1 (en) * 2005-05-16 2006-11-30 Swoboda Gary L Tracing sources with export routing information provided by the source
US7647539B2 (en) 2007-07-18 2010-01-12 International Business Machines Corporation System and method of testing using test pattern re-execution in varying timing scenarios for processor design verification and validation
US8572433B2 (en) * 2010-03-10 2013-10-29 Texas Instruments Incorporated JTAG IC with commandable circuit controlling data register control router
US8407528B2 (en) * 2009-06-30 2013-03-26 Texas Instruments Incorporated Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems
ES2732249T3 (es) 2009-09-25 2019-11-21 Geotab Inc Sistema, método y programa informático para simular el uso de energía de vehículo
US8473920B2 (en) * 2010-03-02 2013-06-25 Texas Instruments Incorporated Application initiated tracing of its operation beginning with reset
US9158661B2 (en) * 2012-02-15 2015-10-13 Apple Inc. Enhanced debugging for embedded devices
EP2639702B1 (en) * 2012-03-16 2016-02-03 Intel Deutschland GmbH Circuit and method for software tracing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001020456A1 (fr) * 1999-09-10 2001-03-22 Hitachi, Ltd. Systeme de gestion et procede pour systeme d'exploitation
US20020194401A1 (en) * 2001-06-18 2002-12-19 Mamoru Sakugawa DMA controller and semiconductor integrated circuit
US20050086454A1 (en) * 2002-03-08 2005-04-21 Seiko Epson Corporation System and methods for providing a debug function built-in type microcomputer

Also Published As

Publication number Publication date
KR102184695B1 (ko) 2020-11-30
US20150074317A1 (en) 2015-03-12
US9977754B2 (en) 2018-05-22

Similar Documents

Publication Publication Date Title
EP3238079B1 (en) Packed write completions
US20170222685A1 (en) Programmable distributed data processing in a serial link
US9684583B2 (en) Trace data export to remote memory using memory mapped write transactions
US9639447B2 (en) Trace data export to remote memory using remotely generated reads
US8074131B2 (en) Generic debug external connection (GDXC) for high integration integrated circuits
CN114185829B (zh) 用于多种通信业务的共享的资源
EP2856692A1 (en) Data interface synchronization
US7278073B2 (en) Diagnostic data capture within an integrated circuit
US20170228169A1 (en) Semiconductor device and operating method thereof
US6516420B1 (en) Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain
CN116089343A (zh) 一种基于axi的数据存储方法、装置、存储介质及设备
US10536260B2 (en) Baseband integrated circuit for performing digital communication with radio frequency integrated circuit and device including the same
KR102184695B1 (ko) 진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법
US11178055B2 (en) Methods and apparatus for providing deterministic latency for communications interfaces
US8745455B2 (en) Providing an on-die logic analyzer (ODLA) having reduced communications
US7953999B2 (en) Semiconductor integrated circuit device and method of operating the same
US10511397B2 (en) Virtual general purpose input/output (GPIO) (VGI) over a time division multiplex (TDM) bus
CN115687012A (zh) 一种总线监测模块、监测方法和相关设备
US8555104B2 (en) Frequency adapter utilized in high-speed internal buses
US9442788B2 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
US20210223815A1 (en) First-In First-Out Buffer with Lookahead Performance Booster
US20220291733A1 (en) Methods and apparatus to reduce display connection latency
US9495320B2 (en) Removing upstream dead cycles in a data communications bus
WO2014004758A1 (en) Data interface alignment

Legal Events

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