32
Xilinx ® Spartan-6 ® PCIe I/O Control with Device Driver and Software Application for the Intel ® Atom Processor Version 11.4 February 2010

Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Embed Size (px)

Citation preview

Page 1: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Xilinx® Spartan-6® PCIe I/O Control with Device Driver and Software Application for the Intel®

Atom™ Processor

Version 11.4

February 2010

Page 2: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

1

Overview This reference design uses a simple hardware design that interfaces the LEDs, DIP switches, and push buttons to the PCI Express core through registers in the FPGA. A simple driver and software application are provided that allows the user to control this board I/O through a graphical user interface in Windows XP™.

Objectives The objectives of this reference design are:

Show a simple, register-mapped I/O adaptation based on the Xilinx Programmed I/O (PIO) design.

Use an example driver to communicate over PCI Express with Software.

Use a graphical user interface to control the driver, which in turn controls the PCI Express Endpoint hardware.

Page 3: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

2

Experiment Setup

Software The software setup that was used to test this reference design is:

Microsoft® Windows XP™

Microsoft® Windows Embedded Standard™

Xilinx® ISE 11.4

ISE CORE Generator IP Update for ISE 11.4

Xilinx® LogiCore IP license for Xilinx PCI Express Endpoint1

Hardware The hardware setup used by this reference design includes:

Development computer with a minimum of 1 GB to 2 GB RAM2

Kontron baseboard and nanoETXexpress-SP Intel® Atom™ CPU module

Kontron LVDS-DVI video adapter.

ATX power supply with one “hard drive” style power connector available

Bootable USB disk drive

Xilinx® Spartan-6® SP605 PCI Express Board

USB Type-A to Mini-B 5-pin cable (for USB JTAG FPGA configuration).

1 Refer to the http://www.xilinx.com/products/ipcenter/ipaccess_non_fee.htm for details on licensing

2 Refer to the ISE 11.4Memory Recommendations http://www.xilinx.com/ise/products/memory.htm#s6lxt

Page 4: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

3

Spartan-6 PCIe Basic Demo Instructions

Hardware Installation This IO Control hardware design is based on the Xilinx Programmed IO (PIO) design. The design uses a single base address register, BAR0, which is sized at 8KB. Instead of BAR0 being mapped to BlockRAM, the 8KB of address space are mapped to registers, which in turn are connected to I/O on the FPGA, which connect to physical devices on the board.

The register map for this design is shown in the table below:

BAR0 Offset Size Attributes Function

0x0000 0:0 R/W Single LED

0x0004 3:0 R/W User LEDs

0x0008 – 0x0017 Unassigned

0x0018 3:0 R DIP Switch

0x001C – 0x0023 Unassigned

0x0024 1:0 R User Buttons

0x0040 – 0x1FFF Unassigned

Page 5: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

4

Follow these steps to build the design.

1. Unzip SP605_PCIe_IO_Control_11_4.zip. It should appear as shown below.

2. Launch Xilinx Core Generator by selecting Start All Programs Xilinx ISE Design Suite 11.4 ISE Accessories CORE Generator

Page 6: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

5

3. Select File Open Project. Browse to <download_path>\SP605_PCIe_IO_Control_11_4\hardware\s6_pcie_core, select s6_pcie_core.cgp and click Open. The s6_pcie_v1_2 component is displayed as shown below.

Page 7: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

6

4. Double-click on the s6_pcie_v1_2 component in the Project IP pane. This will launch the various parameter windows for this core. First, though, you may see the following pop-up window describing your license status for use of the PCIe Endpoint core.

5. After viewing the parameters for the project, right-click on the component and select Regenerate (Under Current Project Settings).

Page 8: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

7

6. When finished, CoreGen displays a readme file. Click Close to close it.

The following console log information is normal for ISE 11.4:

Generating IP... WARNING:sim:89 - A core named <s6_pcie_v1_2> already exists in the output directory. Output products for this core may be overwritten. WARNING:sim:93 - NGC output will not be generated for this core. Finished Generation Stage. Generating ISE file... Finished ISE file generation. Generating FLIST file... Finished FLIST file generation. Preparing output directory... Finished preparing output directory. Moving files to output directory... Finished moving files to output directory.

7. Close CoreGen.

Page 9: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

8

8. Browse to the SP605_PCIe_IO_Control_11_4\hardware\implement directory. Double-click on the implement.bat command-line script for this project. A command prompt launches and displays the progress as the project is synthesized and implemented. Close the command prompt window when finished.

9. When complete, verify that the Timing Constraints have all passed by viewing the routed.par file in the implement\results directory.

10. Connect the USB Type-A to Mini-B 5-pin cable between the host PC and the J4 connector on the Xilinx SP605 PCI Express Starter Board.

11. Plug in the Xilinx SP605 board using the 12V power supply and turn it on.

12. Program the PROM on the board, using one of the following two methods:

a. Use iMPACT to generate and then burn a PROM file

b. Open a command shell and type the following commands:

cd <path>\SP605_PCIe_IO_Control_11_4\hardware\implement

impact –batch burn_bpi.cmd

This will take the supplied sp605_bpi_prom.mcs MCS-formatted PROM file and burn it in parallel mode. The supplied make_bpi_prom.bat and burn_bpi.bat batch files can also be used to create a new PROM file and program the flash memory if desired. Make sure the board is powered on and a USB Type-A to Mini-B 5-pin cable is connected between the SP605 USB JTAG connector and the host computer prior to launching iMPACT or these batch files.

Page 10: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

9

Configure the Kontron Hardware Refer to the figure below to setup the Kontron evaluation board correctly.

Page 11: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

10

1. Install the Kontron nanoETXexpress-SP Intel® Atom™ CPU module and heat spreader. You will need metric hardware for this (2x M2.5x20 cap screws and 2x M2.5x12 cap screws).

2. Connect the LVDS-DVI adapter to the LVDS video connector on the evaluation board using the provided flat ribbon cable. Don’t forget to also connect a DVI video monitor to the LVDS-DVI adapter.

3. Connect the USB mouse and keyboard to any available USB port in the connector stack (J7).

4. Connect the ATX power supply to J15 and J22, but do not turn it on. You will need an ATX power supply that also has the extra 4-pin auxiliary power connector.

Page 12: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

11

Operating System Installation

The Windows Embedded Standard OS image is delivered as a set of files and folders to be copied to a bootable USB disk. If you previously unzipped the project archive, this OS image is available in the Disk_Image subdirectory of the reference design files:

Note: This OS installation is an evaluation version of Windows Embedded Standard and will quit working after 120 days.

Page 13: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

12

Make sure the Kontron board assembly is turned off.

1. Navigate to <download_path>\ SP605_PCIe_IO_Control_11_4\Disk_Image and copy the folder contents to the root folder of your bootable USB disk.

2. Disconnect the USB disk from the development PC and connect it to the Kontron evaluation board using any of the available USB ports in the connector stack (J7).

3. Turn on the ATX power supply (if it is off) and press the PWR (SW1) switch to turn on the computer.

4. The USB disk should be recognized as a bootable device and the Windows Embedded Standard OS image will go through its first boot process to install itself. This will take about 10 minutes. If your USB disk is not recognized as a bootable device you will need to reformat it with NTFS and mark the disk partition as active. If you need to reformat then restart these steps from the beginning.

5. Once the OS boots you will notice that the monitor display appears “cloudy”. This is because the video drivers included in the OS image are incorrect. We will fix this in the following steps. Enter the following credentials when prompted with the login screen:

User name: Administrator

Password: <none>

6. Open a Windows Explorer and navigate to C:\IEGD_10_1_Windows\Utilities and double-click on setup.

Page 14: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

13

7. Click Next to Installs driver and application files:

8. Select the I agree radio button for the license agreement and then click Install:

Page 15: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

14

9. You will see the following pop-up window advising that the software has not passed Windows Logo testing. Click the Continue Anyway button:

10. You will see the following pop-up window advising that the device driver has not passed Windows Logo testing. Click the Continue Anyway button:

11. Once the software and driver installation is complete you will be prompted to reboot. Click Yes to reboot now:

Page 16: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

15

Software Installation The PCIe IO Control Demo software is delivered as a compressed installation package.

1. Using Windows Explorer, navigate to C:\ IO_Control_Software and double-click on setup:

2. Click OK to start the install process.

By default, most of the files are installed in:

C:\Program Files\Avnet\PCIe_IO

Page 17: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

16

3. If you wish to change this folder, click the Change Directory button and select the installation location of your choice.

When you have selected your preferred installation folder, click on the large button in the upper left of the dialog to begin installing files.

4. It is recommended that you accept the default program group of Avnet in this dialog. Click Continue to proceed.

5. Click OK to close the installation wizard.

Page 18: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

17

6. The user application that is installed is outdated and was originally created to work with a Xilinx Spartan-3 PCI Express board. This application will still work, and indeed the device driver is also the same, but we have a new software application that better matches the Xilinx Spartan-6 board that we are using now. So that our Start menu shortcuts will still work, follow these steps to copy the new application to the install folder and rename it to replace the old application.

a. Navigate to C:\Program Files\Avnet\PCIe_IO and delete the pcie_io.exe file.

b. Navigate to <download_path>\ SP605_PCIe_IO_Control_11_4\software and copy the Avnet_PCIe_Test_Panel.exe file to the C:\Program Files\Avnet\PCIe_IO folder.

c. Rename the copied Avnet_PCIe_Test_Panel.exe file to pcie_io.exe.

Page 19: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

18

Configure the Hardware Refer to the figure below to configure the Xilinx SP605 PCI Express Starter Board correctly.

1. Make sure the computer’s power is off.

2. The figure above shows the DONE LED, power connector configuration mode switch and power switch locations on the Xilinx SP605 PCIe development board. Please follow the steps shown below to review the settings on the board:

With the SP605 board in one hand, plug the hard-drive style power connector pigtail into J27 on the SP605 board with the other.

CAUTION! DO NOT plug a PC ATX power supply 6-pin connector into the J18 connector on the SP605 board. The ATX 6-pin connector has a different pinout than J18 and will damage the SP605 board and void the board warranty. DO NOT plug an auxilliary PCIe 6-pin molex power connector into the J18 connector as this could damage the PCIe motherboard and/or the SP605 board. J18 is marked with a NO PCIE POWER label to warn users of the potential hazard. DO NOT apply power to J18 and the 4-pin ATX disk drive connector J27 at the same time as this will damage the SP605 board.

Page 20: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

19

Slide the power switch (SW2) on the SP605 board to “ON” (slide switch

down).

Verify the FPGA configuration mode dip switches (SW1) are both set to “OFF” (down) for BPI flash mode.

3. Insert the board into either “PCIe x1 Slot 1” (J27) or “PCIe x1 Slot 0” (J26) on the Kontron carrier board. Slot J26 is a bigger connector, but only supports 1 lane of PCIe.

4. Turn on the ATX power supply.

a. At this point you should see 2 green LEDs (D8, D13), 4 red LEDs (SUS_STAT, SUS_S3, SUS_S4, SUS_S5), and the Port 80 POST (Power-On Self Test) dual 7-segment display should show “00”. Press the PWR (SW1) switch to turn on the computer.

b. You should now see 11 green LEDs on the carrier board (D6, D7, D8, D11, D12, D13, D14, D15, D35, D36, and D33 or D32 depending on the PCIe slot) and the POST display will scroll through the test codes. When the OS boots the display will change to “AA”.

c. The DONE LED, DS2, should light immediately after the FPGA has been configured with the IO Control design from BPI flash memory.

Page 21: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

20

Device Driver Installation In order to access the Xilinx SP605 PCIe Board after it is plugged into a compatible PCIe card slot on your PC motherboard, you must first install the Windows XP device driver. This is done using the Windows Hardware Wizard, which will start automatically the first time you install the card (before any driver software has been added). You can also access the Hardware wizard from the Windows Control Panel.

Start Control Panel Add Hardware

1. Click Next to activate the wizard. It will initiate a search for new hardware.

Page 22: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

21

2. As soon as the SP605 board is detected, the Found dialog is displayed. The files for the driver were loaded to your installation folder by the installer, so prevent Windows from searching for suitable software by selecting the radio button shown below. Select the Advanced option and click Next to continue.

3. Select the “Search for the best driver in these locations” option shown below and click Browse to navigate to your installation folder. Uncheck the box to “Search removable media…” Click Next to continue

Page 23: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

22

4. You may see the following pop-up window advising that the device driver has not passed Windows Logo testing. Click the Continue Anyway button:

5. The hardware wizard will install the device driver at:

$Windows3\system32\drivers\s3_1000.sys.

Click the Finish button.

3 Usually $Windows refers to C:\Windows

Page 24: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

23

6. The device driver is now completely installed, and will start automatically the next time you reboot your computer. Click the Finish button to close the Hardware Wizard.

7. If you wish, you can check the installation using the Device Manager. You will now have a new entry under Other devices showing the driver you just installed. Access the Device Manager from the Start menu:

Start Control Panel Administrative Tools Computer Management Device Manager

Page 25: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

24

Event Logging The PCIe device driver included in the package records the outcome of basic operations to the System Event Log. For optimal results, you should register the driver as an Event Logging Source, as described in this section. Review of the logs can be useful during debugging to see what actions a driver was able to perform, or to view any error messages that were emitted by the driver itself.

In order for the Windows Event Viewer to display the driver messages correctly, the driver itself must be registered on the host machine as an Event Logging Source. This is done by using the Windows Registry Editor (regedt32) to add the appropriate definitions.

1. Open a command line window and invoke the registry editor.

regedt32

2. Browse to one of the following (depending on your machine):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ServiceEventLog\System

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System

3. Create a new key with the same name as the driver. In this case, the key name is s3_1000.

4. Under the Key, create a Expandable String Value (REG_EXPAND_SZ) entry named EventMessageFile with the value:

%SystemRoot%\System32\Drivers\s3_1000.sys

5. Create a second entry, type DWORD, named TypesSupported with the value:

7

Page 26: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

25

Running the Demo Application This description assumes that all the installation steps have been completed successfully, using the recommended selections for software installation.

The PCIe demo software is constructed from three components:

1. Graphical User Interface (Avnet_PCIe_Test_Panel.exe)

2. Middle-Tier Dynamic Link Library (DriverMgr.dll)

3. Device Driver (s3_1000.sys)

The user interacts with the system through the GUI. Mouse-clicks received by the GUI are passed to the middle-tier DLL via function calls, where the appropriate action is determined. The middle-tier software makes calls to the operating system to access the device driver via the I/O Manager subsystem, and the device driver controls the hardware directly.

To ensure that the display accurately represents the state of the hardware, neither the GUI nor the middle-tier DLL retain any state information. Instead, each element in the interface is updated by issuing a read request, which causes the device driver to check the memory-mapped register associated with the physical component. This information is passed back through the I/O Manager to the DLL, and ultimately back to the user interface to update the display.

The communication between the GUI and the DLL is done in Windows using the COM facility. This requires that the DLL be entered correctly in the Windows registry on the host system. Normally, this is done automatically by the installation program. However, if you experience the following error when starting the GUI, consult the final section on Active-X components for a solution.

Page 27: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

26

To run the demo, select:

Start Programs Avnet Avnet IO Demo for PCIe

The panel shown above can be used to control and represent the state of several hardware components on the PCIe board. Of course, to see the hardware operate and access the switches, you will need to leave your host PC open.

1. Single LED: To toggle the state of the single User LED, click the button above the indicator. The single LED will turn on and off, and the state is reflected on the panel (green indicates ON, blank indicates OFF).

Page 28: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

27

2. User LEDs: The bank of 4 LEDs can be controlled by the 4 buttons in this panel. Cycle causes each LED to illuminate in turn. Count will perform a binary count from 0x0 through 0xF. As you might expect, All On turns on all eight LEDs, while All Off shuts them off.

3. User Buttons: There are two user push buttons on the board, represented by USR1 and USR2. The display cannot press the buttons for you, but if you can access the board you can press each button (or both) and the display will accurately reflect the button state.

4. DIP Switch: The position of the four DIP switches is represented on the display. As with the push buttons, simply toggle the DIP positions to see the GUI update.

To close the application, simply click the Windows close button at the upper right of the panel.

Page 29: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

28

Active-X Components The basic PCIe demo was created using the standard software architecture of multi-tiered development. In this case we have a 3-tiered design, consisting of a GUI to represent the system to the operator, a Dynamic Link Library (DLL) that contains the intelligence for the application and a kernel device driver that communicates with the hardware (via the HAL layer of the Windows operating system).

The GUI locates the DLL at runtime through the Windows Registry, by looking for a unique registration ID called a GUID (goo-id, which means Globally Unique IDentifier). If you used an installer to load the demo to your host system, this registration was done for you automatically. However, if you receive an error from the GUI indicating that an Active-X component cannot be found, then you need to register the DLL manually.

To do this:

1. Locate the folder where the DLL is located. The file name you are looking for is:

DriverMgr.dll

In the standard installation you will find this file located at:

C:\Windows\system32\DriverMgr.dll

2. Open a command window at that folder. At the prompt, enter:

regsvr32 drivermgr.dll

3. If for some reason you need to deregister the component, you may do so by following the same procedure as above, but enter:

regsvr32 /u drivermgr.dll

Page 30: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

29

Software Removal

Application Software 1. To remove the application software, use the Windows Add or Remove

Programs utility. Locate the entry for:

Avnet Spartan-3-1000 PCIe IO Demo

Click the Change/Remove button and follow the dialog steps to completion.

Page 31: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

30

Device Driver 1. To remove the device driver, from the start menu select Start Control Panel Administrative Tools Computer Management Device Manager. Expand the Other Devices entry to show the PCIe I/O Driver.

2. Right-click on the device driver entry and select Uninstall.

3. Follow the remaining dialog instructions to completion.

4. Finally, to remove the device driver file, manually delete:

C:\Windows\system32\drivers\s3_1000.sys

Page 32: Xilinx Spartan-6 PCIe I/O Control for Intel Atom Processor · Xilinx® Spartan-6® PCIe I/O Control with Device ... With the SP605 board in one hand, ... Xilinx Spartan-6 PCIe I/O

Spartan-6 PCIe I/O Control ISE 11.4

31

Revision History Date Version Revision

05/25/06 8.1 Initial Avnet release.

06/28/07 9.1 Update release for Xilinx 9.1i tools.

02/10/2010 11.4 Update release for Xilinx Spartan-6 SP605 board

© 2007, 2010 Avnet. All rights reserved. All trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

NOTICE OF DISCLAIMER: Avnet is providing this design, code, or information "as is." By providing the design, code, or information as one possible implementation of this feature, application, or standard, Avnet makes no representation that this implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Avnet expressly disclaims any warranty whatsoever with respect to the adequacy of the implementation, including but not limited to any warranties or representations that this implementation is free from claims of infringement and any implied warranties of merchantability or fitness for a particular purpose.