The NanoBoard NB2 and NanoBoard NB3000 are used by many engineering schools, individuals and corporate design teams to explore and bring to life new design ideas.
The
NanoBoard NB3000 has been particularly popular, not only because of its
welcoming price tag, but also thanks to its extensive set of IO devices and
options. These include
Both
NanoBoards are extensible development boards, having peripheral daughter-board
locations for adding extra IO capability. At the time of writing this tech-tip,
four peripheral boards are available from Altium: the full-sized PB01 (audio
codec, analogue video IO), the PB02 (mass storage board with SD, CF, ATA,
etc.), the PB03 (Ethernet,

While the prototyping board is a great starting point for trying out simple circuits with a connection to the NanoBoard NB3000, designing your own peripheral board gives you limitless possibilities.
In this first installment of this two-part tech-tip, we’ll look at how to go about getting the PCB design under way, starting with the PB30 reference design and modifying it to form a template for your custom peripheral board. Along with that, we’ll discuss some of the IO connections available for custom peripherals. In the next instalment we’ll discuss the registration process and how to get started on your FPGA designs using the new peripheral board you’ve created.
The first step is to build the template for the peripheral board, and in this tech-tip we’ll base it on the PB30, because this board is oriented such that the Altium Nanoconnector is at the top left, and the silkscreen is generally showing right-way-up when it’s plugged into the NanoBoard NB3000. If you are using the NanoBoard NB2, the full-sized peripheral board space is located at the top, in which case the PB-01 (Audio, Video) board would be a good choice, since its orientation is 180 degrees rotated.
The current release of Altium Designer has the default location of the PB30 reference design at “C:\Program Files\Altium Designer Summer 09\Examples\Reference Designs\PB30\”.
Copy the entire folder for the peripheral board, and rename it for your template. In this case we’ve called it PBUSER:

Also, you should rename the actual files in the project. A quick way to do this is using the good-ol’ DOS command RENAME with some wildcards:

Now if you open the PBUSER.PrjPCB Project in Altium Designer, you will get a warning for each document that was previously a member of the project that it is no longer found, and will be removed.
This is because we renamed each of those files (appropriately). That’s okay, because all we need to do is re-add them to the project again using the command Project»Add Existing to Project..., selecting all the PBUSER*.* files and click OK.

Now, we have a complete duplicate of the PB30, the only difference being that the project and all it’s files have been renamed.
The next step is to remove the prototyping area from the design. That’s relatively easy because it is actually a component we can remove from the schematic designated PROTO1. The PB30 reference design also contains a schematic component which is a reference to the fabricated PCB. This allows a complete assembly BoM to be generated where the PCB itself is one of the components needed to assemble the product. However, in the template we are creating it’s no longer relevant, so we’ll delete that as well.

The
PB30 design also contains the 1-wire PROM used for ID and registration of the
board with Altium Designer that enables the constraints for the FPGA design to
be auto-configured - we’ll leave that one in the design since we want that
capability for our custom PB. Once we’ve deleted the superfluous parts from the
schematic, clicking on Design»Update PCB Document PBUSER.PcbDoc will
launch the
You
can see when you look at the

You can see here that the original trackwork from the prototyping area remains, teardrops included. We can remove the trackwork by using Tools»Un-Route»All. To remove the teardrops, we need to box-select them and simply hit Delete.
As
part of the

You may notice that there are two PCB documents in this project - PBUSER.PcbDoc which is this PCB, and PBUSERPanel.PcbDoc. PBUSERPanel.PcbDoc is a two-by -wo panelized version of the main PCB design, using an Embedded Board Array. As it refers to the main PCB, there is very little modification necessary to be done. The Embedded Array itself needs to be updated to point to the new PCB document. This is done by double-clicking on the array (which looks like a small grey rectangle) and specifying the new PCB file name:

When the array points to the new blank board you can see them properly within the panel.
At this point, any text strings that refer to “PB30” should also be changed to reflect this new board’s name. You could even opt to use special strings as a replacement so that they can be automatically updated from a project parameter - especially useful if this is used as a template for many new designs.
Also, the barcode on the Top Overlay layer is simply a string with barcode font. For Altium boards, it is simply the name of the board. In this case it should be updated to PBUSER, but you can make it match whatever your peripheral board part name will be.
Once the updated files and project have all been saved, they are ready to be used as a basis for any new custom NanoBoard peripheral board design. They can also be used together as a project template, by copying the project and its files into the Templates folder of the Altium Designer installation. Then, from the Files panel in Altium Designer, click PCB Projects, and in the New From Template pane click PCB Projects... and browse for the PBUSER.PrjPcb project in the Templates folder. When you save the newly created project, you’ll be prompted to choose a new location to save the project and all the source documents from the template.

One
of the major benefits of using this template is that the schematic component
representing the Nanoconnector used to interface to the NanoBoard NB3000 or NB2
host is preconfigured with all the appropriate pin assignments for the host’s
fixed-function IOs, such as Audio,
In
addition to the fixed-function IOs, one side of the Nanoconnector is dedicated
to general-purpose digital IOs, which ultimately connect through to the user
FPGA on the NanoBoard NB3000 (or NB2). These pins on the Nanoconnector
component in the design (designated

You may find it’s useful to execute the pin swapper several times throughout the process of routing the board, as your trackwork gets nearer to completion points. This helps remove cross-overs and greatly speeds up the process of creating your custom peripheral. The example above was completed in only a couple of days, and a 3D view is shown below:

One final and very important point about the Nanoconnector is that it is available from Altium anywhere in the world at low cost (and with volume discounts). The order number for this connector on the peripheral board is 99-400-NBC (a tube of nine connectors is provided).
Well, that concludes the first part of this tech-tip. And once you have gone through this process and created your template, and of course personalized it with your own company logos etc. ,it is a simple matter to create as many custom peripheral boards as you like.
In the next part of this Tech Tip you’ll discover the “soft” aspects of using your new custom board with a NanoBoard - how to create a re-usable constraint file, give the card a personality with the 1-wire PROM, and create a matching port-plug-in library to use with your FPGA projects.