FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6359 Discussions

Why my alt2gxb get into "electrically idle" ?

Altera_Forum
Honored Contributor II
1,101 Views

I have problem with ArriaGX alt2gxb megafunction. The megafunction is 

configured as PIPE, non-bonding mode. A port consists of 2 channels 

(tx0, rx0 and tx1, rx1), each has 16-bit/125MHz interface to the PLD 

side. A reference clock is supplied from an external pin to tx0, and 

its tx_clkout is distributed to both tx_coreclk(1 downto 0) and 

rx_coreclk(1 downto 0). 

 

The problem is that the pipeelecidle port outputs '1' forever for both 

channels, and rx_syncstatus never goes to high. I guess this means 

that the transmitter is in idle state for some unknown reason. 

 

When the device is powered on, both pll_locked and rx_pll_locked are 

asserted, and the core clock seems to be running. As for CRU locking, 

first I tried auto locking mode. But in that mode the resceiver cannot 

switch from locktorefclk to locktodata state. So I am now using manual 

locking mode. 

 

The following sequence goes on as power-up sequence: 

 

1. gxb_powerdown is asserted for 1ms, and then deasserted. 

tx_digitalreset, rx_analogreset and rx_digitalreset 

are also asserted. 

 

2. tx_digitalreset and rx_analogreset are deasserted 1 clk after 

pll_locked is asserted. 

 

3. rx_digitalreset is deasserted 1 clk after rx_pll_locked is asserted. 

 

4. send K28.5 until rx_syncstatus is asserted (but actually it never get 

asserted, and pipeelecidle never get deasserted). 

 

Am I forgetting something critical, may be?
0 Kudos
0 Replies
Reply