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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA與ADSP TS201的總線接口設(shè)計(jì)方案

          FPGA與ADSP TS201的總線接口設(shè)計(jì)方案

          作者: 時(shí)間:2009-12-13 來(lái)源:網(wǎng)絡(luò) 收藏

            2.1 32位數(shù)據(jù)總線,32位寄存器,寫(xiě)操作

            前面提過(guò),DSP采用流水協(xié)議寫(xiě)時(shí),流水深度固定為1,在前一時(shí)鐘沿采到地址、WRx信號(hào)有效,在下一時(shí)鐘沿就鎖存數(shù)據(jù),如圖3所示,在時(shí)鐘沿1采到地址總線上的地址與寄存器地址一致,WRx信號(hào)為低,寫(xiě)標(biāo)志信號(hào)S_W_FLAG置高,由于采用同步,F(xiàn)PGA只有在時(shí)鐘沿2才能采到S_W_FLAG為高,一旦采到S_W_FLAG為高,F(xiàn)PGA就鎖存數(shù)據(jù)總線上的數(shù)據(jù),即在時(shí)鐘沿2鎖存數(shù)據(jù)。

          DSP采用流水協(xié)議寫(xiě)FPGA時(shí)

            2.2 32位數(shù)據(jù)總線,32位寄存器,讀操作

            與寫(xiě)寄存器不一樣,讀寄存器時(shí)流水深度在1到4之間可設(shè),需要注意的是,為避免總線沖突,DSP不讀時(shí),F(xiàn)PGA數(shù)據(jù)總線應(yīng)保持三態(tài)。

            如果流水深度設(shè)置為1,F(xiàn)PGA在前一時(shí)鐘沿采到地址、RD信號(hào)有效,應(yīng)確保在下一時(shí)鐘沿?cái)?shù)據(jù)已經(jīng)穩(wěn)定的出現(xiàn)在數(shù)據(jù)總線上,否則DSP不能正確讀取數(shù)據(jù),如圖3所示,在時(shí)鐘沿1采到地址總線上的地址與寄存器地址一致,RD信號(hào)為低,驅(qū)動(dòng)數(shù)據(jù)總線,在時(shí)鐘沿2數(shù)據(jù)已穩(wěn)定出現(xiàn)在數(shù)據(jù)總線上,DSP可以讀取。

            如果流水深度設(shè)置為2,F(xiàn)PGA在前一時(shí)鐘沿采到地址、RD信號(hào)有效,應(yīng)確保隔一時(shí)鐘周期后,數(shù)據(jù)穩(wěn)定的出現(xiàn)在數(shù)據(jù)總線上,這樣就像寫(xiě)操作一樣,需要加一個(gè)標(biāo)志,當(dāng)條件滿足,標(biāo)志為高,一旦標(biāo)志為高,輸出數(shù)據(jù),如圖4所示。

          DSP讀FPGA內(nèi)部寄存器

            綜上所述,流水深度加深一級(jí),F(xiàn)PGA就晚一個(gè)時(shí)鐘周期驅(qū)動(dòng)數(shù)據(jù)總線??梢钥闯觯m然流水深度在1~4之間可設(shè),但是總能保證一個(gè)時(shí)鐘周期傳輸一個(gè)數(shù)據(jù)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();