Tutorial: Using Xilinx ISE 8

This tutorial will help you become familiar with using Xilinx ISE 8 to do development work with the Digilab board.
Step 1

For this tutorial, we will create a simple design that lights up an LED when a button is pressed. To begin, launch the Project Navigator.
Step 2

We will now specify the FPGA we will be synthesizing for. These values can be derived by looking at the labels imprinted on the FPGA chip on the Digilab board.
Step 3

You are now viewing the Project Navigator. The Sources in Project section will automatically organize your VHDL elements in a tree. The Processes for Source pane allows you to perform various processes such as synthesis or device programming, view reports, and access useful tools. The bottom pane contains console output - notice the "Warnings" and "Errors" tabs. The right, tabbed pane displays any files or documents you have opened.

We will now create a new VHDL entity for our project.

Step 4
It is necessary to fill in at least one port in the wizard screen for your new module. If you don't add a port through the following screen, Xilinx will not recognize your new module in the synthesis stage.
Step 5

Delete the auto-generated contents of the new file and replace it with the following code:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity passthrough is port( button: in STD_LOGIC; led: out STD_LOGIC ); end passthrough; architecture bhv of passthrough is begin led <= button; end bhv;
Step 6

Now we will create a constraints file that specifies what portions of the design are connected to what pins on the FPGA.
NET "button" LOC = "K17" | IOSTANDARD = LVTTL | PULLDOWN; NET "led" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8;
You can also use the Assign Package Pins tool to graphically map ports, but it is typically faster to type out the contraints manually.
Step 7

We will now generate a bitstream from our design that is suitable for downloading to the Digilab board. Synthesis and Implementation will be automatically performed if needed. Notice in the top left of the screen that by default you are in a menu option called 'Sources For: Synthesis/Implementation". You need to keep it in this option in order to see the correct screens for synthesis. Alternately, you can double-click on the preceeding processes in sequence. If everything ran to completion without any problems, you will see a green checkmark next to the process name. Otherwise, you may see an exclamation point or an "X". An exclamation point indicates a warning occured during that step while a red "X" appears when an error occured. You can expand the tree for each step and double-click on the appropriate report to learn more about any warnings or errors.
Step 8

We will now setup the iMPACT tool, preparing it for downloading our bitstream.
You should receive a message about a device being detected. If your board was not detected, power-cycle your board, exit iMPACT, and redo this step.
Step 9
End of Tutorial
Prepared 9/29/06 by Scott Sirowy and David Sheldon