KR20240073780A - 반도체 장치 및 지연 제어 방법 - Google Patents

반도체 장치 및 지연 제어 방법 Download PDF

Info

Publication number
KR20240073780A
KR20240073780A KR1020230158141A KR20230158141A KR20240073780A KR 20240073780 A KR20240073780 A KR 20240073780A KR 1020230158141 A KR1020230158141 A KR 1020230158141A KR 20230158141 A KR20230158141 A KR 20230158141A KR 20240073780 A KR20240073780 A KR 20240073780A
Authority
KR
South Korea
Prior art keywords
delay
semiconductor device
period
frame
data
Prior art date
Application number
KR1020230158141A
Other languages
English (en)
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 KR20240073780A publication Critical patent/KR20240073780A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector

Abstract

본 발명의 과제는 샘플링 클럭의 지연량의 정밀도를 향상시키는 것이 가능한 기술을 제공하는 데 있다.
반도체 장치는 유선 통신용의 통신 장치와, 상기 통신 장치가 수신하는 클럭 또한 송신하는 클럭의 지연량이 조정 가능한 지연 부가 회로와, 상기 지연 부가 회로의 지연량을 제어하는 제어 회로를 구비한다. 상기 통신 장치는, 통상 프레임의 수신 기간 또는 송신 기간과 검사 프레임의 수신 기간 또는 송신 기간을 시분할하도록 설정하고, 상기 검사 프레임의 수신 기간 또는 송신 기간에 있어서, 데이터와 클럭 사이의 셋업 및 홀드의 타이밍 마진을 확인하도록 구성된다. 상기 제어 회로는, 상기 타이밍 마진의 확인 결과에 기초하여 상기 통상 프레임에 있어서의 상기 지연량을 설정하도록 구성된다.

Description

반도체 장치 및 지연 제어 방법{SEMICONDUCTOR DEVICE AND DELAY CONTROL METHODS}
본 개시는 반도체 장치에 관한 것으로, 예를 들어 데이터를 클럭으로 샘플링하는 반도체 장치에 적용 가능하다.
반도체 프로세스의 미세화에 의해 PVT(Process-Voltage-Temperature) 변동의 감도가 높아지고 있다. 이 때문에, 타이밍 마진을 가능한 한 크게 하는 요망이 있다.
일본 특허 공개 제2014-45266호 공보(특허문헌 1)에는, 수신 신호와 샘플링 클럭 사이의 위상의 어긋남(시간)을 캐패시터에 충전한 전하량에 의해 계측하고, 계측한 위상의 어긋남량에 기초하여 샘플링 클럭의 지연량을 조정하는 것이 개시되어 있다.
일본 특허 공개 제2014-45266호 공보
특허문헌 1에 개시되는 기술에서는, 캐패시터에 축적한 전하량을 사용하여 아날로그적으로 위상을 추정하므로, 계측되는 위상 이동량은 충분한 정밀도를 얻는 것이 어렵다.
그 밖의 과제와 신규의 특징은, 본 명세서의 기술 및 첨부 도면으로부터 밝혀질 것이다.
본 개시 중 대표적인 것의 개요를 간단하게 설명하면 다음과 같다. 즉, 반도체 장치는 유선 통신용의 통신 장치와, 상기 통신 장치가 수신하는 클럭 또한 송신하는 클럭의 지연량이 조정 가능한 지연 부가 회로와, 상기 지연 부가 회로의 지연량을 제어하는 제어 회로를 구비한다. 상기 통신 장치는, 통상 프레임의 수신 기간 또는 송신 기간과 검사 프레임의 수신 기간 또는 송신 기간을 시분할하도록 설정하고, 상기 검사 프레임의 수신 기간 또는 송신 기간에 있어서, 데이터와 클럭 사이의 셋업 및 홀드의 타이밍 마진을 확인하도록 구성된다. 상기 제어 회로는, 상기 타이밍 마진의 확인 결과에 기초하여 상기 통상 프레임에 있어서의 상기 지연량을 설정하도록 구성된다.
상기 반도체 장치에 의하면, 샘플링 클럭의 지연량의 정밀도를 향상시키는 것이 가능하다.
도 1은 실시 형태에 있어서의 반도체 장치 및 그것을 사용한 시스템의 구성을 도시하는 블록도이다.
도 2는 도 1에 도시하는 제어 회로의 구성을 도시하는 블록도이다.
도 3은 타이머의 시각, 제어 신호 및 수신 인터페이스 기간의 설정예를 도시하는 도면이다.
도 4는 도 3에 도시하는 설정예에 있어서의 수신 인터페이스의 타이밍차트이다.
도 5는 도 4에 도시하는 제1 기간, 제2 기간 및 제3 기간의 각 기간에 행하는 수신 클럭 지연 회로의 탭 단수의 설정 방법을 설명하는 타이밍차트이다.
도 6은 제1 기간의 처리를 도시하는 흐름도이다.
도 7은 제2 기간의 처리를 도시하는 흐름도이다.
도 8은 제1 변형예에 있어서의 반도체 장치 및 그것을 사용한 시스템의 구성을 도시하는 블록도이다.
도 9는 도 8에 도시하는 송신 클럭 지연 회로의 제어 회로의 구성을 도시하는 블록도이다.
도 10은 도 8에 도시하는 제1 반도체 장치에 있어서의 타이머의 시각, 제어 신호, 수신 인터페이스 기간 및 송신 인터페이스 기간의 설정예를 도시하는 도면이다.
도 11은 도 8에 도시하는 제2 반도체 장치에 있어서의 타이머의 시각, 제어 신호, 수신 인터페이스 기간 및 송신 인터페이스 기간의 설정예를 도시하는 도면이다.
도 12는 도 10에 도시하는 설정예에 있어서의 제1 반도체 장치의 수신 인터페이스 및 송신 인터페이스의 타이밍차트이다.
도 13은 제1 기간의 처리를 도시하는 흐름도이다.
도 14는 제1 전송 기간의 처리를 도시하는 흐름도이다.
도 15는 제2 기간의 처리를 도시하는 흐름도이다.
도 16은 제2 전송 기간의 처리를 도시하는 흐름도이다.
도 17은 제2 변형예에 있어서의 반도체 장치 및 그것을 사용한 시스템의 구성을 도시하는 블록도이다.
이하, 실시 형태에 대해서, 도면을 사용하여 설명한다. 단, 설명의 명확화를 위해, 이하의 기재 및 도면은, 적절히, 생략 및 간략화가 이루어져 있다. 또한, 동일 구성 요소에는 동일 부호를 붙여 반복된 설명을 생략하는 경우가 있다.
도 1은 실시 형태에 있어서의 반도체 장치 및 그것을 사용한 시스템의 구성을 도시하는 블록도이다. 도 2는 도 1에 도시하는 제어 회로의 구성을 도시하는 블록도이다.
유선의 로컬 에어리어 네트워크(LAN) 시스템(10)은, 복수의 반도체 장치(100, 200)와, 복수의 반도체 장치(100, 200) 사이를 접속하는 네트워크 선로를 갖는 프린트 기판(Printed Circuit Board: PCB)(300)을 구비하고 있다. 도면이 복잡해지는 것을 피하기 위해, 동 도면에는 네트워크 시스템이 2개의 반도체 장치(100, 200)를 구비하고 있는 경우가 예시되어 있다. 물론, 네트워크 시스템(10)이 구비하는 반도체 장치의 수는, 이것에 한정되는 것은 아니다.
실시 형태에 있어서, 제1 반도체 장치(100)와 제2 반도체 장치(200)는 유사한 구성으로 되어 있다. 그 때문에, 여기서는, 반도체 장치(100)를 대표로하여, 반도체 장치(100, 200)의 전체적인 구성을 설명한다. 반도체 장치(200)의 구성 요소의 부호 「2xx」는 반도체 장치(100)의 구성 요소의 부호 「1xx」에 대응한다.
반도체 장치(100)는 통신 장치(CMM)(110)와, 클럭 공급 회로(CLK)(120)와, 수신 클럭 지연 회로(RXC_DLY)(130)와, 제어 회로(CNT)(140)를 구비하고 있다. 반도체 장치(100)는, 예를 들어 중앙 처리 장치(CPU), 플래시 메모리나 SRAM 등의 메모리, 직접 메모리 액세스(DMA) 컨트롤러 및 아날로그/디지털(A/D) 컨버터 등을 더 구비하는 MCU(Micro Controller Unit)여도 된다. 반도체 장치(200)에 있어서는, 통신 장치(210)가 통신 장치(110)와 동일한 규격에 준거하는 것이면, 수신 클럭 지연 회로(RXC_DLY)(130) 및 제어 회로(CNT)(140)를 제외하는 그 밖의 구성 요소(예를 들어, CPU, 메모리 등)는 반도체 장치(100)와 다른 것이어도 된다.
통신 장치(110)는, 예를 들어 TSN에 대응하는(TSN 규격에 준거하는) 통신 장치이고, TDMA 기능 및 CRC 기능을 구비한다. 여기서, TSN(Time-Sensitive Networking)은 표준의 유선 LAN 상에서 정시성을 가진 메시징을 가능하게 하기 위한 일련의 규격이고, 미국 전기 전자학회(IEEE)에서 정의되어 있다.
TDMA(Time Division Multiple Access)란, 통신에 사용하는 주파수를 일정 시간마다 분할하여 공유하는 다중화 방식이다. TDMA에서는, 전송에 사용하는 반송 주파수를 타임 슬롯이라고 불리는 단위로 분할하여, 동일 주파수에 있어서 복수의 통신을 가능하게 한다. 동일한 주파수를 공유하여, 매우 짧은 시간 동안에 데이터 송신을 행하기 때문에, 복수의 데이터를 동시에 송신하고 있는 것처럼 보여줄 수 있다.
CRC(Cyclic Redundancy Check)는 오류 검출 부호의 1종이다. CRC는, 송신측은 정해진 생성 다항식으로 나눈 나머지를 검사 데이터로서 부가하여 송신하고, 수신측에서 동일한 생성 다항식을 사용하여 데이터를 제산하고, 그 나머지를 비교 대조함으로써 수신 데이터의 오류 및 파손을 검출한다. IEEE802.3 규격에 규정되는 CRC는 체크용의 값이 32비트가 되는 CRC-32이다.
통신 장치(110)는 송신 장치(TX)(111)와, 수신 장치(RX)(112)와, 타이머(TMR)(113)와, 스케줄 장치(SCH)(114)를 구비하고 있다. 수신 장치(RX)(112)는 CRC 기능을 갖는 CRC 대조 회로(CRC)(112a)를 구비한다. 스케줄 장치(SCH)(114)는 TDMA 기능을 구비한다.
송신 장치(111)는 복수의 송신 데이터{TXD}를 병렬로 반도체 장치(200)의 통신 장치(210)의 수신 장치(212)에 송신한다. 여기서, 송신 데이터{TXD}에는, 송신용 제어 신호{TX_CTL} 및 4비트의 송신용 데이터{TXD[3:0]}가 포함된다. 단, 복수의 송신 데이터{TX_CTL, TXD[3:0]}의 각각은 1비트 폭이므로 시리얼로 송신된다. 송신 장치(111)는 송신 클럭{TXC}의 상승 또는 하강에 동기하여, 송신 데이터{TX_CTL, TXD[3:0]}의 각각을 저장하여 출력하는 복수의 레지스터를 구비한다.
수신 장치(112)는 복수의 수신 데이터{RXD}를 병렬로 반도체 장치(200)의 통신 장치(210)의 송신 장치(211)로부터 수신한다. 여기서, 수신 데이터{RXD}에는 수신용 제어 신호{RX_CTL} 및 4비트의 수신용 데이터{RXD[3:0]}가 포함된다. 단, 복수의 수신 데이터{RX_CTL, RXD[3:0]}의 각각은 1비트 폭이므로 시리얼로 수신된다. 수신 장치(112)는 지연 부가 회로(130)로 지연된 지연 수신 클럭{RXC_D}을 수신한다. 수신 장치(112)는 지연 수신 클럭{RXC_D}의 상승 또는 하강에 동기하여 수신 데이터{RX_CTL, RXD[3:0]}를 도입하는 복수의 레지스터를 구비한다.
타이머(113)는 반도체 장치(100, 200)의 사이에서 시각이 동일해지도록 제어하는 회로이다. 반도체 장치(100)의 통신 장치(110)의 타이머(113)의 시각과 반도체 장치(200)의 통신 장치(210)의 타이머(213)의 시각은 네트워크를 통하여 동기시켜진다. 반도체 장치(100, 200) 사이에서 동기한 시각 정보{TI}가, 타이머(113)로부터 스케줄 장치(114)에 공급되고, 반도체 장치(100, 200)의 각각에 있어서의 스케줄 장치(114) 사이에서 시각이 동일해지고 있다.
스케줄 장치(114)는 제어 회로(140)의 동작을 설정하는 2비트의 제어 신호{a[1:0]}를 생성한다. 스케줄 장치(114)는 통신 상대와 동기시킨 타이머(113)의 시각 정보{TI}에 기초하여, 임의의 시각에 제어 신호{a[1:0]}를 임의의 값으로 변화시키는 것이 가능하다.
클럭 공급 회로(CLK)(120)는, 반도체 장치(100) 내에 있어서 생성된 클럭 소스를 체배 또는 분주하여 송신 클럭{TXC}으로서 송신 장치(111) 및 반도체 장치(200)에 공급한다. 송신 클럭{TXC}은 클럭 소스를 체배도 분주도 하지 않는 것이어도 된다.
지연 부가 회로(130)는 반도체 장치(200)의 클럭 공급 회로(220)로부터의 송신 클럭{TXC}을 수신 클럭{RXC}으로서 수신한다. 그리고, 지연 부가 회로(130)는 제어 회로(140)에 의해 설정된 지연 탭(TAP) 단수 정보{CI}에 기초하여 수신 클럭{RXC}을 지연시켜 지연 수신 클럭{RXC_D}을 생성한다. 지연 부가 회로(130)는, 예를 들어 복수의 지연 소자가 순차 접속하여 구성되는 지연부와, 복수의 지연 소자 중 어느 하나의 출력을 선택하여 지연 수신 클럭{RXC_D}으로서 출력하는 셀렉터를 갖는다. 셀렉터가 어느 지연 소자의 출력을 선택하는지는, 지연 탭 단수 정보{CI}에 의해 제어된다. 지연 부가 회로(130)에 대해서는 다른 구성이어도 된다.
도 2에 도시하는 바와 같이, 제어 회로(140)는 제어 블록(RXS)(141)과, 제어 블록(RXH)(142)과, 제어 블록(RXN)(143)과, 셀렉터(144)와, 셀렉터(145)를 구비한다.
제어 블록(141)은 CRC 대조 회로(112a)에 있어서의 대조 결과(CRC 에러의 유무)를 나타내는 CRC 에러 신호{CRE}에 기초하여 수신 클럭{RXC}에 대한 수신 데이터{RXD}의 셋업 마진을 확인한다. 그리고, 제어 블록(141)은 지연 탭 단수 정보{CI}를 출력한다. 제어 블록(141)의 상세한 동작에 대해서는 후술한다.
제어 블록(142)은 CRC 에러 신호{CRE}에 기초하여 수신 클럭{RXC}에 대한 수신 데이터{RXD}의 홀드 마진을 확인하고, 지연 탭 단수 정보{CI}를 출력한다. 제어 블록(142)의 상세한 동작에 대해서는 후술한다.
제어 블록(143)은 제어 블록(141)에 의해 구해진 지연 탭 단수{Ns} 및 제어 블록(142)에 의해 구해진 지연 탭 단수{Nh}에 기초하여 통상 프레임의 지연 탭 단수 정보{CI}를 산출한다. 제어 블록(143)의 상세한 동작에 대해서는 후술한다.
셀렉터(144)는 제어 블록(141)과 제어 블록(142)의 출력을 전환한다. 셀렉터(145)는 제어 블록(141) 또는 제어 블록(142)과 제어 블록(143)의 출력을 전환한다. 예를 들어, 제어 신호{a[1:0]}가 「10b」인 경우, 제어 블록(141)의 출력이 선택된다. 제어 신호{a[1:0]}가 「11b」인 경우, 제어 블록(142)의 출력이 선택된다. 제어 신호{a[1:0]}가 「00b」 또는 「00b」인 경우, 제어 블록(143)의 출력이 선택된다. 여기서, 「b」는 그 이전에 기재되는 숫자가 2진수인 것을 나타내고 있다.
본 실시 형태에 있어서의 반도체 장치(100)는 스케줄 장치(114)의 TDMA 기능을 활용하고, 운용 중에 시분할로, 수신 데이터/수신 클럭 사이의 셋업(Setup)과 홀드(Hold)의 타이밍 마진을 실시간으로 측정을 행한다. 그리고, 반도체 장치(100)는, 그 측정 결과에 기초하여 타이밍 사양에 위반하지 않도록 수신 클럭의 지연 부가 회로(130)의 지연 탭 단수를 실시간으로 제어한다. 반도체 장치(100)는 CRC 대조 회로(112a)를 사용하여 에러 판정하고, 올바른 데이터를 취할 수 있는지 여부의 타이밍의 경계를 직접 측정한다.
수신 클럭{RXC}의 지연 제어 방법에 대해서 도 3 내지 도 5를 사용하여 설명한다. 도 3은 타이머의 시각, 제어 신호 및 수신 인터페이스 기간의 설정예를 도시하는 도면이다. 도 4는 도 3에 도시하는 설정예에 있어서의 수신 인터페이스의 타이밍차트이다. 도 5는 도 4에 도시하는 제1 기간, 제2 기간 및 제3 기간의 각 기간에 행하는 수신 클럭의 지연 부가 회로에 있어서의 지연 탭 단수의 설정 방법을 설명하는 타이밍차트이다.
수신 인터페이스 기간{RXIF_P}은, 수신 데이터{RXD}의 셋업 마진을 확인하는 제1 기간{P1}, 수신 데이터{RXD}의 홀드 마진을 확인하는 제2 기간{P2} 및 수신 데이터{RXD}의 통상 프레임을 수신하는 제3 기간{P3}으로 분할된다.
예를 들어, 도 3에 도시하는 바와 같이, 타이머(113)의 개시 시각{S_time}과 종료 시각{E_time} 사이의 기간에 있어서의 수신 인터페이스 기간{RXIF_P}은, 제어 신호{a[1:0]}에 의해 제1 기간{P1}, 제2 기간{P2} 또는 제3 기간{P3}으로 설정된다.
제어 신호{a[1:0]}가 「10b」인 경우, 제어 블록(141)이 선택되고, 제1 기간{P1}으로 설정된다. 제어 신호{a[1:0]}가 「11b」인 경우, 제어 블록(142)이 선택되고, 제2 기간{P2}으로 설정된다. 제어 신호{a[1:0]}가 「00b」인 경우, 제어 블록(143)이 선택되고, 제3 기간{P3}이 설정된다.
즉, 도 3에 도시하는 예에서는, 제1 기간{P1}의 개시 시각은 ta0[n]이고, 종료 시각은 ta1[n]이다. 제2 기간{P2}의 개시 시각은 ta2[n]이고, 종료 시각은 ta3[n]이다. 제3 기간{P3}은 2개의 기간이 있고, 첫번째의 개시 시각은 ta1[n]이고, 종료 시각은 ta2[n]이다. 두번째의 개시 시각은 ta3[n]이고, 종료 시각은 ta0[n+1]이다. 여기서, n은 0 이상의 정수로 하고, [n]은 n회째의 사이클을 나타낸다. 또한, 도 3에 도시하는 내용은, 예를 들어 스케줄 장치(114)에 마련되는 레지스터에 CPU에 의해 설정되도록 해도 된다.
도 3에 도시하는 바와 같은 설정에 의해, 수신 인터페이스{RXIF}는 도 4에 도시하는 바와 같은 프레임을 수신한다. 도 4에 있어서는, n=0 내지 1의 경우가 도시되어 있다. 또한, 반도체 장치(200)는 반도체 장치(100)가 수신하는 프레임을 송신하기 때문에, 도 3에 도시하는 설정 정보(제어 신호{a[1:0]}를 제외함)가 스케줄 장치(214)로 설정된다. 단, 수신 인터페이스 기간{RXIF_P}은 송신 인터페이스 기간{TXIF_P}이 된다.
(ta0[0]-ta1[0]): 제1 기간{P1}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신 데이터{RXD}의 셋업 마진을 확인하는 프레임(검사 프레임, 제1 프레임){FT0[0]}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT0[0]}을 수신한다.
(ta1[0]-ta2[0]): 제3 기간{P3}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신하는 데이터{RXD}의 통상 프레임{F0, F1}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 통상 프레임{F0, F1}을 수신한다.
(ta2[0]-ta3[0]): 제2 기간{P2}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신 데이터{RXD}의 홀드 마진을 확인하는 프레임(검사 프레임, 제2 프레임){FT1[0]}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT1[0]}을 수신한다.
(ta3[0]-ta0[1]): 제3 기간{P3}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신하는 데이터{RXD}의 통상 프레임{F2, F3}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 통상 프레임{F2, F3}을 수신한다.
(ta0[1]-ta1[1]): 제1 기간{P1}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신 데이터{RXD}의 셋업 마진을 확인하는 프레임{FT0[1]}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT0[1]}을 수신한다.
(ta1[1]-ta2[1]): 제3 기간{P3}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신하는 데이터{RXD}의 통상 프레임{F4, F5}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 통상 프레임{F4, F5}을 수신한다.
(ta2[1]-ta3[1]): 제2 기간{P2}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신 데이터{RXD}의 홀드 마진을 확인하는 프레임{FT1[1]}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT1[1]}을 수신한다.
(ta3[1]-ta0[2]): 제3 기간{P3}
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신하는 데이터{RXD}의 통상 프레임{F6, F7}을 송신한다. 수신 인터페이스{RXIF}는 통상 프레임{F6, F7}을 수신한다.
예를 들어, 지연 탭 단수의 총 수를 100단으로 지연 부가 회로(130)를 구성하는 경우를 생각한다. 하기의 [설정예]와 같은 시간에 스케줄링할 때, 제1 기간{P1} 및 제2 기간{P2}으로 점유되는 시간(테스트 기간)의 전체 시간에 대한 비율은 약 0.3%가 된다. 또한, 이 설정예에 있어서의 시간은, 지연 탭 단수의 1단을 검사하는 경우의 시간이다. 이와 같이, 약 0.3%의 비율로 제1 기간{P1}과 제2 기간{P2}의 시간을 확보하는 경우라도, 100단의 지연 탭 단수를 검사할 때는, 2006μS×100≒0.2s 걸린다. 이 시간에, 지연 부가 회로(130)의 클럭 지연 시간을 최소로부터 최대 또는 최대로부터 최소로 변화시키는 것이 가능하고, 일반적인 유스 케이스로서는 충분한 시간이다.
[설정예]
제1 기간{P1}의 시간=ta1[n]-ta0[n]=3μS
제2 기간{P2}의 시간=ta3[n]-ta2[n]=3μS
제3 기간{P3}의 시간=ta2[n]-ta1[n]
=ta0[n+1]-ta3[n]
=1ms=1000μS
테스트 기간의 비율은(P1의 시간+P2의 시간)/(P1의 시간+P2의 시간+(P3의 시간)×2)이고, 상기 설정예에서는 6μS/2006μS≒0.003=0.3%가 된다.
수신 데이터{RXD}의 수신 클럭{RXC}에 대한 셋업 시간 및 홀드 시간에 대하여 전송 속도가 1Gbps(125㎒)인 경우를 예로 도 5를 사용하여 설명한다.
수신 클럭{RXC}의 1사이클을 Tcyc, 하이인 기간을 Thgh, 듀티비를 Duty로 한다. 수신 클럭{RXC}의 규격예는 하기와 같다.
Tcyc=8.0ns(125㎒)±10%
Thgh=3.24ns(최소)
=4.0ns(표준)
=4.76ns(최대)
Duty=50%±5%
수신 클럭{RXC}의 상승에 앞서 수신 데이터{RXD}를 확정하고 유지하는 최소의 시간인 셋업 시간을 Tstp로 한다. 수신 클럭{RXC}의 상승 후 수신 데이터{RXD}를 유지하는 최소의 시간인 홀드 시간을 Thld로 한다. 수신 데이터{RXD}의 규격예는 하기와 같다.
Tstp=-0.9ns
Thld=2.7ns
수신 데이터{RXD}는 지연 수신 클럭{RXC_D}에 의해 레지스터에 도입된다. 규정의 셋업 시간과 홀드 시간의 중간 시간에 있어서 지연 수신 클럭{RXC_D}이 상승됨으로써 셋업 시간과 홀드 시간의 양쪽의 마진을 크게 할 수 있다. 그러나, 규정의 셋업 시간과 홀드 시간은 최솟값의 규정이고, 실제의 셋업 시간과 홀드 시간은 이들 시간보다도 크다. 따라서, 실제의 셋업 시간과 규정의 셋업 시간의 차와, 실제의 홀드 시간과 규정의 홀드 시간의 차는 다른 경우가 있다. 따라서, 규정의 셋업 시간과 홀드 시간의 중간 시간에 있어서 지연 수신 클럭{RXC_D}이 상승되면, 셋업 시간 및 홀드 시간 중 어느 하나의 마진은 작아지는 경우가 있다.
따라서, 수신 데이터{RXD}의 셋업 시간 및 홀드 시간의 마진을 확인하여, 수신 클럭{RXC}의 상승으로부터 지연 수신 클럭{RXC_D}이 상승될 때까지의 지연 시간{Td}을 결정한다. 지연 수신 클럭{RXC_D}의 지연 시간(지연 탭 단수)을 변경하여 올바르게 수신 데이터{RXD}를 도입할 수 있는 타이밍{T1, T2}을 확인한다.
예를 들어, 셋업 시간에 있어서의 타이밍{T1}에 있어서의 지연 수신 클럭{RXC_D}의 지연 시간을 Ta로 한다. 홀드 시간에 있어서의 타이밍{T1}에 있어서의 지연 수신 클럭{RXC_D}의 지연 시간의 수신 클럭{RXC}의 하강보다 이전의 시간을 Tb로 한다. 타이밍{T1}과 타이밍{T2} 사이의 시간을 Th로 한다. 이들 시간예를 하기한다.
Ta=0.9ns
Tb=0.9ns
Th=1.8ns(최소)
=2.2ns(표준)
=2.6ns(최대)
Td=1.62ns(최소)
=2.0ns(표준)
=2.38ns(최대)
제1 기간{P1}에 행하는 셋업 마진 확인에 의한 지연 탭 단수 설정 방법에 대해서 도 6을 사용하여 설명한다. 도 6은 제1 기간의 처리를 도시하는 흐름도이다.
반도체 장치(100)의 통신 장치(110)는 프레임{FT0[n]}의 수신이 완료되어, 이벤트 대기가 된다(스텝 S11).
프레임{FT0[n]}이 CRC 에러 없이 수신할 수 있는지 여부가 확인된다(스텝 S12). 즉, 수신 장치(112)는 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다. CRC 대조 회로(112a)는 레지스터에 도입된 데이터에 오류(CRC 에러)가 있는지를 검사하고, 그 결과를 나타내는 CRC 에러 신호{CRE}를 출력한다.
제어 블록(141)은 CRC 에러 신호{CRE}에 기초하여 지연 탭 단수(Nt)를 변경한다. 제어 블록(141)은 CRC 에러가 발생하는 경우(예를 들어, CRE=1의 경우), 지연 탭 단수(Nt)를 1단 증가시켜서(Nt←Nt+1), 클럭 라인의 지연을 증가시킨다(스텝 S13).
제어 블록(141)은 CRC 에러가 발생하지 않는 경우(예를 들어, CRE=0의 경우), 지연 탭 단수를 1단 감소시켜서(Nt←Nt-1), 클럭 라인의 지연을 감소시킨다(스텝 S14).
이에 의해, 제어 블록(141)은 CRC 에러가 발생하는 지연 탭 단수보다도 1단 많은, CRC 에러가 발생하지 않는 지연 탭 단수를 결정한다. 이 지연 탭 단수를 Ns로 한다.
제2 기간{P2}에 행하는 홀드 마진 확인에 의해 지연 탭 단수 설정 방법에 대해서 도 7을 사용하여 설명한다. 도 7은 제2 기간의 처리를 도시하는 흐름도이다.
반도체 장치(100)의 통신 장치(110)는 프레임{FT1[n]}의 수신이 완료되어, 이벤트 대기가 된다(스텝 S21).
프레임{FT1[n]}이 CRC 에러 없이 수신할 수 있는지 여부가 확인된다(스텝 S22). 즉, 수신 장치(112)는 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다. CRC 대조 회로(112a)는 레지스터에 도입된 데이터에 오류(CRC 에러)가 있는지를 검사하고, 그 결과를 나타내는 CRC 에러 신호{CRE}를 출력한다.
제어 블록(142)은 CRC 에러 신호{CRE}에 기초하여 지연 탭 단수(Nt)를 변경한다. 제어 블록(142)은 CRC 에러가 발생하는 경우(예를 들어, CRE=1의 경우), 지연 탭 단수(Nt)를 1단 감소시켜서(Nt←Nt-1), 클럭 라인의 지연을 감소시킨다(스텝 S23).
제어 블록(142)은 CRC 에러가 발생하지 않는 경우(예를 들어, CRE=0의 경우), 지연 탭 단수(Nt)를 1단 증가시켜서(Nt←Nt+1), 클럭 라인의 지연을 증가시킨다(스텝 S24).
이에 의해, 제어 블록(142)은 CRC 에러가 발생하는 지연 탭 단수보다도 1단 적은, CRC 에러가 발생하지 않는 지연 탭 단수를 결정한다. 이 지연 탭 단수를 Nh로 한다.
제3 기간{P3}의 지연 탭 단수 설정 방법에 대해서 설명한다.
제어 블록(143)은 제1 기간{P1}에 있어서 구한 지연 탭 단수{Ns}와 제2 기간{P2}에 있어서 구한 지연 탭 단수{Nh}의 산술 평균을 계산하여 제3 기간{P3}의 지연 탭 단수{Nn}로 한다(Nn=(Ns+Nh)/2). 그 후, 통상 프레임이 수신된다. 즉, 수신 장치(112)는 지연 탭 단수가 Nn으로 설정된 지연 부가 회로(130)에 의해 지연된 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다.
특허문헌 1의 기술에서는, 클럭 생성부의 지연량을 바꾸는 경계인 타깃 기간의 스레숄드(특허문헌 1의 도 6의 시간 역치 TS1, TS2) 및 전압의 스레숄드(특허문헌 1의 도 7의 전압 역치 VS1, VS2)는 올바른 데이터를 취할 수 있는지 여부의 경계가 아니다. 이에 반해, 실시 형태에서는 CRC 대조 회로를 사용하여 올바른 데이터를 취할 수 있는지 여부의 타이밍의 경계를 직접 측정하므로, 측정 오차를 작게 하는 것이 가능하다. 이에 의해, 특허문헌 1의 기술보다도 타이밍 마진을 크게 취하는 것이 가능하다.
<변형예>
이하, 실시 형태의 대표적인 변형예에 대해서, 몇 가지 예시한다. 이하의 변형예의 설명에 있어서, 상술한 실시 형태에서 설명되어 있는 것과 마찬가지의 구성 및 기능을 갖는 부분에 대해서는, 상술한 실시 형태와 마찬가지의 부호가 사용될 수 있는 것으로 한다. 그리고 이러한 부분의 설명에 대해서는, 기술적으로 모순되지 않는 범위 내에 있어서, 상술한 실시 형태에 있어서의 설명이 적절히 원용될 수 있는 것으로 한다. 또한, 상술한 실시예의 일부, 및 복수의 변형예의 전부 또는 일부가, 기술적으로 모순되지 않는 범위 내에 있어서, 적절히, 복합적으로 적용될 수 있다.
(제1 변형예)
도 8은 제1 변형예에 있어서의 반도체 장치 및 그것을 사용한 시스템의 구성을 도시하는 블록도이다. 도 9는 도 8에 도시하는 송신 클럭 지연 회로의 제어 회로의 구성을 도시하는 블록도이다.
실시 형태에서는, 반도체 장치(100, 200)의 양쪽에, 수신 클럭{RXC}용의 지연 부가 회로(130, 230) 및 그 제어 회로(140, 240)를 구비한다. 이에 반해, 본 변형예에서는, 도 8에 도시하는 바와 같이, 반도체 장치(100)에 수신 클럭{RXC}용의 지연 부가 회로(130) 및 그 제어 회로(140)와, 송신 클럭{TXC}용의 지연 부가 회로(150) 및 그 제어 회로(160)를 구비한다. 반도체 장치(200)는 수신 클럭{RXC}용의 지연 부가 회로(230) 및 그 제어 회로(240)를 구비하지 않는다.
지연 부가 회로(150)는 반도체 장치(100)의 클럭 공급 회로(120)로부터의 송신 클럭{TXC}을 수신하고, 제어 회로(160)에 의해 설정된 지연 탭 단수 정보{CI}에 기초하여 송신 클럭{TXC}을 지연시켜 지연 송신 클럭{TXC_D}을 생성한다. 지연 부가 회로(150)는 지연 부가 회로(130)와 마찬가지의 구성이다.
도 9에 도시하는 바와 같이, 제어 회로(160)는 제어 블록(TXS)(161)과, 제어 블록(TXH)(162)과, 제어 블록(TXN)(163)과, 셀렉터(164)와, 셀렉터(165)를 구비한다.
제어 블록(161)은 신호{CRE}에 기초하여 송신 클럭{TXC}에 대한 송신 데이터{TXD}의 셋업 마진을 확인하고, 지연 탭 단수 정보{CI}를 출력한다. CRC 에러 신호{CRE}는 반도체 장치(200)의 수신 장치(212)가 갖는 CRC 대조 회로(212a)로부터 송신 장치(211) 및 반도체 장치(100)의 수신 장치(112)를 통해 제어 회로(160)에 공급된다. 제어 블록(161)은 실시 형태에 있어서의 제어 블록(141)과 마찬가지의 동작을 행한다.
제어 블록(162)은 CRC 에러 신호{CRE}에 기초하여 송신 클럭{TXC}에 대한 송신 데이터{TXD}의 홀드 마진을 확인하고, 지연 탭 단수 정보{CI}를 출력한다. 제어 블록(162)은 실시 형태에 있어서의 제어 블록(142)과 마찬가지의 동작을 행한다.
제어 블록(163)은 제어 블록(161)에 의해 구해진 지연 탭 단수{Ns} 및 제어 블록(162)에 의해 구해진 지연 탭 단수{Nh}에 기초하여 통상 프레임의 지연 탭 단수{CI}를 산출한다. 제어 블록(163)은 실시 형태에 있어서의 제어 블록(143)과 마찬가지의 동작을 행한다.
셀렉터(164)는 제어 블록(161)과 제어 블록(162)의 출력을 전환한다. 셀렉터(165)는 제어 블록(161) 또는 제어 블록(162)과 제어 블록(163)의 출력을 전환한다. 예를 들어, 제어 신호{b[1:0]}가 「10b」인 경우, 제어 블록(161)이 선택된다. 제어 신호{b[1:0]}가 「11b」인 경우, 제어 블록(162)이 선택된다. 제어 신호{b[1:0]}가 「00b」 또는 「00b」인 경우, 제어 블록(163)이 선택된다.
반도체 장치(100)의 수신 클럭{RXC} 및 송신 클럭{TXC}의 지연 제어 방법에 대해서 도 10 내지 도 12를 사용하여 설명한다. 도 10은 도 8에 도시하는 제1 반도체 장치에 있어서의 타이머의 시각, 제어 신호, 수신 인터페이스 기간 및 송신 인터페이스 기간의 설정예를 도시하는 도면이다. 도 11은 도 8에 도시하는 제2 반도체 장치에 있어서의 타이머의 시각, 제어 신호, 수신 인터페이스 기간 및 송신 인터페이스 기간의 설정예를 도시하는 도면이다. 도 12는 도 10에 도시하는 설정예에 있어서의 제1 반도체 장치의 수신 인터페이스 및 송신 인터페이스의 타이밍차트이다.
반도체 장치(100)의 수신 인터페이스 기간{RXIF_P}은, 제1 기간{P1}, 제2 기간{P2}, 제3 기간{P3}, 제1 전송 기간{P1b} 및 제2 전송 기간{P2b}으로 분할된다. 제1 기간{P1}은 수신 데이터{RXD}의 셋업 마진을 확인하는 기간이다. 제2 기간{P2}은 수신 데이터{RXD}의 홀드 마진을 확인하는 기간이다. 제3 기간{P3}은 수신 데이터{RXD}의 통상 프레임을 수신하는 기간이다. 제1 전송 기간{P1b}은 송신 데이터의 셋업 마진을 확인하기 위한 CRC 대조 결과를 전송하는 기간이다. 제2 전송 기간{P2b}은 송신 데이터의 홀드 마진을 확인하기 위한 CRC 대조 결과를 전송하는 기간이다.
예를 들어, 도 10에 도시하는 바와 같이, 타이머(113)의 개시 시각(S_time)과 종료 시각(E_time) 사이의 기간에 있어서의 수신 인터페이스 기간{RXIF_P}은, 각각 제1 기간{P1}, 제2 전송 기간{P2b}, 제3 기간{P3}, 제2 기간{P2}, 제1 전송 기간{P1b} 또는 제3 기간{P3}으로 설정된다.
제어 신호{b[1:0]}가 「10b」인 경우, 제어 블록(141)이 선택되고, 제1 기간{P1}으로 설정된다. 제어 신호{b[1:0]}가 「11b」인 경우, 제어 블록(142)이 선택되고, 제2 기간{P2}으로 설정된다. 제어 신호{b[1:0]}가 「00b」인 경우, 제어 블록(143)이 선택되고, 제3 기간{P3}이 설정된다.
제어 신호{b[1:0]}가 「01b」인 경우, 제어 블록(143)이 선택되고, 제1 전송 기간{P1b} 또는 제2 전송 기간{P2b}이 설정된다. 1개 이전의 제어 신호{b[1:0]}가 「10b」인 경우, 제2 전송 기간{P2b}이 설정된다. 1개 이전의 제어 신호{b[1:0]}가 「11b」인 경우, 제1 전송 기간{P1b}이 설정된다.
즉, 제1 기간{P1}의 개시 시각은 tb0[n]이고, 종료 시각은 tb1[n]이다. 제2 기간{P2}의 개시 시각은 tb3[n]이고, 종료 시각은 tb4[n]이다. 제3 기간{P3}은 2개의 기간이 있고, 첫번째의 개시 시각은 tb1[n]이고, 종료 시각은 tb2[n]이다. 두번째의 개시 시각은 tb3[n]이고, 종료 시각은 tb0[n+1]이다. 제1 전송 기간{P1b}의 개시 시각은 tb4[n]이고, 종료 시각은 ta5[n]이다. 제2 전송 기간{P2b}의 개시 시각은 tb1[n]이고, 종료 시각은 tb2[n]이다. 여기서, n은 0 이상의 정수로 하고, [n]은 n회째의 사이클을 나타낸다. 또한, 도 10에 도시하는 내용은, 예를 들어 스케줄 장치(114)에 마련되는 레지스터에 CPU에 의해 설정되도록 해도 된다.
반도체 장치(100)의 송신 인터페이스 기간{TXIF_P}은, 송신 데이터의 셋업 마진을 확인하는 제1 기간{P1a}, 송신 데이터의 홀드 마진을 확인하는 제2 기간{P2a}, 송신 데이터의 통상 프레임을 송신하는 제3 기간{P3}으로 분할된다.
예를 들어, 도 10에 도시하는 바와 같이, 타이머(113)의 개시 시각(S_time)과 종료 시각(E_time) 사이의 기간에 있어서의 송신 인터페이스 기간{TXIF_P}은, 각각 제2 기간{P2a}, 제3 기간{P3}, 제1 기간{P1a} 또는 제3 기간{P3}으로 설정된다.
제어 신호{b[1:0]}가 「10b」인 경우, 제어 블록(162)이 선택되고, 제2 기간{P2a}으로 설정된다. 제어 신호{b[1:0]}가 「11b」인 경우, 제어 블록(161)이 선택되고, 제1 기간{P1a}으로 설정된다. 제어 신호{b[1:0]}가 「00b」인 경우, 제어 블록(TXN)(163)이 선택되고, 제3 기간{P3}이 설정된다.
즉, 제2 기간{P2a}의 개시 시각은 tb0[n]이고, 종료 시각은 tb1[n]이다. 제1 기간{P1a}의 개시 시각은 tb3[n]이고, 종료 시각은 tb4[n]이다. 제3 기간{P3}은 2개의 기간이 있고, 첫번째의 개시 시각은 tb2[n]이고, 종료 시각은 tb3[n]이다. 두번째의 개시 시각은 tb5[n]이고, 종료 시각은 tb0[n+1]이다.
도 10에 도시하는 바와 같은 설정에 의해, 반도체 장치(100)의 수신 인터페이스{RXIF} 및 송신 인터페이스{TXIF}는 도 12에 도시하는 바와 같은 프레임을 수신 및 송신한다. 도 12에 있어서는, n=0 내지 1의 경우가 도시되어 있다.
또한, 반도체 장치(200)는 반도체 장치(100)가 수신하는 프레임을 송신하기 위해 및 반도체 장치(100)가 송신하는 프레임을 수신하기 위해, 도 11에 도시하는 설정 정보가 스케줄 장치(214)로 설정된다. 단, 반도체 장치(100)의 수신 인터페이스 기간{RXIF_P}은 반도체 장치(200)의 송신 인터페이스 기간{TXIF_P}이 된다. 반도체 장치(100)의 송신 인터페이스 기간{TXIF_P}은 반도체 장치(200)의 수신 인터페이스 기간{RXIF_P}이 된다.
(tb0[0]-tb1[0])
수신 인터페이스 기간{RXIF_P}의 제1 기간{P1}에 있어서의 처리와 송신 인터페이스 기간{TXIF_P}의 제2 기간{P2a}에 있어서의 처리는 병렬, 또는 어느 것이 먼저 동작된다.
[RXIF_P: 제1 기간{P1}]
반도체 장치(200)의 송신 인터페이스{TXIF}는, 반도체 장치(100)가 수신 데이터{RXD}의 셋업 마진을 확인하는 프레임{FT0[0]}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT0[0]}을 수신한다.
[TXIF_P: 제2 기간{P2a}]
반도체 장치(100)의 송신 인터페이스{TXIF}는 송신 데이터{TXD}의 홀드 마진을 확인하는 프레임{FT1[0]}을 송신한다. 그리고, 반도체 장치(200)의 수신 인터페이스{RXIF}는 프레임{FT1[0]}을 수신한다. 반도체 장치(200)는 프레임{FT1[0]}이 CRC 에러 없이 수신할 수 있는지 여부를 확인한다. 즉, 수신 장치(212)는 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다. CRC 대조 회로(212a)는 레지스터에 도입된 데이터에 오류(CRC 에러)가 있는지를 검사한다. 예를 들어, CRC 에러가 있는 경우, CRE=1로 설정하고, CRC 에러가 없는 경우, CRE=0으로 설정한다.
(tb1[0]-tb2[0])
[RXIF_P: 제2 전송 기간{P2b}]
반도체 장치(200)의 송신 인터페이스{TXIF}는 송신 데이터의 홀드 마진을 확인하기 위한 CRC 대조 결과가 전송되는 프레임{FT2[0]}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT2[0]}을 수신한다. 반도체 장치(100)는 수신한 CRC 대조 결과에 기초하여 송신 데이터의 홀드 마진을 확인한다.
(tb2[0]-tb3[0])
수신 인터페이스 기간{RXIF_P}의 제3 기간{P3}에 있어서의 지연 탭 단수의 설정 처리와 송신 인터페이스 기간{TXIF_P}의 제3 기간{P3}에 있어서의 지연 탭 단수의 설정 처리는 병렬, 또는 어느 것이 먼저 동작된다.
[RXIF_P: 제3 기간{P3}]
반도체 장치(200)의 송신 인터페이스{TXIF}는 반도체 장치(100)가 수신하는 수신 데이터{RXD}의 통상 프레임{F0r, F1r}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 통상 프레임{F0r, F1r}을 수신한다.
[TXIF_P: 제3 기간{P3}]
반도체 장치(100)의 송신 인터페이스{TXIF}는 송신 데이터{TXD}의 통상 프레임{F0t, F1t}을 송신한다. 그리고, 반도체 장치(200)의 수신 인터페이스{RXIF}는 통상 프레임{F0t, F1t}을 수신한다.
(tb3[0]-tb4[0])
수신 인터페이스 기간{RXIF_P}의 제2 기간{P2}에 있어서의 처리와 송신 인터페이스 기간{TXIF_P}의 제1 기간{P1a}에 있어서의 처리는 병렬, 또는 어느 것이 먼저 동작된다.
[RXIF_P: 제2 기간{P2}]
반도체 장치(100)의 수신 인터페이스{RXIF}는 수신 데이터{RXD}의 홀드 마진을 확인하는 프레임{FT3[0]}을 수신한다.
[TXIF_P: 제1 기간{P1a}]
반도체 장치(100)의 송신 인터페이스{TXIF}는 송신 데이터{TXD}의 세트 마진을 확인하는 프레임{FT4[0]}을 송신한다. 그리고, 반도체 장치(200)의 수신 인터페이스{RXIF}는 프레임{FT4[0]}을 수신한다. 반도체 장치(200)는 프레임{FT4[0]}이 CRC 에러 없이 수신할 수 있는지 여부를 확인한다. 즉, 수신 장치(212)는 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다. CRC 대조 회로(212a)는 레지스터에 도입된 데이터에 오류(CRC 에러)가 있는지를 검사한다. 예를 들어, CRC 에러가 있는 경우, CRE=1로 설정하고, CRC 에러가 없는 경우, CRE=0으로 설정한다.
(tb4[0]-tb5[0])
[RXIF_P: 제1 전송 기간{P1b}]
반도체 장치(200)의 송신 인터페이스{TXIF}는 송신 데이터의 홀드 마진을 확인하기 위한 CRC 대조 결과가 전송되는 프레임{FT5[0]}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT5[0]}을 수신한다. 반도체 장치(100)는 수신한 CRC 대조 결과에 기초하여 송신 데이터의 셋업 마진을 확인한다.
(tb5[0]-tb0[1]): 제3 기간{P3}
수신 인터페이스 기간{RXIF_P}의 제3 기간{P3}에 있어서의 지연 탭 단수의 설정 처리와 송신 인터페이스 기간{TXIF_P}의 제3 기간{P3}에 있어서의 지연 탭 단수의 설정 처리는 병렬, 또는 어느 것이 먼저 동작된다.
[RXIF_P: 제3 기간{P3}]
반도체 장치(200)의 송신 인터페이스{TXIF}는 반도체 장치(100)가 수신하는 수신 데이터{RXD}의 통상 프레임{F2r, F3r}을 송신한다. 그리고, 반도체 장치(100)의 수신 인터페이스{RXIF}는 통상 프레임{F2r, F3r}을 수신한다.
[TXIF_P: 제3 기간{P3}]
반도체 장치(100)의 송신 인터페이스{TXIF}는 송신 데이터{TXD}의 통상 프레임{F2t, F3t}을 송신한다. 그리고, 반도체 장치(200)의 수신 인터페이스(RXIF)는 통상 프레임(F2t, F3t)을 수신한다.
시각{tb0[1]-tb1[1]}, {tb1[1]-tb2[1]}, {tb2[1]-tb3[1]}, {tb3[1]-tb4[1]}, {tb4[1]-tb5[1]}, {tb5[1]-tb0[2]}의 동작은, 각각 시각{tb0[0]-tb1[0]}, {tb1[0]-tb2[0]}, {tb2[0]-tb3[0]}, {tb3[0]-tb4[0]}, {tb4[0]-tb5[0]}, {tb5[0]-tb0[1]}의 동작과 마찬가지이다.
수신 클럭{RXC}용의 지연 부가 회로(130)의 지연 탭 단수 설정 방법은 실시 형태와 마찬가지이다. 송신 클럭{TXC}용의 지연 부가 회로(150)의 지연 탭 단수 설정 방법에 대해서 이하 설명한다.
제1 기간{P1a} 및 제1 전송 기간{P1b}에 행하는 셋업 마진 확인에 의한 지연 탭 단수 설정 방법에 대해서 도 13 및 도 14를 사용하여 설명한다. 도 13은 제1 기간의 처리를 도시하는 흐름도이다. 도 14는 제1 전송 기간의 처리를 도시하는 흐름도이다.
먼저, 제1 기간{P1a}에 있어서의 처리에 대해서 설명한다.
반도체 장치(100)의 송신 인터페이스{TXIF}는 프레임{FT4[n]}을 송신한다.
반도체 장치(200)의 수신 인터페이스{RXIF}는 프레임{FT4[n]}을 수신 완료하여 이벤트 대기가 된다(스텝 S31).
프레임{FT4[n]}이 CRC 에러 없이 수신할 수 있는지 여부가 확인된다. 즉, 수신 장치(212)는 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다. CRC 대조 회로(212a)는 레지스터에 도입된 데이터에 오류(CRC 에러)가 있는지를 검사한다(스텝 S32).
CRC 에러가 없는 경우는, CRC 대조 회로(212a)는 CRE=1로 설정한다(스텝 S33). CRC 에러가 있는 경우는, CRC 대조 회로(212a)는 CRE=0으로 설정한다(스텝 S34).
다음으로, 제1 전송 기간{P1b}에 있어서의 처리에 대해서 설명한다.
반도체 장치(200)의 송신 인터페이스{TXIF}는 프레임{FT5[n]}을 송신한다. 프레임{FT5[n]}에는, CRC 대조 회로(212a)에 있어서의 대조 결과(CRC 에러 신호{CRE}의 내용)가 포함된다.
반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT5[n]}을 수신 완료하여 이벤트 대기가 된다(스텝 S41).
제어 블록(161)은 CRC 에러 신호{CRE}를 확인한다(스텝 S42).
제어 블록(161)은 CRC 에러 신호{CRE}에 기초하여 지연 탭 단수(Nt)를 변경한다. 제어 블록(161)은 CRC 에러가 발생하는 경우(CRE=1의 경우), 지연 탭 단수(Nt)를 1단 증가시켜서(Nt←Nt+1), 클럭 라인의 지연을 증가시킨다(스텝 S43).
제어 블록(161)은 CRC 에러가 발생하지 않는 경우(CRE=0의 경우), 지연 탭 단수를 1단 감소시켜서(Nt←Nt-1), 클럭 라인의 지연을 감소시킨다(스텝 S44).
이에 의해, 제어 블록(161)은 CRC 에러가 발생하는 지연 탭 단수보다도 1단 많은, CRC 에러가 발생하지 않는 지연 탭 단수를 결정한다. 이 지연 탭 단수를 Ns로 한다.
제2 기간{P2a} 및 제2 전송 기간{P2b}에 행하는 홀드 마진 확인에 의한 지연 탭 단수 설정 방법에 대해서 도 15 및 도 16을 사용하여 설명한다. 도 15는 제2 기간의 처리를 도시하는 흐름도이다. 도 16은 제2 전송 기간의 처리를 도시하는 흐름도이다.
먼저, 제2 기간{P2a}에 있어서의 처리에 대해서 설명한다.
반도체 장치(100)의 송신 인터페이스{TXIF}는 프레임{FT1[n]}을 송신한다.
반도체 장치(200)의 수신 인터페이스{RXIF}는 프레임{FT1[n]}을 수신하여 이벤트 대기가 된다(스텝 S51).
프레임{FT1[n]}이 CRC 에러 없이 수신할 수 있는지 여부가 확인된다. 즉, 수신 장치(212)는 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다. CRC 대조 회로(212a)는 레지스터에 도입된 데이터에 오류(CRC 에러)가 있는지를 검사한다(스텝 S52).
CRC 에러가 없는 경우는, CRC 대조 회로(212a)는 CRE=1로 설정한다(스텝 S53). CRC 에러가 있는 경우는, CRC 대조 회로(212a)는 CRE=0으로 설정한다(스텝 S54).
다음으로, 제2 전송 기간{P2b}에 있어서의 처리에 대해서 설명한다.
반도체 장치(200)의 송신 인터페이스{TXIF}는 프레임{FT2[n]}을 송신한다. 프레임{FT2[n]}에는, CRC 대조 회로(212a)에 있어서의 대조 결과(CRC 에러 신호{CRE}의 내용)가 포함된다.
반도체 장치(100)의 수신 인터페이스{RXIF}는 프레임{FT2[n]}을 수신 완료하여 이벤트 대기가 된다(스텝 S61).
제어 블록(162)은 CRC 에러 신호{CRE}를 확인한다(스텝 S62).
제어 블록(162)은 CRC 에러 신호{CRE}에 기초하여 지연 탭 단수(Nt)를 변경한다. 제어 블록(162)은 CRC 에러가 발생하는 경우(CRE=1의 경우), 지연 탭 단수(Nt)를 1단 감소시켜서(Nt←Nt-1), 클럭 라인의 지연을 감소시킨다(스텝 S63).
제어 블록(162)은 CRC 에러가 발생하지 않는 경우(CRE=0의 경우), 지연 탭 단수(Nt)를 1단 증가시켜서(Nt←Nt+1), 클럭 라인의 지연을 증가시킨다(스텝 S64).
이에 의해, 제어 블록(162)은 CRC 에러가 발생하는 지연 탭 단수보다도 1단 적은, CRC 에러가 발생하지 않는 지연 탭 단수를 결정한다. 이 지연 탭 단수를 Nh로 한다.
제3 기간{P3}의 지연 탭 단수 설정 방법에 대해서 설명한다.
제어 블록(161)이 제1 기간{P1a} 및 제1 전송 기간{P1b}에 있어서 구한 지연 탭 단수를 Ns로 한다. 제어 블록(162)이 제2 기간{P2a} 및 제2 전송 기간{P2b}에 있어서 구한 지연 탭 단수를 Nh로 한다. 제어 블록(163)은 Ns와 Nh의 산술 평균을 계산하여 제3 기간{P3}의 지연 탭 단수(Nn)로 한다(Nn=(Ns+Nh)/2). 그 후, 통상 프레임이 송신된다. 즉, 반도체 장치(200)의 수신 장치(212)는 지연 탭 단수가 Nn으로 설정된 지연 부가 회로(150)에 의해 지연된 지연 수신 클럭{RXC_D}에 의해 수신 데이터{RXD}를 레지스터에 도입한다.
실시 형태에서는, 쌍방향(수신 방향과 송신 방향)의 PCB(300)의 지연을 캔슬하기 위해서는, 쌍방향 통신하는 대상의 2개의 반도체 장치(100, 200)의 각각에, 수신 클럭용의 지연 부가 회로(130, 230) 및 제어 회로(140, 240)를 탑재한다. 한편, 본 변형예에서는 한쪽의 반도체 장치, 예를 들어 반도체 장치(100)에 수신 클럭용의 지연 부가 회로(130), 송신 클럭용의 지연 부가 회로(150), 제어 회로(140) 및 제어 회로(160)를 탑재하는 것만으로, 쌍방향의 PCB(300)의 지연을 캔슬하는 것이 가능해진다.
따라서, 기존의 네트워크 시스템 상의 반도체 장치의 하드웨어를 변경하지 않고, 신규로 추가하는 반도체 장치만을 본 변형예에 대응하는 하드웨어로 변경하는 것만으로, 쌍방향의 통신 경로 상의 PCB의 지연을 캔슬하는 것이 가능해진다.
(제2 변형예)
도 17은 제2 변형예에 있어서의 반도체 장치 및 그것을 사용한 시스템의 구성을 도시하는 블록도이다.
제1 변형예에서는, 반도체 장치(100)에 수신 클럭{RXC}용의 지연 부가 회로(130)의 제어 회로(140)와, 송신 클럭{TXC}용의 지연 부가 회로(150)의 제어 회로(160)를 구비한다. 그에 반해, 제2 변형예에서는, 제어 회로(140, 160)를 대신하여, CPU(170), 인터럽트 제어 장치(INTC)(180) 및 레지스터(REG)(190r, 190t)를 구비한다. 반도체 장치(100)는, 또한 CPU(170)가 실행하는 프로그램이나 데이터를 저장하는 메모리를 구비한다. 반도체 장치(100)가 MCU인 경우는, MCU가 구비하는 CPU, 메모리, 인터럽트 제어 장치를 사용하도록 해도 된다.
본 변형예에서는, CPU(170), 인터럽트 제어 장치(180) 및 레지스터(190r, 190t)에 의해 제1 변형예에 있어서의 제어 회로(140, 160)의 기능을 실시한다. 이에 의해, 하드웨어 설계를 용이화하는 것이 가능하다.
스케줄 장치(114)로부터 제어 신호{b[1:0]}가 인터럽트 제어 장치(180)에 공급되고, 인터럽트 제어 장치(180)는 제어 신호{b[1:0]}에 기초한 인터럽트 요구를 CPU(170)에 공급한다. CPU(170)는 인터럽트 요구, 수신 장치(112)로부터의 CRC 대조 회로(212a)의 대조 결과(CRC 에러 신호{CRE}) 및 CRC 대조 회로(112a)의 대조 결과(CRC 에러 신호{CRE})에 기초하여, 제1 변형예에 있어서의 제어 회로(140, 160)와 마찬가지의 처리를 행한다. 그리고, CPU(170)는 지연 탭 단수를 레지스터(190r, 190t)에 출력한다. 이에 의해, 지연 탭 단수가 지연 부가 회로(130, 150)로 설정된다.
이상, 본 개시자에 의해 이루어진 개시를 실시 형태 및 변형예에 기초하여 구체적으로 설명했지만, 본 개시는, 상기 실시 형태 및 변형예에 한정되는 것은 아니며, 여러 가지 변경 가능한 것은 물론이다.
100: 반도체 장치
110: 통신 장치
130: 지연 부가 회로
140: 제어 회로

Claims (12)

  1. 유선 통신용의 통신 장치와,
    상기 통신 장치가 수신하는 클럭 또한 송신하는 클럭의 지연량이 조정 가능한 지연 부가 회로와,
    상기 지연 부가 회로의 지연량을 제어하는 제어 회로
    를 구비하고,
    상기 통신 장치는,
    통상 프레임의 수신 기간 또는 송신 기간과 검사 프레임의 수신 기간 또는 송신 기간을 시분할하도록 설정하고,
    상기 검사 프레임의 수신 기간 또는 송신 기간에 있어서, 데이터와 클럭 사이의 셋업 및 홀드의 타이밍 마진을 확인하도록 구성되고,
    상기 제어 회로는, 상기 타이밍 마진의 확인 결과에 기초하여 상기 통상 프레임에 있어서의 상기 지연량을 설정하도록 구성되는, 반도체 장치.
  2. 제1항에 있어서,
    상기 통신 장치는, 상기 검사 프레임에 있어서의 수신하는 데이터 또는 송신하는 데이터에 에러가 발생하는지 여부에 의해 상기 타이밍 마진의 확인을 행하도록 구성되는, 반도체 장치.
  3. 제1항에 있어서,
    상기 제어 회로는,
    상기 검사 프레임 중 셋업 마진을 확인하는 제1 프레임에 있어서 수신하는 데이터 또는 송신하는 데이터에 에러가 검출되는 경우, 상기 지연 부가 회로의 제1 지연 탭 단수를 증가시키고,
    상기 제1 프레임에 있어서 수신하는 데이터 또는 송신하는 데이터에 에러가 검출되지 않은 경우, 상기 제1 지연 탭 단수를 감소시키도록 구성되는, 반도체 장치.
  4. 제3항에 있어서,
    상기 제어 회로는,
    상기 검사 프레임 중 홀드 마진을 확인하는 제2 프레임에 있어서 수신하는 데이터 또는 송신하는 데이터에 에러가 검출되는 경우, 상기 지연 부가 회로의 제2 지연 탭 단수를 감소시키고,
    상기 제2 프레임에 있어서 수신하는 데이터 또는 송신하는 데이터에 에러가 검출되지 않은 경우, 상기 제2 지연 탭 단수를 증가시키도록 구성되는, 반도체 장치.
  5. 제4항에 있어서,
    상기 제어 회로는, 상기 제1 지연 탭 단수와 상기 제2 지연 탭 단수의 산술 평균을 산출하고, 상기 통상 프레임에 있어서의 상기 지연 부가 회로의 지연 탭 단수로 하도록 구성되는, 반도체 장치.
  6. 제5항에 있어서,
    상기 통신 장치는, 시분할한 각 기간 중 어느 기간인 것인지를 나타내는 제어 신호를 생성하고,
    상기 제어 회로는, 상기 제어 신호에 기초하여,
    상기 제1 지연 탭 단수의 생성, 또는 상기 제2 지연 탭 단수의 생성, 또는 상기 통상 프레임에 있어서의 상기 지연 부가 회로의 지연 탭 단수의 생성 중 어느 것을 행하도록 구성되는, 반도체 장치.
  7. 제4항에 있어서,
    상기 통신 장치는, 상기 통상 프레임에 있어서 수신하는 데이터의 에러 검출 회로를 구비하고,
    상기 통신 장치는, 상기 제1 프레임 및 상기 제2 프레임에 있어서의 상기 에러의 검출을, 상기 에러 검출 회로를 사용하여 행하도록 구성되는, 반도체 장치.
  8. 제7항에 있어서,
    상기 에러 검출 회로는, IEEE802.3 규격의 CRC 대조 회로인, 반도체 장치.
  9. 제4항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임에 있어서 송신되는 데이터의 상기 에러의 검출은, 통신 상대의 반도체 장치에 구비되어 있는 에러 검출 회로를 사용하여 행하도록 구성되는, 반도체 장치.
  10. 제6항에 있어서,
    상기 제어 회로는, 상기 지연 부가 회로를 제어하는 복수의 하드웨어로 구성되는 제어 블록 및 하드웨어로 구성되는 셀렉터를 구비하고,
    상기 지연 부가 회로의 제어는, 상기 셀렉터에 의해 상기 제어 블록이 선택되어 행해지는 반도체 장치.
  11. 제6항에 있어서,
    상기 제어 회로는, CPU 및 상기 CPU가 실행하는 소프트웨어를 저장하는 메모리를 구비하고,
    상기 지연 부가 회로의 제어는, 상기 CPU가 상기 소프트웨어를 실행하여 행해지는 반도체 장치.
  12. 유선 통신용의 통신 장치와, 상기 통신 장치가 수신하는 클럭 또한 송신하는 클럭의 지연량이 조정 가능한 지연 부가 회로를 구비하는 반도체 장치에 있어서의 지연 제어 방법이며,
    통상 프레임의 수신 기간 또는 송신 기간과 검사 프레임의 수신 기간 또는 송신 기간을 시분할하도록 설정하고,
    상기 검사 프레임의 수신 기간 또는 송신 기간에 있어서, 데이터와 클럭 사이의 셋업 및 홀드의 타이밍 마진을 검사하고,
    상기 타이밍 마진의 확인 결과에 기초하여 상기 통상 프레임에 있어서의 상기 지연량을 설정하는, 지연 제어 방법.
KR1020230158141A 2022-11-18 2023-11-15 반도체 장치 및 지연 제어 방법 KR20240073780A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JPJP-P-2022-185334 2022-11-18

Publications (1)

Publication Number Publication Date
KR20240073780A true KR20240073780A (ko) 2024-05-27

Family

ID=

Similar Documents

Publication Publication Date Title
KR101037273B1 (ko) 비대칭성 지연 보상 방법 및 시스템
KR100894346B1 (ko) 메모리 컨트롤러, 메모리 회로, 메모리 시스템 및 신호 간위상 관계 조정 방법
US6978403B2 (en) Deskew circuit and disk array control device using the deskew circuit, and deskew method
US11294837B2 (en) Dynamic delay calibration of devices attached to bus systems utilizing time-multiplexed clock and data lines
US20110026572A1 (en) Baud rate error detection circuit and baud rate error detection method
EP2897319B1 (en) Method and Apparatus for Reference-Less Repeater with Digital Control
JP2011061350A (ja) 受信装置及びその受信方法
US20130141076A1 (en) Spread Spectrum Clock Signal Detection System and Method
US11947479B2 (en) Dynamic timing calibration systems and methods
KR20240073780A (ko) 반도체 장치 및 지연 제어 방법
US8311173B2 (en) Frame pulse signal latch circuit and phase adjustment method
US10721055B2 (en) Communication device
US8472561B2 (en) Receiver circuit
US20240171164A1 (en) Semiconductor device and delay control methods
JP2024074199A (ja) 半導体装置および遅延制御方法
JP2019054568A (ja) インバータシステムの同期制御方法及びインバータシステム
US10033525B2 (en) Transmission device and signal processing method
US9686105B2 (en) Clock and data recovery circuit and frequency detection method thereof
KR20070088205A (ko) 자동 위상 정렬 장치 및 그 방법
US11564189B2 (en) Electronic apparatus, electronic system, and method
CN112148654A (zh) 调整时钟信号的时钟沿的方法及电路
JP2015171002A (ja) 電気・電子機器、回路、及び通信システム
JP2005303753A (ja) 信号伝送システム
US8140881B2 (en) Circuitry and method for detection of network node aging in communication networks
CN112260814B (zh) 高速串行通信的数据相位校正方法、电子装置和存储介质