UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 44848

7 Series/Virtex-5/6 FPGA - How do I switch between the top ICAP and bottom ICAP in my design?

Description

In my design, I use both ICAPs present in my FPGA. The top ICAP is selected by default. While the top ICAP is selected, the bottom ICAP ignores commands. How can I switch from the top ICAP to the bottom ICAP and vice-versa?

Solution


Command and Control Sequence to switch from Top ICAP to Bottom ICAP

For this sequence, set the control signals on the bottom ICAP to:

CS = 1
RDWR =0
Value
CS for Top ICAP
RDWR for Top ICAP
FFFFFFFF -- Dummy word
1
1
FFFFFFFF -- Dummy word
1
1
FFFFFFFF -- Dummy word
1
0
FFFFFFFF -- Dummy word
1
0
FFFFFFFF -- Dummy word
1
0
FFFFFFFF -- Dummy word
0
0
FFFFFFFF -- Dummy word
0
0
FFFFFFFF -- Dummy word
0
0
AA995566 -- Sync word
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
3000C001 -- Type 1 write 1 word to MASK
0
0
40000000 -- MASK value
0
0
3000A001 -- Type 1 write 1 word to CTL0
0
0
40000000 -- CTL0[30] change to 0
0
0
3000C001 -- Type 1 write 1 word to MASK
0
0
00000000 -- MASK value
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
30008001 -- Write to CMD register
0
0
0000000D -- DESYNC command
0
0
20000000 -- CS low to allow ABORT
0
0
20000000 -- CS low to allow ABORT
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0

After the sequence is complete, set the CS for the top ICAP to 1 and set RDWR to 0.

Command and Control Sequence to switch from Bottom ICAP to Top ICAP

For this sequence, set the control signals on the bottom ICAP to:

CS = 1
RDWR =0
Value
CS for Bottom ICAP
RDWR for Bottom ICAP
FFFFFFFF -- Dummy word
1
1
FFFFFFFF -- Dummy word
1
1
FFFFFFFF -- Dummy word
1
0
FFFFFFFF -- Dummy word
1
0
FFFFFFFF -- Dummy word
0
0
FFFFFFFF -- Dummy word
0
0
FFFFFFFF -- Dummy word
0
0
FFFFFFFF -- Dummy word
0
0
AA995566 -- Sync word
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
3000C001 -- Type 1 write 1 words to MASK
0
0
40000000 -- MASK value write
0
0
3000A001 -- Type 1 write 1 words to CTL0
0
0
40000000 -- CTL0[30] change to 1
0
0
3000C001 -- Type 1 write 1 words to MASK
0
0
00000000 -- MASK value
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
30008001 -- Write to CMD register
0
0
0000000D -- DESYNC command
0
0
20000000 -- CS low to allow ABORT
0
0
20000000 -- CS low to allow ABORT
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
20000000 -- NOOP
0
0
AR# 44848
Date Created 11/18/2011
Last Updated 04/26/2012
Status Active
Type General Article
Devices
  • Virtex-6 CXT
  • Virtex-6 HXT
  • Virtex-6 LXT
  • More
  • Virtex-6 SXT
  • Artix-7
  • Virtex-5 FXT
  • Virtex-5 LX
  • Virtex-5 LXT
  • Virtex-5 SXT
  • Virtex-7
  • Kintex-7
  • Less