版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第5章CPLD基礎(chǔ)
不論是簡單還是復雜的數(shù)字電路系統(tǒng),一般都由基本門構(gòu)成,如與門、或門、非門、傳輸門等。基本門構(gòu)成的電路有兩類:組合電路和時序電路。組合電路都可以采用與或門二級電路來實現(xiàn),而時序電路則可以在組合電路基礎(chǔ)上加上存儲元件(如鎖存器、觸發(fā)器、RAM等)?;谶@一基本的原理形成了可編程邏輯器件(PLD),PLD是目前集成電路中發(fā)展最快的器件之一,其應用設(shè)計不需要半導體廠家的參與,一般設(shè)計者可自行設(shè)計并應用。新買的PLD器件就猶如一張空光盤,不能直接使用,供設(shè)計者設(shè)計形成復雜的數(shù)字邏輯關(guān)系。PLD器件一般也分為兩類:一類是組合邏輯功能強大的CPLD,另一類是寄存器功能較強并包含RAM的FPGA。本章主要研究CPLD,從結(jié)構(gòu)、原理到開發(fā)軟件分類分別作闡述,針對CPLD的編程器制作設(shè)計做了重點介紹。5.1CPLD概念CPLD(ComplexProgrammableLogicDevice)直譯的話稱為復雜可編程邏輯芯片。它也屬于大規(guī)模集成電路LSI(LargeScaleIntegratedCircuit)里的專用集成電路ASIC(ApplicationSpecificIntegratedCircuit)。適合控制密集型數(shù)字型數(shù)字系統(tǒng)設(shè)計,其時延控制方便。
FPGA(FieldProgarmmableGateArray)稱為現(xiàn)場可編程門陣列,其典型產(chǎn)品有Xilinx公司的XC系列器件,其邏輯功能塊較小,適合數(shù)據(jù)密集型系統(tǒng)的設(shè)計,時延設(shè)計相對復雜。二者從嚴格的定義上沒有太大區(qū)分,只不過是組成分類的基準不同。二者比較詳細的區(qū)別見表5.1表5.1CPLD和FPGA比較項
目CPLDFPGA基本塊結(jié)構(gòu)與或(AND-OR)陣列的多PLD組合體單純門陣列的邏輯組合體設(shè)計自由度低高門的使用率電路決定配置配線決定程序存儲器Flash存儲器EEPROMSRAM(電源關(guān)閉,數(shù)據(jù)丟失)延遲時間一定
(可預測)隨配置配線不同而不同動作速度高速化簡單不易高速化(隨配置配線不同而不同)定時,模擬不需要需要(隨配置配線不同性能不同)適用電路小,中規(guī)模邏輯設(shè)計大規(guī)模邏輯設(shè)計CPLD和FPGA兩者使用很相似。在很多一般的應用CPLD已足以滿足要求,在此以CPLD為主介紹它的功能及設(shè)計法。對于CPLD和FPGA的生產(chǎn)廠家主要有兩家。它是Xilinx公司和Altera公司。本章主要以Xilinx
公司的CPLDXC9500系列和Altera公司的MAX7000系列為例說明它們的特征和使用,同時對開發(fā)語言VHDL作說明。無論哪家公司的CPLD,均可用VHDL來設(shè)計。5.1.1CPLD基本結(jié)構(gòu)復雜的可編程邏輯器件CPLD規(guī)模大,結(jié)構(gòu)復雜,屬于大規(guī)模集成電路范圍。CPLD有五個主要部分:邏輯陣列塊、宏單元、擴展乘積項、可編程連線陣列和I/O控制塊。1.邏輯陣列塊(LAB)一個邏輯陣列塊由16個宏單元的陣列組成,多個LAB通過可編程陣列(PIA)和全局總線連接在一起。如圖5.1全局總線從所有的專用輸入、I/O引腳和宏單元饋入信號。對于每個LAB有下列輸入信號。來自作為通用邏輯輸入的PIA的36個信號全局控制信號,用于寄存器輔助功能從I/O引腳到寄存器的直接輸入通道
圖5.1邏輯塊陣列2.宏單元
MAX7000系列中的宏單元由3個功能塊組成:邏輯陣列、乘積項選擇矩陣和可編程寄存器。各部分可以被獨自配置為時序邏輯和組合邏輯工作方式。其中邏輯陣列實現(xiàn)組合邏輯,可以為每個宏單元提供5個乘積項。乘積項選擇矩陣分配這些乘積項作為到“或門”和“異或門”的主要邏輯輸入,以實現(xiàn)組合邏輯函數(shù),或者把這些乘積項作為宏單元中寄存器的輔助輸入:如清零、置位、時鐘和時鐘使能控制。每個宏單元中的觸發(fā)器可以單獨地編程為具有可編程時鐘控制的D、T、JK或RS觸發(fā)器的工作方式。觸發(fā)器的時鐘、清零輸入可以通過編程選擇使用專用的全局清零和全局時鐘,或使用內(nèi)部邏輯(乘積項邏輯陣列)產(chǎn)生的時鐘和清零。觸發(fā)器也支持異步清零和異步置位功能,乘積項選擇矩陣分配乘積項來控制這些操作。如果不需要觸發(fā)器,也可以將此觸發(fā)器旁路,信號直接輸給PIA或輸出到I/O引腳,以實現(xiàn)組合邏輯工作方式。
3.擴展乘積項每個宏單元的一個乘積項可以反相回送到邏輯陣列。這個“可共享”的乘積項能夠連到同一個LAB中的任何其它乘積項上。盡管大多數(shù)邏輯函數(shù)能夠用每個宏單元中的5個乘積項實現(xiàn),但在某些復雜的邏輯函數(shù)中需要附加乘積項。為提供所需的邏輯資源,可以利用另一個宏單元,MAX70000結(jié)構(gòu)也允許利用共享和并聯(lián)擴展乘積項,這兩種擴展項可作為附加的乘積項直接送到本LAB的任意宏單元中。利用擴展項可保證在實現(xiàn)邏輯綜合時,用盡可能少的邏輯資源實現(xiàn)盡可能快的工作速度。1)共享擴展項每個LAB有多達16個共享擴展項。共享擴展項就是由每個宏單元提供一個未投入使用的乘積項,并將它們反相后反饋到邏輯陣列,便于集中使用。每個共享擴展項可被LAB內(nèi)任何(或全部)宏單元使用和共享,以實現(xiàn)復雜的邏輯函數(shù)。圖5.3給出了共享擴展項是如何饋送到多個宏單元的。圖5.2MAX7000系列的宏單元結(jié)構(gòu)圖5.3共享擴展乘積項結(jié)構(gòu)2)并聯(lián)擴展項并聯(lián)擴展項是一些宏觀單元中沒有使用的乘積項,并且這些乘積項可分配到鄰近的宏單元去實現(xiàn)快速復雜的邏輯函數(shù)。并聯(lián)擴展項允許多達20個乘積項直接饋送到宏單元的“或”邏輯,其中5個乘積項是由宏單元本身提供的,15個并聯(lián)擴展項是由LAB中鄰近宏單元提供的。每個LAB有兩組宏單元,每組含有8個宏單元(例如,一組為1~8,另一組為9~16)。在LAB中形成2個出借或借用并聯(lián)擴展項的鏈。一個宏單元可以從較小編號的宏單元中借用并聯(lián)擴展項。例如,宏單元8能夠從宏單元7,或從宏單元7和6,或從宏單元7、6和5中借用并聯(lián)擴展項。在有8個宏單元的每個組中,最小編號的宏單元僅能出借并聯(lián)擴展項;而最大編號的宏單元僅能借用并聯(lián)擴展項。如圖5.4給出了并聯(lián)擴展項是如何從鄰近的宏單元中借用的。宏單元中不用的乘積項可分配給鄰近的宏單元。
圖5.4并聯(lián)擴展項饋送方式4.可編程連線陣列PIA
通過可編程連線陣列可將各LAB相互連接構(gòu)成所需的邏輯。這個全局總線是可編程的通道,它能把器件中任何信號源連到其目的地。所有MAX7000系列器件的專用輸入、I/O引腳和宏單元輸出均饋送到PIA,PIA可把這些信號送到整個器件內(nèi)的各個地方。只有每個LAB所需的信號才真正給它布置從PIA到該LAB的連線,如圖5.5是PIA信號布線到LAB的方式。
圖5.5PIA信號布線到LAB的方式5.I/O控制塊
I/O控制塊允許每個I/O引腳單獨地配置成輸入/輸出和雙向工作方式。所有I/O引腳都有一個三態(tài)緩沖器,它能由全局輸出使能信號中的一個控制,或者把使能端直接連接到地(GND)或電源(VCC)上。MAX7000系列器件的I/O控制框圖如圖5.6所示。MAX7000器件有6個全局輸出使能信號,它們可以由以下信號驅(qū)動:兩個輸出使能信號、一個I/O引腳的集合、一個I/O宏單元的集合,或者是它“反相”后的信號。當三態(tài)緩沖器的控制端接地(GND)時,其輸出為高阻態(tài),而且I/O引腳可作為專用輸入引腳。當三態(tài)緩沖器的控制端接電源(VCC)時,輸出使能有效。
MAX7000結(jié)構(gòu)提供了雙I/O反饋,且宏單元和引腳的反饋是相互獨立的。當I/O引腳配置成輸入時,有關(guān)的宏單元可以用于隱含邏輯。
圖5.6I/O控制塊5.1.2XC9500系列芯片內(nèi)部構(gòu)成
如圖5.7所示XC9500系列芯片的外觀圖。它的設(shè)計應用等可等效成如圖5.8所示的電路。在圖5.8中用二片小規(guī)模集成電路,分別是7404和7400,通過外部走線完成邏輯組合。同樣的邏輯組合可用CPLD內(nèi)部邏輯塊和內(nèi)部連線實現(xiàn)同樣邏輯功能。圖5.7Xilinx
公司的CPLD外觀圖(XC9572)圖5.8小規(guī)模IC和CPLD實現(xiàn)同樣邏輯組合
XC9500系列包括多種,如XC9536,XC9572和XC95288等。它們內(nèi)部有Flash存儲器用于存儲數(shù)據(jù),對Flash存儲器可反復改寫,改寫次數(shù)可達萬次左右。由于CPLD的改寫數(shù)據(jù)端口是專用的,所以即使在實際回路中也可對它進行改寫。XC9500系列它們的區(qū)別見表5.2。對于XC9500系列的選用可根據(jù)所需設(shè)計的邏輯電路規(guī)模來選用。根據(jù)經(jīng)驗,可以根據(jù)傳統(tǒng)設(shè)計中使用4000系列或74系列IC數(shù)的多少,來決定選用的XC種類。具體如下:
4000,74系列5-10個XC9536簡單邏輯組合
4000,74系列15-25個XC9572較復雜邏輯組合
4000,74系列30-50個XC95108復雜邏輯組表5.2XilinxXC9500系列XC9500系列XC9536XC9572XC95108XC95144XC95216XC95288微單元數(shù)3672108144216288可使用門數(shù)80016002400320048006400延遲速度
(ns)5.010.010.0最大動作
(MHz)10083.383.383.366.766.7寄存器
數(shù)3672108144216288封裝形式(輸入輸出引腳數(shù))PC44(34)PC44(34)VQ44(34)CS48(34)PC84(69)PC84(69)TQ100(72)TQ100(81)TQ100(81)PQ100(72)PQ100(81)PQ100(81)PQ160(108)PQ160(133)PQ160(133)HQ208(166)HQ208(168)BG352(166)BG352(192)在使用XC9500前也許會問,其內(nèi)部結(jié)構(gòu)是什么?它的控制程序又是如何寫入、如何控制的?首先見圖5.9所示XC9500的內(nèi)部功能框圖,根據(jù)此框圖可看到CPLD由輸入輸出塊、JTAG控制塊、內(nèi)部系統(tǒng)程序控制塊、高速接續(xù)交換陣列、功能塊等部分組成。圖5.9CPLDXC9500內(nèi)部功能框圖輸入輸出塊是處于外部端口,緩沖器與內(nèi)部高速接續(xù)交換陣列中間的功能塊。它根據(jù)控制程序?qū)ν獠慷丝谂c內(nèi)部功能塊接續(xù),遵守程序的控制由高速接續(xù)陣列對各功能塊進行接續(xù),完成所需邏輯功能。功能塊是真正的邏輯電路,XC9500內(nèi)部有4個功能塊,每塊中又有18個微邏輯單元。所需邏輯電路均由這些微邏輯單元在控制程序控制下接續(xù)完成。下面分別介紹各功能塊的功能及內(nèi)部框圖。1.輸入輸出塊(I/OBlocks)
輸入輸出塊由輸入緩沖器、輸出緩沖器、輸出選擇器(OEMUX)和接地控制單元等構(gòu)成。如圖5.10所示輸入輸出塊由微邏輯單元輸出信號和全局三態(tài)控制門GTS(GlobalThreeStateControl)端口信號對輸出選擇器OEMUX進行控制使其處于輸出可能或停止狀態(tài)。其狀態(tài)可保持1或0。
XC95216和XC95288具有4個GTS端口,其它XC95系列芯片具有2個GTS端口。上升沿有效還是下降沿有效由Throulet控制,其常用于抑制噪聲。在輸入輸出端口需要接地時由接地控制單元控制完成。通??捎媒拥乜刂苼頊p輕噪聲,但在噪聲要求高的電路中,僅靠接地控制是不夠的。實際電路中還在輸入輸出端口使用上拉電阻提升電位。在寫入CPLD控制程序時,輸入輸出端口強制置1使其狀態(tài)對程序?qū)懭氩划a(chǎn)生不良影響。另外,各輸入輸出端口流入流出電流最大24mA。圖5.10輸入輸出塊框圖2.高速接續(xù)交換陣
(FastConnectSwitchMatrix)
高速接續(xù)交換陣功能就是對功能塊的輸入信號實施控制。該接續(xù)陣連接所有的I/O端口信號和功能塊的輸出信號,由控制程序指定輸入功能塊的信號,功能塊的輸出信號也可由AND邏輯緩沖器接入功能塊的輸入端。該設(shè)計使得功能塊的輸入信號選擇更靈活。另外是否使用緩沖器可由開發(fā)軟件自動選擇,據(jù)圖見圖5.11所示。圖5.11高速接續(xù)交換陣3.功能塊
(FunctionBlock)
功能塊由可編程與(AND)門陣列(ProgrammableANDarray),積項分配器(ProductTermAllocator)和微單元(MacroCell)三大部分構(gòu)成。如圖5.12所示輸入功能塊的36個輸入由可編程與門陣列進行真?zhèn)畏蛛x變成72種輸入。積項分配器對此72種輸入進行各種組合形成必要的論理信號輸入到微單元。圖5.12邏輯功能塊
微單元的內(nèi)部框圖如圖5.13所示。微單元由一個獨立的D/Ttypeflip-flop觸發(fā)器構(gòu)成。該D/T觸發(fā)器的設(shè)置,復位(Reset)條件以及時鐘條件等信號均由積項分配器提供。在不需要使用D/T觸發(fā)器時,邏輯信號可直接接入輸出端口。一個功能塊內(nèi)包含有獨立的18個微單元,所以有18個輸出。18輸出接續(xù)到輸入輸出端口和高速接續(xù)陣。接入功能塊的信號還有設(shè)置/復位信號及時鐘信號(GCK-GlobalClocks)。另外在積項分配器還輸出控制信號(PTOE-ProductTermOutputEnable)輸出至輸入輸出塊。功能塊數(shù)因不同型號芯片具有不同的數(shù)量。XC9536具有2個功能塊,XC9572有4個功能塊,XC95108有6個功能塊。通過控制不同端口,就可使用不同的功能塊,且功能塊也并非全部使用,可使用其中的一部分。具體請參照具體CPLD芯片的端口配置情況。圖5.13微單元(MacroCell)4.在系統(tǒng)編程控制(InSystemProgramming)
如圖5.14所示為在系統(tǒng)編程控制單元。XC9500系列的CPLD滿足IEEE1149.1規(guī)定。根據(jù)其中JTAG(JointTestActionGroup)協(xié)議,對CPLD進行控制編程。由于CPLD的JTAG所用的端口為獨立端口,在實際完成的電路板上也可重編CPLD程序。在重編CPLD程序時,所有輸入輸出端口均置H高電平。供JTAG使用的信號線有如下4條:TMS(TestModeSelect):使CPLD設(shè)置為輸入編程模式使用。TCK(TestClock):提供使CPLD動作的測試時鐘時使用。TDI(TestDataIn):編程寫入命令或數(shù)據(jù)時使用。TDO(ReadData):對CPLD調(diào)式Debug時讀出數(shù)據(jù)時使用。圖5.14系統(tǒng)內(nèi)編程控制5.1.3CPLD器件的選擇方法
由于CPLD器件廠商眾多,CPLD器件的選擇同其它通用邏輯器件不同,除考慮器件本身的性能外,配套軟件的支持也是器件選擇的重要依據(jù)。目前市場上已有的CPLD/FPGA器件生產(chǎn)廠家有20多個,而設(shè)計軟件除生產(chǎn)廠家自行研制的軟件外還有幾十多種獨立軟件。加上高性能器件的價格已經(jīng)不菲,更不用說設(shè)計軟件的價格,所以如何選用合適的CPLD器件,不只是一件一次性的工作,還涉及到設(shè)計軟件的選用以及今后進一步工作的開展。首先,用戶應該根據(jù)自身的技術(shù)環(huán)境、技術(shù)條件、使用習慣等選擇一種合適的軟件工具,同時要兼顧EDA技術(shù)的發(fā)展。與占據(jù)優(yōu)勢的軟件供應商同時也與多數(shù)芯片制造商建立了良好的合作伙伴關(guān)系,所以,擁有一種設(shè)計軟件,再進一步選擇不同的工具庫,或增加部分配置,即可對不同廠家的不同種類的FPGA產(chǎn)品進行設(shè)計。其次,用戶可根據(jù)設(shè)計的需要確定選擇哪一類可編程器件。如果用于航天、軍事領(lǐng)域等性能要求高的領(lǐng)域,反熔絲技術(shù)的一次編程型可編程芯片是首選;如果要完成多種算術(shù)運算,或是要求在較高速度下,CPLD/FPGA是較好的選擇;而對于功能復雜的時序邏輯電路而言,標準門陣列單元型的FPGA具有集成度高、保持靈活和功耗低的優(yōu)點。
當然,這只是通用準則,關(guān)鍵是所選擇的器件能滿足設(shè)計要求的所有功能,在此基礎(chǔ)上,再利用上述準則確定具體的一種器件。最后,選定某一廠家的產(chǎn)品,生產(chǎn)同類器件的廠家很多,一般依據(jù)以下準則進行選擇。選擇有設(shè)計軟件支持的廠家的芯片,這樣可減少資本投入,降低成本。選擇產(chǎn)品設(shè)計性能改進有余量的。如果所選擇的芯片是某一廠家產(chǎn)品中容量最大,或是速度最高的,那么,一但設(shè)計需要改進,則有可能在該廠家的芯片中再選不出合適的來了。設(shè)計應用的延續(xù)性和可擴展性。如果所選廠家的產(chǎn)品具有很大的局限性,則有可能僅僅適用于很少一部分設(shè)計,從而造成設(shè)計軟件投入上的浪費。選擇性能價格比最優(yōu)的。盡管象Xilinx、Altera這樣的器件生產(chǎn)廠家都在通過降價來作市場宣傳,大多數(shù)芯片的價格還是比較高的,所有在滿足上述準則的情況下適當考慮價格也是有必要的。CPLD以及FPGA等相關(guān)可編程器件的發(fā)展非常快,上面的選擇依據(jù)是從市場的角度出發(fā)對市場份額較大、行業(yè)內(nèi)目前處于領(lǐng)先地位的部分廠家進行的,具有一定的代表性,但不是十分全面。只有不斷跟蹤這一領(lǐng)域的技術(shù)發(fā)展和市場動態(tài)才能對可編程芯片有更加全面、不斷更新的認識,在應用系統(tǒng)的設(shè)計中更好地利用CPLD,以提高產(chǎn)品的設(shè)計水平。5.2CPLD的發(fā)展及設(shè)計必要軟件人們很早就曾設(shè)想設(shè)計一種邏輯可編程的器件,不過由于受當時集成電路工藝技術(shù)的限制,一直未能如愿。直到20世紀70年代,集成電路技術(shù)有了飛速的發(fā)展,可編程邏輯器件才得以實現(xiàn)。可編程邏輯器件PLD是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,是一種半定制的集成電路??删幊踢壿嬈骷笾碌陌l(fā)展演變過程如圖5.15所示。圖5.15可編程邏輯器件發(fā)展歷史PROM(ProgrammableReadOnlyMemory)可編程只讀存儲器PLA(ProgrammableLogicArray)可編程邏輯陣列PAL(PragrammableArrayLogic)可編程陣列邏輯GAL(GenericArrayLogic)通用陣列邏輯器件EPLD(ErasablePLD)可擦除編程邏輯器件FPGA(FieldProgrammableGateArray)現(xiàn)場可編程門陣列CPLD(ComplexProgrammableLogicDevice)復雜的可編程邏輯器件SOPC(SystemOnProgrammableChip)可編程邏輯器件的種類很多,幾乎每個大的可編程邏輯器件供應商都能提供具有自身結(jié)構(gòu)特點的PLD器件。由于歷史原因,無法統(tǒng)一命名。而較常見的分類是按集成度來區(qū)分不同的PLD器件。按集成度分類:如圖5.16,簡單PLD的可用邏輯門數(shù)大約在500門以下。復雜PLD的門數(shù)較高,不同的芯片門數(shù)不同。按結(jié)構(gòu)分類:乘積項結(jié)構(gòu)器件和查找表結(jié)構(gòu)器件。按編程工藝分:熔絲型器件、反熔絲型器件、EPROM型、EEPROM型和SRAM型。圖5.16可編程器件分類5.2.1CPLD基礎(chǔ)及開發(fā)軟件目前市場上CPLD的軟件種類繁多,軟件可以分為廠家集成開發(fā)軟件、編輯軟件,邏輯綜合軟件、仿真軟件及其他測試工具軟件等。其中集成開發(fā)軟件一般是由廠家直接提供,集成了編輯、綜合、仿真、布線等功能。其他專門軟件屬于單項功能的專用軟件。
1.集成開發(fā)軟件目前CPLD集成開發(fā)軟件主要有三家公司的軟件,分別是Altera公司、Xilinx公司、Lattice公司。
Altera公司提供的開發(fā)軟件是用戶最常用的。此類軟件是集成的CPLD開發(fā)環(huán)境。有多個版本,早期的Max+plusII,MaxplusIIBaselineAltera,MaxplusIIE+MAX等,基本都可以完成所有的設(shè)計輸入(原理圖或HDL),仿真,綜合,布線,下載等工作。而且是免費PLD開發(fā)軟件,目前Altera公司轉(zhuǎn)向QuartusII軟件平臺,QuartusII屬于新一代PLD開發(fā)軟件,適合大規(guī)模FPGA的開發(fā)。
Xilinx公司提供的CPLD軟件也有多個版本,早期Foundation軟件目前已基本不使用,ISE4.1軟件是目前Xilinx公司的主流版本軟件。Xilinx公司也提供免費的開發(fā)軟件,分別是WebPACKISE和WebFITTER。
Lattice公司提供的開發(fā)軟件是ispDesignEXPERT的PLD,目前最新軟件改名為ispLEVER。ispLEVERStarter是Lattice公司的免費PLD開發(fā)軟件,支持600個宏單元以下的Lattice芯片的設(shè)計。為了提高設(shè)計效率,優(yōu)化設(shè)計結(jié)果,很多廠家提供了各種專業(yè)軟件,用以配合PLD/FPGA芯片廠家提供工具進行更高效率的設(shè)計,最常見的組合同時使用專業(yè)HDL邏輯綜合軟件和PLD/FPGA芯片廠家提供的軟件。2.HDL前端輸入與系統(tǒng)管理軟件這類軟件主要是幫助用戶完成HDL文本的編輯和輸入工作,提高輸入效率,并不是必須的,更多人更習慣使用集成開發(fā)軟件或者綜合/仿真工具中自帶的文本編輯器,甚至可以直接使用普通文本編輯器。UltraEdit是其中使用最為廣泛的編輯器。3.HDL邏輯綜合軟件這類軟件將把HDL語言翻譯成最基本的與或非門的連接關(guān)系(網(wǎng)表),輸出edf文件,導給PLD/FPGA廠家的軟件進行試配和布線。為了優(yōu)化結(jié)果,在進行復雜HDL設(shè)計時,基本上都會使用這些專業(yè)的邏輯綜合軟件,而不使用PLD/FPGA廠家的集成開發(fā)軟件中自帶的邏輯綜合功能。如Synplicity公司出品提供的Synplify/SynplifyPro軟件,使用相當不錯。4.HDL仿真軟件此類軟件主要對設(shè)計進行校驗仿真,包括布線以前的功能仿真(前仿真)和布線以后包含延時的時序仿真(后仿真),對于一些復雜的HDL設(shè)計可能需要這些軟件專業(yè)的仿真功能。如ModelTech公司提供的VHDL/VerilogHDL仿真軟件,功能強大。5.2.2MAX+plusⅡ軟件使用
Altera公司的MAX+plusⅡ是一個高度集成的可編程邏輯器件開發(fā)系統(tǒng),是目前較為流行的EDA軟件之一。利用MAX+plusⅡ來分析設(shè)計組合邏輯電路及時序邏輯電路,從而實現(xiàn)數(shù)字系統(tǒng)的設(shè)計。1.MAX+plusⅡ的安裝
Altera公司的網(wǎng)址為:。可下載MAX+plusⅡ的最新學生版及注冊文件。文件名為license.dat,運行安裝包,正確安裝后啟動MAX+plusⅡ,參考界面如圖5.17。第一次使用MAX+plusⅡ時需要注冊。方法如下:選擇option菜單的licensesetup子菜單,將彈出licensesetup對話框,單擊“Browser”按鈕,選擇你下載的注冊文件(文件名為license.dat)并單擊“OK”按鈕確認。選擇“OK”按鈕返回主界面。
圖5.17MAX+plusII啟動界面2.MAX+plusⅡ仿真的實現(xiàn)
MAX+plusⅡ環(huán)境中實現(xiàn)仿真應經(jīng)過如下幾個步驟:建立仿真項目的工程文件建立仿真項目的工程文件是實現(xiàn)對數(shù)字系統(tǒng)仿真分析與設(shè)計的前提??赏ㄟ^建立仿真設(shè)計與分析的圖形文件(*.GDF)并將仿真項目的工程文件指向該圖形文件來完成.
方法如下:啟動MAX+plusⅡ(如果首次啟動,應注冊),選擇File菜單的new子菜單,在彈出的對話框中選擇文件類型為GraphicEditorfile,單擊OK進入圖形文件編輯狀態(tài)。選擇File菜單的SaveAs子菜單,將新創(chuàng)建的未命名的圖形文件取個名字(因MAX+plusⅡ仿真時要產(chǎn)生文件,最好為仿真項目新建一個子目錄),單擊OK保存。選擇File菜單Project子菜單下的SetProjectToCurrentFile將工程文件指向當前圖形文件。設(shè)計圖形文件
1)在編輯區(qū)任意位置雙擊,將彈出電路符號放置對話框如圖。圖5.18中的中間文本框為MAX+plusⅡ提供的元件庫。各庫簡要說明如下:
prim庫:基本庫,包括基本的邏輯單元電路及電路符號。如門電路、觸發(fā)器等。如and2表示2輸入與門,nand2表示2輸入與非門,or2表示2輸入或門,not表示反相器。dff、jkff、srff分別表示D觸發(fā)器、JK觸發(fā)器和RS觸發(fā)器。
mf庫:宏單元庫,主要提供常用中、小規(guī)模器件所對應的宏模塊。
Mega-lpm庫:參數(shù)化的模塊庫,主要提供了門單元、算術(shù)運算單元、存儲器單元等模塊。一般主要使用prim庫和mf庫。
圖5.18電路符號放置對話框2)聯(lián)接電路可參考技術(shù)手冊進一步熟悉電路聯(lián)接的技巧,在此僅對繪圖各工具的含義予以簡要說明編譯圖形文件全部連線完成后保存文件,選擇MAX+plusⅡ菜單的Compile子菜單,將出現(xiàn)圖5.19示的界面單擊START按鈕,如果沒有錯誤,系統(tǒng)將彈出編譯成功消息框。創(chuàng)建波形文件要實現(xiàn)對設(shè)計的圖形文件的邏輯功能仿真,尚需定義對應的波形文件,具體方法如下:
1)選擇File菜單的new子菜單,在彈出的對話框中選擇文件類型為WaveformEditorfile,單擊OK進入波形文件編輯狀態(tài)。
2)選擇File菜單的SaveAs子菜單,將新創(chuàng)建的未命名的波形文件取個名字(必須與圖形文件同名),單擊OK保存。圖5.19Compile界面設(shè)計波形文件波形文件是MAX+plusⅡ仿真的必須文件,其主要作用是定義各輸入信號及要觀察的輸出信號。圖5.20對波形編輯各工具做了詳細說明。
圖5.20波形編輯各工具的含義
仿真保存文件,選擇MAX+plusⅡ菜單的Simulator子菜單,將出現(xiàn)圖附錄5.21示的界面。單擊START按鈕,如果沒有錯誤,系統(tǒng)將彈出仿真成功消息框。確定消息框內(nèi)容后,單擊Open_SCF按鈕,可觀察仿真波形。
圖5.21Simulator界面開發(fā)工具軟件除了Altera廠家軟家以外Xilinx公司也提供了功能強大的開發(fā)軟件。將在第6章第3節(jié)將做詳細介紹。
Xilinx廠商開發(fā)工具WebPACKISE,其標志如下。
Download下載地址http://www.xilinx.co.jp/products/software/webpowered.htm5.3CPLD編程器制作5.3.1CPLD芯片編程器簡述圖5.22CPLD芯片編程器實物除了以上介紹的CPLD開發(fā)軟件外,對它的開發(fā)就必須還有CPLD編程器硬件(稱JTAGProgrammer)。實物圖請見圖5.22所示。在第8章中將介紹它的工作原理和具體電路圖等。圖5.23Xilinx公司的CPLD編程寫入器聯(lián)接圖Xilinx公司提供基于IEEE1149.1,JTAG協(xié)議(JTAGBoundaryScan)的CPLD編程寫入器。它由如圖5.23中DSUB-25接口和下載電纜組成。被開發(fā)的CPLD必須在開發(fā)的基板上進行編程?;迳暇捅仨毩粲蠮TAG使用的接口(TMS,TCK,TDI和TDO信號線等)。這樣的好處是能實機調(diào)試。
Xilinx的實機編程器外,還可設(shè)計脫機CPLD編程寫入器,如圖5.24所示。它能對CPLD進行編程寫入,而不需要開發(fā)實物基板。在實物基板設(shè)計時就不需留有JTAG接口。這樣能節(jié)約基板,減少產(chǎn)品體積。
在應用Xilinx等芯片進行編程時,除可以應用實機編程器外,也還可設(shè)計脫機CPLD編程寫入器,CPLD編程器硬件電路連圖接如圖5.26所示。它能對CPLD進行編程寫入,而不需要開發(fā)實物基板,在實物基板設(shè)計時就不需留有JTAG接口。這樣能節(jié)約基板,減少產(chǎn)品體積。5.3.2并行接口在設(shè)計CPLD編程器時,它與計算機的接續(xù)可采用多種接口,如并行(Parallel)接口,Multilinx/Serial串行接口,以及Multilinx/USB接口等。設(shè)計電路采用并行接口連接,該端口也是經(jīng)常用于連接本地打印機的接口。該端口是具有25引腳的接口,它的各引腳端口的信號請見圖5.25所示。本設(shè)計所使用的引腳與信號對應表,具體各引腳端口信號的說明見表5.3所示。圖5.25并行接口圖圖5.26CPLD編程寫入器總電原理圖表5.3CPLD編程器設(shè)計引腳說明表引腳號通常名稱本設(shè)計名稱說明2PD0(I/O)DIN(OUT)數(shù)據(jù)信號輸出(TDI)3PD1(I/O)CLK(OUT)時鐘信號輸出(TCK)4PD2(I/O)TMS_IN(OUT)模式選擇輸出(TMS)5PD3(I/O)CTRL(OUT)輸出控制信號6PD4(I/O)PROG(OUT)輸入控制信號8PD6(I/O)D6(OUT)狀態(tài)檢出用信號?11BUSY(IN)BUSY(IN)BUSY忙檢出12PE(IN)PE(IN)Parity奇偶錯誤檢出13SLCT(IN)DONE(IN)數(shù)據(jù)信號輸入(TDO)15ERR#(IN)VCCSENSE(IN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年粵教版高二語文下冊月考試卷
- 2025年統(tǒng)編版2024高二語文下冊階段測試試卷含答案
- 2025年蘇科版必修2物理上冊階段測試試卷
- 2025年滬教版選修6地理上冊階段測試試卷含答案
- 2025年滬科新版九年級歷史下冊月考試卷
- 2025年人教版(2024)九年級歷史上冊月考試卷含答案
- 2025年度住宅小區(qū)暖通設(shè)備更新?lián)Q代合同4篇
- 2025年度特色菜系廚師勞動合同模板4篇
- 中英對照2024年服務出口合同樣本
- 2025年度木地板施工與室內(nèi)空氣質(zhì)量保障合同4篇
- 2024公路瀝青路面結(jié)構(gòu)內(nèi)部狀況三維探地雷達快速檢測規(guī)程
- 2024年高考真題-地理(河北卷) 含答案
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024年浙江省中考科學試卷
- 2024風力發(fā)電葉片維保作業(yè)技術(shù)規(guī)范
- 《思想道德與法治》課程教學大綱
- 2024光儲充一體化系統(tǒng)解決方案
- 2024年全國高考新課標卷物理真題(含答案)
- 處理后事授權(quán)委托書
- 食材配送服務方案投標方案(技術(shù)方案)
- 足療店營銷策劃方案
評論
0/150
提交評論