第8章現(xiàn)代數(shù)字邏輯器件_第1頁
第8章現(xiàn)代數(shù)字邏輯器件_第2頁
第8章現(xiàn)代數(shù)字邏輯器件_第3頁
第8章現(xiàn)代數(shù)字邏輯器件_第4頁
第8章現(xiàn)代數(shù)字邏輯器件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第8章現(xiàn)代數(shù)字邏輯器件第一頁,共62頁。第九章現(xiàn)代數(shù)字邏輯器件第二頁,共62頁。9.1概述近幾年在ASIC領(lǐng)域出現(xiàn)了一種半定制電路,即現(xiàn)場(chǎng)可編程邏輯器件FPLD。目前使用較多的可編程邏輯器是現(xiàn)場(chǎng)可編程門陣列FPGA(fieldprogrammablegatearray)和復(fù)雜可編程邏輯器件CPLD(complexprogrammablegatearray)?,F(xiàn)在市場(chǎng)上FPLD的品種很多,使用較多的是Altera、Xilinx和Lattice這3個(gè)公司的產(chǎn)品,各公司都有不同型號(hào)的CPLD和FPGA產(chǎn)品,例如,Xilinx的XC系列;Altera的EPLD系列、FPGA系列;Lattice的ispLSI、ispGAL等。由于各個(gè)公司的FPLD結(jié)構(gòu)不同,使用的裝載電纜線是不一樣的,設(shè)計(jì)軟件也不同,但共同的特點(diǎn)是:現(xiàn)場(chǎng)可編程邏輯器件FPLD都可以在系統(tǒng)進(jìn)行編程加載程序,不需要使用專用的編程器,它們都是直接將實(shí)驗(yàn)系統(tǒng)和計(jì)算機(jī)的并行口連接,通過運(yùn)行軟件對(duì)芯片進(jìn)行裝載,在實(shí)驗(yàn)室中就可將大量的數(shù)字電路設(shè)計(jì)集成到一個(gè)大芯片中,實(shí)現(xiàn)系統(tǒng)的微型化和可靠性。目前工程設(shè)計(jì)人員通常都采用這種方法進(jìn)行電路設(shè)計(jì)。第三頁,共62頁。9.1概述這類器件的使用特點(diǎn)是:芯片一經(jīng)上電加載即已完成編程,不必在每次上電時(shí)重新進(jìn)行加載,也就是當(dāng)程序燒入芯片后,只有下一次需要再修改程序時(shí)才需要對(duì)芯片重新進(jìn)行加載,否則將不會(huì)改變先前所燒入的代碼,類似于大的GAL芯片。CPLD在結(jié)構(gòu)上主要由可編程邏輯宏單元LMC(logicmacrocell)圍繞中心的可編程互連矩陣單元組成,其中LMC的邏輯結(jié)構(gòu)比較復(fù)雜,并具有復(fù)雜的I/O單元互連結(jié)構(gòu),可以由用戶根據(jù)設(shè)計(jì)的需要生成特定的電路結(jié)構(gòu),完成一定的功能。1.CPLD或EPLD芯片第四頁,共62頁。9.1概述這類器件不像CPLD或EPLD,每次上電使用時(shí)不管是否改變程序都要對(duì)芯片進(jìn)行加載?,F(xiàn)在FPGA芯片的容量一般比CPLD或EPLD的容量要大得多,更適合于做較大系統(tǒng)的復(fù)雜設(shè)計(jì)。FPGA芯片通常包含3類可編程資源:可編程的邏輯功能塊、可編程I/O塊和可編程的內(nèi)部互連。可編程的邏輯功能塊是實(shí)現(xiàn)用戶功能的基本單元,它們通常排成一個(gè)陣列,遍布于整個(gè)芯片中;可編程I/O塊完成芯片上的邏輯與外部封裝管腳的接口,常圍繞著陣列排列于芯片四周;可編程的內(nèi)部互連包括各種長度的連接線段和一些可編程連接開關(guān),它們將各個(gè)可編程邏輯塊或I/O塊連接起來,構(gòu)成特定功能的電路。2.FPGA芯片第五頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)20世紀(jì)70年代末AMD公司推出了可編程陣列邏輯(PAL—ProgrammableArrayLogic)器件。20世紀(jì)80年代初期,美國Lattice公司推出了一種新型的PLD器件,稱為通用陣列邏輯(GAL-GenericArrayLogic),一般認(rèn)為它是第二代PLD(ProgramableLogicDevice)器件。在EPROM基礎(chǔ)上出現(xiàn)的高密度可編程邏輯器件稱為EPLD或CPLD?,F(xiàn)在一般把超過某一集成度的PLD器件都稱為CPLD。FPGA器件采用邏輯單元陣列結(jié)構(gòu)和靜態(tài)隨機(jī)存取存儲(chǔ)器工藝,設(shè)計(jì)靈活,集成度高,可無限次反復(fù)編程,并可現(xiàn)場(chǎng)模擬調(diào)試驗(yàn)證。9.2.1PLD的發(fā)展進(jìn)程第六頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)目前生產(chǎn)PLD的廠家有Xilinx、Altera、Actel、Atemel、AMD、AT&T、Cypress、Intel、Motorola、Quicklogic、TI(TexasInstrument)等。常見的PLD產(chǎn)品有:PROM、EPROM、EEPROM、PLA、FPLA、PAL、GAL、CPLD、EPLD、EEPLD、HDPLD、FPGA、pLSI、ispLSI、ispGAL和ispGDS等。PLD與分立元件相比,具有速度快、容量大、功耗小和可靠性高等優(yōu)點(diǎn)。由于集成度高,設(shè)計(jì)方法先進(jìn)、現(xiàn)場(chǎng)可編程,可以設(shè)計(jì)各種數(shù)字電路,因此,在通信、網(wǎng)絡(luò)、儀器、數(shù)據(jù)處理、汽車、存儲(chǔ)/服務(wù)器、工業(yè)和航空/國防等眾多領(lǐng)域內(nèi)得到了廣泛應(yīng)用。目前在我國常見的PLD生產(chǎn)廠家有XILINX、ALTERA、ACTEL、LATTIC、ATEMEL、MICROCHIP和AMD等等,其中XILINX和ALTERA為兩個(gè)主要生產(chǎn)廠,XILINX的產(chǎn)品為FPGA,ALTERA的產(chǎn)品稱為CPLD,各有優(yōu)缺點(diǎn),但比較起來ALTERA的產(chǎn)品略有長處。9.2.2PLD介紹第七頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)9.2.3CPLD的基本結(jié)構(gòu)1.邏輯陣列宏單元圖9-1邏輯陣列單元結(jié)構(gòu)圖第八頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)9.2.3CPLD的基本結(jié)構(gòu)2.I/O控制模塊CPLD中的I/O控制模塊,根據(jù)器件的類型和功能不同,可有各種不同的結(jié)構(gòu)形式,但基本上每個(gè)模塊都由輸出極性轉(zhuǎn)換電路、觸發(fā)器和輸出三態(tài)緩沖器三部分及與它們相關(guān)的選擇電路所組成。第九頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)9.2.4Altera公司的器件產(chǎn)品Altera公司提供了7種通用PLD系列產(chǎn)品:FLEX10K、FLEX8000、MAX9000、MAX7000、FLASHlogic、MAX5000和Classic。FLEX(FlexibleLogicElementMatriX)結(jié)構(gòu)使用查找表(LUT—LookUpTable)來實(shí)現(xiàn)邏輯功能,而多陣列矩陣(MAX—MutipleArrayMatriX)、FLASHlogic和經(jīng)典系列,采用可編程“與”/固定“或”乘積項(xiàng)結(jié)構(gòu)。所有Altera器件系列都使用CMOS處理工藝,它比雙極性工藝具有更低的功耗和更高的可靠性。第十頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)1.FLEX10K系列器件FLEX10K系列器件是高密度陣列嵌入式可編程邏輯器件系列。這類器件最大可達(dá)10萬個(gè)典型門,5392個(gè)寄存器;采用0.5μmCMOSSRAM工藝制造;具有在系統(tǒng)可配置特性;在所有I/O端口中有輸入/輸出寄存器;3.3V或5.0V工作模式;由Altera公司的MAX+plusⅡ開發(fā)系統(tǒng)提供軟件支持,可在PC機(jī)或工作站上運(yùn)行。第十一頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)1.FLEX10K系列器件表9-2FLEX10K(EPF10K10~10K100)器件特性第十二頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)1.FLEX10K系列器件圖9-10FLEX10K的結(jié)構(gòu)框圖第十三頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)2.FLEX8000系列器件FLEX8000系列器件是高密度陣列嵌入式可編程邏輯器件系列,采用0.5μmCMOSSRAM工藝制造;具有在系統(tǒng)可配置特性;在所有I/O端口中有輸入/輸出寄存器;3.3V或5.0V工作模式;由Altera公司的MAX+plusⅡ開發(fā)系統(tǒng)提供軟件支持,可在PC機(jī)或工作站上運(yùn)行。第十四頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)2.FLEX8000系列器件表9-3FLEX8000器件特性第十五頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)2.FLEX8000系列器件圖9-19FLEX8000系列器件的結(jié)構(gòu)第十六頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)3.MAX9000系列MAX9000系列器件的特性可參見FLEX10K系列及表9-4的說明,器件結(jié)構(gòu)可參見FLEX8000系列及圖9-24~圖9-27?;贓EPROM的MAX9000系列將MAX7000結(jié)構(gòu)的有效宏單元與FLEX8000結(jié)構(gòu)的高性能、可預(yù)測(cè)快速通道互連相結(jié)合,使該系列器件特別適合于集成多個(gè)系統(tǒng)及功能。MAX9000系列具有6000~12000個(gè)可用門,320~560個(gè)宏單元,最多達(dá)到216個(gè)用戶I/O引腳。這一密度等級(jí),以及JTAG邊界掃描測(cè)試支持和在系統(tǒng)可編程性,使MAX9000器件成為利用PLD好處的門陣列設(shè)計(jì)以及利用ISP靈活性設(shè)計(jì)的最佳選擇。第十七頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)3.MAX9000系列表9-4MAX9000器件特性第十八頁,共62頁。9.2復(fù)雜可編程邏輯器件(CPLD)3.MAX9000系列圖9-24MAX9000器件結(jié)構(gòu)圖第十九頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)3.MAX9000系列FPGA是現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray)的簡(jiǎn)稱。FPGA器件及其開發(fā)系統(tǒng)是開發(fā)大規(guī)模數(shù)字集成電路的新技術(shù)。它利用計(jì)算機(jī)輔助設(shè)計(jì),繪制出實(shí)現(xiàn)用戶邏輯的原理圖、編輯布爾方程或用硬件描述語言等方式作為設(shè)計(jì)輸入;然后經(jīng)一系列轉(zhuǎn)換程序、自動(dòng)布局布線、模擬仿真的過程;最后生成配置FPGA器件的數(shù)據(jù)文件,對(duì)FPGA器件初始化。這樣就實(shí)現(xiàn)了滿足用戶要求的專用集成電路,真正達(dá)到了用戶自行設(shè)計(jì)、自行研制和自行生產(chǎn)集成電路的目的。概括地說,F(xiàn)PGA器件具有下列優(yōu)點(diǎn):高密度、高速率、系列化、標(biāo)準(zhǔn)化、小型化、多功能、低功耗、低成本,設(shè)計(jì)靈活方便,可無限次反復(fù)編程,并可現(xiàn)場(chǎng)模擬調(diào)試驗(yàn)證。使用FPGA器件,一般可在幾天到幾周內(nèi)完成一個(gè)電子系統(tǒng)的設(shè)計(jì)和制作,縮短研制周期,達(dá)到快速上市和進(jìn)一步降低成本的要求。據(jù)統(tǒng)計(jì),1993年FPGA的產(chǎn)量已占整個(gè)可編程邏輯器件產(chǎn)量的30%,并在逐年提高。FPGA在我國也得到了較廣泛的應(yīng)用。第二十頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.1從CPLD到FPGA的產(chǎn)生CPLD相對(duì)于老的PLD器件的最大進(jìn)步在于它能夠在單個(gè)器件中容納大量的邏輯。理論上,可以不斷在CPLD中加入LAB,繼續(xù)增加邏輯數(shù)量。但是,這樣做需要有額外的PI布線,實(shí)現(xiàn)所有這些LAB的連接,其連接數(shù)量會(huì)呈指數(shù)增長,直到芯片管芯的連線數(shù)量超過邏輯數(shù)量,這限制了容量的擴(kuò)展。解決方法是把LAB排列在網(wǎng)格中,從而產(chǎn)生了現(xiàn)場(chǎng)可編程門陣列FPGA的概念,LAB都被排列在大型陣列中,器件可以現(xiàn)場(chǎng)編程或者重新編程,和CPLD一樣。沒有采用中心全局器件互連,而是把布線放置在LAB之間的空格上,就像大城市的街道。這種布線被排列成行列互連的形式。它可以跨過器件的整個(gè)長度和寬度,或者器件的一小部分,只覆蓋行列中的幾個(gè)LAB,如圖9-28所示。第二十一頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.1從CPLD到FPGA的產(chǎn)生圖9-28FPGA互連結(jié)構(gòu)圖第二十二頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.1從CPLD到FPGA的產(chǎn)生圖9-29FPGA內(nèi)部資源結(jié)構(gòu)圖第二十三頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.2FPGA器件的結(jié)構(gòu)FPGA器件的內(nèi)部結(jié)構(gòu)為邏輯單元陣列(LCA)。LCA由3類可編程單元組成:周邊的輸入/輸出模塊(IOB)、核心陣列是可配置邏輯塊(CLB)以及各模塊間的互連資源。XC3000系列的LCA結(jié)構(gòu)如圖9-30所示。第二十四頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.2FPGA器件的結(jié)構(gòu)圖9-30XC3000系列的LCA結(jié)構(gòu)第二十五頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式FPGA的配置模式是指FPGA用來完成設(shè)計(jì)時(shí)的邏輯配置和外部連接方式。邏輯配置是指,經(jīng)過用戶設(shè)計(jì)輸入并經(jīng)過開發(fā)系統(tǒng)編譯后產(chǎn)生的配置數(shù)據(jù)文件,將其裝入FPGA芯片內(nèi)部的可配置存儲(chǔ)器的過程,簡(jiǎn)稱FPGA的下載。只有經(jīng)過邏輯配置后,F(xiàn)PGA才能實(shí)現(xiàn)用戶需要的邏輯功能。第二十六頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式表9-5XC2000/XC3000/XC3100及XC4000系列的配置模式第二十七頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式選擇主動(dòng)串行模式時(shí),需要附加一個(gè)外部串行存儲(chǔ)器EPROM或PROM,事先將配置數(shù)據(jù)寫入外部存儲(chǔ)器。每當(dāng)電源接通后,F(xiàn)PGA將自動(dòng)地從外部串行PROM或EPROM中讀取串行配置數(shù)據(jù)。主動(dòng)串行配置模式如圖9-43所示。1.主動(dòng)串行配置模式第二十八頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式1.主動(dòng)串行配置模式圖9-43主動(dòng)串行配置模式第二十九頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式2.主動(dòng)并行配置模式在主動(dòng)并行配置模式的情況下,一般用EPROM做外部存儲(chǔ)器,事先將配置數(shù)據(jù)寫入EPROM芯片內(nèi),每當(dāng)電源接通后FPGA將自動(dòng)地從外部串行EPROM中讀取配置數(shù)據(jù)。主動(dòng)并行配置模式電路如圖9-44所示。主動(dòng)配置模式使用FPGA內(nèi)部的一個(gè)振蕩器產(chǎn)生CCLK來驅(qū)動(dòng)從屬器件,并為包含配置數(shù)據(jù)的外部EPROM生成地址及定時(shí)信號(hào)。第三十頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式2.主動(dòng)并行配置模式圖9-44主動(dòng)并行配置模式第三十一頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式3.外設(shè)配置模式在外設(shè)配置模式下,F(xiàn)GPA器件將作為一個(gè)微處理器的外設(shè),配置數(shù)據(jù)由微處理器提供,在微處理器的寫脈沖和片選信號(hào)的控制下對(duì)FPGA進(jìn)行數(shù)據(jù)配置。在CS0、CS1、CS2和WRT信號(hào)的控制下得到寫周期,在每個(gè)寫周期經(jīng)數(shù)據(jù)總線通過FPGA芯片引腳D0~D7并行讀入一個(gè)字節(jié)的配置數(shù)據(jù)(也可采用串行方式),配置數(shù)據(jù)存入芯片內(nèi)部的輸入緩沖寄存器,在FPGA內(nèi)部將并行配置數(shù)據(jù)變?yōu)榇袛?shù)據(jù)。若FPGA信號(hào)RDY/BUSY輸出高電平,表示一個(gè)字節(jié)的配置數(shù)據(jù)讀完,輸入緩沖器準(zhǔn)備好,準(zhǔn)備讀入下一字節(jié)的配置數(shù)據(jù)。外設(shè)配置模式的電路如圖9-45所示。第三十二頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式3.外設(shè)配置模式圖9-45外設(shè)配置模式第三十三頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式4.從動(dòng)串行配置模式從動(dòng)串行配置模式如圖9-46所示。該模式為PC機(jī)或單片機(jī)系統(tǒng)加載FPGA配置數(shù)據(jù)提供了最簡(jiǎn)單的接口。串行數(shù)據(jù)DIN和同步配置時(shí)鐘CCLK可以同時(shí)由一個(gè)PC機(jī)的I/O口提供,在時(shí)鐘CCLK的控制下進(jìn)行配置操作。在該模式中,F(xiàn)PGA在CCLK的上升沿從DIN輸入腳接收串行配置數(shù)據(jù),裝入它的配置后,在CCLK的下降沿由DOUT輸出該數(shù)據(jù)。這種配置模式可以把多個(gè)器件的DIN管腳和DOUT管腳串接起來,同時(shí)配置多個(gè)器件。如果將多個(gè)FPGA器件的DIN接在一起,把其中任何一個(gè)FPGA的DOUT反饋回PC機(jī)的I/O口,就可實(shí)現(xiàn)相同配置數(shù)據(jù)的加載操作。第三十四頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式4.從動(dòng)串行配置模式圖9-46從動(dòng)串行配置模式第三十五頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式5.菊花鏈配置模式在數(shù)字系統(tǒng)的應(yīng)用設(shè)計(jì)中,單片F(xiàn)PGA不足以實(shí)現(xiàn)完整的系統(tǒng)功能時(shí),可采用多個(gè)FPGA芯片。多個(gè)FPGA芯片可以用菊花鏈模式配置。菊花鏈模式是一種多芯片的配置信號(hào)連接方式,任何模式配置的LCA都支持菊花鏈。以主動(dòng)模式配置的LCA可作為數(shù)據(jù)源,并可控制從屬器件。圖9-47所示,為一個(gè)主模式配置器件與兩個(gè)從屬配置器件。主模式器件讀取外部存儲(chǔ)器并開啟其他器件的配置加載過程。在配置開始時(shí),以一段起始碼和一個(gè)長度碼作為文件頭的數(shù)據(jù)提供給所有的器件。長度碼表示加載菊花鏈中各個(gè)器件所需的總周期數(shù)。在加載長度碼后,前面的器件加載它的配置數(shù)據(jù)時(shí)會(huì)提供一個(gè)高電平DOUT給后面的器件。當(dāng)前面的器件加載完畢,而長度計(jì)數(shù)未達(dá)到預(yù)置數(shù)時(shí),繼續(xù)讀存儲(chǔ)器過程,數(shù)據(jù)經(jīng)過前面的器件以串行方式從DOUT腳輸出。同時(shí),前面的器件也同時(shí)產(chǎn)生CCLK以同步串行輸出數(shù)據(jù)。若處于主動(dòng)模式,前面的器件則以EPROM取地址速率的8倍產(chǎn)生內(nèi)部CCLK,如果是處于外設(shè)配置模式,則由片選和寫選通信號(hào)來產(chǎn)生CCLK。第三十六頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式5.菊花鏈配置模式圖9-47主并菊花鏈配置模式第三十七頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式6.FPGA的配置流程在FPGA的配置之前,首先要借助于FPGA開發(fā)系統(tǒng),按某種文件格式要求描述設(shè)計(jì)系統(tǒng),編譯仿真通過后,將描述文件轉(zhuǎn)換成FPGA芯片的配置數(shù)據(jù)文件。選擇一種FPGA的配置模式,將配置數(shù)據(jù)裝載到FPGA芯片內(nèi)部的可配置存儲(chǔ)器,F(xiàn)PGA芯片才會(huì)成為滿足要求的芯片系統(tǒng)。FPGA的配置流程如圖9-48所示,包括芯片初始化、芯片配置和啟動(dòng)等幾個(gè)過程。當(dāng)系統(tǒng)加電時(shí),F(xiàn)PGA自動(dòng)觸發(fā)芯片的加電/復(fù)位電路,芯片開始進(jìn)行初始化操作。初始化操作包括:清除芯片內(nèi)部的可配置存儲(chǔ)器;檢測(cè)芯片引腳M0、M1和M2的狀態(tài),判斷芯片的配置模式;將輸出引腳設(shè)置成高阻狀態(tài)。FPGA芯片內(nèi)部設(shè)有延時(shí)電路,使芯片有足夠的時(shí)間完成初始化操作。在芯片的配置過程中,如果檢測(cè)到RESET的低有效信號(hào),配置過程就會(huì)中斷,芯片初始化操作重新開始。第三十八頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式6.FPGA的配置流程圖9-48FPGA的配置流程第三十九頁,共62頁。9.3現(xiàn)場(chǎng)可編程門陣列(FPGA)9.3.3FPGA的配置模式7.FPGA的設(shè)計(jì)流程FPGA設(shè)計(jì)方法可以總結(jié)為一個(gè)簡(jiǎn)單的設(shè)計(jì)流程,Altera的QuartusII軟件是全集成開發(fā)工具,完全支持這一設(shè)計(jì)流程。具體步驟如下。(1)進(jìn)行源文件的編輯和編譯。首先需要將設(shè)計(jì)思路用文本方式或圖形方式表達(dá)出來,進(jìn)行排錯(cuò)編譯,為進(jìn)一步的邏輯綜合做準(zhǔn)備。常用的源程序輸入方式有原理圖輸入方式和文本輸入方式。(2)進(jìn)行邏輯綜合和優(yōu)化。將源文件經(jīng)過一系列的操作,分解成一系列的邏輯電路及對(duì)應(yīng)的關(guān)系,最終獲得門級(jí)電路甚至更底層的電路描述文件,即生成與FPGA/CPLD基本結(jié)構(gòu)相對(duì)應(yīng)的網(wǎng)表文件。(3)進(jìn)行目標(biāo)器件的布線/適配。在選用的目標(biāo)器件中建立起與網(wǎng)表文件符合的基本邏輯電路的對(duì)應(yīng)關(guān)系。(4)目標(biāo)器件的編程下載。如果編譯、綜合、布線/適配和行為仿真、功能仿真、時(shí)序仿真等過程都沒有發(fā)現(xiàn)問題,即滿足原設(shè)計(jì)的要求,則可以將布線/適配器產(chǎn)生的配置/下載文件下載電纜載入目標(biāo)芯片中。(5)硬件仿真/硬件測(cè)試。將下載好程序的FPGA放在開發(fā)板上進(jìn)行測(cè)試,以驗(yàn)證設(shè)計(jì)思想與實(shí)際電路的偏差。第四十頁,共62頁。9.4硬件描述語言VHDL9.4.1語言特點(diǎn)與設(shè)計(jì)流程一、VHDL語言的特點(diǎn)硬件描述語言有HDL、AHDL、VerilogHDL和VHDL等。VHDL語言的全稱是“超高速集成電路硬件描述語言”(veryhighspeedintegratedcircuithardwaredescriptionlanguage)屬于硬件描述語言中的一種,對(duì)系統(tǒng)硬件的描述功能很強(qiáng)而語法規(guī)范又比較簡(jiǎn)單。其中符合IEEE-1076標(biāo)準(zhǔn)的VHDL的應(yīng)用成為EDA解決方案中的首選。VHDL這種行為描述性語言將被廣泛應(yīng)用到新一代EDA硬件設(shè)計(jì)方案中,因此對(duì)VHDL的應(yīng)用成為EDA解決方案的核心,更是整個(gè)電子邏輯系統(tǒng)設(shè)計(jì)的核心。VHDL語言作為高級(jí)硬件行為描述型語言,如今已經(jīng)廣泛被應(yīng)用到FPGA/CPLD和ASIC中的設(shè)計(jì)。嚴(yán)格地講,VHDL是一種用來描述數(shù)字邏輯系統(tǒng)的“編程語言”。它通過對(duì)硬件行為的直接描述來實(shí)現(xiàn)對(duì)硬件的物理實(shí)現(xiàn),代表了當(dāng)今硬件設(shè)計(jì)的發(fā)展方向。VHDL是為了滿足邏輯設(shè)計(jì)過程中的各種需求而設(shè)計(jì)的。第四十一頁,共62頁。9.4硬件描述語言VHDL9.4.1語言特點(diǎn)與設(shè)計(jì)流程二、VHDL的設(shè)計(jì)流程圖9-49VHDL的設(shè)計(jì)流程第四十二頁,共62頁。9.4硬件描述語言VHDL9.4.2VHDL程序基本結(jié)構(gòu)一個(gè)VHDL程序由5個(gè)部分組成,包括實(shí)體(ENTITY)、結(jié)構(gòu)體(architecture)、配置(coxnfiguration)、包(package)和庫(library)。實(shí)體和結(jié)構(gòu)體兩大部分組成程序設(shè)計(jì)的最基本單元。圖9-50VHDL程序的基本組成第四十三頁,共62頁。9.4硬件描述語言VHDL9.4.2VHDL程序基本結(jié)構(gòu)在用VHDL描述數(shù)字系統(tǒng)結(jié)構(gòu)時(shí),使用實(shí)體(ENTITY)結(jié)構(gòu)。實(shí)體是VHDL程序設(shè)計(jì)中最基本的模塊,可以單獨(dú)編譯并且可以并入設(shè)計(jì)庫。ENTITY所描述的是數(shù)字系統(tǒng)輸入/輸出接口,同時(shí)還定義一些全局常量以及與其他電路(程序模塊或邏輯圖模塊)之間必要連接的拓?fù)浣Y(jié)構(gòu),實(shí)體是用來描述一個(gè)元件或一個(gè)模塊與整個(gè)系統(tǒng)中其他的元件或模塊間的關(guān)系。但在ENTITY部分并不對(duì)電路的邏輯做任何描述,可以看成是一個(gè)所謂的邏輯“黑盒子”。很明顯,VHDL遵循EDA解決方案中自頂向下的設(shè)計(jì)原則,并能夠保持良好的接口兼容性。在一個(gè)設(shè)計(jì)中可以同時(shí)聲明若干組entity-achitecture,也就是說entity-achitecture是VHDL描述邏輯時(shí)的基本結(jié)構(gòu)。設(shè)計(jì)的最頂層是頂級(jí)實(shí)體。如果設(shè)計(jì)分層次,那么在頂級(jí)實(shí)體中將包含較低級(jí)別的實(shí)體。9.4.2.1實(shí)體第四十四頁,共62頁。9.4硬件描述語言VHDL9.4.2VHDL程序基本結(jié)構(gòu)9.4.2.1實(shí)體實(shí)體組織的一般格式是:ENTITY實(shí)體名IS[GENERIC(類屬表);][PORT(端口表);]

實(shí)體說明部分;

[BEGIN

實(shí)體語句部分;]END[實(shí)體名];大寫字母表示的是實(shí)體說明的框架,對(duì)于每一個(gè)實(shí)體說明都應(yīng)該這樣寫,是不可缺少的。實(shí)際上VHDL是不區(qū)分大小寫的。用大寫表示是為了使程序結(jié)構(gòu)更清晰而方便閱讀。第四十五頁,共62頁。9.4硬件描述語言VHDL9.4.2VHDL程序基本結(jié)構(gòu)9.4.2.1實(shí)體圖9-50一個(gè)實(shí)際器件及其實(shí)體描述第四十六頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體一、類屬1.格式GENERIC[CONSTANT(名字表)]:[IN]子類型標(biāo)識(shí)[:=靜態(tài)表達(dá)式]2.功能參數(shù)的類屬設(shè)計(jì)是為實(shí)體和外部環(huán)境通信的集體靜態(tài)信息提供通道。用來規(guī)定端口的大小、實(shí)體中元件的數(shù)目和實(shí)體的定時(shí)特性等相關(guān)的參數(shù)。第四十七頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體一、類屬3.實(shí)例(1)對(duì)于各種譯碼器電路,如2-4譯碼器、3-8譯碼器、4-16譯碼器等,其特點(diǎn)是有N個(gè)輸入,就有2N個(gè)輸出。而這些譯碼器除了端口數(shù)目不同之外,其他方面(如器件的連接)都是一樣的,因此用類屬進(jìn)行統(tǒng)一的描述。ENTITYdecoderIS GENERIC(N:Positive); PORT (Sel: in Bit_vector(1toN);

Dout:out Bit_vector(1to2**N));ENDdecoder;這里的N代表輸入端口的數(shù)目,Positive是N的類型,為正整數(shù)。定義了N之后,在實(shí)體說明中定義端口時(shí),就可以用N來代替位向量的維數(shù),輸入端口如果為N個(gè),按照譯碼器的功能,輸出端口自然就是2N個(gè)。第四十八頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體一、類屬3.實(shí)例(2)對(duì)于一個(gè)基本門電路,其輸入與輸出之間存在著一定的延遲,這個(gè)延遲也可以用類屬來表示。ENTITYgateISGENERIC(Delay:time:=5ns)PORT(…);ENDgate;這樣就可以在下面的程序中作為延遲引用。例如:out<=in1andin2afterDelay第四十九頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體二、端口1.格式PORT(端口名:模式數(shù)據(jù)類型名)2.功能端口說明是對(duì)基本設(shè)計(jì)實(shí)體與外部接口的描述,這樣的描述對(duì)應(yīng)于圖9-50器件的一個(gè)引腳,主要是對(duì)外部引腳的信號(hào)名稱、模式、數(shù)據(jù)類型以及信號(hào)方向進(jìn)行描述。端口說明為實(shí)體與外部環(huán)境動(dòng)態(tài)通信提供了通道,實(shí)體說明中的每一個(gè)輸入/輸出被稱為一個(gè)端口,一個(gè)端口實(shí)際上是一個(gè)數(shù)據(jù)對(duì)象。第五十頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體二、端口3.使用端口可以被賦值,也可以當(dāng)做變量用在邏輯表達(dá)式中。模式是用來說明數(shù)據(jù)、信號(hào)通過該端口的方向,主要有以下幾種:(1)IN,包括時(shí)鐘輸入、控制輸入和單向的數(shù)據(jù)輸入。不用的輸入一般接地。例如,I/O芯片的控制信號(hào)和地址信號(hào)。(2)OUT,包括計(jì)數(shù)輸出、單向的數(shù)據(jù)輸出,用于控制其他實(shí)體的輸出信號(hào)等。不能用于被設(shè)計(jì)實(shí)體的內(nèi)部反饋。不用的輸出端口不能接地。例如,I/O芯片的數(shù)據(jù)輸出。(3)BUFFER,既能用于輸出,也能用于反饋。但緩沖端口不允許多重驅(qū)動(dòng),不與其他實(shí)體的雙向端口、輸出端口相連,即緩沖端口不能作為輸入。例如,觸發(fā)器的輸出。(4)INOUT,可代替IN、OUT、BUFFER,是一個(gè)完備的端口模式。雙向端口允許引入內(nèi)部反饋?zhàn)鳛榫彌_模式使用。例如,I/O芯片與系統(tǒng)總線相接的數(shù)據(jù)端口。4.模式端口名是賦予每個(gè)外部引腳的名稱。第五十一頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體二、端口5.類型由IEEE1706/93標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)類型IEEEstd_logic_1164約定。常用的類型有std_logic/std_ulogic和std_logic_vector/std_ulogic_vector。為使EDA工具的仿真、綜合軟件能夠處理這些邏輯類型必須從實(shí)體的庫中用USE語句調(diào)用。useieee.std_logic_1164.all;6.實(shí)例(1)并行口通信芯片8255,其端口定義為:第五十二頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體二、端口6.實(shí)例ENTITYi8255_full_sync_latchIS

PORT

(reset,cs: in std_logic;rd,wr: in std_logic;a1,a0: in std_logic;pa,pb: inout std_logic_vector(7downto0);pcl,pch: inout std_logic_vector(3downto0);d: inout std_logic_vector(7downto0));

ENDi8255_full_sync_latch;第五十三頁,共62頁。9.4硬件描述語言VHDL9.4.2.1實(shí)體二、端口6.實(shí)例(2)定時(shí)/計(jì)數(shù)器芯片8253,其端口定義為:ENTITYi8253_sync_latchIS

PORT

(rd,wr,cs,a1,a0: in std_logic;clk0,clk1,clk2: in std_logic;gate0,gate1,gate2: in std_logic;out0,out1,out2: buffer std_logic;d: inout std_logic_vector(7downto0));ENDi8253_sync_latch;第五十四頁,共62頁。9.4硬件描述語言VHDL9.4.2.2結(jié)構(gòu)體結(jié)構(gòu)體ARCHITECTURE是ENTITY的實(shí)體。所有能被仿真的實(shí)體都有一個(gè)結(jié)構(gòu)體描述,在ARCHITECTURE中才對(duì)具體的邏輯進(jìn)行描述,結(jié)構(gòu)體描述實(shí)體的具體行為功能。需要說明的是,ARCHITECTURE在ENTITY內(nèi)出現(xiàn),在編輯程序時(shí)一定要放在實(shí)體的后面。主要由變量聲明和語句描述兩部分構(gòu)成。變量有信號(hào)型(signal)和內(nèi)部節(jié)點(diǎn)型(variable)兩種。其中包括組合邏輯語句(blockstatement)和同步時(shí)序邏輯語句(concurrentStatement)。對(duì)于異步時(shí)序則是靠一些語句中的語句排列順序再加上wait、after等延時(shí)語句來完成的。一個(gè)實(shí)體可以有多個(gè)結(jié)構(gòu)體,分別描述電路中各模塊的功能,如圖2.2所示。結(jié)構(gòu)體主要有3種描述方法,即行為描述法、數(shù)據(jù)流描述法和結(jié)構(gòu)化描述法。當(dāng)然這3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論