31.07.2013 Views

轻松实现高速串行I/O

轻松实现高速串行I/O

轻松实现高速串行I/O

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SERDES 示例资料—RocketIO X 收发器概述<br />

状态机通过跟踪合法和非法的同步报头来完成其工作。系统复位后,block_lock 信号为<br />

0,此时状态为 LOCK_INIT。下一个状态是 RESET_CNT,所有的计数器清零。若 test_sh<br />

为 1,则下一个状态是 TEST_SH,即检测同步报头的合法性。如果报头是合法的,下一个<br />

状态是 VALID_SH,否则下一个状态为 INVALID_SH。<br />

从VALID_SH状态起,如果sh_cntis比属性sh_cnt_max小并且test_sh为1,则下一个状态<br />

为TEST_SH。如果sh_cnt等于sh_cnt_max并且sh_invalid_cnt为0,则下一个状态为GOOD_64,<br />

此时block_lock信号设置为1。之后开始重复上述过程,并且计数器均清零。<br />

如果TEST_SHsh_cnt和sh_cnt_max相等,但是sh_invalid_cntis大于0,则下一个状态为<br />

RESET_CNT。从INVALID_SH状态起,如果sh_invalid_cnt等于sh_invalid_cnt_max或者<br />

block_lock信号为0,则下一个状态为SLIP,即bit_slip信号变为1,之后跳转到RESET_CNT<br />

状态。如果sh_cnt和sh_cnt_max相等,并且sh_invalid_cnt小于sh_invalid_cnt_max,且block_lock<br />

信号为1,此时跳转回RESET_CNT状态,而不改变block_lock或bit_slip的值。<br />

最后,如果test_sh为高且sh_cnt 小于sh_cnt_max,sh_invalid_cnt小于sh_invalid_cnt_max,<br />

同时block_lock为1,则跳转回TEST_SH状态。需要注意的是为了完成块锁定,状态机必须<br />

连续接收到sh_cnt_max个合法同步报头,而没有接收到非法同步报头。尽管如此,一旦完成<br />

块锁定,在接收到sh_cnt_max number个合法同步报头的同时允许接收sh_invalid_cnt_max-1<br />

个非法同步报头,而不会发生失锁。可见,一旦块锁定之后,失锁的情况很难发生。<br />

适用于所有协议的功能<br />

时钟修正<br />

当接收FIFO写入端的输入数据速率和读取端的输出数据速率不一致时,需要进行时钟<br />

修正。输入FIFO的输入数据速率是由RXRECCLK的频率决定的。从FIFO读取端输出的数据<br />

速率是由RXUSRCLK的频率决定的。<br />

此处仅有一种时钟修正模式:插入/移除idle时隙的时钟修正模式。<br />

插入/移除idle时隙的时钟修正<br />

当CLK_COR_SEQ_DROP属性为低且CLK_CORRECT_USE属性为高时,启用插入/移除idle<br />

时隙的时钟修正。<br />

插入/移除idle时隙的时钟修正模式:首先在比特流中寻找idle时隙,之后在这些idle时隙<br />

位置插入或者移除时隙,从而实现时钟修正。<br />

为使插入/移除idle时隙的时钟修正常运作,用户需要对几个属性进行适当设置。<br />

CLK_COR_MAX_LAT属性设置通过接收FIFO的最大延迟。如果通过接收FIFO的延迟超过<br />

了该值,则移除idle时隙,从而使通过接收FIFO的延迟小于CLK_COR_MAX_LAT的值。<br />

属性CLK_COR_MIN_LAT设置通过接收FIFO的最小延迟。如果通过接收FIFO的延迟小<br />

于这个值,则插入idle时隙,从而使通过接收FIFO的延迟大于CLK_COR_MIN_LAT的值。<br />

由于延迟超过CLK_COR_MAX_LAT而引起的延迟修正,修正后的延迟不会低于<br />

CLK_COR_MIN_LAT。同样,由CLK_COR_MAX_LAT引起的延迟修正,修正后的延迟不<br />

会高于CLK_COR_MAX_LAT。<br />

150·Xilinx

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!