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

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于CPLD的單片機(jī)PCI接口設(shè)計(jì)

          基于CPLD的單片機(jī)PCI接口設(shè)計(jì)

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

          2 設(shè)計(jì)接口實(shí)現(xiàn)

          2.1 ABEL HDL程序設(shè)計(jì)

          我們針對(duì)8位控制以太網(wǎng)卡進(jìn)行了程序設(shè)計(jì),器件選用ALTERA的MAX7000系列。針對(duì)以太網(wǎng)卡的特點(diǎn)在邏輯上進(jìn)行了再次簡(jiǎn)化,最張程序?qū)⑦m配進(jìn)EPM7128芯片中,并在實(shí)踐中檢驗(yàn)通過(guò)。

          以太網(wǎng)卡僅支持對(duì)配置空間和I/O空間的讀寫(xiě)操作,而且這兩個(gè)空間的地址都可以設(shè)置在0xFF以?xún)?nèi),所以可以只用一個(gè)pci_address0寄存器,其它地址都直接設(shè)為“0”;如果再限制,每次只往網(wǎng)卡寫(xiě)入一個(gè)字節(jié)數(shù)據(jù),則可以只用一個(gè)pci_datas0寄存器,其它數(shù)值在具體操作時(shí)設(shè)成與pci_datas0寄存器的一樣即可。

          以下是ABEL HDL主要源碼。其中16dmux是4~16位譯碼器,用于地址譯碼,選通內(nèi)的寄存器;8dffe是8位的DFFE;abelcounter是8位移位計(jì)數(shù)器;mylatch8與mylatch1分別為8位與1位鎖存器,而mylatchc是帶清零1位鎖存器;其它以“my”開(kāi)始的變量都是三態(tài)緩沖器,以“out”開(kāi)始的變量是三態(tài)節(jié)點(diǎn),以“e”開(kāi)始的變量是普通節(jié)點(diǎn)。這此在程序中不再聲明。
          SUBDESIGN abelpci

          P2[7..3] : INPUT;
          READ0 : INPUT
          WRITE0 : INPUT;
          P0[7..0] : BIDIR;
          CLK : INPUT;
          TRDY0 : INPUT;
          AD[31..] : BIDIR;
          CBE[3..0] : BIDIR;
          IRDY0 : OUTPUT;
          FRAME0 : OUTPUT;
          )
          VARIABLE
          decoder : 16dmux;
          mycounter : abelcounter;
          pci_c


          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(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); })();