KR20220027170A - 데이터 포인트들의 보간을 사용한 파형 구성 - Google Patents
데이터 포인트들의 보간을 사용한 파형 구성 Download PDFInfo
- Publication number
- KR20220027170A KR20220027170A KR1020227002501A KR20227002501A KR20220027170A KR 20220027170 A KR20220027170 A KR 20220027170A KR 1020227002501 A KR1020227002501 A KR 1020227002501A KR 20227002501 A KR20227002501 A KR 20227002501A KR 20220027170 A KR20220027170 A KR 20220027170A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- filter
- waveform
- interpolated
- sampled data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/20—Increasing resolution using an n bit system to obtain n + m bits
- H03M1/202—Increasing resolution using an n bit system to obtain n + m bits by interpolation
- H03M1/207—Increasing resolution using an n bit system to obtain n + m bits by interpolation using a digital interpolation circuit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/002—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
- H04L7/0029—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of received data signal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/0617—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence
- H03M1/0626—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by filtering
- H03M1/0631—Smoothing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
Abstract
N 개의 연속하는 시간 점들에서 캡처되는 N 개의 샘플링된 데이터로부터 파형을 구성하는 방법은, 부분적으로, N 개의 샘플링된 데이터를, 한 번에 K 개의 데이터씩, K 개의 탭들을 포함하는 필터의 M 개의 지연된 복제본들 각각에 적용하여서 NxM 개의 보간된 데이터를 생성하는 단계를 포함한다. 그 다음에 파형은 N 개의 샘플링된 데이터 및 NxM 개의 보간된 데이터로부터 구성된다.
Description
관련 출원들에 대한 상호 참조
본 출원은 2019년 6월 27일자로 출원된 미국 출원 제62/867,462호를 우선권 주장하며, 그 내용은 그 전부가 참조로 본 개시에 포함된다.
본 개시는 일반적으로 통신 시스템에 관한 것이고, 더 상세하게는, 보간된 데이터를 사용하여 파형을 구성하기 위한 시스템 및 방법에 관한 것이다.
SERDES(Serializer/Deserializer)에서의 이진 시그닐링을 위한 눈 다이어그램(eye diagram)을 생성하는 하나의 기법은 눈 다이어그램을 형성하는데 필요한 데이터를 공급하기 위해 메인 데이터 슬라이서의 타이밍을 시프트하는 것을 수반한다. 아날로그-디지털 변환기(analog-to-digital converter)(ADC) 기반 수신기를 사용하여 형성된 눈 다이어그램은 본질적으로 파괴성인데, 요구된 통계를 생성하기 위해 시프트되고 샘플링될 메인 데이터 경로 상의 타이밍을 요구하기 때문이다. 눈 다이어그램에서 눈 패턴들의 에지들을 스캐닝할 때, 시간 시프트는 데이터 샘플들로 하여금 에러 발생이 쉬워지게 함으로써 메인 데이터 경로에 대해 데이터 샘플들이 사용 불가능하게 한다. 정상적인 링크 동작은 이 프로세스 동안 중지된다.
다른 기법에 따르면, 추가적인 회로부, 이를테면 별도의 타이밍 제어를 갖는 보조 슬라이서가, 눈 다이어그램을 형성하는데 사용되는 데이터를 생성하는데 사용된다. 보조 슬라이서들을 사용하여 눈 다이어그램을 생성하는 것은 슬라이싱 또는 샘플링 전에 신호의 등화를 요구한다. 비파괴성(non-destructive)이 되려면, 이러한 기법은 제2 ADC, 모든 디지털 신호 프로세서(digital signal processor)(DSP) 등화 회로부의 복제본 및 독립적인 타이밍 제어를 요구할 것이며, 따라서 하드웨어 비용에서의 상당한 증가를 초래한다. 눈 다이어그램을 형성하는 개선된 방법에 대한 요구가 계속 존재한다.
N 개의 연속하는 시간 점들에서 캡처되는 N 개의 샘플링된 데이터로부터 파형을 구성하는 방법은, 본 발명의 하나의 실시예에 따라, 부분적으로, NxM 개의 보간된 데이터를 생성하기 위해서 K 개의 탭들을 포함하는 필터의 M 개의 지연된 복제본들 각각에 N 개의 샘플링된 데이터를, 한 번에 K 개의 데이터씩, 적용하는 단계를 포함한다. 그 다음에 파형은 N 개의 샘플링된 데이터 및 NxM 개의 보간된 데이터를 사용하여 구성된다. K, N 및 M은 정수들이고 K는 N보다 작다는 것이 이해된다.
하나의 실시예에서, 그 파형은 통신 링크 수신기의 품질을 특징화하는 눈 다이어그램이다. 하나의 실시예에서, 그 파형은 통신 링크에 의해 수신되는 펄스 응답을 정의한다. 하나의 실시예에서, 필터는 유한 길이를 갖고 비재귀적이다. 하나의 실시예에서, 필터는 유한 길이를 갖고 재귀적이다.
하나의 실시예에서, N 개의 데이터 포인트들은 주기적 시간 간격으로 샘플링된다. 하나의 실시예에서, 필터의 i 번째와 (i+1) 번째 지연된 복제본들 사이의 지연은 필터의 (i+1) 번째와 (i+2) 번째 지연된 복제본들 사이의 지연과 동일하다. 하나의 실시예에서, 그 방법은, 부분적으로, 필터의 지연된 복제본들 각각과 연관되는 필터 계수들을 판독전용 메모리(read-only memory)에 저장하는 단계를 더 포함한다. 하나의 실시예에서, N 개의 샘플링된 데이터는 2Q 개의 레벨들에 의해 정의되며, 여기서 Q는 2 이상의 정수이다. 하나의 실시예에서, 그 방법은, 부분적으로, 제2 보간된 데이터 세트를 생성하기 위해 샘플링된 데이터 및 NxM 개의 보간된 데이터의 서브세트를 필터에 적용하는 단계를 더 포함한다.
N 개의 연속하는 시간 점들에서 캡처되는 N 개의 샘플링된 데이터로부터 파형을 구성하도록 구성되는 시스템은, 부분적으로, 데이터 수집 유닛, K 개의 탭들을 갖는 필터, 제어 로직 및 파형 구성 로직을 포함한다. 데이터 수집 유닛은 N 개의 샘플링된 데이터를 수집하도록 적응된다. 제어 로직은 필터로 하여금 NxM 개의 보간된 데이터를 생성하기 위해서 필터의 M 개의 지연된 복제본들 각각에 대해 N 개의 샘플링된 데이터를, 한 번에 K 개의 데이터씩, 수신하게 하도록 구성된다. 파형 구성 로직은 N 개의 샘플링된 데이터 및 NxM 개의 보간된 데이터를 사용하여 파형을 구성하도록 구성된다. K, N 및 M은 정수들이고 K는 N보다 작다는 것이 이해된다.
하나의 실시예에서, 그 파형은 통신 링크 수신기의 품질을 특징화하는 눈 다이어그램이다. 하나의 실시예에서, 그 파형은 통신 링크에 의해 수신되는 펄스 응답을 정의한다. 하나의 실시예에서, 필터는 유한 길이를 갖고 비재귀적이다. 하나의 실시예에서, 필터는 유한 길이를 갖고 재귀적이다. 하나의 실시예에서, 필터의 i 번째와 (i+1) 번째 지연된 복제본들 사이의 지연은 필터의 (i+1) 번째와 (i+2) 번째 지연된 복제본들 사이의 지연과 동일하다.
하나의 실시예에서, 시스템은, 부분적으로, 필터의 지연된 복제본들 각각과 연관되는 필터 계수들을 저장하도록 적응되는 판독전용 메모리를 더 포함한다. 하나의 실시예에서, N 개의 샘플링된 데이터는 2Q 개의 레벨들에 의해 정의되며, 여기서 Q는 2 이상의 정수이다. 하나의 실시예에서, 필터는 실리콘 기판에 형성된다.
컴퓨터 판독가능 저장 매체는, 본 발명의 하나의 실시예에 따라, 부분적으로, 프로세서에 의해 실행될 때, 프로세서로 하여금 NxM 개의 보간된 데이터를 생성하기 위해서 K 개의 탭들을 포함하는 필터의 M 개의 지연된 복제본들 각각에 N 개의 샘플링된 데이터를, 한 번에 K 개의 데이터씩, 적용하게 하는 명령어들을 포함한다. 그 명령어들은 추가로 프로세서로 하여금 N 개의 샘플링된 데이터 및 NxM 개의 보간된 데이터를 사용하여 파형을 구성하게 한다. K, N 및 M은 정수들이고 K는 N보다 작다는 것이 이해된다.
개시내용은 아래에 주어지는 상세한 설명과 본 개시의 실시예들의 첨부 도면들로부터 더 완전하게 이해될 것이다. 그 도면들은 본 개시의 실시예들의 지식 및 이해를 제공하기 위해 사용되고 본 개시의 범위를 이들 특정 실시예들로 제한하지 않는다. 더욱이, 그 도면들은 반드시 축척대로 그려지는 않았다.
도 1은 본 개시의 하나의 실시예에 따라, 데이터를 보간하는데 사용되는 필터의 특성들을 정의하는 Sinc 함수를 도시한다.
도 2는 통신 링크의 수신기에서 슬라이서에 의해 캡처되는 예시적인 데이터를 도시한다.
도 3은 도 2에 도시된 데이터의 히스토그램이다.
도 4는 본 개시의 하나의 실시예에 따라, 타이밍 오프셋들을 생성하고 데이터를 보간하는데 사용될 수 있는 예시적인 필터의 응답 특성들을 도시한다.
도 5는 본 개시의 하나의 실시예에 따라, 도 4의 필터에 의해 보간되는 데이터를 도시한다.
도 6은 본 개시의 하나의 실시예에 따라, 도 5에 도시되는 보간된 데이터의 히스토그램이다.
도 7은 본 개시의 하나의 실시예에 따라, 도 2에 도시된 데이터로부터 생성되는 예시적인 눈 다이어그램이다.
도 8은 본 개시의 하나의 실시예에 따라, 데이터를 보간하는데 사용되는 상이한 베타 파라미터들을 갖는 레이즈드 코사인 함수(raised cosine function)들을 도시한다.
도 9는 본 개시의 하나의 실시예에 따라, 도 7의 눈 다이어그램의 상단, 중간 및 하단 근처의 영역들의 윤곽들을 도시한다.
도 10은 본 개시의 하나의 실시예에 따라, 도 7의 눈 다이어그램의 상단, 중간 및 하단 근처의 영역들의 윤곽들의 더 상세한 도면들을 도시한다.
도 11a는 본 개시의 하나의 실시예에 따라, 눈 다이어그램을 생성하는 흐름도이다.
도 11b는 본 개시의 하나의 실시예에 따라, 도 11a의 흐름도의 단계들 중 몇 개의 단계들의 더 많은 세부사항들을 도시하는 흐름도이다.
도 11c는 본 발명의 하나의 실시예에 따라, 필터를 사용하여 보간된 데이터를 도시한다.
도 12는 본 발명의 하나의 실시예에 따라, 파형 복원을 위한 보간된 데이터를 제공하도록 구성되는 수신기의 단순화된 고레벨 블록도이다.
도 13은 본 개시의 일부 실시예들에 따라 집적 회로의 설계 및 제조 동안 사용되는 다양한 프로세스들의 흐름도를 묘사한다.
도 14는 본 개시의 실시예들이 동작할 수 있는 예시적인 컴퓨터 시스템의 추상도를 묘사한다.
도 1은 본 개시의 하나의 실시예에 따라, 데이터를 보간하는데 사용되는 필터의 특성들을 정의하는 Sinc 함수를 도시한다.
도 2는 통신 링크의 수신기에서 슬라이서에 의해 캡처되는 예시적인 데이터를 도시한다.
도 3은 도 2에 도시된 데이터의 히스토그램이다.
도 4는 본 개시의 하나의 실시예에 따라, 타이밍 오프셋들을 생성하고 데이터를 보간하는데 사용될 수 있는 예시적인 필터의 응답 특성들을 도시한다.
도 5는 본 개시의 하나의 실시예에 따라, 도 4의 필터에 의해 보간되는 데이터를 도시한다.
도 6은 본 개시의 하나의 실시예에 따라, 도 5에 도시되는 보간된 데이터의 히스토그램이다.
도 7은 본 개시의 하나의 실시예에 따라, 도 2에 도시된 데이터로부터 생성되는 예시적인 눈 다이어그램이다.
도 8은 본 개시의 하나의 실시예에 따라, 데이터를 보간하는데 사용되는 상이한 베타 파라미터들을 갖는 레이즈드 코사인 함수(raised cosine function)들을 도시한다.
도 9는 본 개시의 하나의 실시예에 따라, 도 7의 눈 다이어그램의 상단, 중간 및 하단 근처의 영역들의 윤곽들을 도시한다.
도 10은 본 개시의 하나의 실시예에 따라, 도 7의 눈 다이어그램의 상단, 중간 및 하단 근처의 영역들의 윤곽들의 더 상세한 도면들을 도시한다.
도 11a는 본 개시의 하나의 실시예에 따라, 눈 다이어그램을 생성하는 흐름도이다.
도 11b는 본 개시의 하나의 실시예에 따라, 도 11a의 흐름도의 단계들 중 몇 개의 단계들의 더 많은 세부사항들을 도시하는 흐름도이다.
도 11c는 본 발명의 하나의 실시예에 따라, 필터를 사용하여 보간된 데이터를 도시한다.
도 12는 본 발명의 하나의 실시예에 따라, 파형 복원을 위한 보간된 데이터를 제공하도록 구성되는 수신기의 단순화된 고레벨 블록도이다.
도 13은 본 개시의 일부 실시예들에 따라 집적 회로의 설계 및 제조 동안 사용되는 다양한 프로세스들의 흐름도를 묘사한다.
도 14는 본 개시의 실시예들이 동작할 수 있는 예시적인 컴퓨터 시스템의 추상도를 묘사한다.
눈 다이어그램을 형성하는 개선된 방법에 대한 요구가 계속 존재한다. 본 개시의 실시예들에 따라 눈 다이어그램을 생성하는 시스템들, 방법들, 및 회로부가 설명된다. 하나의 실시예에서, 상이한 많은 시간 점들에서 샘플들을 캡처하는 것이 아니라, 본 개시의 실시예들은 취득할 과외의 회로들을 명목상 요구하지 않는 데이터를 "채우기 위해" 미리 정의된 규칙적인 시간 간격으로 샘플링된 데이터 간을 보간한다.
하나의 실시예에서, 전체, 미세 해상도 눈 다이어그램을 생성하기 위해 단위 간격(unit interval)(UI) 당 적어도 하나의 샘플이 생성된다. UI 간격 샘플들 사이의 시간 점들에서 데이터는 눈 다이어그램을 생성하기 위해, 아래에서 더 설명되는 다수의 보간 프로세스들을 통해 단위 UI 당 데이터를 전달함으로써 생성된다. 본 개시의 다음의 설명이 눈 다이어그램을 생성하기 위해 UI 당 하나의 데이터 샘플을 수집하는 것을 참조하여 설명되지만, 본 개시의 실시예들은 UI 당 다수의 샘플들을 사용하여 또는 상이한 시간들에서 상이한 수의 샘플들을 사용하여 눈 다이어그램을 생성하는 것에 동일하게 적용 가능하며, 따라서 결과적으로 UI 당 샘플들의 수가 정수가 아니라는 것이 이해된다.
본 개시의 실시예들은, 예를 들어, 디지털 신호 프로세서(DSP)에 의해 등화되거나 또는 등화되지 않은 데이터로부터 눈 다이어그램을 생성하는데 사용될 수 있다. 더욱이, 눈 다이어그램을 형성하는 것 외에도, 본 개시의 실시예들은 통신 링크의 수직 퍼즈(fuzz) 두께, 수평 퍼즈 두께, 교차 지터 및 통신 링크의 많은 다른 특성들을 결정함으로써 통신 링크 품질을 평가하는데 사용될 수 있다.
아래에서 상세히 설명되는 바와 같이, 본 개시의 실시예들은 정확한 눈 다이어그램의 생성을 가능하게 하는 데이터 세트를 생성하기 위해 통신 링크의 데이터 샘플러에 의해 규칙적인 시간 간격으로 수집되는 데이터 샘플들 간을 보간하도록 적응된다. 다르게 말하면, 중간 시간 점들에서 샘플들을 캡처하는 대신, 본 개시의 실시예들은 그렇지 않으면 추가적인 회로들을 요구할 데이터를 "채우기"위하여 이미 캡처된 데이터 샘플들 간을 보간한다. 예를 들어, 슬라이서가 T1, T1 + 1*UI, T1 + 2*UI... T1 + N*UI의 규칙적인 단위 시간 간격들(UI)에서 데이터를 샘플링하도록 적응된다고 가정한다. 눈 다이어그램을 생성하기 위해, 슬라이서의 타이밍 오프셋을, 예를 들어 ¼UI만큼, 시프트하는 대신, 시간 T1 + 1.25*UI, T1 + 2.25*UI... T1 + (N+.25)*UI에서 데이터 샘플들을 수집하기 위해, 본 개시의 실시예들은, T1 + 1.25*UI, T1 + 2.25*UI... T1 + (N+.25)*UI에서 누락 데이터의 정확한 추정을 제공하기 위해, T1, T1 + 1*UI, T1 + 2*UI... T1 + N*UI에서 수집된 샘플들 간을 보간한다. 본 개시에서 사용되는 바와 같이, 보간 및 미소 지연(fractional delay)이란 용어들은 교환 가능한 것으로 간주된다.
하나의 실시예에서, 데이터 보간은 계수들이 온-칩인 판독전용 메모리(ROM)와 같은 저장 매체에 저장되는 유한 길이 디지털 필터를 사용하여 수행된다.
보간이 필터의 지연을 수량 D만큼 시프트함으로써 수행된다고 가정된다. Z 도메인 지연은 다음과 같이 이산 시간 푸리에 변환(discrete time Fourier transform)(DTFT)으로서 쓰여질 수 있다:
여기서 ω=2πfT이고, T는 샘플링 간격을 나타낸다.
지연의 DTFT는 다음과 같이 쓰여질 수 있다:
역 DTFT는 아래에 도시된 바와 같이 컴퓨팅될 수 있다:
표현식 (3)은 다음과 같이 추가로 쓰여질 수 있다:
도 1은 11 개의 탭들을 포함하는 필터를 특징화하는 함수에 의해 정의되는 플롯을 도시한다. 플롯(10) 상의 실선 원에 의해 식별되는 점들은 각각의 시간 간격들(-5*UI, -4*UI, -3*UI, -2*UI, -UI, 0 UI, 2*UI, 3*UI, 4*UI 및 5*UI)에서 발생한다. 싱크(sinc) 함수가 0.3*UI 시간 단위만큼 시프트되도록 필터 계수들이 선택되면, 플롯(12)이 획득되며 따라서 실선 원에 의해 식별된 점들이 각각의 시간 간격들(-5*UI, -4*UI, -3*UI, -2*UI, -UI, 0 UI, 2*UI, 3*UI, 4*UI 및 5*UI)에서 샘플링되게 한다.
도 1에서 알 수 있는 바와 같이, 함수는 사이드 로브들이 천천히 감쇠(decay)하는 발진 및 감쇠 탭 값들을 갖는다. 일부 실시예들에서, 비교적 긴 필터가 보간을 위해 사용된다. 보간 프로세스가 적용되는 간격은 1UI로 제한될 필요가 없다는 것이 이해된다. 더 짧은 또는 더 넓은 범위의 UI의 임의의 정수배, UI의 분수, 또는 UI의 분수에 더하여 정수배가 사용될 수 있다. 보간이 수행되는 범위는 대칭적일 필요가 없고 0에 의해 정의되는 시간 점을 포함할 필요도 없다는 것이 또한 이해된다.
필터는 K 개의 탭들을 갖는 것으로 가정한다. UI 당 M 개의 지연 양자화 단계들을 갖는 것이 바람직하다고 추가로 가정한다. 지연 양자화는 눈 다이어그램의 수평 해상도를 결정한다. M의 값이 더 클수록, 보간 수가 더 클 것이며, 결국, 눈 다이어그램에서 세부사항들이 더 많고 더 미세해지게 한다는 것이 이해된다.
그러므로, K 개의 탭들을 갖는 필터와, UI 당 M 개의 양자화 단계들에 대해, K*M 개의 계수들이 위의 에 의해 정의된 필터에 요구된다. 지연 량(D)만큼 시프트를 수행하기 위해, h(1+D), h(M+1+D), h(2*M+1+D)...의 K 개의 샘플들이 필터 계수로서 선택된다. 필터 탭들을 변경함으로써, 상이한 지연들이 성취된다.
예를 들어, 슬라이서가 1 개의 UI만큼 떨어져 있는 규칙적인 시간 간격들에서 샘플링된 천 개의 데이터 포인트들을 생성했다. 본 개시의 실시예들에 따라 위에서 설명된 바와 같이, 보간에 의해 0.25UI, 0.5 UI 및 0.75UI에서 데이터를 결정하는 것이 바람직하다. 선택된 필터는 13 개의 탭들을 갖는 것이 더 바람직하다. 이를 성취하기 위해, 필터 함수는 13 개의 탭들에 대한 연관된 필터 계수들을 생성하기 위해 0.25UI만큼 지연된다. 0.25UI 지연에 연관되는 필터 계수들은 그 후에 천 개의 데이터 포인트들의 시간에 13 개의 데이터 포인트들에 적용되어, 필터에 의해 생성된 천 개의 데이터 포인트들의 제1 세트를 생성한다. 제1 세트의 필터에 의해 생성된 천 개의 포인트들은 그 다음에 0.25 UI에서 데이터를 생성하기 위해 보간된다. 다음으로, 필터 함수는 필터에 의해 생성된 천 개의 데이터 포인트들의 제2 세트를 생성하기 위해 천 개의 샘플들의 시간에 13 개의 데이터 포인트들에 적용되는 다른 필터 계수 세트를 생성하기 위해 0.5UI만큼 지연된다. 제2 세트의 필터에 의해 생성된 천 개의 포인트들은 그 다음에 0.5 UI에 데이터를 생성하기 위해 보간된다. 다음으로, 필터 함수는 필터에 의해 생성된 천 개의 데이터 포인트들의 제3 세트를 생성하기 위해 천 개의 샘플들의 시간에 13 개의 데이터 포인트들에 적용되는 다른 필터 계수 세트를 생성하기 위해 0.75UI만큼 지연된다. 제3 세트의 필터에 의해 생성된 천 개의 포인트들은 그 다음에 0.75 UI에서 데이터를 생성하기 위해 보간된다.
필터 함수 및 그것의 특성들이 미리 알려져 있기 때문에, 원하는 지연 값마다의 필터 계수들은 또한 미리 생성될 수 있고 ROM과 같은 메모리에 저장될 수 있다. 지연 량을 특정하면 해당 필터 계수들이 저장되는 주소가 제공된다. 눈 다이어그램의 수평 해상도는 보간 프로세스를 위한 시간 지연들을 선택함으로써 변경될 수 있다. 시간 지연들 사이의 단계들은 균일하거나 또는 불균일할 수 있다. 데이터 샘플들은 ADC 또는 임의의 다른 적합한 회로부에 의해 공급될 수 있다.
하나의 실시예에 따라, 눈 다이어그램은 아래에서 설명되는 바와 같이 생성될 수 있다. 먼저, 데이터 샘플 세트가 수집되고 온칩 또는 오프칩일 수 있는 정적 랜덤 액세스 메모리(static random access memory)(SRAM)와 같은 스토리지 어레이 안에 저장된다. 다음으로, 보간 프로세스를 위한 원하는 시간이 선택된다. 캡처된 데이터는 그 다음에 원하는 시간의 신호를 나타내는 시간 시프트된 보간된 데이터 샘플 세트를 생성하기 위해 보간 프로세스를 통해 전달된다. 그 후, 그렇게 생성된 데이터 샘플들로부터의 데이터 샘플들의 히스토그램이 원하는 시간에 대응하는 행렬 열에 저장된다. 히스토그램은 원하는 시간 점에서의 전압 샘플들의 분포이다. 전압 샘플들은 행렬 행들에 저장된다. 위에서 설명되는 프로세스는 그 다음에 선택된 시간 간격들을 커버하는 원하는 시간 점들에 대한 데이터가 생성되기까지 반복된다. 시간 및 전압들을 각각 나타내는 행렬 열 및 행들에서의 데이터는 그 다음에 눈 다이어그램을 생성하는데 사용된다. 본 개시의 실시예들은 눈 다이어그램의 특정한 영역들에서 더 많은 세부사항들을 제공하기 위해 불균일한 샘플링에 동일하게 적용된다는 것이 이해된다.
하나의 실시예에서, 보간 프로세스는 미소 지연 필터들(Fractional Delay Filters)(FDF들)이라고 흔히 지칭되는 필터들의 클래스에 의해 수행될 수 있다. 이러한 필터들은 유한 임펄스 응답(Finite Impulse Response)(FIR), 패로우(Farrow) 구조, 또는 다상 표현과 같은 많은 형태들로 실현될 수 있다. 본 개시의 실시예들은 임의의 특정 유형의 필터로 제한되지 않는다는 것이 이해된다.
하나의 실시예에서, FDF는 N*UI 범위에 걸쳐 있는 절사된 싱크(truncated sinc) 또는 레이즈드 코사인(raised cosine) 필터 함수에 의해 특징화되는 보간 필터 함수의 오버샘플링된 사본, 즉, UI 당 M 개의 샘플들을 생성하는데 사용된다. 필터의 오버샘플링은 보간 스텝 사이즈를 정의한다. 보간은 데이터를 필터링하기 위해 K 개의 M 간격 탭들을 선택하는 것을 포함한다. 예를 들어 제1 보간 필터는 필터의 탭들(1, M+1, 2*M+1,...)을 포함할 수 있다. 1/M*UI 시간 간격으로 보간하기 위해, 캡처된 데이터는 필터의 탭들(2, M+2, 2*M+2,...)을 포함하는 필터로 필터링된다. 이 프로세스는 원하는 간격이 커버되기까지 반복된다.
다른 실시예에 따라, 눈을 FDF로 스위프하기 위해, 원하는 시간 단계를 보간하는 단일 보간 필터가 사용될 수 있다. 이러한 실시예들에서, 제1 보간된 데이터 세트는 캡처된 데이터를 필터링함으로써 생성된다. 제2 보간된 데이터 세트는 제1 보간된 데이터 세트를 동일한 필터로 필터링하고 동일한 필터 계수들을 사용함으로써 생성된다. 제2 보간된 데이터 세트는 따라서 제1 보간된 데이터 세트로부터 하나의 시간 단계, 또는 원래 캡처된 데이터로부터 두 개의 시간 단계들이 지연된다. 이 프로세스는 보간을 위한 전체 시간 간격이 커버되기까지 반복될 수 있다.
다른 실시예에서, 보간 프로세스는, 이를테면 라그랑즈(Lagrange) 보간 또는 스플라인(spline) 보간을 사용함으로써 대수적으로 성취될 수 있다. 예를 들어, 다항식 함수가 보간을 수행하는데 사용될 수 있다. 다항식의 계수들이 변경됨에 따라 보간 점이 변경된다. 임의의 보간 기법이 본 개시의 실시예들에 따라, 눈 다이어그램을 형성하는데 사용될 수 있다는 것이 이해된다.
도 2는 예시적인 멀티비트 ADC에 의해 양자화되는 그리고 슬라이서에 의해 캡처되는 4 레벨 펄스 진폭 변조(4 level Pulse Amplitude Modulation)(PAM4) 데이터를 도시한다. 원하는 4 개의 신호 레벨들이 거의 ±10 및 ±30 밀리볼트에서 가시적이다. 도 3은 도 2에 도시된 데이터의 히스토그램이다. 도 4는 UI의 1/64의 세분도를 갖는 타이밍 오프셋들(지연들)을 생성하는데 사용될 수 있는 예시적인 필터 ― 즉, 필터는 UI 당 64 개의 탭들을 갖고 12UI에 걸쳐 있음 ― 의 응답 특성들을 도시한다. 필터 특성들은 의 롤오프를 갖는 레이즈드 코사인 함수에 의해 정의된다.
도 5는 UI를 통해 방식의 20/64번째에 의해 정의되는 지연을 위해 사용될 도 4의 필터 계수들의 서브세트를 도시한다. 32/64번째가 0의 시간 점으로서 정의되면 시프트는 UI를 통해 방식의 12/64번째에 대응한다. 도 6은 중심으로부터 -12/64번째의 시간 오프셋에서의 보간된 데이터 샘플들의 히스토그램이다. 도 7은 위에서 설명되고 추가로 도 2 내지 도 6을 참조하여 도시된 바와 같은 1UI에 걸쳐 보간 프로세스를 사용하여 그리고 도 2에 도시된 데이터로부터 생성되는 눈 다이어그램의 일 예이다.
위에서 설명된 바와 같이, 일부 실시예들에서 레이즈드 코사인 필터 함수는 아래에서 정의되는 바와 같이 보간을 위해 사용된다:
도 4에 도시된 바와 같이, 레이즈드 코사인 필터는 사이드로브들이 얼마나 빨리 소멸되는지를 결정하는 롤오프 파라미터(β)를 포함한다. 도 8의 플롯들(310, 320, 330 및 340)은 각각 0, 0.25, 0.5 및 1의 파라미터 값들에 대해 위에서 정의된 레이즈드 코사인 함수를 도시한다. 하나의 예에서, .8의 롤오프 파라미터(β) 값이 사용된다.
눈 다이어그램을 생성하는 것 외에도, 본 개시의 실시예들은 눈 다이어그램 데이터가 저장되는 행렬로부터 눈 높이 및 눈 폭의 측정결과들을 생성하는데 사용될 수 있다. 도 9의 다이아몬드 플롯들(410, 420 및 430)은 각각 도 7에 도시된 눈 다이어그램의 상단, 중간 및 하단 근처에서의 영역들의 윤곽들을 97% 신뢰 수준과 1e-4.028의 비트 에러 율로 도시한다. 신뢰 수준 및 비트 에러 율은 눈 다이어그램을 생성하기 위해 캡처되었던 점 갯수의 함수이다. 일부 실시예들에서, 눈 높이는 내부 눈 윤곽의 더 상세한 뷰를 생성하기 위해 x-축을 따르는 각각의 보간 점에서 컴퓨팅될 수 있다. 도 10의 플롯들(510, 520 및 530)은 각각 눈 높이가 x축을 따르는 각각의 보간 점에서 컴퓨팅될 때와 같이 도 7에 도시된 눈 다이어그램의 상단, 중간 및 하단 근처의 영역들의 윤곽들을 97% 신뢰 수준 및 1e-4.028의 비트 에러 율로 도시한다. 신뢰 수준 및 비트 에러 율은 눈 다이어그램을 생성하기 위해 캡처되었던 점 갯수의 함수이다.
도 11a는 본 개시의 하나의 실시예에 따라, 눈 다이어그램을 생성하는 흐름도(600)이다. 602에서, 초기 시간(time_init), 시간 스텝 사이즈(time-step), 및 종료 시간(time_end)에 의해 정의되는 시간 오프셋(time_offset)이 정의된다. 604에서, 보간 프로세스는 선택된다. 608에서, 보간 프로세스는 606에서 수집된 데이터 세트와 602에서 정의된 시간 오프셋을 사용하여 수행된다.
610에서, 보간된 데이터의 히스토그램은 생성되고 시간 오프셋에 의해 정의된 행렬(eye_matrix)의 열에 대응하는 메모리에 저장된다. 612에서, 시간 오프셋은 종료 시간과 비교된다. 시간 오프셋이 종료 시간 미만이면, 프로세스는 602으로 이동하여 시간 단계를 증가시키고 보간을 반복한다. 시간 오프셋이 종료 시간 미만이 아니면, 프로세스는 종료된다.
도 11b는 도 11a에 도시된 흐름도의 더 상세한 도면이다. 1102에서 상이한 시간들에서 샘플링된 N 개의 데이터 포인트들이 캡처된다. 샘플들이 캡처되는 시간들은 규칙적인 시간 간격들의 끝에서 발생할 수 있거나 또는 발생하지 않을 수 있다. 1104에서, N 개의 데이터 샘플들이 그 다음에 한 번에 K 개의 데이터 포인트들씩, K 개의 탭들을 갖는 필터에 적용되고 제1 지연만큼 시프트되어 N 개의 보간된 데이터의 제1 세트를 생성한다. 다음으로 1106에서, 필터 지연 시프트는 점증된다. 1108에서, N 개의 데이터 샘플들이, 한 번에 K 개의 데이터 포인트들씩, 지연 시프트된 필터에 적용되어 N 개의 보간된 데이터의 다른 세트를 생성한다. 1110에서, 필터가 원하는 모든 지연들만큼 시프트되었다는 결정이 이루어지면, N 개의 보간된 데이터의 세트들은 샘플링된 데이터와 함께 사용되어 눈 다이어그램을 생성한다. 1110에서, 필터가 원하는 모든 지연들만큼 시프트되지 않았다는 결정이 이루어지면, 프로세스는 1106으로 복귀하고 반복된다.
도 11c는 아날로그 파형(80)으로부터 캡처된 원들을 사용하여 식별되는, 예시적인 7 개의 데이터 샘플들(22, 24, 26, 28, 30, 32, 34)을 도시한다. 예시적인 하나의 실시예에 따라, 3 개의 탭들을 갖는 필터가 삼각형들을 사용하여 식별된 보간된 데이터를 생성하는데 사용된다. 화살표들(C1, C2, C3)은 보간된 데이터(40)를 생성하기 위해 데이터 샘플들(22, 24, 26)에 적용되는 필터 계수들을 나타낸다. 화살표 길이들은 필터 계수들의 상대적 가중값들을 나타낸다. 유사하게, 화살표들(C4, C5, C6)은 보간된 데이터(42)를 생성하기 위해 데이터 샘플들(28, 30, 32)에 적용되는 필터 계수들을 나타낸다. 나머지 보간된 데이터는 동일한 방식으로 생성된다는 것이 이해된다.
도 12는 본 개시의 하나의 실시예에 따라, 예를 들어, 눈 다이어그램, 펄스 응답 등을 생성함에 있어서의 사용을 위해 보간된 데이터를 제공하도록 구성되는 수신기(800)의 단순화된 고레벨 블록도이다. 수신기에 의해 수신되는 데이터는, 다른 기능들 중에서, 임피던스 정합, 신호 등화, 및 가변 이득 증폭을 제공하거나, 또는 수신된 신호를 아날로그-디지털 변환기(ADC)(804)에 전하도록 적응되는 아날로그 프로세싱 유닛(802)에 전달된다. 아날로그-디지털 변환기(ADC)(804)는 클록 소스(806)에 의해 공급되는 클록 신호를 사용하여 아날로그 프로세싱 유닛(802)의 아날로그 출력 신호를 디지털 신호로 변환하도록 적응된다.
디지털 신호 프로세서(DSP)(806)는 클록 소스(806)에 의해 공급되는 클록 신호를 사용하여 ADC(804)에 의해 공급되는 데이터 샘플들에 대해, 다른 기능들 중에서, 디지털 등화, 피드포워드 등화, 및 결정 피드백 등화 중 하나 이상을 수행하도록 적응된다. 클록 복구 유닛(810)은 DSP(806)에 의해 공급되는 데이터로부터 클록 신호를 복구하고 복구된 클록 신호를 클록 소스(806)에 동기화를 위해 공급하도록 적응된다. DSP(806)에 의해 공급되는 데이터는 인터페이스(812)를 통해 통신 링크의 상위 계층들에 전송될 수 있다.
ADC(804)에 의해 샘플링된 데이터는 또한 파형 복원 유닛(850)의 데이터 수집 유닛(852)에 전달된다. 데이터 수집 유닛(852)은 정적 랜덤 액세스 메모리(SRAM) 또는 임의의 다른 데이터 저장 매체일 수 있다. 제어 로직(854)은 주어진 시간 오프셋에 연관되는 필터 계수를 선택하고 필터(856)로 하여금 보간된 데이터를 생성하기 위해 선택된 필터 계수들을 사용하여 데이터 수집 유닛(852)에 저장된 데이터를 필터링하도록 적응된다. 각각의 시간 오프셋에 대해, 파형 복원 로직(858)은 눈 다이어그램(860)을 생성하기 위해, 제어 로직(803)에 의해 지시될 때, 보간된 데이터로부터 히스토그램을 생성하도록 적응된다. 파형 복원 로직(858)은 제어 로직(803)에 의해 그렇게 지시될 때 각각의 시간 오프셋에 대해 보간된 데이터로부터 펄스 응답을 생성하도록 적응된다.
K*M 개의 탭들의 길이인 응답 특성들 을 갖는 필터에 의해 보간이 수행되는 하나의 실시예에서, 눈 다이어그램을 생성하기 위해, 초기 타이밍 오프셋(D)이 먼저 정의된다. 필터 계수들의 서브세트는 위에서 설명된 바와 같이 시간 시프팅에 의해 K 개의 서브샘플들을 생성할 수 있다. 따라서, D는 0<=D <M에 의해 정의된 범위를 갖는다. 데이터는 그 다음에 h(1+D), h(2+D), h(3+D),... h(K+D)에서 각각이 K 개의 샘플들을 포함하는 M 개의 보간 필터들 중 하나의 보간 필터로 필터링된다. 다음으로, 확률 밀도 함수가 타이밍 오프셋(D)에서 눈 다이어그램에 대해 생성된다. 그 후, D는 하나의 시간 단계만큼 점증되고 프로세스는 반복된다.
일부 실시예들에서, 보간은 디지털 신호 프로세싱(digital signal processing)(DSP) 동작이 수신기에서 적용되기 전 또는 후 중 어느 하나에서 채널에 대한 밀집 샘플링된(densely-sampled) 펄스 응답을 형성하는데 사용될 수 있다. 펄스 응답은 그 다음에 채널 품질 및 등화 효율성을 결정하기 위해 플롯 및/또는 분석될 수 있다. 펄스 응답은 보간 간격과 동일한 탭 간격을 갖는 필터를 사용하고 시스템 식별이라고 지칭되는 기법을 사용하여 필터를 적응시킴으로써 생성될 수 있다. 이를 성취하기 위해, 송신된 데이터 심볼들(이상적인 심볼들)은 먼저 캡처된 데이터로부터 복구된다. 그 다음에 필터는, 이상적인 샘플들이 적응된 필터에 적용될 때, 필터의 출력은 캡처된 데이터와 일치하도록 적응된다. 따라서, 적응된 필터는 송신기부터 수신기까지의 채널의 모델이 된다. 이러한 필터는 세트 길이를 가질 필요가 없고 보간이 수행되는 방식에 의해 제한되지 않는다.
다른 실시예에 따라, 펄스 응답은 현재 시간 샘플인 것으로 간주되는 것과 이전 또는 이후 샘플들 사이의 상관들로부터 획득된다. 보간 없이는 펄스 응답의 세분도는 UI 당 1 포인트로 제한된다. 보간의 사용으로, 본 개시에서 설명되는 바와 같이, 펄스 응답의 세분도는 M 배만큼 개선될 수 있으며, 여기서 M은 보간 필터의 오버샘플링 레이트이다. UI 펄스 응답 당 1 포인트를 먼저 획득하고 해당 응답을 전체 (K*M) 보간 필터로 컨볼빙함으로써 더 미세한 세분도 펄스 응답이 동등하게 획득될 수 있다.
하나의 실시예에서, 위에서 설명된 바와 같이 생성되는 펄스 응답은, 심볼 간 간섭만을 고려하기 위해서 노이즈 없는 눈 다이어그램을 생성하는데 사용된다. 이는 위에서 설명된 바와 같이 생성된 고해상도 펄스 응답들 중 하나를 통해 이상적인 데이터 심볼들을 전달함으로써 획득될 수 있다. 위에서 설명된 복구된 심볼들을 사용하여, 수신된 신호 품질에 대한 지터 및 잡음의 영향은 결정될 수 있다. 하나의 실시예에서, 이는, 위에서 설명된 바와 같이, 데이터 캡처로부터 생성되는 복원된 아날로그 파형을 펄스 응답으로부터 구성되는 아날로그 파형과 복구된 심볼들과 비교(예컨대, 오버레이, 차분 등)함으로써 성취될 수 있다.
하나의 실시예에서, 데이터 캡처들은 특정 비트 패턴들(예컨대, 론(lone) 비트, 또는 나이퀴스트(Nyquist) 패턴)을 취출하기 위해 마스킹될 수 있다. 마스킹은 원하는 비트들만이 수집되는 경우 온 다이(on-die)로 행해질 수 있다. 마스킹은 또한 캡처된 데이터를 통해 시프트되고 원하는 비트들만을 사용하여 히스토그램들을 생성함으로써 수행될 수 있다.
도 14는 집적 회로를 나타내는 설계 데이터 및 명령어들을 변환하고 검증하기 위해 집적 회로와 같은 제조물품의 설계, 검증, 및 제작 동안 사용되는 예시적인 프로세스들의 세트(700)를 예시한다. 이들 프로세스들의 각각은 다수의 모듈들 또는 동작들로서 구조화되고 가능화될 수 있다. 'EDA'라는 용어는 'Electronic Design Automation'라는 용어를 의미한다. 이들 프로세스들은 설계자에 의해 공급되는 정보로 제품 아이디어(710)의 생성을 시작하고, 정보는 EDA 프로세스들의 세트(712)를 사용하는 제조물품을 생성하도록 변환된다. 설계가 완료될 때, 설계는 테이프아웃(tape-out)되며(734), 집적 회로에 대한 아트워크(예컨대, 기하학적 패턴들)가 마스크 세트를 제조하기 위한 제작 시설에 보내진 다음, 집적 회로를 제조하는데 사용된다. 테이프아웃 후, 반도체 다이가 제작되고(736) 패키징 및 조립 프로세스들(738)은 완성된 집적 회로(740)를 생산하도록 수행된다.
회로 또는 전자 구조에 대한 사양들은 저수준 트랜지스터 재료 레이아웃들에서 고수준 디스크립션 언어들까지 다양할 수 있다. 고수준의 추상화가 VHDL, Verilog, SystemVerilog, SystemC, MyHDL 또는 OpenVera와 같은 하드웨어 디스크립션 언어(hardware description language)('HDL')를 사용하여 회로들 및 시스템들을 설계하는데 사용될 수 있다. HDL 디스크립션은 로직 수준 레지스터 전송 수준(register transfer level)('RTL') 디스크립션, 게이트 수준 디스크립션, 레이아웃 수준 디스크립션, 또는 마스크 수준 디스크립션으로 변환될 수 있다. 덜 추상적 디스크립션인 더 낮은 각각의 추상화 수준은 더 유용한 세부사항, 예를 들어, 디스크립션을 포함하는 모듈들에 대한 더 많은 세부사항들을 설계 디스크립션에 추가한다. 덜 추상적 디스크립션들인 더 낮은 추상화 수준들은 컴퓨터에 의해 생성, 설계 라이브러리로부터 도출, 또는 다른 설계 자동화 프로세스에 의해 생성될 수 있다. 더 상세한 디스크립션들을 특정하기 위한 더 낮은 추상화 언어 수준에서의 사양 언어의 예가 SPICE이며, 이는 많은 아날로그 컴포넌트들이 있는 회로들의 상세한 설명들을 위해 사용된다. 각각의 추상화 레벨에서의 디스크립션들은 해당 층의 대응하는 도구들(예컨대, 공식 검증 도구)에 의해 사용될 수 있다. 설계 프로세스가 그림 14에 묘사된 시퀀스를 사용할 수 있다. 설명되는 프로세스들은 EDA 제품들(또는 도구들)에 의해 가능화된다.
시스템 설계(714) 동안, 제조될 집적 회로의 기능이 특정된다. 설계는 소비 전력, 성능, 면적(물리적 및/또는 코드 라인들)과 같은 원하는 특성들, 및 비용의 절감 등을 위해 최적화될 수 있다. 설계의 상이한 유형들의 모듈들 또는 컴포넌트들로의 파티셔닝은 이 스테이지에서 일어날 수 있다.
로직 설계 및 기능 검증(716) 동안, 회로에서의 모듈들 또는 컴포넌트들은 하나 이상의 디스크립션 언어들에서 특정되고 그 사양은 기능 정확도에 대해 체크된다. 예를 들어, 회로의 컴포넌트들은 설계되고 있는 회로 또는 시스템의 사양의 요건들과 일치하는 출력들을 생성하기 위해 검증될 수 있다. 기능 검증은 시뮬레이터들과, 테스트벤치 생성기들, 정적 HDL 체커들, 및 공식 검증기들과 같은 다른 프로그램들을 사용할 수 있다. 일부 실시예들에서, '에뮬레이터들' 또는 '프로토타입화 시스템들'이라 지칭되는 컴포넌트들의 특수한 시스템들은 기능 검증을 고속화하는데 사용된다.
테스트를 위한 합성 및 설계(718) 동안, HDL 코드는 넷리스트(netlist)로 변환된다. 일부 실시예들에서, 넷리스트는 그래프 구조의 에지들이 회로의 컴포넌트들을 나타내고 그래프 구조의 노드들이 컴포넌트들이 상호연결되는 방법을 나타내는 그래프 구조일 수 있다. HDL 코드 및 넷리스트 둘 다는 집적 회로가, 제조될 때, 특정된 설계에 따라 수행함을 검증하기 위해 EDA 제품에 의해 사용될 수 있는 계층적 제조품들이다. 넷리스트는 타겟 반도체 제조 기술에 대해 최적화될 수 있다. 추가로, 완성된 집적 회로는 집적 회로가 사양의 요건들을 충족함을 검증하기 위해 테스트될 수 있다.
넷리스트 검증(720) 동안, 넷리스트는 타이밍 제약조건들에의 부합에 대해 그리고 HDL 코드와의 상응(correspondence)에 대해 체크된다. 설계 계획(722) 동안, 집적 회로에 대한 전체 평면도가 구성되고 타이밍 및 최상위 수준 라우팅에 대해 분석된다.
레이아웃 또는 물리적 구현(724) 동안, 물리적 배치(트랜지스터들 또는 커패시터들과 같은 회로 컴포넌트들의 포지셔닝) 및 라우팅(다수의 도체들에 의한 회로 컴포넌트들의 연결)은 일어나고, 특정 로직 기능들을 가능화하기 위한 라이브러리로부터의 셀들의 선택은 수행될 수 있다. 본 개시에서 사용되는 바와 같이, '셀'이란 용어는 부울 로직 함수(예컨대, AND, OR, NOT, XOR) 또는 저장 기능(이를테면 플립플롭 또는 래치)을 제공하는 한 세트의 트랜지스터들, 다른 컴포넌트들, 및 상호연결들을 특정할 수 있다. 본 개시에서 사용되는 바와 같이, 회로 '블록'이 둘 이상의 셀들을 의미할 수 있다. 셀 및 회로 블록 둘 다는 모듈 또는 컴포넌트로서 지칭될 수 있고 물리적 구조들로서 그리고 시뮬레이션들에서 모두 가능하게 된다. 파라미터들은 사이즈와 같은 선택된 셀들에 대해('표준 셀들'에 기초하여) 특정되고 EDA 제품들에 의한 사용을 위해 데이터베이스에서 액세스 가능해진다.
분석 및 추출(726) 동안, 회로 기능은 레이아웃 수준에서 검증되며, 이는 레이아웃 설계의 리파인먼트(refinement)를 허용한다. 물리적 검증(728) 동안, 레이아웃 설계는 DRC 제약조건들, 전기 제약조건들, 리소그래피 제약조건들과 같은 제조 제약조건들이 정확함과, 회로 기능이 HDL 설계 사양과 일치함을 보장하기 위해 체크된다. 분해능 향상(730) 동안, 레이아웃의 기하구조는 회로 설계가 제조되는 방법을 개선하기 위해 변환된다.
테이프아웃 동안, 데이터는 리소그래피 마스크들의 생산을 위해(리소그래피 향상들이 적절하다면 적용된 후) 사용되도록 생성된다. 마스크 데이터 준비(732) 동안, '테이프아웃' 데이터는 완성된 집적 회로들을 생산하는데 사용되는 리소그래피 마스크들을 생산하는데 사용된다.
컴퓨터 시스템(이를테면, 도 14의 컴퓨팅 시스템(900))의 저장 서브시스템은 본 개시에서 설명되는 EDA 제품들의 일부 또는 전부에 의해 사용되는 프로그램들과 데이터 구조들과, 라이브러리를 위한 셀들의 개발과 라이브러리를 사용하는 물리적 및 논리적 설계를 위해 사용되는 제품들을 저장하는데 사용될 수 있다.
도 14는 머신이 본 개시에서 논의되는 수법들 중 임의의 하나 이상을 수행하게 하는 명령어 세트가 실행될 수 있는 컴퓨터 시스템(900)의 예시적인 머신을 예시한다. 대체 구현예들에서, 머신은 LAN, 인트라넷, 엑스트라넷, 및/또는 인터넷에서 다른 머신들에 연결될(예컨대, 네트워킹될) 수 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 용량으로, 피어 투 피어(또는 분산) 네트워크 환경에서 피어 머신으로서, 또는 클라우드 컴퓨팅 인프라스트럭처 또는 환경에서 서버 또는 클라이언트 머신으로서 작동할 수 있다.
머신은 개인용 컴퓨터(personal computer)(PC), 태블릿 PC, 셋톱 박스(set-top box)(STB), 개인 정보 단말기(Personal Digital Assistant)(PDA), 셀룰러 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 머신에 의해 취해질 액션들을 특정하는 명령어 세트를(순차적 또는 다르게) 실행할 수 있는 임의의 머신일 수 있다. 게다가, 단일 머신이 예시되지만, "머신"이란 용어는, 본 명세서에서 논의되는 수법들 중 임의의 하나 이상을 수행하기 위한 명령어들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 머신들의 임의의 컬렉션을 포함하도록 또한 취해질 것이다.
예시적인 컴퓨터 시스템(900)은 프로세싱 디바이스(902), 메인 메모리(904)(예컨대, 판독전용 메모리(read-only memory)(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM) 이를테면 동기 DRAM(SDRAM), 정적 메모리(906)(예컨대, 플래시 메모리, 정적 랜덤 액세스 메모리(static random access memory)(SRAM) 등), 및 데이터 저장 디바이스(918)를 포함하며, 이것들은 버스(930)를 통해 서로 통신한다.
프로세싱 디바이스(902)는 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 프로세서들을 나타낸다. 더 상세하게는, 프로세싱 디바이스는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서, 또는 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세싱 디바이스(902)는 또한 주문형 집적회로(application specific integrated circuit)(ASIC), 필드 프로그램가능 게이트 어레이(field programmable gate array)(FPGA), 디지털 신호 프로세서(digital signal processor)(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스들을 포함할 수 있다. 프로세싱 디바이스(902)는 본 개시에서 설명되는 동작들 및 단계들을 수행하기 위한 명령어들(926)을 실행하도록 구성될 수 있다.
컴퓨터 시스템(900)은 네트워크(920)를 통해 통신하기 위해 네트워크 인터페이스 디바이스(908)를 더 포함할 수 있다. 컴퓨터 시스템(900)은 또한 비디오 디스플레이 유닛(910)(예컨대, 액정 디스플레이(liquid crystal display)(LCD) 또는 음극선관(cathode ray tube)(CRT)), 영숫자 입력 디바이스(912)(예컨대, 키보드), 커서 제어 디바이스(914)(예컨대, 마우스), 그래픽 프로세싱 유닛(922), 신호 생성 디바이스(916)(예컨대, 스피커), 그래픽 프로세싱 유닛(922), 비디오 프로세싱 유닛(928), 및 오디오 프로세싱 유닛(932)을 포함할 수 있다.
데이터 저장 디바이스(918)는 하나 이상의 명령어 세트(926) 또는 본 개시에서 설명되는 임의의 하나 이상의 수법들 또는 기능들을 채용하는 소프트웨어가 저장되는 머신 판독가능 저장 매체(924)(또한 비일시적 컴퓨터 판독가능 매체로서 알려짐)를 포함할 수 있다. 명령어들(926)은 또한, 컴퓨터 시스템(900)에 의한 실행 동안 메인 메모리(904) 내에 및/또는 프로세싱 디바이스(902) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 메인 메모리(904) 및 프로세싱 디바이스(902)는 또한 머신 판독가능 저장 매체를 구성한다.
일부 구현예들에서, 명령어들(926)은 본 개시에 해당하는 기능을 구현하기 위한 명령어들을 포함한다. 머신 판독가능 저장 매체(924)가 예시적인 구현예에서 단일 매체인 것으로 도시되지만, "머신 판독가능 저장 매체"라는 용어는 하나 이상의 명령어 세트들을 저장하는 단일 매체 또는 다수의 매체들(예컨대, 집중 또는 분산 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함하는 것으로 취해져야 한다. "머신 판독가능 저장 매체"라는 용어는 또한 머신에 의한 실행을 위한 그리고 머신 및 프로세싱 디바이스(902)로 하여금 본 개시의 임의의 하나 이상의 수법을 수행하게 하는 명령어 세트를 저장 또는 인코딩할 수 있는 임의의 매체를 포함하도록 취해진다. "머신 판독가능 저장 매체"라는 용어는 따라서 고체 상태 메모리들, 광 매체들, 및 자기 매체들을 비제한적으로 포함하는 것으로 취해져야 한다.
선행하는 상세한 설명들의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘들 및 심볼 표현들의 측면에서 제시되었다. 이들 알고리즘적 서술들 또는 표현들은 데이터 프로세싱 기술분야에서의 당업자들에 의해 그들의 작업의 실체를 그 기술분야의 다른 숙련자들에게 가장 효과적으로 전달하는데 사용되는 방식들이다. 알고리즘이 원하는 결과로 이어지는 동작들의 시퀀스일 수 있다. 이 동작들은 물리 량들의 물리적 조작들을 요구하는 하는 것들이다. 이러한 양들은 저장, 결합, 비교, 및 아니면 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취할 수 있다. 이러한 신호들은 비트들, 값들, 엘리먼트들, 심볼들, 캐릭터들, 용어들, 숫자들 등으로서 지칭될 수 있다.
그러나, 이들 및 유사한 용어들의 모두는 적합한 물리 량들에 연관될 것이고 이들 양들에 적용되는 단지 편리한 레이블들일뿐이라는 것을 명심해야 한다. 본 개시의 논의로부터 명백하듯이 구체적으로 다르게 언급되지 않는 한, 명세서 전체를 통해, 특정한 용어들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 양들로서 표현되는 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장 디바이스들 내의 물리량들로 유사하게 표현되는 다른 데이터로 조작 및 변환하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스들을 지칭한다는 것이 이해된다.
본 개시는 또한 본원에서의 동작들을 수행하는 장치에 관련된다. 이 장치는 의도된 목적들을 위해 특별히 구성될 수 있거나, 또는 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크들, 광 디스크들, CD-ROM들, 광자기 디스크들을 포함하는 임의의 유형의 디스크, 판독전용 메모리들(ROM들), 랜덤 액세스 메모리들(RAM들), EPROM들, EEPROM들, 자기 또는 광 카드들, 또는 전자적 명령어들을 저장하기에 적합하고 컴퓨터 시스템 버스에 각각이 커플링되는 임의의 유형의 매체들과 같지만 그것들로 제한되지는 않는 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
본 개시에서 제시된 알고리즘들 및 디스플레이들은 임의의 특정 컴퓨터 또는 다른 장치에 본질적으로 관련되지 않는다. 다른 다양한 시스템들이 본 개시에서의 교시들에 따른 프로그램들과 함께 사용될 수 있거나, 또는 방법을 수행하기 위한 더욱 특수한 장치를 구성하는데 편리함을 제공할 수 있다. 덧붙여서, 본 개시는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본 개시에서 설명된 바와 같은 개시내용의 교시들을 구현하는데 사용될 수 있다는 것이 이해될 것이다.
본 개시는 본 개시에 따라 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 디바이스들)을 프로그래밍하는데 사용될 수 있는 명령어를 저장하는 머신 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품, 또는 소프트웨어로서 제공될 수 있다. 머신 판독가능 매체가 머신(예컨대, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 머신 판독가능(예컨대, 컴퓨터 판독가능) 매체가 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스들 등과 같은 머신(예컨대, 컴퓨터) 판독가능 저장 매체를 포함한다.
전술한 개시에서, 본 개시의 구현예들은 그것의 예시적인 특정 구현예들을 참조하여 설명되었다. 다양한 수정들이 다음의 청구항들에서 언급되는 본 개시의 구현예들의 범위로부터 벗어남없이 본 개시에 대해 이루어질 수 있다는 것이 명백할 것이다. 본 개시가 일부 엘리먼트들을 단수 시제로 언급하는 경우, 하나를 초과하는 엘리먼트는 도면들에서 묘사될 수 있고 비슷한 엘리먼트들이 비슷한 숫자들로 라벨표시된다. 본 명세서와 도면들은, 따라서, 제한하는 의미가 아니라 예시적인 의미로 여겨져야 한다.
Claims (20)
- N 개의 연속하는 시간 점들에서 캡처되는 N 개의 샘플링된 데이터로부터 파형을 구성하는 방법으로서,
상기 N 개의 샘플링된 데이터 중 한 번에 K 개의 데이터를, K 개의 탭들을 포함하는 필터의 M 개의 지연된 복제본들 각각에 적용함으로써 NxM 개의 보간된 데이터를 생성하는 단계;
상기 N 개의 샘플링된 데이터 및 상기 NxM 개의 보간된 데이터를 사용하여 상기 파형을 구성하는 단계
를 포함하고, K, N 및 M은 정수들이고 K는 N보다 작은, 방법. - 제1항에 있어서, 상기 파형은 통신 링크 수신기의 품질을 특징화하는 눈 다이어그램인, 방법.
- 제1항에 있어서, 상기 파형은 통신 링크에 의해 수신되는 펄스 응답을 정의하는, 방법.
- 제1항에 있어서, 상기 필터는 유한 길이이고 비재귀적인(non-recursive), 방법.
- 제1항에 있어서, 상기 필터는 유한 길이이고 재귀적인, 방법.
- 제1항에 있어서, 상기 N 개의 데이터 포인트들은 주기적 시간 간격들로 샘플링되는, 방법.
- 제1항에 있어서, 상기 필터의 i 번째와 (i+1) 번째 지연된 복제본들 사이의 지연은 상기 필터의 (i+1) 번째와 (i+2) 번째 지연된 복제본들 사이의 지연과 동일한, 방법.
- 제1항에 있어서,
상기 필터의 지연된 복제본들 각각과 연관되는 필터 계수들을 판독전용 메모리에 저장하는 단계를 더 포함하는, 방법. - 제1항에 있어서, 상기 N 개의 샘플링된 데이터는 2Q 개의 레벨들에 의해 정의되고, Q는 2 이상의 정수인, 방법.
- 제1항에 있어서,
제2 보간된 데이터 세트를 생성하기 위해 상기 샘플링된 데이터 및 상기 NxM 개의 보간된 데이터의 서브세트를 상기 필터에 적용하는 단계를 더 포함하는, 방법. - N 개의 연속하는 시간 점들에서 캡처되는 N 개의 샘플링된 데이터로부터 파형을 구성하도록 구성되는 시스템으로서,
상기 N 개의 샘플링된 데이터를 수집하도록 적응되는 데이터 수집 유닛;
K 개의 탭들을 포함하는 필터;
상기 필터로 하여금 상기 필터의 M 개의 지연된 복제본들 각각에 대해 상기 N 개의 샘플링된 데이터 중 한 번에 K 개의 데이터 포인트들을 수신함으로써 NxM 개의 보간된 데이터를 생성하게 하도록 구성되는 제어 로직; 및
상기 N 개의 샘플링된 데이터 및 상기 NxM 개의 보간된 데이터를 사용하여 상기 파형을 구성하도록 구성되는 파형 구성 로직
을 포함하고, K, N 및 M은 정수들이고 K는 N보다 작은, 시스템. - 제11항에 있어서, 상기 파형은 통신 링크 수신기의 품질을 특징화하는 눈 다이어그램인, 시스템.
- 제11항에 있어서, 상기 파형은 통신 링크에 의해 수신되는 펄스 응답을 정의하는, 시스템.
- 제11항에 있어서, 상기 필터는 유한 길이이고 비재귀적인, 시스템.
- 제11항에 있어서, 상기 필터는 유한 길이이고 재귀적인, 시스템.
- 제11항에 있어서, 상기 필터의 i 번째와 (i+1) 번째 지연된 복제본들 사이의 지연은 상기 필터의 (i+1) 번째와 (i+2) 번째 지연된 복제본들 사이의 지연과 동일한, 시스템.
- 제11항에 있어서,
상기 필터의 지연된 복제본들 각각과 연관되는 필터 계수들을 저장하도록 적응되는 판독전용 메모리를 더 포함하는, 시스템. - 제11항에 있어서, 상기 N 개의 샘플링된 데이터는 2Q 개의 레벨들에 의해 정의되고, Q는 2 이상의 정수인, 시스템.
- 제11항에 있어서, 상기 필터는 실리콘 기판에 형성되는, 시스템.
- 명령어들을 포함하는 컴퓨터 판독가능 저장 매체로서,
상기 명령어들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
N 개의 샘플링된 데이터 중 한 번에 K 개의 데이터를, K 개의 탭들을 포함하는 필터의 M 개의 지연된 복제본들 각각에 적용함으로써 NxM 개의 보간된 데이터를 생성하게 하고;
상기 N 개의 샘플링된 데이터 및 상기 NxM 개의 보간된 데이터를 사용하여 파형을 구성하게 하고,
K, N 및 M은 정수들이고 K는 N보다 작은, 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962867462P | 2019-06-27 | 2019-06-27 | |
US62/867,462 | 2019-06-27 | ||
PCT/US2020/039867 WO2020264330A1 (en) | 2019-06-27 | 2020-06-26 | Waveform consruction using interploation of data points |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220027170A true KR20220027170A (ko) | 2022-03-07 |
Family
ID=71728908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227002501A KR20220027170A (ko) | 2019-06-27 | 2020-06-26 | 데이터 포인트들의 보간을 사용한 파형 구성 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11784783B2 (ko) |
EP (1) | EP3991298A1 (ko) |
KR (1) | KR20220027170A (ko) |
CN (1) | CN114041138A (ko) |
WO (1) | WO2020264330A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973288B (zh) * | 2024-04-01 | 2024-06-11 | 西安智多晶微电子有限公司 | 一种基于fpga dsp的滤波器ip生成系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6124542A (en) * | 1999-07-08 | 2000-09-26 | Ati International Srl | Wavefunction sound sampling synthesis |
US6469649B1 (en) * | 2000-03-08 | 2002-10-22 | Massachusetts Institute Of Technology | Narrowband analog to digital converter with suppressed second-order distortion |
US20020181612A1 (en) * | 2001-05-29 | 2002-12-05 | Motorola, Inc. | Monolithic, software-definable circuit including a power amplifier and method for use therewith |
US8467436B1 (en) * | 2009-04-29 | 2013-06-18 | Pmc-Sierra Us, Inc. | DSP-based diagnostics for monitoring a SerDes link |
US8855179B1 (en) | 2012-05-24 | 2014-10-07 | Pmc-Sierra Us, Inc. | Measuring impairments of digitized signals in data and timing recovery circuits |
-
2020
- 2020-06-26 KR KR1020227002501A patent/KR20220027170A/ko unknown
- 2020-06-26 EP EP20743437.4A patent/EP3991298A1/en active Pending
- 2020-06-26 WO PCT/US2020/039867 patent/WO2020264330A1/en active Application Filing
- 2020-06-26 US US17/619,213 patent/US11784783B2/en active Active
- 2020-06-26 CN CN202080046423.0A patent/CN114041138A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220247546A1 (en) | 2022-08-04 |
EP3991298A1 (en) | 2022-05-04 |
WO2020264330A1 (en) | 2020-12-30 |
CN114041138A (zh) | 2022-02-11 |
US11784783B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Knebe et al. | Multi-level adaptive particle mesh (MLAPM): ac code for cosmological simulations | |
Vandewalle et al. | Super-resolution from unregistered and totally aliased signals using subspace methods | |
US8635580B2 (en) | Preconditioning for EDA cell library | |
US8306803B2 (en) | Method and apparatus for assisting integrated circuit designing with a substrate coupling | |
CN113971383A (zh) | 分布式静态时序分析 | |
KR20220010768A (ko) | 머신 러닝 기반 인코딩을 이용한 전자 회로 레이아웃에서의 패턴들의 분류 | |
US11784783B2 (en) | Waveform construction using interpolation of data points | |
US10878155B2 (en) | System and method for estimating leakage power of circuit design at early stage | |
US10169518B1 (en) | Methods for delaying register reset for retimed circuits | |
Nuzzo et al. | Robustness in analog systems: Design techniques, methodologies and tools | |
Zhong et al. | Preroutgnn for timing prediction with order preserving partition: Global circuit pre-training, local delay learning and attentional cell modeling | |
US8104004B2 (en) | Logic performance in cyclic structures | |
Mirebrahimi et al. | Programmable discrete-time type I and type II FIR filter design on the memristor crossbar structure | |
CN117203636A (zh) | 用于波形传播的增强单元建模 | |
CN113239655B (zh) | 半导体电路的约束确定系统和方法 | |
CN110649912A (zh) | 空间滤波器的建模方法 | |
US11270052B2 (en) | System and method of timing characterization for semiconductor circuit | |
CN116438536A (zh) | 使用物理参数的扩充灵敏度数据建模时序行为 | |
KR20220139904A (ko) | 누설 전류들의 통계적 변화들을 갖는 동적 랜덤-액세스 메모리 패스 트랜지스터들의 설계 | |
CN106941381A (zh) | 基于分段埃尔米特插值的测控通信信号模拟方法和装置 | |
Parvathi | Machine learning based interconnect parasitic R, C, and power estimation analysis for adder family circuits | |
US11652475B1 (en) | Independent skew control of a multi-phase clock | |
Qui et al. | Cluster-based delta-QMC technique for fast yield analysis | |
US11017137B2 (en) | Efficient projection based adjustment evaluation in static timing analysis of integrated circuits | |
US20240281581A1 (en) | Library scaling for circuit design analysis |