- 相關推薦
基于單片機的 復雜可編程邏輯器件快速配置方法
摘要:介紹基于SRAM的可重配置CPLD的原理,通過對多種串行配置的比較,提出了由單片機和FLASH存儲器組成的串行配置方式,并從系統(tǒng)復雜度、可靠性和經(jīng)濟性等方面進行了比較和分析。基于SRAM(靜態(tài)隨機存儲器)的可重配置PLD(可編程邏輯器件)的出現(xiàn),為系統(tǒng)設計者動態(tài)改變運行電路中PLD的邏輯功能創(chuàng)造了條件。PLD使用SRAM單元來保存配置數(shù)據(jù)。這些配置數(shù)據(jù)決定了PLD內(nèi)部的互連關系和邏輯功能,改變這些數(shù)據(jù),也就改變了器件的邏輯功能。由于SRAM的數(shù)據(jù)是易失的,因此這些數(shù)據(jù)必須保存在PLD器件以外的EPROM、EEPROM或FLASH ROM等非易失存儲器內(nèi),以便使系統(tǒng)在適當?shù)臅r候?qū)⑵湎螺d到PLD的SRAM單元中,從而實現(xiàn)在電路可重配置ICR(In-Circuit Reconfigurability)。
本文介紹筆者設計的PLD ICR控制電路,它不但線路結(jié)構簡潔、開發(fā)容易、體積小、成本低,并且在圖2介紹的ICR控制電路中,其存儲PLD配置數(shù)據(jù)的FLASH存儲器采用并行總線,交換速度較快。然而PLD配置數(shù)據(jù)較大,通常都在數(shù)十千字節(jié)以上。如何提高圖2介紹的ICR控制電路的配置速度,使系統(tǒng)上電后的最短的時間內(nèi)完成配置而進入正常工作狀態(tài),軟件設計上的一個重點。
1 基于SRAM的可重配置CPLD的結(jié)構與原理
早期的可編程邏輯器件大多采用紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)方式。如GAL系列、EPF7064、EPF7128等。由于其結(jié)構簡單、規(guī)模小,只能完成簡單數(shù)字邏輯功能。此后,出現(xiàn)了一類結(jié)構上稍復雜的基于SRAM存儲器的可編程芯片,即復雜可編程邏輯器件(CPLD),它能完成各種數(shù)字邏輯功能。
采用這些結(jié)構的可編程邏輯器件有ALTERA公司的FLEX、ACEX、APEX系列,XILINX公司的Spartan、Virtex系列。多年來,ALTERA公司一直致力于CPLD的開發(fā)。近幾年,該公司又推出了很有競爭力的CPLD器件,即靈活的邏輯單元陣列的FLEX(Flexible Logic Element Matrix)系列產(chǎn)品。相對于其它一些廠家的FPGA產(chǎn)品來說,ALTERA公司的FLEX系列產(chǎn)品有其獨特之處。這主要表現(xiàn)在高密度、在線配置功能、高速度和連續(xù)式布線結(jié)構等方面。
查找表LUT(Look-Up-Table)是基于SRAM的可重配置PLD的一個重要組成部分,LUT本質(zhì)上就是一個RAM。目前CPLD中多使用4輸入的LUT,所以每一個LUT可以看成個有4位地址線的16×1bit的RAM。當用戶通過GDF原理圖或VHDL語言描述了一個邏輯電路后,CPLD開發(fā)軟件會自動計算邏輯電路的所有可能結(jié)果,并把結(jié)果事先存入查找表。這樣,當多信信號進行邏輯運算時就等于輸入一個地址進行查表,找出地址所對應的內(nèi)容,然后將其輸出即可。
2 可編程邏輯器件的配置原理
首先在開發(fā)軟件MAX PLUS II的ASSIGN菜單下選擇將要采用的基于SRAM的器件名稱。經(jīng)過編譯、優(yōu)化、邏輯綜合、仿真等步驟達到設計要求后,軟件會自動產(chǎn)生一個編程文件(擴展名為.SOF文件)。對于基于SRAM工藝的可編程邏輯器件(如ALTERA的所有FLEX、ACEX、APEX系列,XILINX的Sparten、Vertex系列),由于SRAM存儲器的特點,掉電后數(shù)據(jù)會消失,因此在調(diào)試期間可以采用并口ByteblasteMV下載電纜多次重復配置PLD器件。當電路設計成功,調(diào)試完成后,需要將配置數(shù)據(jù)燒寫固化在一個由ALTERA生產(chǎn)的專用EEPROM(如EPC1441)中。上電時,由這片配置EEPROM先對PLD加載數(shù)據(jù),幾十毫秒后,PLD即可正常工作。
CPLD器件的工作狀態(tài)分為三種:首先是上電配置狀態(tài)(Configuration Mode),將編程的數(shù)據(jù)裝入CPLD器件的過程,也可稱之為構造;然后是初始化狀態(tài)(Initialization Mode),在配置完成后,CPLD器件復位內(nèi)部各類寄存器,讓I/O引腳為邏輯器件正常工作做準備;最后是用戶狀態(tài)(User Mode),指電路中CPLD器件正常工作時的狀態(tài)。
ALTERA公司具有ICR功能的PLD器件有FLEX8000、FLEX10K、APEX和ACEX系列,它們的配置方式可分為PS、PPS和JTAG(Joint Test Action Group)等方式。PS方式因PLD與配置電路的互連最簡單,對配置時鐘的最小頻率沒有限制而應用最廣泛,因此在ICR控制電路中通常采用PS配置方式來實現(xiàn)ICR功能。
被動串行(PS)配置方式:在該配置方式下,由ByteblasteMV下載電纜產(chǎn)生一個由低到高的跳變送到nCONFIG引腳腳復位PLD,然后將配置數(shù)據(jù)送到DATA0引腳,直到CONF_DONE引腳變?yōu)楦唠娖健D1是PS配置方式的時序圖。CONF_DONE變成高電平后,DCLK必須多余十個周期來初始化該器件。器件的初始化由下載電纜自動執(zhí)行。在PS方式中沒有握手信號,所以配置時鐘的工作頻率必須低于10MHz。在多器件PS配置方式中,第一片PLD的nCEO引腳級聯(lián)到下一片PLD的nCE引腳。在配置完第一個器件后,nCEO輸出為低,使第二個PLD器件的nCE有效,開始對第二塊器件進行配置。
3 用WINBOND78E58單片機配置可編程邏輯器件
用單片機配置可編程邏輯器件與上述PS配置方式原理一致,只需模擬PS配置方式中DATA0、DCLK、nCONFIG、CONF_DONE、nSTATUS引腳的配置時序,將配置數(shù)據(jù)串行移入PLD。配置引腳的功能如表1所示。
3.1 硬件設計
用單片機配置PLD,可以使用普通輸入輸出口或單行口。使用普通I/O口(如P1口),向PLD發(fā)送1Bit數(shù)據(jù)至少需要4個指令周期。一個指令給DATA0賦值,
【基于單片機的 復雜可編程邏輯器件快速配置方法】相關文章:
基于FPGA的快速傅立葉變換03-19
FPGA器件的在線配置方法03-18
基于單片機的MicroDrive接口設計03-20
基于微處理器的FPGA配置方案03-07
基于PIC單片機的熱能表研制03-18