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ả bên dưới.

Danh mục Placement của các quy tắc thiết kế.
Room Definition
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 đặt vào hoặc không được phép đặt vào.
-
Để định nghĩa 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 dùng theo cách này, room chỉ đơn giản định nghĩa một khu vực trên bo mạch. Để giới hạn nó theo các cách khác, chẳng hạn như với 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 ở ghi chú bên dưới.
Ràng buộc

Các ràng buộc mặc định cho quy tắc Room Definition
-
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 vô ý 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 giữ nguyên sau thao tác 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 định nghĩa room đa giác theo yêu cầu và tại vị trí mong muốn. Thành phần thành viên của room phải được định nghĩa sau đó; nó không được tạo tự động nếu vùng room được định nghĩa 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 dialog, 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 nhất thiết phải nằm trên cùng một lớp; điều kiện thuộc hay không thuộc room được thiết lập bởi Query của quy tắc.
-
Confinement Mode - chỉ định liệu các linh kiện được nhắm tới bởi phạm vi (Full Query) của quy tắc sẽ được giữ Inside room hay giữ Outside room.
Áp dụng quy tắc
Online DRC và Batch DRC.
Ghi chú
-
Một linh kiện có thể thuộc phạm vi của nhiều quy tắc Room Definition. 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.
-
Một room chỉ có thể được đặt bằng đồ họa. Để đặt 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 chế độ bắt dính vào Guides trong bảng Properties (ở chế độ Board). Tìm hiểu thêm về Guides và cấu hình Cursor-Snap System.
-
Hình dạng của room có thể được chỉnh sửa bằng đồ họa hoặc trong bảng 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 lên 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ú ý đến thanh Status hoặc màn hình Heads up để kiểm tra chế độ hiện tại.
-
Nếu bạn cần một 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 bao bằng cách đặt một chuỗi các đoạn thẳng (và cung tròn), sau đó chọn và chuyển đổi đường bao 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 chuột lên hình bên dưới để xem room.
-
Ngoài việc định nghĩa 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 các lệnh khác nhau 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 bao 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 component class cụ thể (Design » Classes). Một quy tắc Room Definition sẽ được tự động 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 component class cụ thể đã được định nghĩa 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 sao cho 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ả các linh kiện có thuộc một component class hiện có hay không. Nếu có, component class này sẽ được sử dụng. Nếu không, một component class mới sẽ được tạo, với các linh kiện này là thành viên của nó. Do đó có thể có nhiều room, mỗi room có một phạm vi nhắm tới một component class cụ thể, và có một hoặc nhiều thành viên linh kiện dùng chung giữa các class đó.
-
-
Sử dụng các lệnh dựa trên Create Room từ các linh kiện đã chọn (menu con Design » Rooms) để tự động tạo một room có hình 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 component class sẽ tự động được định nghĩa để bao gồm vùng chọn. Sau đó một room được tạo ra, với quy tắc Room Definition được định nghĩa để liên kết component class đã tạo. Room sẽ được định kích thước tương ứng để chứa tất cả các linh kiện trong vùng chọn, theo các giới hạn của 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 vô hiệu hóa quy tắc Room Definition liên quan.
-
Ngoài việc là một quy tắc thiết kế độc lập để 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 được dùng như một đối tượng thay vì một quy tắc, bạn có thể vô hiệu hóa quy tắc hoặc đặt query (phạm vi quy tắc) thành
False, như minh họa trong hình bên dưới. Hai query sau có thể được sử dụng khi 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 bên trong room.
-
WithinRoom(RoomName) - dùng để tìm các đối tượng nằm hoàn toàn bên trong room.
Một 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 của nó, như minh họa ở trên.
Lưu ý rằng bên trong room, chiều rộng đi dây, kiểu kết nối plane và độ giãn solder mask có các giá trị khác với các giá trị bên ngoài room.
-
Component Clearance
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 giữa các linh kiện khi đặt gần nhau. Khoảng hở linh kiện bao gồm khoảng cách giữa các mô hình 3D là một phần của footprint linh kiện. Nếu không có mô hình 3D, hoặc khi tùy chọn ràng buộc quy tắc Check clearance by component boundary được bật, thì vùng chọn của linh kiện sẽ được sử dụng thay thế. Vùng chọn linh kiện sẽ sáng trắng khi nhấp vào 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 lớp 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 chuỗi ký tự).
Nếu cần, vùng chọn linh kiện có thể được chuyển từ chế độ by graphic mặc định sang chế độ by layer. Trong chế độ by layer, first layer có chứa các 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 (Loại lớp); 3D Body; Silkscreen + Copper Layers; Copper Layers. Chế độ này được chọn bằng cách thiết lập giá trị của 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 hở linh kiện được tính toán bằng cách sử dụng chia 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ó. Đây có thể là các mô hình 3D thực sự được nhúng, hoặc các hình 2D được đùn. Việc sử dụng 3D body mang lại độ chính xác cao nhất khi kiểm tra khoảng hở, đặc biệt là 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

Ràng buộc mặc định cho quy tắc Component Clearance
-
Vertical Clearance Mode – có hai chế độ khả dụng để chỉ định khoảng hở theo phương thẳng đứng:
-
Infinite – việc kiểm tra khoảng hở đượ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ẽ bị xem là vi phạm. Một ví dụ sử dụng là bo mạch có cơ cấu điều chỉnh cần luôn có thể tiếp cận được. Áp dụng quy tắc này cho linh kiện đó sẽ tạo ra vi phạm đối 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 hở đượ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 của linh kiện. Khi sử dụng 3D body, có thể có phần nhô chồng chấp nhận được của linh kiện này lê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 hở 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 hở tối thiểu cho phép, trên mặt phẳng ngang, giữa các linh kiện được đặt trong thiết kế. 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 những đ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 để khắc phục vi phạm.
-
Do not check components without 3D body
-
Khi tùy chọn này đượ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 hở theo 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, selection bounding box của linh kiện 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 được sử dụng để kiểm tra khoảng hở theo phương thẳng đứng (Z).
-
-
Check clearance by component boundary
-
Khi tùy chọn này được bật – thay vì sử dụng mô hình 3D thực tế để kiểm tra khoảng hở, biên dạng linh kiện sẽ được dùng. Biên dạng linh kiện được xác định bởi component selection bounding box. Selection bounding box 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 bao hình (không bao gồm chuỗi ký tự). Hãy dùng tùy chọn này khi yêu cầu thiết kế của bạn quy định sử dụng component courtyard. Lưu ý rằng nếu hình dạng được xác định trên lớp courtyard là một hình kín được tạo từ các track/arc, mà các đỉnh đầu cuối của chúng 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 bounding box. Vì việc kiểm tra được thực hiện trên các đường tâm của track, tính năng này cho phép các đường bao courtyard chồng khít 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 hở. Nếu does not của linh kiện có bao gồm bất kỳ đối tượng 3D Body nào, thì component selection bounding box sẽ được sử dụng. Nếu linh kiện bao gồm một 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 hở 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 mọi hình 3D, bao gồm các mô hình 3D nhập vào, cũng như các đối tượng 3D Body dạng đùn, hình trụ và hình cầu.
-
Áp dụng quy tắc
Online DRC và Batch DRC.
Lưu ý
-
Một 3D body dạng đùn (đơn giản) là một đối tượng có hình đ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ể sử dụng nhiều primitive 3D body để xác định các hình dạng 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 ở các vùng khác nhau của linh kiện đó.
-
Nếu các linh kiện nằm trong phạm vi áp dụng của một quy tắc thiết kế Component Clearance có biên dạng linh kiện được xác định bởi một hình kín trên Courtyard Layer Type và giá trị Minimum Horizontal Clearance của quy tắc được đặt thành
0, thì sẽ không có vi phạm nào của quy tắc này khi các đường bao courtyard của linh kiện chồng khít chính xác
-
Quy tắc Component Clearance kiểm tra các vi phạm khoảng hở 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 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

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
Batch DRC.
Lưu ý
Quy tắc này hoạt động như một phép kiểm tra khi thực hiện Batch DRC, để bảo đảm các linh kiện - được nhắm mục tiêu bởi biểu thức truy vấn trong phạm vi của quy tắc - chỉ được đặt trên một lớp được 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 sử 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 trên lớp dưới cùng, có thể định nghĩa một quy tắc thuộc loại 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, với ràng buộc Bottom Layer 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

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 Online DRC và Batch DRC.
Lưu ý
-
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 một khối 3D, thuộc tính Height của linh kiện sẽ được sử dụng.
-
Nếu linh kiện có bao gồm một khối 3D, chiều cao tổng thể của đối tượng khối 3D đó sẽ được sử dụng.
-
-
Có thể tạo một lớp linh kiện và sử dụng nó trong phần định nghĩa phạm vi cho một 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 đã chỉ định của quy tắc.


).


).
).