第可編程邏輯器件PPT課件_第1頁
第可編程邏輯器件PPT課件_第2頁
第可編程邏輯器件PPT課件_第3頁
第可編程邏輯器件PPT課件_第4頁
第可編程邏輯器件PPT課件_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、27.1.1 可編程邏輯器件的發(fā)展 可編程邏輯器件從產(chǎn)生到現(xiàn)在經(jīng)歷了不到40年的發(fā)展,其結(jié)構(gòu)、工藝、集成度、速度和性能等都得到不斷改進和提高,現(xiàn)在已經(jīng)形成很豐富完善的產(chǎn)品體系。 20世紀70年代,出現(xiàn)了最早的可編程邏輯器件PROM,以及可編程邏輯陣列(Programmable Logic Array,簡稱為PLA)和可編程陣列邏輯(Programmable Array Logic,簡稱為PAL)。 20世紀80年代,進入實質(zhì)性的發(fā)展階段。Altera推出了新型的可編程邏輯器件(Erasable Programmable Logic Device,簡稱為EPLD)。同時,Xilinx推出了現(xiàn)場可

2、編程邏輯器件(Field Programmable Gate Array,簡稱為FPGA)。緊接著,Lattice又推出了復(fù)雜可編程邏輯器件(Complex PLD,簡稱為CPLD)。 20世紀90年代以后,隨著集成電路制造工藝的發(fā)展,CPLD和FPGA的集成度越來越高,規(guī)模越來越大,設(shè)計方式越來越靈活,設(shè)計軟件也逐步完善。第1頁/共22頁27.1.2 CPLD的結(jié)構(gòu)及其邏輯實現(xiàn) 可編程邏輯器件PLD結(jié)構(gòu)上是由與陣列和或陣列構(gòu)成,原理是基于所有的邏輯電路都可以用“積之和”的布爾方程來表示。其中,兩級邏輯陣列的一個陣列或全部陣列可以通過編程來實現(xiàn)不同的組合,從而達到要求的邏輯功能。目前應(yīng)用最為廣

3、泛的是CPLD和FPGA,這兩者在結(jié)構(gòu)上是完全不同的。這里首先介紹CPLD的結(jié)構(gòu)及其邏輯實現(xiàn)。 1CPLD的內(nèi)部結(jié)構(gòu) 2CPLD的邏輯實現(xiàn)第2頁/共22頁27.1.3 FPGA的結(jié)構(gòu)及其邏輯實現(xiàn) FPGA具有與CPLD完全不同的內(nèi)部結(jié)構(gòu),其內(nèi)部是類似于門陣列的結(jié)構(gòu),可編程的邏輯單元位于芯片的中央,并排成陣列,四周采用可編程的I/O焊盤連接。邏輯單元之間使用可編程的互連資源,用來實現(xiàn)邏輯單元以及I/O引腳之間的聯(lián)通,從而實現(xiàn)復(fù)雜的邏輯功能。FPGA一般都含有成千上萬的邏輯門單元,還有許多觸發(fā)器。 FPGA的邏輯單元可以分為兩種:粗粒結(jié)構(gòu)和細粒結(jié)構(gòu)。粗粒結(jié)構(gòu)的FPGA,其邏輯單元較大,一般含有兩個

4、以上的查詢表和觸發(fā)器,比較適合高性能方面的應(yīng)用。細粒結(jié)構(gòu)的則邏輯單元相對較小,功能邏輯模塊和觸發(fā)器都相對較少。 與CPLD相比,F(xiàn)PGA的容量通常大于CPLD,而且FPGA的邏輯單元扇入小,觸發(fā)器數(shù)量比CPLD要多,布局和布線的延時是不確定的,但一般是可知的。第3頁/共22頁27.2 硬件描述語言簡述 硬件描述語言(Hardware Description Language)簡稱為HDL,是一種能夠以形式化方式描述電子系統(tǒng)的硬件行為、結(jié)構(gòu)和數(shù)據(jù)流的語言。硬件描述語言借鑒了其它高級語言的功能特性,對數(shù)字電路的結(jié)構(gòu)和行為進行了高度抽象化、規(guī)范化的形式描述,并對設(shè)計進行不同層次的仿真和優(yōu)化。 硬件描

5、述語言是伴隨著大規(guī)模集成電路的發(fā)展而形成的,至今已有40多年的歷史,主要用來解決大規(guī)模復(fù)雜集成電路的設(shè)計問題。特別是CPLD和FPGA廣泛普及后,硬件描述語言在廣大電子工程師中得到廣泛應(yīng)用。很多EDA廠商和科研機構(gòu)都開發(fā)了自己的電路硬件描述語言,比較有名的有Altera公司的AHDL語言,Data I/O公司的ABEL-HDL語言,Xilinx公司的Verilog HDL語言。由于這些硬件描述語言之間不能通用,限制了CPLD和FPGA的廣泛使用。此時迫切需要建立一個統(tǒng)一的標準。第4頁/共22頁27.2.1 硬件描述語言VHDL概述 VHDL(VHSIC Hardware Description

6、 Language)語言是一種硬件描述語言,20世紀80年代初,由美國國防部在其超高速集成電路計劃(VHSIC)中提出。后來,該語言逐步得到推廣,應(yīng)用越來越廣泛。1987年12月,電氣和電子工程師協(xié)會IEEE正式將VHDL語言作為國際標準,編號為IEEE Stdl076-1987,即VHDL87。1993年,又對該版本進行的進一步的修改,新的版本號為IEEE Stdl076-1993,即VHDL93。 1995年,Verilog HDL語言也被正式定為國際標準,編號為Verilog HDL1364-1995。這里主要介紹VHDL語言。第5頁/共22頁27.2.2 VHDL程序結(jié)構(gòu) 一個完整的V

7、HDL程序通常包括實體(Entity)、構(gòu)造體(Architecture)、配置(Configuration)、包集合(Package)和庫(Library)5個部分。其中實體和構(gòu)造體是必須的,其它幾個是可選項。VHDL語言程序的基本結(jié)構(gòu),如圖所示。第6頁/共22頁27.3 Altera常用CPLD芯片介紹 Altera公司的MAX7000系列是使用比較廣泛的CPLD,這里介紹其中的芯片EPM7128SLC84-15,這是基于乘積項結(jié)構(gòu)的可編程邏輯器件,其中有128個宏單元,8個邏輯陣列塊。該芯片有64個引腳可以用作通用輸入輸出引腳,對外擴展能力強大。引腳到引腳之間的延時快達5ns,計數(shù)器頻率

8、高達175.4MHz。 1引腳分配 2VHDL程序下載第7頁/共22頁27.4 使用CPLD擴展51單片機I/O接口 可編程邏輯器件CPLD/FPGA的主要優(yōu)點是內(nèi)部邏輯資源豐富,輸入輸出接口多,非常適合于邏輯電路以及有一定時序要求的電路。這里以上面介紹的Altera公司的CPLD芯片EPM7128SLC84-15為例,講解CPLD的程序設(shè)計,以及如何擴展單片機的接口。第8頁/共22頁27.4.1 CPLD擴展單片機I/O接口原理 8051系列單片機的I/O端口比較少,當系統(tǒng)外擴存儲器,或者使用串口及外部中斷資源后,剩余可用的I/O端口便更少了。為此,經(jīng)常需要進行單片機I/O接口的擴展。 前面

9、介紹過,可以使用外部RAM地址空間以及串口的模式0來實現(xiàn)擴展的I/O端口。這里介紹使用可編程邏輯器件CPLD豐富的I/O引腳資源,來擴展單片機I/O接口。 使用CPLD擴展單片機I/O接口的示意圖,如圖所示,其中擴展了4個輸出接口。也可以采用同樣的方法擴展輸入接口。整個系統(tǒng)涉及到單片機的程序設(shè)計、CPLD的程序設(shè)計等,下面分別進行介紹。第9頁/共22頁27.4.2 電路圖 這里采用層次式電路設(shè)計,層次式電路的母圖,如圖所示。在母原理圖中,定義了兩部分的接口,單片機和CPLD之間的接口通過P1端口和P3.0、P3.1引腳連接,P1端口輸出并行數(shù)據(jù),P3.0和P3.1用于選擇輸出的擴展并行口。第1

10、0頁/共22頁27.5 單片機程序設(shè)計 這里采用Atmel公司的AT89S52單片機,使用Keil C51語言編寫單片機程序。第11頁/共22頁27.5.1 項目建立 整個操作在Keil Vison3編譯環(huán)境中進行,具體操作步驟如下:第12頁/共22頁27.5.2 主程序 AT89S52主程序的流程圖,如圖所示。程序代碼示例如下:第13頁/共22頁27.6 VHDL程序設(shè)計 Altera提供了優(yōu)秀的CPLD和FPGA編譯仿真軟件,如MAX+PLUS II和Quartus II,可以仿真和編譯ALtera公司的所有產(chǎn)品。這里采用Altera公司最新的Quartus II軟件進行VHDL程序設(shè)計。

11、第14頁/共22頁27.6.1 項目建立 首先,在Quartus II軟件中建立VHDL設(shè)計項目,操作步驟如下:第15頁/共22頁27.6.2 程序設(shè)計 前面在Quartus II軟件中完成了整個工程項目的建立,這里添加設(shè)計源文件并采用VHDL語言進行程序設(shè)計。操作步驟如下:第16頁/共22頁27.7 程序仿真 Altera公司最新的Quartus II軟件提供了良好的編譯仿真操作。在進行仿真之前需要首先分配CPLD引腳,并確保VHDL程序編譯成功。第17頁/共22頁27.7.1 設(shè)計CPLD引腳 VHDL程序是獨立于器件的,其只描述了各個輸入輸出端口以及內(nèi)部的邏輯關(guān)系。VHDL程序的運行,還

12、需要將每個輸入輸出端口映射到芯片的具體引腳。Altera公司的Quartus II軟件提供了簡單方便的芯片引腳配置功能,支持Altera公司的所有CPLD和FPGA芯片。這里參照前面的電路圖,對本設(shè)計中的EPM7128SLC84-15進行引腳分配,具體操作步驟如下:第18頁/共22頁27.7.2 仿真操作 Altera公司的Quartus II軟件能夠?qū)HDL程序以及芯片進行精確的仿真,包括信號的延時、時序等。當完成引腳分配以及程序編譯后,便可以開始程序的仿真,下面具體介紹操作步驟。第19頁/共22頁27.8 程序下載 在Quartus II軟件中,可以利用前面介紹的下載電路,來將程序下載到CPLD芯片中執(zhí)行。程序下載的過程如下。第20頁/共22頁27.9 小結(jié) 本章首先介紹了可編程邏輯器件的發(fā)展,以及CPLD和FPGA的結(jié)構(gòu)及邏輯實現(xiàn)??删幊踢壿嬈?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論