Tuesday, February 27, 2024

Defining and Using Rooms in Altium Designer

 

Introduction

Altium Designer is a powerful printed circuit board (PCB) design tool used by engineers to create complex electronics. Among its many features is the concept of rooms - virtual containers that allow you to logically organize and define sections of a PCB design.

Rooms provide an efficient way to manage components placement, track routing, layer stackups, design rules, and other aspects of your board layout. By dividing the PCB canvas into separate rooms, you can work on distinct sections while defining specialized settings and constraints.

In this comprehensive guide, we will cover everything you need to know about working with rooms in Altium Designer.

Creating Rooms

The first step in using rooms is to define and create them on your PCB document. Here is an overview of adding rooms:

  • Switch to PCB layout mode in Altium Designer.
  • From the Design menu, choose Define Rooms. This will open the Rooms mode.
  • Use the Room Definition region to set the number of rooms. Give each a unique name.
  • Click on the board outline to define room regions. Draw room boundaries as polygonal outlines.
  • Right click and select Finish Room to complete each room definition.
  • When done, click the Exit Room Definition button.

This will divide your PCB layout into logical room sections. The room boundaries are shown as purple dashed lines. Each room can now have its own settings and rules defined.

As an example, we can split a board into separate rooms for power circuitry, radio components, connectors, and the microcontroller section. This allows tailoring design constraints based on the different functions of each area.

Now that rooms are defined, we can take advantage of them to manage our design.



Managing Component Placement

A key benefit of rooms is managing component placement across sections of your board layout. Altium Designer has two main ways rooms help with this:

Component Membership

Any component placed on the board can be assigned to a specific room. This Component Membership will contain parts to their associated room regions.

To set this, select components and in the Properties panel, choose the desired Room Name from the dropdown. That component will now be constrained to its room.

Room Modes

When placing components in layout, you can activate Room Modes to restrict placement to a particular room. The Current Room highlights legal placement regions. This ensures components go in their assigned rooms.

Rooms therefore provide an efficient method for organizing component locations without accidentally misplacing parts. Component Membership and Room Modes work together to add discipline to placement.

Routing Tracks Between Rooms

Another key rooms capability is how they handle track routing between room regions. By default, rooms are electrically isolated - tracks cannot cross room boundaries. This helps prevent accidental connections between sections.

To intentionally route a track between rooms, you must create a portal. This defines an opening in the room boundary for tracks to legally pass through.

Creating Portals

To add a portal:

  • Switch to Rooms mode and select the relevant room boundary line.
  • Choose Create Portal from the Room Actions menu.
  • Draw a polygon on the boundary to define the portal opening.

Tracks can now route through this portal to connect to components in adjacent rooms. You can create multiple portals as needed.

Room to Room Rules

Portal connectivity can also be managed using the Room to Room Rules. This lets you specify which room combinations are permitted to have tracks routed between them.

For example, we can define a rule allowing tracks between Power and Microcontroller rooms but not to the Radio room for isolation. The software will honor these high level room to room constraints.

Defining Room Layer Stackups

Another area where rooms help organize designs is by allowing different layer stackups per room region.

The layer stack defines the order of copper and dielectric layers in a multi-layer PCB. You can tailor this on a room-by-room basis.

To configure room layer stacks:

  • Switch to the Layer Stack Manager under Design » Layer Stack Manager.
  • Select the desired room from the dropdown.
  • Choose the layer order for that room.
  • Repeat for other rooms as needed.

Now when you switch between rooms, the software will intelligently display the correct layer stackup defined. This helps visualize the actual board layers as you layout each section.

Room-Based Design Rules

Rooms also provide a great way to manage design rules, constraints, and net classes. These can be customized by room for complete control over your design requirements.

Design Rules

You can define specific width, spacing, via, and other rules for each room. For example, set higher clearances in the Radio room versus tighter gaps in the Microcontroller space. The software will adhere to the room-based rules.

Net Classes

Nets can be assigned to net classes which define routing settings like track width, via styles, etc. Net classes can be set uniquely per room region.

Length Tuning

Options like track length matching can also use room-based tuning when routing critical nets between rooms.

Segment room sections and dial-in constraints right where needed. Rooms enable localized control over design rules.

Additional Room Features

Altium Designer contains additional capabilities when working with Rooms including:

Room Polygons - Add filled polygons to rooms as a visual aid or for copper pours.

Room Keepouts - Define keepout regions within individual rooms.

Room-based Power Planes - Power plane layers can be assigned uniquely per room.

Component Nets Subnets - Nets can be partitioned into subnets when crossing room boundaries.

Design Variants - Create board variants localized to a particular room.

Drafting Objects - Lines, arcs, and text can be set to specific rooms.

3D Model Assignment - Apply different 3D step models by room.

PCB Regions - Manage rooms collectively as regions.

These provide even more options when leveraging rooms for organizing and managing PCB designs.

Tips When Working with Rooms

Here are some helpful tips and best practices to use rooms effectively in your Altium Designer workflow:

  • Add rooms early when first laying out the board outline.
  • Use names that match board sections like “Radio”, “Interface”, “Microcontroller” etc.
  • Define room boundaries clearly encompassing related sections.
  • Assign components to a room membership early to contain parts.
  • Be purposeful when adding portals between rooms.
  • Take advantage of room-based constraints like rules and classes.
  • Adjust the layer stack on a per room basis.
  • Use room keepouts, regions, polygons for visualization.
  • Enable room modes when placing components to restrict.

Following these tips will help you maximize the utility of rooms and keep your designs organized.



Summary

Defining and leveraging Rooms in Altium Designer provides a very powerful approach to managing complex PCB designs. By partitioning a board into separate room regions, you can isolate sections while precisely controlling settings like placement, routing, layers, rules, and constraints on a room-by-room basis.

Key benefits include:

  • Logically organizing the layout into functional blocks
  • Containing components placement to rooms
  • Permitting specific inter-room routing
  • Customizing layer stackups by room
  • Applying localized design rules and net classes
  • Variants, keepouts, and other settings by room

With a little planning, rooms enable you to divide and conquer the layout process for multi-section boards. The room metaphor is an incredibly helpful construct for organizing your design intent. Start leveraging rooms on your next project to enhance your Altium Designer workflow.

Frequently Asked Questions

Can I nest rooms inside other rooms?

Yes, Altium Designer allows nesting rooms within other parent rooms to create room hierarchies. You can define higher-level "regions" and then split those into individual child rooms.

Is there a limit to how many rooms I can create?

There is no set limit on the number of rooms. However, as a best practice, try to define meaningful room boundaries aligned to functional sections rather than creating too many fine-grained rooms. Keep the structure simple.

Can I assign components to multiple rooms?

No, components can only have one room membership assigned. A part can either exist wholly in a single room or span multiple rooms.

How are design rules handled when spanning between rooms?

The design rules defined for the room where a net/track starts will be maintained as it routes to other rooms. Rules don't dynamically change mid-trace.

Can I show/hide room boundaries or turn off the room fill colors?

Yes, room display settings like colors and boundary lines can be toggled on/off from the View Configurations dialog under the View menu.

No comments:

Post a Comment

Popular Post

Why customers prefer RayMing's PCB assembly service?

If you are looking for dedicated  PCB assembly  and prototyping services, consider the expertise and professionalism of high-end technician...