Developing Peripherals for WARP and XPS: Preface

XPS provides an added layer of abstraction for developing modular peripherals. For example, adding in a peripheral to an XPS project is easy – the user simply drags the peripheral into their System Assembly, puts it on a bus (if it requires PowerPC control), generates its bass-address (again, if it’s on a BUS or has memory-mapped I/O), and finally ties the peripherals in/out ports to other peripheral modules or external pins, using net-names (the equivalent of a wire).

This process is extremely efficient from the standpoint of recyclability of the peripheral modules. This can be even more powerful when a peripherals information has been added to an XBD (Xilinx Board Description File) – which will even automatically fill in the necessary pin constraints for the user (which can at times be quite overwhelming depending on the peripheral).

This guide is meant to be extremely straight-forward in introducing the user to building peripherals for use with XPS (both to be PowerPC controlled and not). It is assumed that the reader has a solid background in VHDL or Verilog programming, for the individual to program peripherals effectively. The procedure for teaching this is as follows:

  • The file structure for XPS/EDK-based peripherals
  • Creating peripherals that do not require PowerPC control
  • Creating peripherals that DO require PowerPC control
  • Updating the *.XBD and *.MPD files for using the peripheral in XPS's Base System Builder (BSB) (*.xbd compliance)
  • Notes for good peripheral design practice
  • References

| NEXT: The File Structure for XPS/EDK-based Peripherals
Last modified 16 years ago Last modified on Jul 16, 2006, 4:43:00 PM