Các loại quy tắc bố trí
Các quy tắc thiết kế thuộc danh mục Placement được mô tả dưới đây.

Danh mục Placement của các quy tắc thiết kế.
Định nghĩa Room
Quy tắc mặc định: không bắt buộc
Quy tắc này có thể được sử dụng theo các cách sau:
-
Để chỉ định một vùng hình chữ nhật hoặc đa giác ở mặt trên hoặc mặt dưới của bo mạch, nơi các linh kiện được phép hoặc không được phép đặt vào.
-
Để xác định một vùng (khu vực) có tên trên bo mạch, sau đó vùng có tên này được dùng để xác định phạm vi cho các quy tắc thiết kế khác. Khi được dùng theo cách này, room chỉ đơn giản xác định một khu vực của bo mạch. Để hạn chế thêm theo các cách khác, chẳng hạn như cho một lớp cụ thể, hãy đưa điều đó vào Query của quy tắc. Có một ví dụ về quy tắc Routing Width sử dụng cách tiếp cận này trong hình ở lưu ý bên dưới.
Ràng buộc

Các ràng buộc mặc định cho quy tắc Định nghĩa Room
-
Room Locked - cho phép bạn khóa room tại vị trí hiện tại trong thiết kế, ngăn việc di chuyển ngoài ý muốn bằng tay hoặc bởi Autoplacers. Nếu bạn cố di chuyển room khi nó đã bị khóa, một hộp thoại cảnh báo sẽ xuất hiện hỏi bạn có muốn tiếp tục di chuyển hay không. Trạng thái khóa của room vẫn có hiệu lực sau khi di chuyển ghi đè thủ công như vậy.
-
Components Locked - cho phép bạn khóa vị trí của các linh kiện được sắp xếp bên trong và liên kết với room. Nếu bạn cố di chuyển một linh kiện trong room khi tùy chọn này được bật, khi bạn di chuyển linh kiện thì toàn bộ room và tất cả các linh kiện bên trong nó cũng sẽ di chuyển theo.
-
Define button - cho phép bạn xác định diện tích và vị trí của room. Sau khi nhấp, bạn sẽ quay lại cửa sổ thiết kế chính, con trỏ sẽ đổi thành hình chữ thập và về cơ bản bạn sẽ vào chế độ đặt room. Hãy xác định room đa giác theo yêu cầu và tại vị trí mong muốn. Thành viên linh kiện của room phải được xác định sau đó; nó sẽ không được tạo tự động nếu vùng room được xác định bao quanh các linh kiện đã đặt trong thiết kế.
-
x1 and y1 - hiển thị tọa độ vị trí của góc dưới bên trái của hình chữ nhật bao room. Các trường này không thể chỉnh sửa; nếu đặt room từ trong hộp thoại PCB Rules and Constraints Editor, phải dùng nút Define.
-
x2 and y2 - hiển thị tọa độ vị trí của góc trên bên phải của hình chữ nhật bao room. Các trường này không thể chỉnh sửa; nếu đặt room từ trong hộp thoại PCB Rules and Constraints Editor, phải dùng nút Define.
-
Layer - xác định room được vẽ ở mặt nào của bo mạch. Các đối tượng mà room chứa không cần phải nằm trên cùng một lớp; điều kiện thuộc hoặc không thuộc room được xác lập bởi Query của quy tắc.
-
Confinement Mode - chỉ định liệu các linh kiện được nhắm mục tiêu bởi phạm vi (Full Query) của quy tắc sẽ được giữ Inside room hay được giữ Outside room.
Áp dụng quy tắc
DRC trực tuyến và DRC theo lô.
Lưu ý
-
Một linh kiện có thể thuộc phạm vi của nhiều quy tắc Định nghĩa Room. Trong trường hợp này, tất cả các quy tắc đều được tuân thủ. Không thể xảy ra xung đột quy tắc.
-
Room chỉ có thể được đặt bằng đồ họa. Để định vị room tại một vị trí cụ thể, hãy đặt các Guide dọc, ngang hoặc điểm (Snap) phù hợp, và bật bắt dính vào Guide trong panel Properties (ở chế độ Board). Tìm hiểu thêm về Guide và cấu hình Hệ thống Cursor-Snap.
-
Hình dạng của room có thể được chỉnh sửa bằng đồ họa hoặc trong panel Properties khi room được chọn. Nhấp vào room để chọn, sau đó nhấp và kéo tại một đỉnh góc hoặc đỉnh cạnh để thay đổi kích thước bằng đồ họa. Để chỉnh sửa room đa giác, hoặc thực hiện các chỉnh sửa kiểu đa giác trên room hình chữ nhật, hãy dùng lệnh Design » Rooms » Edit Polygonal Room Vertices (hoặc nhấp chuột phải vào room và chạy lệnh từ menu con Room Actions). Các kỹ thuật chỉnh sửa đối tượng đa giác tiêu chuẩn được sử dụng, bao gồm Shift+Spacebar để chuyển qua các chế độ chỉnh sửa đỉnh (Miter, Incurvate, Move). Hãy chú ý tới thanh Trạng thái hoặc Heads up display để kiểm tra chế độ hiện tại.
-
Nếu bạn cần hình dạng room phức tạp dựa trên các vị trí chính xác, hình dạng có thể được tạo như một đường viền bằng cách đặt một chuỗi line (và arc), sau đó chọn và chuyển đổi đường viền này thành room bằng cách chạy lệnh Tools » Convert » Create Room from Selected Primitives. Lưu ý rằng các điểm cuối của các đoạn track/arc liền kề phải trùng nhau để lệnh này nhận diện đúng hình dạng. Di con trỏ lên hình dưới đây để xem room.
-
Ngoài việc xác định room bằng cách nhấp nút Define trong quy tắc thiết kế, room cũng có thể được tạo/chỉnh sửa bằng nhiều lệnh có sẵn từ menu con Design » Rooms. Khi đặt room trong thiết kế bằng các lệnh từ menu con Design » Rooms, room có thể được đặt rỗng và liên kết linh kiện ở giai đoạn sau, hoặc có thể được đặt quanh các linh kiện trong thiết kế để tự động liên kết chúng với room:
-
Khi một room rỗng được đặt trong thiết kế, các linh kiện cần được đặt trong room nên được nhóm lại bằng cách tạo một lớp linh kiện cụ thể (Design » Classes). Một quy tắc Room Definition sẽ tự động được tạo và gán cho room, với phạm vi ban đầu (Full Query) là
All. Hãy chỉnh sửa query này để nhắm tới lớp linh kiện cụ thể đã xác định trước đó. Sau đó có thể di chuyển các linh kiện vào room bằng cách chạy lệnh Tools » Component Placement » Arrange Within Room. -
Bằng cách đặt một room bao quanh một hoặc nhiều linh kiện để chúng nằm hoàn toàn trong ranh giới của room, các linh kiện sẽ tự động được liên kết với room. Phạm vi (hoặc query) cho quy tắc định nghĩa room phụ thuộc vào việc tất cả linh kiện có thuộc một lớp linh kiện hiện có hay không. Nếu có, lớp linh kiện này sẽ được dùng. Nếu không, một lớp linh kiện mới sẽ được tạo, với các linh kiện này là thành viên. Do đó có thể có nhiều room, mỗi room có một phạm vi nhắm tới một lớp linh kiện cụ thể, và có một hay nhiều linh kiện là thành viên chung giữa các lớp đó.
-
-
Dùng các lệnh Create Room dựa trên các linh kiện đã chọn (menu con Design » Rooms) để tự động tạo room dạng Rectangular, Orthogonal hoặc Non-Orthogonal, với các thành viên là những linh kiện đã chọn. Một lớp linh kiện sẽ tự động được xác định để bao gồm vùng chọn. Sau đó một room được tạo ra, với quy tắc Room Definition được xác định để liên kết lớp linh kiện đã tạo. Room sẽ được định cỡ tương ứng để chứa tất cả các linh kiện trong vùng chọn, theo giới hạn của các hình chữ nhật bao của chúng.
-
Sau khi các linh kiện đã được gán vào room, chúng sẽ di chuyển khi room được di chuyển. Để di chuyển room mà không di chuyển các linh kiện, hãy tạm thời tắt quy tắc Định nghĩa Room liên kết.
-
Ngoài việc bản thân là một quy tắc thiết kế để chứa hoặc loại trừ linh kiện, room cũng có thể được dùng để xác định phạm vi của một quy tắc khác, chẳng hạn như Clearance, Height, Routing Width, Solder Mask Expansion, Power Plane Connections, v.v. Vì room sẽ được dùng như một đối tượng thay vì một quy tắc, bạn có thể tắt quy tắc hoặc đặt query (phạm vi quy tắc) thành
False, như trong hình bên dưới. Hai query sau có thể được dùng khi sử dụng đối tượng room trong định nghĩa phạm vi của quy tắc khác:-
TouchesRoom(RoomName) - dùng để tìm các đối tượng nằm hoàn toàn hoặc một phần trong room.
-
WithinRoom(RoomName) - dùng để tìm các đối tượng nằm hoàn toàn trong room.
Room có thể được dùng làm Query cho một quy tắc khác bằng cách tham chiếu đến nó theo Tên, như minh họa ở trên.
Lưu ý rằng bên trong room, độ rộng đi dây, kiểu kết nối plane và độ mở rộng solder mask có các giá trị khác với các giá trị bên ngoài room.
-
Khoảng cách linh kiện
Quy tắc mặc định: bắt buộc
Quy tắc này chỉ định khoảng cách tối thiểu mà các linh kiện có thể được đặt cách nhau. Khoảng cách linh kiện bao gồm cả khoảng cách giữa các mô hình 3D được đưa vào như một phần của footprint linh kiện. Khi không có mô hình 3D, hoặc khi tùy chọn ràng buộc của quy tắc Check clearance by component boundary được bật, vùng chọn của linh kiện sẽ được dùng thay thế. Vùng chọn linh kiện sẽ được tô sáng màu trắng khi nhấp vào một linh kiện.
Hành vi mặc định của vùng chọn linh kiện được gọi là chế độ chọn by graphic. Trong chế độ này, vùng chọn linh kiện là khu vực được xác định bởi các hình học combined có trên Courtyard (Layer Type, không phải Layer Name) + Silkscreen + các đối tượng 3D Body + các lớp Copper (không bao gồm string).
Nếu cần, vùng chọn linh kiện có thể được chuyển từ chế độ mặc định by graphic sang chế độ by layer. Trong chế độ by layer, first layer có chứa hình học sẽ được sử dụng, với các lớp được tìm kiếm theo thứ tự sau: Courtyard (Layer Type); 3D Body; Silkscreen + Copper Layers; Copper Layers. Chế độ này được chọn bằng cách đặt giá trị cho PCB.ComponentSelection Advanced Setting. Tìm hiểu thêm về vùng chọn linh kiện và các chế độ chọn khả dụng. Tìm hiểu thêm về Mechanical Layers và Courtyard Layer Type.
Khoảng cách linh kiện được tính bằng cách dùng tạo lưới 3D chính xác để xác định hình dạng và đường bao của linh kiện thông qua mô hình 3D liên kết của nó. Các mô hình này có thể là mô hình 3D thực nhúng sẵn hoặc các hình 2D được đùn khối. Việc sử dụng 3D body mang lại độ chính xác cao nhất khi kiểm tra khoảng cách, đặc biệt theo phương thẳng đứng và trong bối cảnh các hình dạng linh kiện phức tạp.
Ràng buộc

Các ràng buộc mặc định cho quy tắc Khoảng cách linh kiện
-
Vertical Clearance Mode – có hai chế độ để chỉ định khoảng cách theo phương thẳng đứng:
-
Infinite – việc kiểm tra khoảng cách được thực hiện bằng một giá trị đại diện cho vô cực. Điều này có nghĩa là bất kỳ linh kiện nào được đặt ở phía trên hoặc phía dưới đều sẽ vi phạm. Một ví dụ sử dụng là bo mạch có cơ cấu điều chỉnh phải luôn có thể tiếp cận được. Việc dùng quy tắc này cho linh kiện đó sẽ gây ra vi phạm với bất kỳ linh kiện nào nhô vào khu vực phía trên hoặc phía dưới linh kiện.
-
Specified – việc kiểm tra khoảng cách được thực hiện bằng hình dạng chính xác được xác định bởi các 3D body của linh kiện hoặc thuộc tính footprint linh kiện. Khi sử dụng 3D body, có thể chấp nhận phần nhô chồng của một linh kiện lên trên linh kiện khác, miễn là chúng không vi phạm. Khi chế độ này được bật, ràng buộc sau sẽ khả dụng:
-
Minimum Vertical Clearance – giá trị khoảng cách tối thiểu cho phép theo phương thẳng đứng giữa các linh kiện được đặt trong thiết kế.
-
-
-
Minimum Horizontal Clearance – giá trị khoảng cách tối thiểu cho phép trong mặt phẳng ngang giữa các linh kiện được đặt trong thiết kế. Một giá trị bằng hoặc lớn hơn 0 sẽ được kiểm tra theo đúng giá trị đó.
-
Show actual violation distances – bật tùy chọn này để hiển thị các đường nối giữa các điểm vi phạm lớn nhất giữa các linh kiện. Khoảng cách của đường sẽ được hiển thị và có thể hữu ích khi tính toán khoảng cách cần di chuyển một đối tượng để xử lý vi phạm.
-
Do not check components without 3D body
-
Khi tùy chọn được bật – tất cả các linh kiện không bao gồm 3D Body sẽ bị loại khỏi việc kiểm tra khoảng cách bởi quy tắc này.
-
Khi tùy chọn này bị tắt – đối với các linh kiện không có 3D body, hộp bao vùng chọn của linh kiện sẽ xác định vùng của nó trong mặt phẳng X-Y, và thuộc tính Height của linh kiện sẽ được dùng để kiểm tra khoảng cách theo phương thẳng đứng (Z).
-
-
Check clearance by component boundary
-
Khi tùy chọn này được bật – thay vì dùng mô hình 3D thực tế để kiểm tra khoảng cách, biên dạng linh kiện sẽ được sử dụng. Biên dạng linh kiện được xác định bởi hộp bao vùng chọn linh kiện. Hộp bao vùng chọn mặc định là
by graphic mode, nghĩa là các hình học trên Courtyard Layer Type, Silkscreen, các đối tượng 3D Body và các lớp Copper được kết hợp để xác định phong bì bao (không bao gồm string). Hãy dùng tùy chọn này khi yêu cầu thiết kế của bạn quy định phải sử dụng courtyard của linh kiện. Lưu ý rằng nếu hình dạng được xác định trên lớp courtyard là một hình khép kín được tạo từ track/arc, với các đỉnh đầu cuối trùng nhau (chạm chính xác), thì đường tâm của các track đó sẽ được dùng để xác định hộp bao. Vì các đường tâm track là đối tượng được kiểm tra, tính năng này cho phép các đường viền courtyard chồng lấn nhau khi Minimum Horizontal Clearance = 0 -
Khi tùy chọn này bị tắt – mô hình 3D sẽ được dùng để kiểm tra khoảng cách. Nếu does not của linh kiện không bao gồm bất kỳ đối tượng 3D Body nào, thì hộp bao vùng chọn linh kiện sẽ được dùng. Nếu linh kiện có 3D Body, thì hình dạng chính xác của mô hình 3D chứa bên trong sẽ được dùng để kiểm tra khoảng cách mà không xét đến các đối tượng trên bất kỳ lớp nào khác. Việc phát hiện hình dạng chính xác áp dụng cho tất cả các dạng 3D, bao gồm các mô hình 3D nhập vào, cũng như các đối tượng 3D Body đùn khối, hình trụ và hình cầu.
-
Áp dụng quy tắc
DRC trực tuyến và DRC theo lô.
Lưu ý
-
3D body đùn khối (đơn giản) là một đối tượng có hình dạng đa giác có thể được đặt trong linh kiện thư viện hoặc tài liệu PCB trên bất kỳ lớp cơ khí nào đang bật. Đối với footprint linh kiện, 3D body có thể được dùng để xác định cụ thể kích thước và hình dạng vật lý của linh kiện theo các trục X, Y và Z.
-
Có thể dùng nhiều primitive 3D body để xác định các hình dạng có độ phức tạp bất kỳ. Điều này đặc biệt hữu ích theo phương thẳng đứng, vì nó cho phép bạn thay đổi chiều cao của linh kiện tại các vùng khác nhau của linh kiện đó.
-
Nếu các linh kiện thuộc phạm vi của một quy tắc thiết kế Khoảng cách linh kiện có biên dạng linh kiện được xác định bằng một hình khép kín trên Courtyard Layer Type và giá trị Minimum Horizontal Clearance của quy tắc được đặt thành
0, sẽ không có vi phạm nào của quy tắc này khi các đường viền courtyard của linh kiện chồng khít lên nhau
-
Quy tắc Khoảng cách linh kiện kiểm tra các vi phạm khoảng cách giữa bond wire và các đối tượng khác (không phải bond wire) trong không gian 3D Để biết thêm thông tin về wire bonding, hãy tham khảo trang Wire Bonding.
Hướng linh kiện
Quy tắc mặc định: không bắt buộc
Quy tắc này hiện chưa được công cụ DRC áp dụng.
Các lớp được phép
Quy tắc mặc định: không bắt buộc
Quy tắc này chỉ định các lớp mà trên đó có thể đặt linh kiện.
Ràng buộc

Các ràng buộc mặc định cho quy tắc Các lớp được phép
Permitted Layers - các lớp được phép sử dụng khi đặt linh kiện. Có các tùy chọn lớp sau:
- Top Layer - cho phép đặt linh kiện trên lớp trên cùng.
- Bottom Layer - cho phép đặt linh kiện trên lớp dưới cùng.
Áp dụng quy tắc
DRC hàng loạt.
Lưu ý
Quy tắc này hoạt động như một phép kiểm tra khi thực hiện DRC hàng loạt, nhằm bảo đảm các linh kiện - được nhắm tới bởi biểu thức truy vấn của phạm vi quy tắc - chỉ được đặt trên lớp cho phép. Các tham số được chỉ định cho linh kiện trên sơ đồ nguyên lý, và đã được chuyển sang footprint trên PCB, có thể được dùng rất hiệu quả cho chính mục đích này. Ví dụ, để kiểm tra rằng các linh kiện không hỗ trợ hàn sóng không được đặt ở lớp dưới cùng, có thể định nghĩa một quy tắc kiểu này. Nếu xét một tham số linh kiện, SupportsWaveSolder, đã được định nghĩa cho các linh kiện và được chuyển sang dưới dạng tham số của các footprint trong PCB, thì phạm vi quy tắc có thể là:
CompParameterValue('SupportsWaveSolder') <> 'Yes'
và chỉ ràng buộc Top Layer sẽ được cho phép, còn ràng buộc Bottom Layer sẽ bị vô hiệu hóa.
Các net cần bỏ qua
Quy tắc mặc định: không bắt buộc
Quy tắc này hiện chưa được công cụ DRC áp dụng.
Chiều cao
Quy tắc mặc định: bắt buộc
Quy tắc này chỉ định các giới hạn chiều cao cho các linh kiện được đặt trong thiết kế.
Ràng buộc

Các ràng buộc mặc định cho quy tắc Chiều cao
- Minimum - giá trị chiều cao linh kiện tối thiểu cho phép.
- Preferred - giá trị chiều cao linh kiện ưu tiên.
- Maximum - giá trị chiều cao linh kiện tối đa cho phép.
Áp dụng quy tắc
Thiết lập Preferred được tuân theo khi hiển thị bo mạch ở chế độ 3D. Các thiết lập Minimum và Maximum được tuân theo bởi DRC trực tuyến và DRC hàng loạt.
Ghi chú
-
Chiều cao của một linh kiện được xác định bởi:
-
Nếu linh kiện không bao gồm đối tượng 3D body, thuộc tính Height của linh kiện sẽ được sử dụng.
-
Nếu linh kiện có đối tượng 3D body, chiều cao tổng thể của đối tượng 3D body đó sẽ được sử dụng.
-
-
Có thể tạo một lớp linh kiện và sử dụng lớp đó trong phần định nghĩa phạm vi của quy tắc chiều cao, nhằm đánh dấu bất kỳ linh kiện thành viên nào có chiều cao vi phạm các tiêu chí ràng buộc chiều cao được chỉ định của quy tắc.


).


).
).