<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 實(shí)現(xiàn)USB3.0物理層中彈性緩沖的設(shè)計(jì)方案

          實(shí)現(xiàn)USB3.0物理層中彈性緩沖的設(shè)計(jì)方案

          作者: 時(shí)間:2011-07-29 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/155982.htm

            3.1 中SKP刪除

            當(dāng)接收時(shí)鐘域的symbol lock有效時(shí),寫使能才可能有效。一直可以寫到FIFO處于半滿狀態(tài),此時(shí)FIFO處于臨界狀態(tài),讀寫速率的差別將導(dǎo)致不同閥值的觸發(fā)。下圖是SKP對(duì)的刪除。

          圖 7 SKP對(duì)刪除

          檢測單元用來檢測進(jìn)入FIFO的數(shù)據(jù)是否為SKP,起到標(biāo)注SKP窗口的作用,為SKP的刪除提供了窗口。閥值監(jiān)測單元一直監(jiān)測FIFO中有效數(shù)據(jù)的數(shù)量。如果數(shù)量大于刪除閥值(FIFO中有10個(gè)有效數(shù)據(jù)),并且SKP窗口有效,那么暫停指針,屏蔽SKP對(duì),以此來達(dá)到刪除SKP對(duì)的目的。但是中的SKP都是成對(duì)出現(xiàn)的,因此刪除SKP對(duì)的時(shí)候要注意奇偶性。

            所以采用狀態(tài)機(jī)來中SKP對(duì)的刪除,如下圖。當(dāng)SKP窗口無效的時(shí)候,狀態(tài)處于idle;當(dāng)SKP窗口有效而且刪除閥值觸發(fā)時(shí),狀態(tài)進(jìn)入了屏蔽狀態(tài);在SKP窗口 有效的情況,屏蔽狀態(tài)持續(xù)到刪除閥值標(biāo)志無效;當(dāng)SKP窗口無效,或者刪除閥值標(biāo)志無效而且被屏蔽SKP個(gè)數(shù)是偶數(shù)個(gè),則狀態(tài)返回到idle狀態(tài)。

            指針屏蔽verilog代碼如下。

            3.2 USB3.0中SKP添加

            SKP添加模塊包括斷點(diǎn)保存、寫指針跳躍與握手、讀指針生成與輸出控制模塊 SKP添加發(fā)生在讀時(shí)鐘快于寫時(shí)鐘的時(shí)候,在正常情況下,的讀操作與普通的FIFO沒有任何區(qū)別。

          圖 9 SKP添加結(jié)構(gòu)

            3.2.1 斷點(diǎn)保存

            在常半滿模式下,讀寫指針相差8個(gè)時(shí)鐘。因此在寫指針發(fā)生事件,要經(jīng)過8個(gè)左右的 時(shí)鐘才能傳遞到讀指針。在出現(xiàn)SKP窗口的時(shí)候,如果添加閥值標(biāo)志觸發(fā),則讀指針要經(jīng)過8個(gè)時(shí)鐘才能添加SKP。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();