Let's go ahead and capture our simple custom instrument design in an FPGA project within Altium Designer.

Create a new FPGA project and save it with the name Custom_Instrument_Design.PrjFpg, in a new folder called Custom Instrument Tutorial.

Add a new schematic document to this project and save the file with the name Custom_Instrument_Design.SchDoc, in the same folder as the parent project.

Table 1 identifies the various logic components and design interface components that we need to use for our design, as well as the source integrated libraries in which they can be found.


<FONT size="1"><I>Table 1. Design components required in the custom instrument design schematic.</I></FONT>
<DIV align="center"><b>Symbol</b></DIV>
<DIV align="center"><b>Component Name</b></DIV>
<DIV align="center"><b>Description</b></DIV>
<DIV align="center"><b>Library</b></DIV>

<DIV align="center">CUSTOM_INSTRUMENT</DIV>

Custom Instrument

FPGA Instruments.IntLib

<DIV align="center">DIPSWITCH</DIV>

This component interfaces to the 8-way DIP-switch on the Desktop NanoBoard. We will use these switches as inputs to our custom instrument.

FPGA NB2DSK01 Port-Plugin.IntLib

<DIV align="center">TEST_BUTTON</DIV>

This component interfaces to the 'DAUGHTER BD TEST/RESET' button on the Desktop NanoBoard. We will use this signal (inverted) to provide a hardware override input to our custom instrument.

FPGA NB2DSK01 Port-Plugin.IntLib

<DIV align="center">LED</DIV>

This component interfaces to the User LEDs on the Desktop NanoBoard. We will use the LEDs to visually display the output signal of our custom instrument.

FPGA NB2DSK01 Port-Plugin.IntLib

<DIV align="center">NEXUS_JTAG_CONNECTOR</DIV>

This component interfaces to the Soft JTAG chain signals (NEXUS_TMS, NEXUS_TCK, NEXUS_TDI and NEXUS_TDO) and essentially 'brings' the chain into the design.

FPGA NB2DSK01 Port-Plugin.IntLib

<DIV align="center">NEXUS_JTAG_PORT</DIV>

This component is used to 'wire' our Nexus-enabled custom instrument component into the Soft JTAG chain.

FPGA Generic.IntLib

<DIV align="center">INV</DIV>

Inverter. We will use this to invert the active-Low input from the 'DAUGHTER BD TEST/RESET' button.

FPGA Generic.IntLib

<DIV align="center">INV8B</DIV>

8-bit Inverter, Bus version. We will use this to invert the acive-Low input lines from the 8-way DIP-switch.

FPGA Generic.IntLib

Note: The reason for inverting the active-Low inputs to the instrument is simple – for monitoring purposes it is far better to see a light come on when a switch is set to the ON position, rather than go off.

Place the CUSTOM_INSTRUMENT component in a central location on the schematic sheet. Right-click on it and choose the Configure command from the context menu to access the Custom Instrument Configuration dialog. In the section Configuring the Custom Instrument we will consider configuration of the instrument in full, but for now, we need to define the following input and output signals for wiring purposes:

Place the remaining components and wire up the design as shown in Figure 1. Don't forget to designate the applicable components in the design (using, for example, the Tools » Annotate Schematics Quietly command).


<FONT size="1"><I>Figure 1. Final design - components placed and fully wired.</I></FONT>

Save the schematic and project documents.

That's the base design captured, now we can concentrate on the 'heart' of this tutorial – configuration of the Custom Instrument itself!