From 9:00 AM - 12:00 PM CDT on Saturday, June 6th, will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Repeating Common Circuits in NI Ultiboard

Publish Date: Jun 10, 2011 | 8 Ratings | 3.12 out of 5 | Print | 2 Customer Reviews | Submit your review


Frequently PCB designers need to reuse a particular circuit module. In these cases, for maximum efficiency it is desirable to use a PCB design tool to easily create re-usable sub-circuits both at the schematic and PCB layout stages of a design.

National Instruments provides a platform of PCB design tools which combines the ease-of-use, powerful capture features, and advanced simulation of NI Multisim, with the quick and flexible layout environment of NI Ultiboard.

In this specially featured article we will learn how to begin applying hiearchical design decisions both in NI Multisim and NI Ultiboard.

Hierarchical blocks are re-usable circuit modules which exist at the circuit level. To learn more about hierarchical blocks, view the Creating Hierarchical Blocks in NI Multisim article.

In this article we will learn how to apply a modular design practice for PCB layout (similar to a hierarchical block at schematic level) in NI Ultiboard for repeating common circuit elements.

Table of Contents

  1. Introduction
  2. Design Example
  3. Step 1: Create a Unique Group in Ultiboard
  4. Step 2: Assign Components to a Group
  5. Step 3: Lay Out and Route a Complete PCB Module
  6. Step 4: Copy and Re-Use the PCB Modules
  7. Conclusion

1. Introduction

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.


Back to Top

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:

  1. Create a Unique Group in Ultiboard
  2. Assign Components to a Unique Group
  3. Lay Out and Route a Complete PCB Module
  4. 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.


Back to Top

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.

  1. Select Tools >> Group Editor...
  2. Select the Part Groups tab
  3. Click on the Add button to begin defining uniquely named groups
  4. 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).
  5. Type synth_1. Click on the OK button.
  6. 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.
  7. Click on the OK button.
  8. Repeat for all groups in your design

Figure 1: Creating a Part Group


Back to Top

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.

Method 1

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:

  1. Select the group name in the Edit Group dialog box (for example synth_1)
  2. Directly below, in the Assign Parts field, place a check-mark with a left-mouse click in the parts needed in this group.
  3. Repeat the above sub-steps by applying all parts that are to be included within a part group (or PCB module)


Method 2

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.

  1. Close the Edit Groups dialog box by clicking first on Apply and then OK.
  2. Select View > Spreadsheet View to see the Spreadsheet View.
  3. Select the Part Group tab in the Spreadsheet View.
  4. Navigate to the Part Group column.
  5. 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.
  6. Repeat for all components that belong to a particular part group.

Figure 2: Using the Spreadsheet View to Assign Parts


Back to Top

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).

Back to Top

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.

  1. Select Design >> Group Replica Place.
  2. In the Primary Group section select the first group, which you have already completed placing and routing (for example synth_1).
  3. Select a Secondary Group, for example synth_2 (as seen in Figure 3).
  4. Ultiboard has automatically assigned the placement of synth_1 to synth_2.
  5. Click on the OK button. The Parts Group will automatically become attached to your mouse cursor.
  6. Move the attached Parts Group to the appropriate location on the Ultiboard work area.
  7. 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.

  1. Select Design > Copy Route.
  2. 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.
  3. Click on the OK button.
  4. Repeat for all other Part Groups.

Figure 4: Copy Route


Back to Top

7. Conclusion

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 

Back to Top

Customer Reviews
2 Reviews | Submit your review

Wrong part pairing  - Mar 5, 2013

I twice followed the instructions on a more complex circuit and ended up both times with the wrong pairing of components from the two groups. It is true that the primary group consisted of two identical subcircuits, but, still, the information required to keep things straight was available in the netlist, right? Just as an example, SMB connectors in one group showed up, in the other group, where voltage regulators should have been, and the other way around. Not much use, I must say. Also, why not just be able to use the mouse to select the components to go into the various groups? Or, better still, why not be able to select parts with the mouse in Multisim and then transfer the selection to Ultiboard? Or just copy and paste subcircuits in Ultiboard and then back annotate to Multisim? BTW, I am using Ultiboard 12.0.

needs more help on grouping the parts  - Jun 8, 2006

This is great that you are finally posting these app notes. When I had to do this even your tech support didn't know how the feature worked and I had to figure it out on my own. I think this one is very good if the replicated circuit is not too big. My problem is still that on the big job that I needed this for the grouping of parts was very laborious. I'm the guy with the 8 channel digital synthesizer with 1400 components. It would have been so much easier if there was better component sorting and selecting capabilities in the group components function. Of course, this may be improved in the latest releases, it was ver 7 that I tried this last in. I am also concerned about naming convention changes made since ver 7. My initial impression is the naming would make grouping more difficult, but again I haven't fully evaluated this since ver 7 so it may be OK. In general what I did was use a word processor to do a global modify on component and net names in the net list before importing to UB. This allowed me to have net and component names that were easier to deal with and group and not so hugely long as to be ponderous. So in summary I think the app note could be filled out with more detail on efficient strategies to name the nets and components in MS and to get them grouped in UB.

Bookmark & Share


Rate this document

Answered Your Question?
Yes No