Skip to content

Digilent Atlys Board: Adept Setup for Xilinx ISE

Tim Ansell edited this page Apr 20, 2014 · 4 revisions

These instructions are for setting up Adept tools for usage with Digilent Atlys board and the Xilinx ISE tools.

Download Xilinx ISE. The current version is 14.7 and released on the Oct 23, 2013.

http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html
"Full Installer for Linux (TAR/GZIP - 6.09 GB)"
MD5 SUM Value: e8065b2ffb411bb74ae32efa475f9817

These instructions are based off of the instructions found at http://lighttomorrow.wordpress.com/2011/12/18/how-to-install-digilent-cable-driver-for-xilinx-design-suite-on-ubuntu-11-10/ and http://wiki.gentoo.org/wiki/Xilinx_USB_JTAG_Programmers#Digilent_Xilinx_USB_JTAG_cable but updated to use the latest Adept information.

digilent.adept.runtime_2.13.1-x86_64
digilent.adept.utilities_2.1.1-x86_64
libCseDigilent_2.5.2-x86_64
# This assumes that ISE was installed to /opt/Xilinx/
tar -zxvf libCseDigilent_2.5.2-x86_64.tar.gz
cd libCseDigilent_2.5.2-x86_64/ISE14x
sudo mkdir -p /opt/Xilinx/14.4/ISE_DS/ISE/lib/lin64/plugins/Digilent/libCseDigilent/
sudo cp plugin/* /opt/Xilinx/14.4/ISE_DS/ISE/lib/lin64/plugins/Digilent/libCseDigilent/

Running IMPACT

. /opt/Xilinx/14.4/ISE_DS/settings64.sh
impact

If you get errors like WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648. or WARNING:iMPACT:923 - Can not find cable, check cable setup ! then the Digilent Adept plugin is not been successfully found. Try following the install instructions again.

You should get an image which looks like this;

iMPACT Command Output

Get Device ID

INFO:iMPACT - Current time: 20/04/14 3:03 PM
// *** BATCH CMD : ReadIdcode -p 1 
Maximum TCK operating frequency for this device chain: 0.
Validating chain...
Boundary-scan chain validated successfully.
'1': IDCODE is '01000100000000001000000010010011'
'1': IDCODE is '44008093' (in hex).
'1': : Manufacturer's ID = Xilinx xc6slx45, Version : 4

Get Device Signature/Usercode

INFO:iMPACT - Current time: 20/04/14 3:05 PM
// *** BATCH CMD : ReadUsercode -p 1 
Maximum TCK operating frequency for this device chain: 0.
Validating chain...
Boundary-scan chain validated successfully.
'1': Usercode is 'ffffffff'

Get Device Status

INFO:iMPACT - Current time: 20/04/14 3:05 PM
// *** BATCH CMD : ReadStatusRegister -p 1 
Maximum TCK operating frequency for this device chain: 0.
Validating chain...
Boundary-scan chain validated successfully.
'1': Reading bootsts register contents...
[0] VALID_0 - ERROR OR END OF STARTUP (EOS) DETECTED                       :         1
[1] FALLBACK_0 - FALLBACK RECONFIGURATION ATTEMPT DETECTED                 :         0
[2] RESERVED                                                               :         0
[3] WTO_ERROR_0 - WATCHDOG TIME OUT ERROR                                  :         0
[4] ID_ERROR_0 - FPGA DEVICE IDCODE ERROR                                  :         0
[5] CRC_ERROR_0 - CYCLIC REDUNDANCY CHECK (CRC) ERROR                      :         0
[6] VALID_1 - ERROR OR END OF STARTUP (EOS) DETECTED                       :         0
[7] FALLBACK_1 - FALLBACK RECONFIGURATION ATTEMPT DETECTED                 :         0
[8] RESERVED                                                               :         0
[9] WTO_ERROR_1 - WATCHDOG TIME OUT ERROR                                  :         0
[10] ID_ERROR_1 - FPGA DEVICE IDCODE ERROR                                 :         0
[11] CRC_ERROR_1 - CYCLIC REDUNDANCY CHECK (CRC) ERROR                     :         0
[12] STRIKE CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS                       :         0
[13] STRIKE_CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS                       :         0
[14] STRIKE_CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS                       :         0
[15] STRIKE_CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS                       :         0
'1': Reading status register contents...
[0] CRC ERROR                                                              :         0
[1] IDCODE ERROR                                                           :         0
[2] DCM LOCK STATUS                                                        :         1
[3] GTS_CFG_B STATUS                                                       :         1
[4] GWE STATUS                                                             :         1
[5] GHIGH STATUS                                                           :         1
[6] DECRYPTION ERROR                                                       :         0
[7] DECRYPTOR ENABLE                                                       :         0
[8] HSWAPEN PIN                                                            :         1
[9] MODE PIN M[0]                                                          :         1
[10] MODE PIN M[1]                                                         :         1
[11] RESERVED                                                              :         0
[12] INIT_B PIN                                                            :         1
[13] DONE PIN                                                              :         1
[14] SUSPEND STATUS                                                        :         0
[15] FALLBACK STATUS                                                       :         0

Get Device DNA

INFO:iMPACT - Current time: 20/04/14 3:06 PM
// *** BATCH CMD : readdna -p 1 
Maximum TCK operating frequency for this device chain: 0.
Validating chain...
Boundary-scan chain validated successfully.
'1': DNA = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

The device DNA should be 57 bits long. You can use Python to convert the binary number to hexadecimal as follows;

>>> hex(int('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 2))
'0x111111111111111'