정밀 PCB 제조, 고주파 PCB, 고속 PCB, 표준 PCB, 다중 계층 PCB 및 PCB 조립.
가장 신뢰할 수 있는 PCB 및 PCBA 맞춤형 서비스 팩토리
PCB 기술

PCB 기술 - 고속 PCB 설계에서 시퀀스 분석 및 시뮬레이션 정책 분석

PCB 기술

PCB 기술 - 고속 PCB 설계에서 시퀀스 분석 및 시뮬레이션 정책 분석

고속 PCB 설계에서 시퀀스 분석 및 시뮬레이션 정책 분석

2021-08-24
View:412
Author:IPCB

네트워크 통신 분야에서 ATM 교환기, 핵심 라우터, 기가비트 이더넷과 각종 게이트웨이 설비에서 시스템 데이터 속도와 시계 속도가 끊임없이 향상되고 해당 프로세서의 작업 빈도도 점점 높아진다;데이터, 음성 및 이미지 전송 속도는 500Mbps보다 훨씬 높으며 수백 메가바이트, 심지어 기가바이트의 백보드가 점점 더 보편화되고 있습니다.디지털 시스템 속도의 향상은 신호의 상승과 하강 시간이 가능한 한 짧다는 것을 의미하며, 디지털 신호의 주파수와 변두리율의 증가로 인한 일련의 고속 설계 문제도 갈수록 두드러지고 있다.신호의 상호 연결 지연이 가장자리 신호의 뒤집기 시간의 20% 보다 클 때 판의 신호선은 전송선 효과를 나타내는데 이런 설계는 고속 설계가 된다.고속 문제의 출현은 하드웨어 설계에 더욱 큰 도전을 가져왔다.논리적으로 볼 때 많은 설계가 정확하다.실제 PCB 설계에서 제대로 처리되지 않으면 전체 설계가 실패합니다.이런 상황은 갈수록 고속 인터넷을 추구한다.통신 분야가 더 뚜렷하다.전문가들은 미래의 하드웨어 회로 설계 비용에서 논리적 기능 설계의 비용이 크게 절감되고 고속 설계와 관련된 비용이 전체 비용의 80% 이상을 차지할 것으로 예측합니다.고속 문제는 이미 시스템 설계 성공의 중요한 요소 중의 하나가 되었다.


고속 문제로 인한 신호 과충, 하충, 반사, 진동, 직렬 교란 등은 모두 시스템의 정상적인 시퀀스에 심각한 영향을 줄 수 있다.시스템 시퀀스 여유의 감소는 디지털 파형 시퀀스와 품질에 영향을 미치는 다양한 현상에 대한 관심을 강요합니다.시간이 빨라짐에 따라 까다로워질 때, 시스템 원리에 대해 사전에 아무리 투철하게 이해했더라도 어떤 무지와 간소화도 시스템에 심각한 결과를 가져올 수 있다.고속 설계에서는 시간 문제의 영향이 더욱 중요합니다.본고는 고속 설계에서의 시차 분석과 모의 전략을 구체적으로 토론할 것이다.


1 일반 클럭 동기화 시퀀스 분석 및 시뮬레이션


고속 디지털 회로에서 데이터의 전송은 일반적으로 시계에 의해 제어되며 데이터 신호를 질서 있게 보내고 수신합니다.칩은 정해진 시퀀스로만 데이터를 보내고 받을 수 있다.과도한 신호 지연 또는 부적절한 신호 지연 일치는 신호 시퀀스 충돌과 기능 혼란을 초래할 수 있습니다.저속 시스템에서는 신호가 안정 상태에 도달할 수 있는 시간이 충분하기 때문에 상호 연결 지연이나 벨 진동과 같은 현상을 무시할 수 있습니다.그러나 고속 시스템에서는 가장자리 속도가 증가하고 시스템 시계 속도가 증가하며 장치 간의 신호 전송 시간과 동기화 준비 시간이 단축되며 전송 라인의 동등한 용량과 센싱도 신호의 디지털 변환 지연과 왜곡을 초래할 수 있습니다.게다가 신호 지연 부재 등 요소는 칩의 설정과 유지 시간에 영향을 미쳐 칩이 데이터를 정확하게 보내고 수신할 수 없어 시스템이 제대로 작동하지 않는다.


공용 시계 동기화란 데이터 전송 과정에서 버스의 구동단과 수신단이 같은 시계 소스를 공유하고, 같은 시계 버퍼 (clock buffer) 가 같은 시계를 보내 데이터 전송과 수신을 완료하는 것을 말한다.그림 1은 일반적인 범용 클럭 동기화 데이터 전송 및 수신 작업에 대한 다이어그램을 보여 줍니다.그림 1에서 크리스털 발진기 crystal은 클럭 분배기 clock BUFFER에 도달하는 출력 신호 CLK _ In을 생성합니다.CLOCK BUFFER는 버퍼를 할당한 후 DRIVER의 데이터 출력을 위한 CLKB의 두 개의 동상 시계를 보냅니다.다른 하나는 DRIVER에서 RECEIVER로 전송된 잠금 저장 데이터를 샘플링하는 CLKA입니다.시계 CLKB는 Tflt_CLKB(비행시간)의 비행시간 이후에 DRIVER에 도달합니다.DRIVER의 내부 데이터는 CLKB에 의해 잠겨 있으며 TCO_data 시간 후에 DRIVER의 출력 포트에 나타납니다.데이터를 출력하고 비행 시간 Tflt_data 이후 RECEIVER의 입력 포트에 도달합니다.RECEIVER의 입력 포트에서 clock BUFFER로 생성된 다른 클럭 CLKA(지연은 CLKA 클럭 비행 시간, 즉 Tflt_CLKA)를 사용하여 DRIVER의 이 데이터를 샘플링하고 잠그면 COMMON clock Process의 클럭 주기 데이터 전송이 완료됩니다.


위의 절차는 RECEIVER에 도달 한 데이터가 시계의 다음 주기의 상승 가장자리를 통해 샘플링된다는 것을 보여줍니다.데이터 전송에 필요한 두 가지 조건: 1.RECEIVER 입력단의 데이터에는 일반적으로 필요한 설정 시간 Tsetup이 있습니다.즉, 데이터는 클럭의 최소 시간 값 이전에 유효해야 합니다.데이터 신호는 시계 신호 이전에 입력단에 도달하여 설정 시간이 만족하는 부등식을 얻을 수 있어야 한다;2. 데이터 잠금을 장치에 성공적으로 저장하기 위해 데이터 신호는 수신 칩의 입력단에서 충분한 유효 시간을 유지하여 신호가 시계 샘플링에 의해 정확하게 잠겨 있는지 확인해야 한다.이 기간을 유지 시간이라고 합니다.CLKA 지연은 잘못된 데이터 시간(invalid)보다 작아야 합니다.유지시간에 만족하는 부등식을 얻을 수 있다.


1.1 데이터 구축 시간의 시차 분석


첫 번째 조건에 따라 데이터 신호는 클럭 CLKA 이전에 수신부에 도착하여 데이터를 올바르게 잠가야 합니다.공용 클럭 버스에서 첫 번째 클럭 주기의 기능은 데이터를 DRIVER의 출력에 잠그는 것이고, 두 번째 클럭 주기는 데이터를 RECEIVE의 내부에 잠그는 것이다. 이는 데이터 신호가 RECEIVE 입력에 도달하는 시간이 It가 클럭 신호 CLKA보다 충분히 빨라야 한다는 것을 의미한다.이 조건을 충족하기 위해서는 클럭과 데이터 신호가 수신기에 도달하는 지연을 확인하고 수신기 설정 시간 요구 사항을 충족하는지 확인할 필요가 있습니다.원하는 설정 시간보다 긴 시간 설정은 설정 시간 시간 여유 Tmargin 입니다.그림 1의 순서도에서 모든 화살표 선은 칩 내부나 전송선의 데이터 신호와 시계 신호가 발생하는 지연을 나타낸다.아래의 화살표 선은 첫 번째 클럭 모서리에서 RECEIVER가 입력한 데이터에 도달할 때까지 유효한 총 지연을 나타냅니다.위쪽 화살표 선은 수신된 클럭 CLKA의 총 지연을 나타냅니다.첫 번째 클럭 모서리에서 데이터가 RECEIVER 입력 포트에 도달할 때까지 총 지연은 다음과 같습니다.


TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA


클럭 CLKA를 수신하는 다음 주기의 총 지연은 다음과 같습니다.


TCLKA_DELAY=TCYCLE+TCO_CLKA+Tflt_CLKA


데이터 구축 시간을 충족하려면 다음이 필요합니다.


TCLKA_DELAY_MIN-TDATA_DELAY_MAX-Tsetup-Tmargin>0


클럭 디더링, Tjitter 등을 확장하고 고려할 때 다음과 같은 이점을 얻을 수 있습니다.


TCYCLE+(TCO_CLKA_MIN-TCO_CLKB_MAX)+(Tflt_CLKA_MIN-Tflt_CLKB_MAX)-TCO_DATA_MAX-Tflt_DATA_SETTLE_DELAY_MAX-Tjitter-Tsetup-Tmargin>0(1)


방정식 (1) 에서 TCYCLE 는 클럭의 클럭 주기입니다.첫 번째 괄호에서는 클럭 칩 clock BUFFER 출력 클럭 CLKA와 CLKB 간의 최대 위상 차이이며, 매뉴얼에서는 출력 출력 기울기라고 합니다.두 번째 괄호에서는 클럭 버퍼 칩이 출력하는 두 클럭 CLKA와 CLKB가 수신기와 드라이브 사이에 도달하는 최대 지연 시간입니다.

방정식 (1) 에서 TCO_DATA 는 특정 테스트 로드 및 테스트 조건에서 시계에서 데이터를 트리거하여 출력 포트에 나타나고 테스트 전압 Vmeas (또는 VREF) 임계값에 도달하는 시간 간격입니다.TCO_DATA의 크기는 칩의 내부 논리적 지연과 관련이 있습니다.시간, 버퍼 OUTPUT 버퍼 특성, 출력 부하 조건은 직접 관련되며 TCO는 칩 데이터 테이블에서 찾을 수 있습니다.


공식(1)에 따르면 Tflt_CLKB_MIN-Tflt_CLKB_MAX 및 Tflt_DATA_SETTLE_DELAY_MAX라는 두 개의 조정 가능한 부분만 있습니다.설정 시간을 개별적으로 충족하는 경우 Tflt_CLKA_MIN은 가능한 한 크고 Tflt_CLKB_MAX 및 Tflt_DATA_SETTLE_DELAY_MAX는 가능한 한 작아야 합니다.본질적으로 시계를 늦게 받고 데이터를 일찍 받아야 한다.

ATL

1.2 데이터 보존 시간에 대한 시차 분석


데이터 잠금을 장치 내부에 성공적으로 저장하려면 데이터 신호가 클럭 샘플링에 의해 제대로 잠겨 있는지 확인하기 위해 수신 칩의 입력 포트에서 신호가 충분히 오래 유효해야 합니다.이 기간을 유지 시간이라고 합니다.공용 클럭 버스에서 수신단 버퍼는 두 번째 클럭 모서리를 사용하여 데이터를 잠그고 드라이브는 다음 데이터를 데이터 전송단에 잠급니다.따라서 수신단의 유지 시간을 충족시키기 위해서는 다음 데이터 신호가 도착하기 전에 유효한 데이터가 수신단 트리거에 잠겨 있는지 확인할 필요가 있다.따라서 클럭 CLKA 수신 지연이 데이터 신호 수신 지연보다 작아야 합니다.


데이터 지연 시간:

TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA_SWITCH_DELAY


데이터 보존 기간을 충족하려면 다음을 수행해야 합니다.

TDATA_DELAY_MIN-TCLKA_DELAY_MAX-Thold-Tmargin>0


클럭 디더링 Tjitter와 같은 요소를 확장, 구성 및 고려하여 다음과 같은 관계를 얻을 수 있습니다.

(TCO_CLKB_MIN-TCO_CLKA_MAX)+(Tflt_CLKB_MIN-Tflt_CLKA_MAX)+TCO_DATA_MIN+TTflt_DATA_SWITCH_DELAY_MIN-Thold-Tmargin-Tjitter>0 2


방정식 (2) 에서 첫 번째 괄호는 여전히 클럭 칩 clock BUFFER 출력 클럭 사이의 최대 위상 차이입니다.두 번째 괄호는 클럭 칩이 출력하는 두 개의 클럭 CLKA와 CLKB가 각각 RECEIVER와 DRIVER에 도달하는 것으로 계속 이해됩니다. 데이터 유지 시간을 충족시키기 위해 실제로는 Tflt_CLKB_MIN-Tflt_CLKA_MAX와 Tflt_data_SWITCH_DELAY_MIN 두 개의 조절 부분만 있습니다.Tflt_CLKB_MIN 및 Tflt_DATA_SWITCH_DELAY_MIN은 유지 시간을 개별적으로 충족하는 관점에서 가능한 한 크고 Tflt_CLKA_MAX는 가능한 한 작아야 합니다.다시 말해서, 대기 시간을 충족시키려면 수신 시계를 앞당겨야 하고, 데이터는 나중에 무효화되어야 한다.


데이터를 올바르게 받기 위해서는 데이터의 구축 시간과 유지 시간, 즉 (1) 과 (2) 를 동시에 만족시키는 것을 종합적으로 고려해야 한다.이 두 부등식을 분석하면 전송 시계 지연, 수신 시계 지연, 데이터 지연 등 세 가지 조정 방식만 알 수 있다.조정 시나리오는 다음과 같습니다. 먼저 전송 클럭 지연이 수신 클럭 지연, 즉 Tflt_CLKA_MIN-Tflt_CLKB_MAX=0 및 Tflt_CLKB_MIN-Tflt_CLKA_MAX=0 과 동일하다고 가정한 다음 에뮬레이션을 통해 데이터 지연 범위를 얻을 수 있습니다.데이터 지연이 해결되지 않으면 전송 또는 수신 지연 시간을 조정하기 위해 위의 두 등식을 반환합니다.다음은 GLINK 버스 공용 클럭 동기화 데이터가 광대역 네트워크 스위치에서 전송 및 수신되는 예입니다. 먼저 전송 클럭의 지연이 수신 클럭의 지연과 동일하다고 가정한 다음 데이터의 지연 범위를 결정하고 매개 변수를 대체합니다. (1) 및 (2) 는 각각 다음과 같습니다.


1.5-Tflt_DATA_SETTLE_DELAY_MAX-Tmargin>0

0.5+Tflt_DATA_SWITCH_DELAY_MIN-Tmargin>0


부등식 프롬프트에서 실제 PCB 레이아웃과 결합하여 Tflt_DATA_SETTLE_DELAY_MAX<1.1;tflt_data_switch_delay_min>-0.1이며 나머지 0.4ns 여유는 두 시계의 시간 차이와 Tmargin에 할당됩니다.SPECCTRAQUEST에서 토폴로지를 추출하고 신호 무결성 시뮬레이션을 수행하여 각 세그먼트의 회선 길이와 토폴로지를 결정합니다.이 구조(총 12가지 조합)를 전체 스캔 시뮬레이션하여 Tflt_DATA_SETTLE_DELAY_MAX=1.0825Tflt_DATA_SWITCH_DELAY_MIN=0.0835004를 획득하여 1.1 및

-0.1 범위 지수.GLINK 버스 데이터 라인에 대한 구속 규칙은 다음과 같습니다. 1.정합 저항에서 송신단까지의 지연은 0.1ns 이상이어야 합니다.


2. 데이터 케이블은 0.1ns와 일치해야 합니다. 즉, 각 데이터 케이블은 0.65ns에서 0.75ns 사이여야 합니다. 위의 구속 규칙이 있으면 경로설정을 유도할 수 있습니다.


다음으로 "Tflt_CLKA_MIN-Tflt_CLKB_MAX=0 및 Tflt_CLKB_MIN-Tflt_CLKA_MAX=0"의 하드 규정의 영향을 고려합니다.전송 클럭과 수신 클럭의 길이는 동일합니다 (실제 작동 시 0.02ns 일치).CADENCE 환경에서 클럭 시뮬레이션을 수행한 결과는 다음과 같습니다: ⑥Tflt_CLKA_MIN-Tflt_CLKB_MA 상호 연결 X⑥<0.2 및 ⑥Tflt_CLKB_MIN-Tflt_CLKA_max⑥<0.2입니다.


최종 시뮬레이션 결과: 1.정합 저항과 발사단 사이의 지연은 0.1ns보다 커서는 안 된다;2.데이터 케이블은 0.1ns와 일치합니다. 즉, 각 데이터 케이블은 0.65ns에서 0.75ns 사이여야 합니다.3. 송신 시계와 수신 시계가 일치하며 길이가 같으며 0.02ns입니다.4. Tmargin = 0.2ns. 위의 토폴로지 템플릿 및 구속 규칙을 사용하여 SPECCTRAQUEST 또는 ALLEGRO를 CONSTRAINS MANAGER로 가져올 수 있습니다.이러한 설계 구속 규칙을 설정한 후에는 자동 라우터를 사용하여 규칙 제어 자동 경로설정 또는 수동 회선 조정을 수행할 수 있습니다.


2 소스 동기화 시퀀스 관계 및 에뮬레이션 인스턴스


소스 동기화란 클럭 게이트 제어 신호 CLK가 구동 칩에 의해 송신 데이터와 함께 전송되며 공용 클럭 동기화처럼 독립적인 클럭 소스를 사용하지 않습니다.원본 동기화 데이터 전송 및 수신에서 데이터는 먼저 수신단으로 전송된 다음 짧은 시간에 시계를 선택한 후 수신단으로 전송되어 이 데이터를 샘플링하고 잠금 저장하는 데 사용된다.설명도는 그림 2와 같습니다.소스 동기화는 공통 클럭 동기화보다 시퀀스 분석이 더 간단하며 분석 방법도 비슷합니다.분석 공식은 다음과 같이 직접 제공됩니다.


설정 시간: Tvb_min+(Tflt_clk_min-Tflt_data_settle_lay_max) - Tsetup Tmargin>0

유지시간: Tva_min+(Tflt_data_switch_delay min-Tflt_clk-max) - Thold Tmargin>0


여기서 Tvb는 드라이브 설정 시간으로 클럭이 유효하기 전에 드라이브 데이터가 유효한 시간을 나타냅니다.Tva는 송신기의 유지 시간으로 시계가 유효한 후 드라이브 데이터가 유효한 시간을 유지하도록 나타냅니다.다른 매개변수는 이전과 같은 의미를 갖습니다.이제 통신 회로에서 매우 일반적인 TBI 인터페이스를 예로 들어 소스 동기화 시퀀스 분석 및 시뮬레이션 프로세스를 소개합니다.TBI 인터페이스에는 전송 클럭과 10bit 전송 데이터, 두 개의 수신 클럭 및 10it 수신 데이터가 포함됩니다.RBC0과 RBC1은 두 개의 수신 클럭입니다.기가비트 이더넷에서 이 두 클럭의 주파수는 62.5MHz로 180도 차이가 난다.두 클럭의 상승은 데이터를 순차적으로 잠그는 데 사용됩니다.데이터 테이블의 타이밍 매개변수에 따라 이러한 공식을 대입할 수 있습니다.


2.5+Tflt_clk_min-Tflt_data__settle_delay_max-1-Tmargin>0

1.5+Tflt_data__switch_delay min-Tflt_clk-max-0.5-Tmargin>0


앞에서 언급한 분석 방법을 모방한다. 시계와 데이터 신호선의 비행 시간이 엄격하게 같다고 가정한다. 즉 시계와 데이터가 완전히 일치한다고 가정한 다음에 그들이 일치하지 않는 영향을 분석한다.위의 공식은


1.5-T 아르기닌>0

1-T 아르기닌>0


설정 시간과 유지 시간 모두 여유가 있음을 알 수 있다.시뮬레이션 결과 데이터와 클럭의 길이가 동일합니다 (0.02ns 일치의 경우). 그러나 여전히 0.3ns의 차이가 있습니다. 즉,


Tflt_clk_min-Tflt_data_settle_lay_max<0.3

Tflt_data_switch_delay 최소 - Tflt_clk_max<0.3


Tmargin=0.5ns를 취하면 시계와 데이터의 일치는 0.2ns입니다. 즉, 데이터와 시계의 길이 일치는 0.2ns를 초과해서는 안 됩니다.


실제 시뮬레이션에서 먼저 시계와 데이터의 신호 완전성을 분석하고 시뮬레이션하며 적당한 단접 매칭을 통해 더욱 좋은 수신 파형을 얻을 수 있다.그림 3은 무원단 매칭과 유원단 매칭 시계선의 서로 다른 시뮬레이션 파형 비교로 신호 완전성 시뮬레이션이 먼저 필요하다는 것을 알 수 있다.


범용 클럭 동기화에서는 데이터 전송 및 수신이 클럭 주기 내에 완료되어야 합니다.이와 동시에 부품의 지연과 PCB 흔적선의 지연도 공공시계버스의 최대리론작업주파수를 제한하였다.따라서 일반 클럭 동기화는 일반적으로 200MHz에서 300MHz 미만의 전송 속도에 사용됩니다.이 속도보다 높은 전송의 경우 일반적으로 소스 동기화 기술을 도입해야 합니다.소스 동기화 기술은 상대 클럭 시스템에서 작동하며 데이터와 클럭을 병렬 전송합니다. 전송 속도는 주로 데이터와 클럭 신호 간의 시간 차이에 의해 결정되므로 시스템이 더 높은 전송 속도를 달성할 수 있습니다.광대역 이더넷 스위치 호스트 및 서브보드의 신호 무결성 분석, 타이밍 분석 및 시뮬레이션을 통해 저자는 제품의 설계 주기를 크게 단축하고 고속 설계에서 신호 무결성, 타이밍 등의 문제를 분석 및 시뮬레이션을 통해 효과적으로 해결했습니다.이 문제는 설계 품질과 설계 속도를 충분히 보장하여 PCB 보드를 한 번에 통과할 수 있습니다.마더보드와 서브보드는 디버깅을 마치고 성공적으로 생산에 들어갔다.