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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > ACEX 1K 系列CPLD 配置方法探討

          ACEX 1K 系列CPLD 配置方法探討

          ——
          作者: 時間:2005-10-12 來源: 收藏
          1 引言

          ACEX 1K 系列器件是 公司近期推出的新型CPLD 產(chǎn)品。該器件基于SRAM,結(jié)合查找表(LUT)和嵌入式陣列塊(EAB)提供了高密度結(jié)構(gòu),可提供10 000 到100 000 可用門,每個嵌入式陣列塊增加到16位寬可實現(xiàn)雙端口,RAM位增加到49125個。其多電壓引腳可以驅(qū)動2.5V、3.3V、5.0V器件,也可以被這些電壓所驅(qū)動;雙向I/O引腳執(zhí)行速度可達250MHz。該器件還應(yīng)用專利技術(shù)進行了重要的生產(chǎn)改進,進一步降低了器件的成本,提高了產(chǎn)品的性能價格比。因此,ACEX 1K 器件可用來實現(xiàn)許多邏輯復(fù)雜、信息量大的系統(tǒng)。但是在器件操作過程中,ACEX 1K系列器件的配置數(shù)據(jù)存儲在SRAM單元中,由于SRAM的易失性,配置數(shù)據(jù)在每次上電時必須被重新載入SRAM。

          2 配置ACEX 1K 系列器件三種方法的比較

          對于ACEX 1K系列器件,目前實現(xiàn)加載的方法有以下3種:①采用PROM并行加載;②采用單片機控制實現(xiàn)加載;③通過JTAG口直接一次性實現(xiàn)編程數(shù)據(jù)加載。第一種方式需要占用較多的CPLD管腳資源,雖然這些資源在加載完成后可用作一般的I/O口,但在加載時不允許這些管腳有其他任何外來信號源;另外數(shù)據(jù)存儲在PROM與CPLD之間的大量固定連線,如8位數(shù)據(jù)線以及大量訪問PROM的地址線等,使得PCB板設(shè)計不便。但是這種方式有一個好處,即PROM的容量較大、容易購置、價格低、技術(shù)支持(編程器)較好。第二種方式采用單片機控制,由PROM中讀取并行數(shù)據(jù),然后串行送出。由于涉及到單片機編程,對于開發(fā)者來說較為不便;另外,如果單片機僅用來實現(xiàn)該任務(wù),較為浪費硬件資源。CPLD的一個最大優(yōu)點是采用計算機專用開發(fā)工具,通過JTAG口直接一次性實現(xiàn)編程數(shù)據(jù)加載,但是由于ACEX 1K 器件SRAM 的易失性使數(shù)據(jù)無法永久保存,為調(diào)試帶來很大的不便,特別是從事野外作業(yè)者。

          目前,公司推出了相應(yīng)的配置器件。在CPLD器件配置過程中,配置數(shù)據(jù)存儲在配置器件的EPROM中,通過配置器件內(nèi)部振蕩器產(chǎn)生的時鐘控制數(shù)據(jù)輸出。本文以20腳EPC2 器件(以下簡稱EPC2)為例闡述配置器件與ACEX 1K 系列器件的連接。

          3 EPC2 器件簡介

          EPC2具有Flash配置存儲器,可用來配置5.0V、3.3V、2.5V器件。通過內(nèi)置的IEEE Std.1149. 1 JTAG接口EPC2可以在5.0V和3.3V電壓下進行在系統(tǒng)編程(ISP)。系統(tǒng)編程后,調(diào)入JTAG 配置指令初始化ACEX 1K 器件。EPC2 的ISP 能力使ACEX 1K 器件的初始和更新更容易。當(dāng)用EPC2配置ACEX 1K器件時,在配置器件的內(nèi)部發(fā)生帶電復(fù)位延遲,最大值為200ms。Alterat公司的QuartusⅡ和MAX+PLUSⅡ軟件均支持配置器件的編程,設(shè)計中軟件自動為每一個配置器件產(chǎn)生POF。多器件設(shè)計中,對于多個ACEX 1K器件,軟件可以將編程文件與一個或多個配置器件聯(lián)合。軟件允許用戶選擇適當(dāng)?shù)呐渲闷骷浞值貎Υ婷恳粋€ACEX 1K器件的配置數(shù)據(jù)。EPC2 器件用于與ACEX 1K 器件連接的引腳功能見表1。

          4 器件連接及工作原理

          當(dāng)用一片EPC2配置ACEX 1K器件時,EPC2的控制信號nCS、OE、DCLK直接和ACEX 1K系列器件的控制信號連接。圖1 給出了ACEX 1K 器件和一片EPC2 的連接關(guān)系。

          EPC2的nCS和OE引腳控制DATA輸出引腳的三態(tài)緩沖器,使能地址計數(shù)器和EPC2的振蕩器。nCS引腳控制配置器件的輸出。當(dāng)OE引腳接低電平時,不論nCS為何狀態(tài),地址計數(shù)器復(fù)位,DATA引腳輸出為高阻狀態(tài)。當(dāng)OE引腳接高電平時,如果nCS保持高電平,則計數(shù)器停止計數(shù),DATA引腳保持高阻狀態(tài);如果nCS接低電平,則計數(shù)器和DATA引腳正常工作。EPC2允許用戶將nINIT_CONF引腳與PLD器件的nCONFIG引腳相連來初始化PLD器件的配置。EPC2的DATA引腳與ACEX 1K系列器件的DATA0或DATA引腳相連。存儲在EPC2器件中的數(shù)據(jù)在其內(nèi)部時鐘的控制下順序輸出到DATA 腳,然后在控制信號的控制下輸出到CPLD器件的DATA0或DATA引腳。當(dāng)配置數(shù)據(jù)的大小超過一片EPC2的容量時,可以采用多片級聯(lián)的方法。這時候器件的nCASC和nCS引腳做器件間的握手信號。器件連接如圖1虛線所示。

          用級聯(lián)EPC2 配置ACEX 1K 器件時,EPC2 的操作與其在級聯(lián)鏈中的位置有關(guān)。當(dāng)級聯(lián)鏈中的第一個即主EPC2加電或復(fù)位,且nCS腳為低電平時,主EPC2控制配置進行。配置過程中主EPC2向其后的從屬EPC2和CPLD器件提供所有的時鐘脈沖,并向PLD器件提供第一個數(shù)據(jù)流。當(dāng)主EPC2中配置數(shù)據(jù)發(fā)送完畢,器件的nCASC腳變?yōu)榈碗娖?,使第一個從屬EPC2的nCS腳變?yōu)榈碗娖?,從而使從屬EPC2向外發(fā)送配置數(shù)據(jù)。每一片EPC2中數(shù)據(jù)全部輸出且nCASC引腳為低電平時,器件的DATA引腳置為高阻狀態(tài)以避免和其他配置器件發(fā)生競爭。一旦所有的配置數(shù)據(jù)傳送完畢,且基于查找表的CPLD器件的CONF_DONE腳驅(qū)動主EPC2的nCS腳為高電平,主EPC2器件將額外增加16個時鐘周期來初始化CPLD器件。隨后主EPC2器件進入空閑狀態(tài)。當(dāng)需要另外加入EPC2器件時,可以將欲加入的EPC2的nCASC引腳和級聯(lián)鏈中的從屬EPC2的nCS相連,DCLK、DATA和OE引腳并聯(lián)。

          5 結(jié)論

          從上述的闡述中,我們可以看到:采用Altera公司的專用配置器件加載數(shù)據(jù)時,配置器件與CPLD之間的接口線非常少,且直接連接不需要外加智能控制器;通過器件內(nèi)置JTAG口能夠?qū)?shù)據(jù)一次性寫入EPROM中加以保存,而且當(dāng)CONFIG數(shù)據(jù)量較大時,可以采用多片級聯(lián);器件可多次寫入,當(dāng)需要下載新數(shù)據(jù)時不需事先擦除器件中原有數(shù)據(jù),只需將新數(shù)據(jù)直接寫入即可。由此可見采用配置器件加載數(shù)據(jù)方便、可靠、易學(xué)易用。

          參考文獻

          1 范宏波,李一民,朱紅梅.采用EEPROM對大容量FPGA芯片數(shù)據(jù)實現(xiàn)串行加載,云南省昆明理工大學(xué)信電學(xué)院. 2001 年第5 期2 ACEX 1K Programmable Logic Device Family. Altera Corporation, 2001.9 3 Configuration Devices for SRAM-Based LUT Device. Altera Corporation, 2002.2 4 Configuring SRAM-Based LUT Devices. Altera Corporation, 2002.2



          關(guān)鍵詞: Altera

          評論


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