- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page