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.
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.
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.
Để đả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.
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.
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 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:
Đó 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ễ.
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:
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.
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:
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:
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:
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 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.
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 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!
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.
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.
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.
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.