Custom Instrument Tutorial - Capturing the Design
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.
Symbol | Component Name | Description | Library |
---|---|---|---|
| CUSTOM_INSTRUMENT | Custom Instrument | FPGA Instruments.IntLib |
| DIPSWITCH | 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 |
| TEST_BUTTON | 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 |
| LED | 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 |
| NEXUS_JTAG_CONNECTOR | 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 |
| NEXUS_JTAG_PORT | This component is used to 'wire' our Nexus-enabled custom instrument component into the Soft JTAG chain. | FPGA Generic.IntLib |
| INV | Inverter. We will use this to invert the active-Low input from the 'DAUGHTER BD TEST/RESET' button. | FPGA Generic.IntLib |
| INV8B | 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:
- Rename the default input signal from
AIN[7..0]
toData_In[7..0]
- Rename the default output signal from
AOUT[7..0]
toData_Out[7..0]
- Add another input signal, named
Override
.
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).
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!