Designing Custom Peripherals

  • Custom peripherals are the building blocks for prototyping new systems. In FPGAs the peripherals can be created in hardware description language. In this tutorial we will go over the basics of creating a new peripheral using Xilinx's System Generator (Sysgen). Sysgen is a block-based tool built upon MATLAB's Simulink library that can generate HDL code for models.

    We are going to build a Direct Digital Synthesizer (DDS) or Numerically Controller Oscillator (NCO) that will generate high precision sine and cosine waves. We will also put in the hooks to control this peripheral once it is placed in PowerPC controlled system.

  • All the software requirements for this tutorial are described here.

  • The steps to create the model are described in this section. At the end the entire DDS model will be complete and ready for simulation.

  • In this section the design is simulated to ensure that is performs as expected.

  • The final step to create a custom HDL core is described in this section. The result is a peripheral core (pcore) that can be inserted into a Xilinx Platform Studio (XPS) project.