This page is under construction
Direct OPB Interfacing
Xilinx provide the IPIF and the Create Peripheral Wizard (discussed in the Custom Peripheral HowTo) to simplify the creation of custom peripherals. However, unless you are using the more advanced features of the IPIF (and even then) it can be simpler to bypass the IPIF and interface directly to the OPB.
The OPB (On-chip Peripheral Bus) is quite straight forward to connect to, the following sections will describe creating a peripheral without using the wizard.
Note: This HowTo uses Xilinx EDK version 9.1i
Files and Directories
When creating a new system within XPS, you can enter a repository location to tell the EDK tools where to find extra board definitions and peripherals. If you've followed the Simple Project HowTo, you will have used a third party library for the XUP-V2Pro board. The repository can hold multiple libraries each holding their own set of board definitions and peripherals.
It's a good idea if you intend to create a number of peripherals to put them into your own library so that they can be included in any future EDK system. Below is the contents of an example user EDK repository.
Library Files
The XUP-V2Pro
directory is the library downloaded from Xilinx. The
MyProcessorIPLib
is the location for your own custom peripherals. You can see that they
both contain a pcores directory which hold a number of different peripherals. When specifying the
repository path (see Repository Control) you just select the
location of the edkLib
directory and the EDK tools will find both the XUP-V2Pro data and
your own.
Custom peripheral layout
As shown in the image above, the MyProcessorIPLib
library contains a peripheral
called prng_v1_00_a
. This is a pseudo random number generator, and will be used to
describe how to create your own OPB based peripheral.
The image below shows the files and directories that make up the peripheral.
Peripheral Files
Either create the directory structure to be subsequently filled in, or download the completed peripheral using the link below: