Hierarchical design organizes and modularizes any design. In schematic capture, hierarchical blocks and sub-circuits are common practices (to learn more about hierarchical blocks click here), however at PCB layout the process is not as well documented.
In this article we will follow a simple step-by-step process in order to re-use and repeat circuit elements at a PCB level, in order to make our final design quicker and easier. This same process can be used for panelization to copy and re-use an entire board design multiple times in a single Ultiboard file for manufacturing purposes.
2. Design Example
Imagine a design in which you have eight digital synthesizer circuits. Each synthesizer circuit has the exact same components (resistors, capacitors, and logic chips). At a schematic level in NI Multisim, you would create a Hierarchical Block which contained this design, which could be easily copied and re-used as many times as necessary (eight in this example).
As the board is prepared for layout in Ultiboard we can also similarly layout, route and configure "PCB modules" which can then be copied and re-used readily to effectively compete a board-level design. In many cases each of these PCB modules represents a Hierarchcial Block in Multisim.
Therefore if one was to create a Hierarchical Block in Multisim which contained a resistor and capacitor), you could use it multiple times in a design. Therefore:
Hiearchical Block 1 (HB1) contains a resistor (10k) and a capacitor (10u)
Hiearchical Block 2 (HB2) contains a resistor (10k) and a capacitor (10u)
Hiearchical Block 3 (HB3) contains a resistor (10k) and a capacitor (10u)
...and so on.
Basically by copying and pasting HB1 multiple times, you can reduce the time and effort to complete a schematic.
As you transition to Ultiboard and layout, each of these hierarchical blocks will be represented in their landpattern (or footprint) form. Therefore again you will want to reduce the work and time involved with the design, by taking the elements of hierarchical block 1 (HB1), configuring placement and defining the copper traces, and then effectively copying and pasting these elements. The most effective manner in which to repeat common PCB circuit elements in Ultiboard consists of four steps:
Create a Unique Group in Ultiboard
Assign Components to a Unique Group
Lay Out and Route a Complete PCB Module
Copy and Re-Use the PCB Modules
Prepare for this example by opening NI Ultiboard. You can find Ultiboard at Start > All Programs > National Instruments > Circuit Design Suite 11.0 > Ultiboard.
3. Step 1: Create a Unique Group in Ultiboard
The first step is to create a unique Ultiboard Part Group which represents each PCB module (in this example we would need 8 seperate Part Groups, to represent each digital synthesizer module). A Part Group effectively creates an association between various components in a design and allows you as a designer to give this group a unique identifier.
We can now create a unique group for each PCB design module.
Select Tools >> Group Editor...
Select the Part Groups tab
Click on the Add button to begin defining uniquely named groups
Type the name of the Part Group. In figure 1 you will notice we have named our groups synth_X, where X represents a number between 1 and 8 (for the eight synthesizer modules).
Type synth_1. Click on the OK button.
You will be presented with a Change group settings dialog box. Here you can set specific information on component spacing, clearances to traces, pin swapping etc... In this example we will select the default settings.
Click on the OK button.
Repeat for all groups in your design
Figure 1: Creating a Part Group
4. Step 2: Assign Components to a Group
There are two methods with which to assign parts to a group. We will investigate both. It is recommended that you use the second method due to it being easier.
You may have noticed that after defining the group name in the Edit Group dialog box, you can Assign Parts directly to a group name (within the same dialog). This is certainly a method that you can use, by:
- Select the group name in the Edit Group dialog box (for example synth_1)
- Directly below, in the Assign Parts field, place a check-mark with a left-mouse click in the parts needed in this group.
- Repeat the above sub-steps by applying all parts that are to be included within a part group (or PCB module)
Another method that one can use, that further simplifies this part association task is to the use the Spreadsheet View in Ultiboard. Ultiboard is a tabular representation of all components within the workspace. It effectively captures all pertinent information about components and trace on a design (name, value, spacing, pin properties) in one simple, easy-to-use interface. The Spreadsheet View also allows you to view the Part Group that each component is assigned to within a design. Therefore we can use use the Spreadsheet view.
- Close the Edit Groups dialog box by clicking first on Apply and then OK.
- Select View > Spreadsheet View to see the Spreadsheet View.
- Select the Part Group tab in the Spreadsheet View.
- Navigate to the Part Group column.
- For each component you can now click in the Part Group column to reveal a list of all of the available Part Groups. Select the Part Group for that particular component (for example synth_1) as seen in Figure 2.
- Repeat for all components that belong to a particular part group.
Figure 2: Using the Spreadsheet View to Assign Parts
5. Step 3: Lay Out and Route a Complete PCB Module
Using the various placement and routing tools in Ultiboard, define the placement and routing of a group of PCB circuit elements that belong to a group (for example all the components that you have assigned to group synth_1).
6. Step 4: Copy and Re-Use the PCB Modules
With the first group (synth_1 for example) completed we can begin replicating the careful placement and routing for all other groups in the design. Basically what we can do is take the placement (part orientation) and exact copper routing configuration and apply them to the other part groups that we have defined.
Select Design >> Group Replica Place.
In the Primary Group section select the first group, which you have already completed placing and routing (for example synth_1).
Select a Secondary Group, for example synth_2 (as seen in Figure 3).
Ultiboard has automatically assigned the placement of synth_1 to synth_2.
Click on the OK button. The Parts Group will automatically become attached to your mouse cursor.
Move the attached Parts Group to the appropriate location on the Ultiboard work area.
Repeat these steps for all other groups, and replicate the appropriate placement
Figure 3: Group Replication
We can now begin replicating the copper traces for each of these PCB modules or Part Groups and apply it to another group.
Select Design > Copy Route.
In the Copy Route dialog box select the Source Group (one which has already defined the copper traces - for example synth_1) and a destination group to replicate the traces (for example synth_2) as seen in Figure 4 below.
Click on the OK button.
Repeat for all other Part Groups.
Figure 4: Copy Route
With these four simple steps you are able to effectively copy and place identical PCB design modules, to make the layout and routing process quicker, easier and more effective. You can see a simple example of the results of the above four step process in figure 5 below.
Figure 5: Completed Design