I'm attempting to verify the stability of our HyperLink on a custom board between a C6678 and Stratix IV running Integretek's HyperLink core.
I've configured the C6678 EVM HyperLink test to run 4 lanes at 1.25 Gbps per lane with 156.25 MHz synchronous clks. This reflects how I configured Integretek's HyperLink core.
The core I load the test on hangs on its first or second remote register read. This happens during the "setup peripheral" step in the EVM HyperLink test. For it to get past the first remote register read, which happens in hyplnkExampleCheckOneStat in the LLD, I need to put in a ~0.5 ms delay between Hyplnk_readRegs and Hyplnk_close.
Immediately before the core hangs, the C6678 registers are as follows:
ctl 0x00006200
--------------------------
intlocal 1
intenable 1
intvec 00010
int2cfg 0
serial_stop 0
loopback 0
reset 0
sts 0x04400005
--------------------------
swidthin 0100
swidthout 0100
serial_halt 0
pll_unlock 0
rpend 0
iflow 0
oflow 0
rerror 0
lerror 0
nfempty3 0
nfempty2 0
nfempty1 0
nfempty0 0
spend 1
mpend 0
link 1
int_pri_vec 0x80000000
--------------------------
nointpend 1
intstat 00000
pwr 0x0707004
--------------------------
h2l 111
l2h 111
pwc 00000000
highspeed 0
quadlane 1
singlelane 0
zerolane 0
link_sts 0xFDF0BDF0
--------------------------
txpls_req 11
txpls_ack 11
txpm_req 11
tx_rsync 0
txplsok 1
tx_phy_en 1111
txflow_sts 0000
rxpls_req 10
rxpls_ack 11
rxpm_req 11
rx_lsync 0
rx_one_id 1
rx_phy_en 1111
rx_phy_pol 0000
serdes_ctl_sts1 0x092E0000
--------------------------
sleep_cnt 00001001
disable_cnt 00101110
Are there any clues here to why the core would hang?