Định tuyến tín hiệu tốc độ cao: 10 ràng buộc thiết kế PCB quan trọng

Zachariah Peterson
|  Created: Tháng Tư 29, 2020  |  Updated: Tháng Mười 1, 2026
At a Glance

Chiến lược định tuyến tín hiệu tốc độ cao của bạn đòi hỏi sự chú ý đến các ràng buộc và cách bố trí mặt bằng sáng tạo. Dưới đây là cách định tuyến tín hiệu tốc độ cao đúng cách.

Go Deeper with AI:
Định tuyến tín hiệu tốc độ cao: 10 ràng buộc thiết kế PCB quan trọng

PCB số hiện đại của bạn rất có thể đang hoạt động như một hệ thống số tốc độ cao, bất kể bạn có chủ ý thiết kế như vậy hay không. Tất nhiên, mức độ ảnh hưởng và mức độ đánh giá cần thiết sẽ phụ thuộc vào thời gian sườn lên của các tín hiệu, và điều này thường sẽ giới hạn cách cũng như vị trí bạn đi dây một số tín hiệu trên PCB. Những giới hạn này có thể được định nghĩa thành các quy tắc thiết kế PCB trong dự án PCB của bạn, và bài viết này sẽ điểm qua một số ràng buộc phổ biến được áp dụng trong các thiết kế tốc độ cao để đảm bảo việc đi dây thành công.

10 Ràng Buộc Quan Trọng Khi Đi Dây PCB Tốc Độ Cao

Giá Trị Chiều Rộng Đường Mạch Theo Từng Lớp

Các giao tiếp tiêu chuẩn dùng để truyền dữ liệu số tốc độ cao đều là các giao tiếp được kiểm soát trở kháng. Driver kết nối với một đường mạch sẽ kỳ vọng đường mạch đó có một giá trị trở kháng xác định, và phần mềm ECAD của bạn phải duy trì điều này khi bạn bắt đầu đi dây. Tương tự, các bộ thu được kết cuối theo một trở kháng đầu vào hoặc điện dung tải cụ thể và chỉ hoạt động đúng như đặc tả dựa trên trở kháng của đường mạch được kết nối.

Khi bạn đã thiết lập một mô hình trở kháng cho thiết kế của mình, ràng buộc về chiều rộng đường mạch và các sai lệch cho phép cần được xác lập cho từng lớp tín hiệu rồi áp dụng cho các net class khác nhau. Việc này đòi hỏi phải tính toán trở kháng đường mạch trong các cấu trúc hình học khác nhau.

Trong Altium Designer, việc tính toán trở kháng đường truyền được thực hiện ngay trong cùng công cụ dùng để xác định chồng lớp PCB.

  1. Mở Design » Layer Stack Manager và cấu hình stackup, bao gồm độ dày đồng, độ dày điện môi và các thuộc tính vật liệu điện môi.
  2. Chọn tab Impedance và nhấp Add Impedance Profile, hoặc nút thêm nếu đã có profile tồn tại.
  3. Trong bảng Properties, chọn loại profile và nhập Target Impedance cùng Target Tolerance.
  4. Bật các lớp tín hiệu sẽ dùng profile này, sau đó gán các lớp tham chiếu trong các cột Top Ref và Bottom Ref.
  5. Chọn từng lớp tín hiệu đã bật và xem lại chiều rộng đường mạch được tính toán. Với profile vi sai, hãy khóa Width hoặc Trace Gap để bộ giải tính ra giá trị còn lại cho trở kháng mục tiêu.
  6. Lưu layer stack. Sau đó có thể chọn profile thu được trong quy tắc Width hoặc Differential Pairs Routing tương ứng.

Net Class Được Kiểm Soát Trở Kháng

Để đảm bảo việc đi dây được duy trì ở đúng trở kháng trên các giao tiếp cụ thể, chúng ta dùng một quy trình đơn giản là nhóm các net lại và tạo các quy tắc thiết kế riêng cho net để ép buộc chiều rộng đường mạch. Nhóm các net có cùng trở kháng vào các net class là cách nhanh nhất để áp dụng nhiều ràng buộc cho các nhóm net, bao gồm các ràng buộc tốc độ cao quan trọng như chiều rộng đường mạch và độ trễ lan truyền khớp nhau trong các bus song song và cặp vi sai.

  1. Trong schematic, gắn một chỉ thị Net Class vào từng net thuộc nhóm và nhập cùng một tên class cho mỗi chỉ thị. Một blanket có gắn parameter set cũng có thể dùng để nhóm nhiều net.Open Project » Project Options » Class Generation and enable the generation of user-defined net classes. Update the PCB and execute the class-related changes in the Engineering Change Order.
  2. Hoặc, tạo class trực tiếp trong PCB editor qua Design » Classes. Thêm một class mới dưới Net Classes, đặt tên cho nó, rồi chuyển các net cần thiết từ Non-Members sang Members.
  3. Mở Design » Rules và tạo quy tắc cần thiết, ví dụ Routing » Width.
  4. Đặt phạm vi quy tắc thành InNetClass('ClassName'), thay ClassName bằng tên class thực tế.
  5. Cấu hình các ràng buộc. Đối với đi dây kiểm soát trở kháng, bật Use Impedance Profile và chọn profile đã tạo trong Layer Stack Manager.
  6. Đặt quy tắc riêng cho class này có mức ưu tiên cao hơn các quy tắc rộng hơn cùng loại, rồi áp dụng thay đổi.

Vậy còn sai lệch trở kháng thì sao? Bạn nên tính đến điều này như thế nào nếu dự định thay đổi chiều rộng đường mạch? Có thể thực hiện điều này bằng cách dùng neck-down, tức là thay đổi chiều rộng đường mạch khi đường mạch đi vào một khu vực, ví dụ trong footprint BGA. Nếu bạn có thể dự đoán trước các nhu cầu đi dây này, hãy lên kế hoạch tính đến sự thay đổi chiều rộng đường mạch trong các quy tắc thiết kế PCB của mình.

Giới Hạn Đường Dòng Hồi Về

Kiểm tra giới hạn đường dòng hồi về sẽ xác minh rằng một đường mạch không cắt qua ranh giới của mặt phẳng tham chiếu, chẳng hạn như khe hở giữa hai rail trong một lớp nguồn. Việc băng qua khe hở này làm gián đoạn đường hồi về lân cận và buộc dòng hồi về phải đi vòng. Trong Altium Designer, quy tắc Return Path sử dụng profile trở kháng đã gán để xác định các lớp tham chiếu và kiểm tra tính liên tục của đồng bên dưới đường đi dây.

Độ Lệch Thời Gian

Độ lệch giữa các tín hiệu trong bus song song hoặc trong một cặp vi sai cần được giảm thiểu khi yêu cầu khớp độ trễ rất nghiêm ngặt. Có ba nhóm độ lệch thời gian cần được ràng buộc trong bố trí PCB:

  • Khớp độ trễ tín hiệu trong một cặp vi sai
  • Khớp độ trễ giữa nhiều cặp vi sai
  • Khớp chiều dài trong các bus hỗn hợp (single-ended và cặp vi sai)

Đó là lý do chúng ta thích định nghĩa net class; việc này làm cho các ràng buộc thời gian trở nên đơn giản hơn nhiều, vì chúng có thể được triển khai cho mọi net trong net class đó.

Đối với các giao tiếp như PCIe và DDR, các ràng buộc thời gian chặt đến mức cần có độ trễ lan truyền của pin-package để đảm bảo chính xác rằng tín hiệu đến đích trong cửa sổ thời gian yêu cầu. Nhà cung cấp linh kiện có thể cung cấp thông tin để mô hình hóa giao tiếp tốc độ cao liên quan. Khi bạn tạo schematic symbol cho linh kiện trong thư viện, thông tin độ trễ chân có thể được tích hợp vào định nghĩa chân ở mỗi đầu liên kết, và các giá trị độ trễ này sẽ được đưa vào công cụ tinh chỉnh độ trễ trong quá trình đi dây.

Để đưa độ trễ pin-package vào phép tính tinh chỉnh độ trễ trong quá trình đi dây trong Altium Designer, các net trong giao tiếp đang xét cần được đưa vào xSignals. Công cụ này tính đến mọi độ trễ từ điểm này đến điểm kia giữa hai mạch tích hợp, và các giá trị này được sử dụng trong phép tính tinh chỉnh độ trễ.

Giới Hạn Lớp Đi Dây

Trong các board có số lớp lớn, thường sẽ có trường hợp một số net class hoặc differential pair class chỉ được gán cho những lớp cụ thể. Có hai lý do chính để làm điều này:

  • Các lớp khác nhau được tách riêng theo trở kháng, hỗ trợ kiểm thử trở kháng được kiểm soát
  • Một số đường đi cần khoảng cách lớn hơn để đảm bảo xuyên nhiễu thấp, khiến còn ít chỗ cho các đường tín hiệu khác

Ví dụ, người ta thường tách các giao tiếp khác nhau như DDR, cặp vi sai 90 Ohm (ví dụ USB), cặp vi sai 100 Ohm và các bus được kiểm soát trở kháng khác lên các lớp riêng với thiết kế cặp chung. Việc tách biệt này cũng có thể thực hiện theo giá trị chiều rộng/khoảng cách đường mạch, vì điều này giúp nhà sản xuất dễ dàng hơn trong việc thay thế bằng các vật liệu tương đương khi cần.

Một quy tắc Routing Layers sẽ chỉ định những lớp tín hiệu nào có thể được dùng bởi net class hoặc differential pair class được nhắm tới. Các quy tắc riêng theo class cho phép mỗi giao tiếp dùng các lớp được chỉ định của nó đồng thời vẫn giữ một quy tắc rộng hơn cho các đường đi dây khác.

  1. Mở Design » Rules và tạo một quy tắc mới dưới Routing » Routing Layers.
  2. Đặt phạm vi tùy chỉnh thành InNetClass('ClassName') cho net class hoặc InDifferentialPairClass('PairClass') cho differential pair class.
  3. Trong danh sách lớp, bật Allow Routing cho các lớp được phép và tắt cho các lớp còn lại.
  4. Đặt quy tắc này có mức ưu tiên cao hơn bất kỳ quy tắc Routing Layers rộng hơn nào nhắm đến cùng các net đó.
  5. Áp dụng quy tắc và chạy kiểm tra quy tắc thiết kế để xác định các đường đi dây hiện có trên những lớp bị cấm.

Khoảng Cách Tới Tất Cả Đối Tượng Khác Theo Từng Lớp

Giá trị clearance thường khác nhau giữa lớp trong và lớp ngoài do quy trình mạ của lớp ngoài. Tuy nhiên, vì nhiều thiết kế tốc độ cao cũng có xu hướng là thiết kế mật độ cao, nên việc các lớp trong khác nhau cần các giá trị clearance khác nhau là điều khá phổ biến. Điều này phát sinh do sử dụng các lớp ép phụ (sub-laminations), vốn cần thêm một quy trình mạ và tạo ra độ dày đồng mạ cao hơn so với trọng lượng lá đồng nền.

Trong Altium Designer, clearance theo lớp có thể được định nghĩa bằng hệ thống query:

  1. Mở Design » Classes trong PCB editor và tạo một layer class mới dưới Layer Classes.
  2. Đặt tên cho class và thêm các lớp có cùng yêu cầu clearance vào đó. Lặp lại việc này cho từng nhóm cần clearance khác nhau.
  3. Mở Design » Rules và tạo một quy tắc mới dưới Electrical » Clearance cho từng lớp hoặc layer class.
  4. Chọn custom query cho phạm vi đối tượng thứ nhất. Dùng OnLayer('Top Layer') cho một lớp riêng lẻ hoặc InLayerClass('LayerClass') cho một layer class, thay bằng tên lớp hoặc tên class thực tế.
  5. Đặt phạm vi đối tượng thứ hai là All để quy tắc kiểm tra clearance tới các đối tượng đồng khác trên lớp áp dụng.
  6. Chọn Different Nets Only và nhập giá trị clearance tối thiểu yêu cầu. Dùng clearance matrix nếu các tổ hợp đối tượng khác nhau cần các giá trị khác nhau.
  7. Đặt các quy tắc riêng theo lớp có mức ưu tiên cao hơn quy tắc clearance tổng quát, áp dụng các thay đổi và chạy kiểm tra quy tắc thiết kế.

Hãy nhớ lấy các yêu cầu clearance theo trọng lượng đồng (lớp trong và lớp ngoài) từ nhà cung cấp dịch vụ chế tạo PCB của bạn.

Ngoài ra cũng có thể định nghĩa clearance theo lớp bằng Constraint Manager mới. Công cụ này cung cấp cách tiếp cận dựa trên ma trận cho việc định nghĩa clearance, điều mà các nhà thiết kế quen dùng phần mềm ECAD khác sẽ thấy quen thuộc hơn nhiều. Tìm hiểu thêm về Constraint Manager trong video bên dưới:

Kích Thước Via Hoặc Template Theo Từng Net

Tôi đã thảo luận ở nơi khác trên blog Altium về cách trở kháng via hoạt động và ở những tần số nào via cần được thiết kế theo một trở kháng đầu vào cụ thể. Các kích thước via và kích thước anti-pad này sẽ là riêng theo net đối với một stackup và khoảng lớp nhất định, và giới hạn về kích thước via/pad có thể được định nghĩa bằng các quy tắc thiết kế PCB.

Kích thước via có thể được ràng buộc theo hai cách:

  • Bằng cách định nghĩa các kích thước cho phép cho các net/net class cụ thể
  • Bằng cách gán một via template cho các net/net class cụ thể

Việc xác định kích thước via phù hợp không đơn giản chỉ là dùng một công cụ tính toán trực tuyến để xác định kích thước via. Việc này đòi hỏi mô phỏng trường điện từ 3D, hoặc ít nhất là một mô hình thực nghiệm được phát triển từ dữ liệu mô phỏng. Khi đã xác định được kích thước via và kích thước anti-pad, hãy áp dụng chúng dưới dạng các quy tắc thiết kế để đảm bảo các net tốc độ cao quan trọng bị ràng buộc theo đúng kích thước via yêu cầu.

Via Anti-Pad

Via anti-pad là một phần khác trong thiết kế theo trở kháng via, vì khoảng hở đến plane sẽ điều chỉnh điện dung dọc theo thân via. Trong mọi thiết kế, thường đã có sẵn yêu cầu khoảng hở tối thiểu giữa pad của via và phần đồng lân cận trên các thanh plane hoặc các thanh nguồn lớn. Giá trị khoảng hở từ via đến đồng có thể được điều chỉnh trên các net cụ thể bằng cách dùng quy tắc thiết kế PCB theo từng net hoặc từng lớp net.

Đối với các net vi sai, hình dạng anti-pad có thể là dạng thuôn dài hoặc elip, thay vì hình tròn bao quanh từng via riêng lẻ. Anti-pad dùng chung này được xác định tốt nhất bằng cách vẽ hình dạng anti-pad, dưới dạng plane cutout hoặc polygon cutout. Một ví dụ được trình bày bên dưới.

Cho phép Via-in-Pad

Một đặc điểm của PCB tốc độ cao hiện đại là chúng cũng thường là PCB mật độ cao. Điều này là do hầu hết các bộ xử lý hiện nay đều được đóng gói theo dạng BGA, và với bước chân nhỏ, sẽ cần via-in-pad để hoàn tất định tuyến fanout. Ngay cả với các package BGA có bước chân lớn hơn dùng fanout kiểu dog-bone, vị trí tối ưu của các tụ bypass vẫn là ở mặt sau của BGA bằng via-in-pad.

Theo mặc định, phần mềm ECAD sẽ kiểm tra via-in-pad và sẽ đánh dấu đó là vi phạm DRC nếu xuất hiện. Tuy nhiên, via-in-pad có thể được cho phép trong các quy tắc thiết kế để hỗ trợ định tuyến fanout cho BGA.

Mở Design » Rules và tạo một quy tắc High Speed » Via Under SMD. Bật Allow Vias under SMD Pads và áp dụng phạm vi quy tắc cho các pad mong muốn, dùng IsPad AND WithinRoom('BGA_Fanout') cho một vùng fanout đã xác định. Đặt quy tắc này có độ ưu tiên cao hơn quy tắc chung. Đồng thời, cấu hình một quy tắc Same Net Only Clearance tương ứng với khoảng hở bằng 0 giữa pad SMD với via và giữa pad với lỗ via cho các via đã được phê duyệt.

Hãy đảm bảo chỉ định các via liên quan là filled và capped bằng tùy chọn loại via IPC-4761 trong bảng Properties. Việc này cũng có thể thực hiện bằng cách chọn thủ công nhóm via cụ thể cần được mạ và bịt, hoặc bằng cách thêm ghi chú chế tạo vào bản vẽ tổng nếu tất cả via đều cần được lấp và bịt.

Chiều dài không ghép cặp của cặp vi sai

Chiều dài không ghép cặp của một cặp vi sai sẽ góp phần làm tăng return loss trong một kênh vi sai, vì vậy việc xác định chiều dài không ghép cặp phù hợp là rất quan trọng trong một số ứng dụng. Vùng không ghép cặp thường phát sinh khi định tuyến ra khỏi vùng chân linh kiện dày đặc trong BGA, nơi các trace cần tách xa nhau để có thể đi dây vòng qua các via.

Việc tính toán chiều dài không ghép cặp không phải là một phép tính đơn giản, vì nó phụ thuộc vào phép tính chiều dài tới hạn chính xác dựa trên băng thông của kênh. Một chiến lược hợp lý là, nếu bạn biết các cặp vi sai sẽ có vùng không ghép cặp trong phần định tuyến fanout, hãy bắt đầu bằng cách thiết kế cặp đó với mức ghép lỏng, vì điều này sẽ làm giảm sai lệch trở kháng tại vùng không ghép cặp và giảm chuyển đổi mode.

Để tìm hiểu thêm về hệ thống quy tắc thiết kế PCB trong Altium Designer, hãy xem video bên dưới.

 

Dù bạn cần xây dựng hệ thống điện tử công suất đáng tin cậy hay các hệ thống số tiên tiến, hãy sử dụng bộ tính năng thiết kế PCB hoàn chỉnh và các công cụ CAD đẳng cấp thế giới của Altium. Altium cung cấp nền tảng phát triển sản phẩm điện tử hàng đầu thế giới, đi kèm các công cụ thiết kế PCB tốt nhất trong ngành và các tính năng cộng tác liên ngành dành cho các nhóm thiết kế tiên tiến. Liên hệ với chuyên gia của Altium ngay hôm nay!

 

Câu hỏi thường gặp

Làm cách nào để kiểm tra xem các trace trên PCB có băng qua các khoảng hở trong plane tham chiếu của chúng hay không?

Trong Altium Designer, tạo một quy tắc High Speed » Return Path và áp dụng phạm vi cho các net hoặc lớp net liên quan. Chọn profile trở kháng xác định các lớp tham chiếu của chúng, cấu hình khoảng cách tối thiểu từ trace đến các biên đồng tham chiếu, rồi chạy kiểm tra quy tắc thiết kế hàng loạt. Quá trình kiểm tra sẽ xác định các đoạn định tuyến đi qua các vùng gián đoạn của đồng tham chiếu, bao gồm cả các khoảng hở giữa các thanh nguồn.

Làm cách nào để giới hạn một lớp net hoặc lớp cặp vi sai vào các lớp định tuyến cụ thể?

Tạo một quy tắc Routing » Routing Layers trong Design » Rules và áp dụng phạm vi bằng InNetClass('ClassName') hoặc InDifferentialPairClass('PairClass'). Bật Allow Routing chỉ cho các lớp tín hiệu được phép, sau đó đặt quy tắc này có độ ưu tiên cao hơn các quy tắc Routing Layers tổng quát hơn. Các thiết lập này sẽ ràng buộc việc định tuyến và cho phép kiểm tra quy tắc thiết kế phát hiện các trace hiện có trên những lớp bị cấm.

Làm cách nào để gán kích thước via hoặc template via cho các net và lớp net cụ thể?

Tạo một quy tắc Routing » Routing Via Style và áp dụng phạm vi cho net hoặc lớp net mục tiêu bằng InNet('NetName') hoặc InNetClass('ClassName'). Xác định đường kính via và kích thước lỗ tối thiểu, ưu tiên và tối đa, hoặc cấu hình quy tắc để dùng các template via đã được phê duyệt. Đặt quy tắc này có độ ưu tiên cao hơn quy tắc via chung. Các khoảng lớp mà via đi qua được xác định riêng trong Layer Stack Manager.

Làm cách nào để tạo lớp net và gán các quy tắc định tuyến PCB tốc độ cao?

Các lớp net có thể được tạo bằng các chỉ thị Net Class trong schematic hoặc trực tiếp qua Design » Classes trong trình biên tập PCB. Với các lớp được xác định từ schematic, hãy bật tính năng tạo lớp net do người dùng định nghĩa trong Project Options và chuyển các thay đổi sang PCB. Trong Design » Rules, áp dụng phạm vi cho từng quy tắc định tuyến hoặc timing phù hợp bằng InNetClass('ClassName'), cấu hình các ràng buộc của quy tắc đó và đặt nó có độ ưu tiên cao hơn các quy tắc rộng hơn cùng loại.

About Author

About Author

Zachariah Peterson has an extensive technical background in academia and industry. He currently provides research, design, and marketing services to companies in the electronics industry. Prior to working in the PCB industry, he taught at Portland State University and conducted research on random laser theory, materials, and stability. His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental sensors, and stochastics. His work has been published in over a dozen peer-reviewed journals and conference proceedings, and he has written 2500+ technical articles on PCB design for a number of companies. He is a member of IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society, and the Printed Circuit Engineering Association (PCEA). He previously served as a voting member on the INCITS Quantum Computing Technical Advisory Committee working on technical standards for quantum electronics, and he currently serves on the IEEE P3186 Working Group focused on Port Interface Representing Photonic Signals Using SPICE-class Circuit Simulators.

Related Resources

Related Technical Documentation

Back to Home
Thank you, you are now subscribed to updates.