Exporting a Peripheral Core from System Generator

(compatible with WARP v2 and WARP v3)

In the Introduction to XPS exercise, a peripheral core is provided and users connect it to the rest of the system specified in a WARP template XPS design. In this exercise, users will learn how to create this peripheral core from a tool known as Xilinx System Generator (SysGen).


  • You have a WARP v2 or WARP v3 board
  • ESD protection for the WARP board (wrist strap, etc)
  • Complete installation of ISE System Edition 13.4
  • Installation of Matlab 2011a or 2011b


In this exercise, we provide users with a custom design that uses a Linear Feedback Shift Register (LFSR) to produce a sequence of pseudorandom values. These values are then latched by a counter circuit to slow them down and make their changes visible to the naked eye when observing a board. The output of this latch is sliced up and connected to output ports. This design is provided as a Xilinx System Generator model. In this exercise, users will export this model to create the pcore that was provided in the Introduction to XPS exercise.


  1. Download the System Generator Model to a new folder on your computer and open it in Matlab

System Generator is a graphical design environment. As you can see, the actual design fairly closely resembles the block diagram shown earlier in the "Overview" section.

  1. Click on the small "play" button at the top of the screen (the arrow to the left of the number box that contains 1000). This will simulate the design.
  2. Double-click on the Scope block on the far right of the screen.

Click the small icon of the binoculars on the scope to have it choose reasonable automatic axes for the plots. This shows the output of the model: four random sequences to drive the User I/O core. Notice that the range of the top two subplots is different than the range of the bottom two due to the size of the output slices and ports (7 bits vs. 4 bits).

  1. Double-click on the System Generator block in the top left of the model. This brings up a window that will allow you to export the design as a peripheral core. Verify that the compilation target is "Export as a pcore to EDK." Note: the "settings" button allows further options such as setting a core version number. This is very useful in development in order to keep track of changes that you make to your designs. For now, you can leave the default setting we provided alone.
  2. Select the part that your WARP hardware uses. For WARP v3 users, this part is the "Virtex6 xc6vlx240t-2ff1156." For WARP v2 users, this part is the "Virtex4 xc4vfx100-11ff1517."
  3. Set the target directory of the export to be "./netlist". This will ensure that the pcore is created it a folder called "netlist" within whatever directory you placed the System Generator Model.
  4. Click "Generate."
  5. After generation has completed, navigate to the netlist folder in Windows Explorer. Within this directory is a "pcores" directory. Within this pcores directory is your peripheral core. This is exactly the same folder that was provided in the Introduction to XPS exercise.

Additional Questions and Feedback

If you have any additional questions about this exercise or other feedback, please post to the WARP Forums.

Last modified 9 years ago Last modified on Oct 23, 2014, 9:36:53 AM

Attachments (4)

Download all attachments as: .zip