




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第11章數字系統與可編程邏輯器件簡介11.1概述11.2可編程邏輯器件PLD簡介1本章要求1.了解數字系統的基本概念和自頂向下的模塊化設計方法,了解掌握數據通路和數字子系統。2.了解數字集成電路,掌握集成電路的制造技術類型,集成電路的封裝類型,規模類型和使用特性等。3.掌握可編程邏輯器件(ProgrammableLogicDevice,PLD)概念和組成原理等。211.1概述11.1.1基本概念
在數字電路中,無論是組合邏輯電路還是時序邏輯電路,它們的功能都相對單一,通常使用真值表、狀態圖、狀態表等數學工具就可以進行描述。在實際應用項目中,人們往往需要用到各種功能復雜的數字系統。1.什么是數字系統
在數字電子技術領域,由各種邏輯器件構成的能夠實現某種單一特定功能的電路稱為功能部件級電路,它們只能完成單一功能。而由若干數字電路和邏輯部件構成的能夠實現數據存儲、傳輸和處理等復雜功能的數字設備,則稱為數字系統。電子計算機就是一個典型的復雜數字系統。311.1.1基本概念2.數字系統的一般結構
所謂數字系統,是指交互式的以離散形式表示的具有存儲、傳輸、處理信息能力的邏輯子系統的集合物。顯然,數字系統的功能、性能、規模遠遠超出了一般中小規模數字邏輯電路的范圍。從本質上看,數字系統的核心問題仍是邏輯設計問題。邏輯設計是實現子系統和整個系統的結構與功能的過程,從而最終完成系統所期望的信息存儲、傳輸、處理任務。4
傳輸是信息通過空間進行移動,在邏輯電路中金屬導線提供了信息傳輸的通路。在并行傳輸中,一組導線中的每條都可以傳遞一個數字序列中的一位。在串行傳輸中,采用一條導線在時間上順序地傳輸一個數字序列。存儲是信息通過時間進行“搬運”。在動態式存儲器中,在規定的一個時間周期內,信息用重復經過一個延遲線的辦法來保存信息;在靜態式存儲器中,在規定的時間周期內,向專用記憶部件寫入或讀出所需的信息。
處理是信息按運算規則通過變更已給出信息來形成新的信息。為了產生新的信息,必須對已給出的信息進行加工處理,其基本方法是算術運算或邏輯運算。這樣,電子信號通過處理電路時也要花費一定的時間。5
數字系統的基本結構框圖如圖11.1.1所示,它由輸入部件、輸出部件、存儲部件、處理部件、控制部件五大子系統組成。通常,將存儲部件和處理部件稱為數字子系統。
存儲部件和處理部件是被控部件,又稱為執行部件。它們受控于控制部件,在控制部件的命令下進行相應的動作。圖11.1.1數字系統的基本結構框圖6
控制部件習慣上稱為控制器或控制單元,它是數字系統的核心。數據子系統只能決定數字系統能完成哪些操作,至于什么時候完成何種操作則完全取決于控制子系統。控制子系統根據外部控制信號決定系統是否啟動工作,根據數據子系統提供的狀態信息決定數據子系統下一步將完成何種操作,并發出相應的控制信號控制數據子系統實現這種操作。因此,控制子系統控制數字系統的整個操作進程。
有無控制部件就成為區分系統級設備與功能部件級電路的一個重要標志。凡是具有控制部件且能按照一定程序進行操作的,不管其規模的小,均稱為數字系統;7
在數字系統中,存儲部件和處理部件之間通過傳輸線相互連接。由于傳輸信息和處理信息都要花費時間,因此存儲部件和處理部件要求在規定的時間間隔內源源不斷地獲得信息。當信息被傳輸到處理部件且被處理時,存儲部件則保存并源源不斷地供給信息,而計算的結果又被返回傳輸到存儲部件。在數字系統中,這種活動是周期性的。存儲部件獲得信息并被傳送輸處理部件加工處理;加工處理后的更新信息又被傳輸到存儲部件。之后,又開始另一新的周期。
數字系統既然是交互式的,必須從外部環境接收信息,并將處理的結果信息供給外部環境,這部分工作通常由人機接口設備來實現。在圖11.1.1中,輸入部件和輸出部件就體現了這種功能。8
在簡單的情況下,輸入部件可看作被處理的信息源,而輸出部件可看作計算結果的輸出顯示或打印接收器。
在數字系統中,處理部件與存儲部件之間的協調配合是非常重要的。處理部件必須告訴所使用的運算規則集,存儲部件一旦獲得新的信息就要抹掉舊的信息。數據信息在圖11.1.1中用雙線表示,控制信息在圖中用細線表示。在數字系統中,不論是數據信息還是控制信息,都可以用完全相同的方法來存儲、傳輸和處理。93.數字系統與邏輯功能部件的區別
一般來說,只要按預定要求能夠產生或加工處理數字信息的裝置都可看作一個獨立的數字系統,而邏輯功能部件的作用卻比較單一。
數字系統通常由若干邏輯功能部件組成,并由一個控制部件統一指揮。就數字系統的設計過程而言,總是從總體任務開始。首先分析設計任務,明確系統應滿足的要求和應具備的功能,確定總體任務。然后把總體任務劃分成若干局部任務,每個局部任務都由一個相應的子系統完成。如果子系統比較復雜,可以進一步劃分,直到每個局部任務都十分明確且易于實現。劃分出來的子系統一般就是一個邏輯功能部件,如加法器、乘法器、譯碼器、寄存器、存儲器等,它們都是典型的邏輯功能部件,可稱為邏輯系統。10
由于每個邏輯子系統只擔負局部任務,把這些子系統合并為大系統時,就必須有一個控制部件來統一協調和管理各子系統的工作,按一定的程序統一指揮整個系統工作。因此有沒有控制部件是區別數字系統和邏輯功能部件的重要標志。凡有控制部件,且能按一定程序進行操作的系統,不論其規模大小,一律看作一個數字系統。沒有控制部件又不能按一定程序操作的系統只能看成是一個邏輯部件或子系統。
從設計方法來看,數字系統級的設計和邏輯功能部件級的設計是沿不同途徑進行的。一個邏輯功能部件的設計是先按任務要求,建立真值表或狀態表,給出邏輯功能描述,然后進行邏輯化簡或狀態化簡,最后完成邏輯電路的設計。這種設計過程稱為自下而上的設計方法。11
數字系統的設計方法是一個自上而下的過程,又稱為自頂向下的設計過程。整個設計過程包含一系列試探過程。在設計最終完成之前,設計者不可能確定所有的細節。在系統被劃分成子系統的過程中,會有不同的方案需要試探、比較和驗證。在完成了各個子系統的設計之后,又有一個把子系統連成整體并進行整體功能驗證和檢查的過程。若不能滿足要求,則需要進行修改,修正子系統的劃分。通常,經過一定的反復才能真正完成一個數字系統的設計。
正確、合理地劃分子系統是數字系統設計成功與否的關鍵,控制部件是用來統一協調各子系統工作的核心,它的設計是數字系統級設計的重要方面。1211.1.2數據通路1.總線的概念
數字系統內部主要的工作過程是數據信息傳輸和加工處理的過程。在系統內部,數據傳輸非常頻繁。例如,在三個寄存器R1、R2、R3之間相互連接傳輸數據,需要六組傳送線。當數字系統很復雜時,所需的寄存器數目就越多,控制線路也變得非常復雜。為了減少數據傳送線、節省器件、提高可靠性和便于控制,通常將一些寄存器之間的數據傳送通路進行歸并,成為一種傳輸線結構,即總線形式。
所謂數據總線就是多個信息源分時傳送數據到多個目的地的傳輸通路。在數字系統中,總線是多個邏輯子系統的連接紐帶,假如一組導線只連接一個信息源和一個負載就不能稱為總線。13
數字系統內部主要的工作過程是數據信息傳輸和加工處理的過程。在系統內部,數據傳輸非常頻繁。例如,在三個寄存器R1、R2、R3之間相互連接傳輸數據,需要六組傳送線。當數字系統很復雜時,所需的寄存器數目就越多,控制線路也變得非常復雜。為了減少數據傳送線、節省器件、提高可靠性和便于控制,通常將一些寄存器之間的數據傳送通路進行歸并,成為一種傳輸線結構,即總線形式。
所謂數據總線,就是多個信息源分時傳送數據到多個目的地的傳輸通路。在數字系統中,總線是多個邏輯子系統的連接紐帶,假如一組導線只連接一個信息源和一個負載就不能稱為總線。總線每次只允許一個數據流進入總線,即同一時刻只能傳送多信息源中的某一個,這就需要在總線始端對進入總線的信息有選擇地加以控制。同樣,總線終端輸出數據要送往何處,也需要有選擇地加以控制,這個任務由控制部件來完成。142.總線的邏輯結構
如果總線的始端與終端是固定不變的,即信息只能從始端向終端傳送,這種結構稱為單向總線。例如,計算機系統中的地址總線就是單方向的。在計算機系統中,數據總線釆用雙向進行數據傳送。
通常,組成總線結構的邏輯結構可以采用多路選擇器、三態門等方式實現,在數字系統中,雙向數據總線的邏輯結構示意圖如圖11.1.2所示。
在圖中,只畫出總線中的兩位數據位。接收控制信號與發送控制信號由控制部件給出,分別加到兩組三態門的禁止端。這兩組控制信號不能同時有效,即當接收控制信號有效時,左列的三態門打開;右列的三態門輸出與總線斷開,因而數據由右面傳送到左面。當發送控制信號有效時,右列的三態門工作;左列的三態門輸出與總線斷開,因而數據由左面傳送到右面。15圖11.1.2雙向數據總線的邏輯結構示意圖16
由三態門構成的多邏輯部件數據總線結構,如圖11.1.3所示。圖中發送數據的三個寄存器A、B、C通過三態門與數據總線BUS相連接;接收數據的寄存器D、E、F直接接在BUS上,并由寄存器的選通信號LDi作為接收控制信號。當三態門的使能控制端信號j→BUS為1時,發送寄存器的數據將發送到總線BUS上,接收寄存器通過選通控制信號LD將數據接收到相應的寄存器中。當三態門使能控制端信號→BUS為0時,該三態門輸出端呈現高阻抗狀態,相當于該三態門與BUS斷開。三態門的這種特性,保證了總線上信息的分時傳送。而且邏輯結構清晰,使用的邏輯元件少。通過增加相應器件,還能構成雙向數據總線,實現數據的雙向傳送。
在數字系統中,三態門構成的數據總線可以有效地連接各個邏輯子系統,因而得到了廣泛應用。17圖11.1.3多邏輯部件數據總線結構1811.1概述11.1.3子系統的組成1.數字子系統
數據子系統的功能是實現數據的存儲、傳送和處理,通常由存儲部件、運算部件、數據通路、控制點及條件組成。存儲部件用來存儲各種數據,包括初始數據、中間數據和處理結果,常用觸發器(寄存器)、計數器和隨機存取存儲器(RAM)作為存儲部件;運算部件用來對二進制數據進行變換和處理,常用的組合運算部件有加法器、減法器、乘法器、除法器、比較器等,常用的時序運算部件有計數器和移位寄存器等;19數據通路用來連接系統中的存儲器、運算部件及其他部件,常用導線和數據選擇器等部件來實現其功能;控制點是數據子系統中接收控制信號的組件輸入點,控制信號通過它們實現運算部件操作、數據通路選擇及寄存器的置數等控制操作,以集成觸發器為例,其時鐘輸入端和異步清0、置1端均可作為控制點;條件是數據子系統輸出的一部分,控制子系統利用它來決定條件控制信號或其他操作序列。其中,條件可以被看作數據子系統提供給控制子系統的操作狀態信息。202.控制子系統
控制子系統是數字系統的核心,通常可以用硬件(Hardware)、軟件(Software)、可編程器件PLD和微程序(Micro-program)等方法予以實現。數字系統控制子系統的軟件實現方法已超出本課程的教學內容,此處將不作介紹;PLD實現方法依賴新的可編程描述工具語言。本節只簡單地介紹數字系統的硬件實現方法和微程序實現方法。21實現控制子系統一般包括以下幾個步驟。(1)根據所采用的數據子系統結構,導出合適的系統控制算法(ASM圖或算法文件)。(2)根據導出的系統控制算法,畫出系統的控制狀態圖。(3)采用同步時序邏輯電路的設計方法或微程序設計方法,實現控制子系統。22
采用同步時序邏輯電路的設計方法設計的控制子系統稱為硬件控制器,采用微程序設計方法設計的控制子系統稱為微程序控制器。無論采用哪種設計方法,都要盡量使用MSI或LSI芯片,減小系統的體積,降低系統的成本,提高系統的性價比。(1)硬件控制器的實現方法。
硬件控制器的實現方法與同步時序邏輯電路的設計方法并無多大差別。由于常常以計數器或移位寄存器為核心進行設計,因此在一般情況下,這種實現方法不需要對控制狀態圖進行化簡。使用計數器進行設計時,狀態編碼要注意按照計數器的規律進行編碼,盡量多使用MSI計數器的計數功能來實現控制器的狀態轉換;使用移位寄存器進行設計時,狀態編碼要注意按照移位寄存器的規律進行編碼,盡量多使用MSI移位寄存器的移位功能來實現控制器的狀態轉換。23(2)微程序控制器的實現方法。
在微程序控制器的實現方法中,控制算法中的每條語句稱為一條微指令,每條微指令中的一個基本操作稱為微操作。一條微指令可有多個微操作,它們的編碼為微指令的操作碼。描述一個算法的全部微指令的有序集合就稱為微程序。
微程序控制器實現方法的基本思想是:將反映系統控制過程的控制算法以微指令的形式存放在控制存儲器中,逐條將它們取出并轉化為系統的各種控制信號,從而實現預定的控制過程。這種實現方法稱為微程序設計方法,用微程序設計方法設計的控制器稱為微程序控制器。
與硬件控制器相比,微程序控制器具有結構簡單、修改方便、通用性強的突出優點。如果控制器非常簡單、狀態不多時,因使用控制存儲器會存在一些浪費。使用微程序控制器反而有可能增加系統成本。在決定采用微程序控制器前,應該估算一下系統的綜合成本。2411.1.4數字系統設計過程
當前,數字系統設計普遍釆用自頂向下(Top-Down)的設計方法,這里的“頂”是指系統的功能;“向下”是指將系統由大到小、由粗到細地進行分解,直至可用基本模塊實現。自頂向下設計方法的一般過程大致上可以分為四步,如圖11.1.4所示。圖11.1.4數字系統設計過程251.系統調研,確定總體方案
接受一個數字系統的設計任務后,首先應對設計課題進行充分的調研,深入了解待設計系統的功能、使用環境與使用要求,選取合適的工作原理與實現方法,確定系統設計的總體方案,這是整個設計工作中最為困難也最體現設計者創意的一個環節。因為同一功能的系統有多種工作原理和實現方法可供選擇,方案的優劣直接關系到所設計的整個數字系統的質量。所以,必須對可以采用的實現原理、方法的優缺點進行全面、綜合的比較、評判,慎重地加以選擇。總的原則是所選擇的方案既要滿足系統的要求,又要結構簡單,實現方便,具有較高的性價比。
數字系統總體方案的優劣直接關系到整個數字系統的質量與性能,需要根據系統的功能要求、使用要求及性價比周密思考后確定。262.邏輯劃分,導出系統框圖
系統總體方案確定以后,可以根據數據子系統和控制子系統各自的功能特點,將系統從邏輯上劃分為數據子系統和控制子系統兩部分,導出包含必要的數據信息、控制信息和狀態信息的結構框圖。
邏輯劃分的原則是怎樣更有利于實現系統的工作原理,就怎樣進行邏輯劃分。為了不使這一步的工作太過復雜,結構框圖中的各個邏輯模塊可以比較籠統、抽象,不必受具體芯片型號的約束。
由于數據子系統和控制子系統的功能不同,因此數字系統的邏輯劃分并不太困難。凡是有關存儲、處理功能的部分,一律歸類于數據子系統;凡是有關控制功能的部分,一律歸類于控制子系統。邏輯劃分后,就可以根據功能需要畫出整個系統的結構框圖。273.功能分解,構造數據子系統
邏輯功能劃分后獲得的數據子系統結構框圖中的各個模塊比較抽象,功能可能比較復雜,必須進一步對這些模塊進行功能分解,直到可用合適的芯片或模塊來實現具體的存儲和處理功能。適當連接這些芯片、模塊,就可構造出數據子系統的詳細結構。必須注意,為了簡化控制子系統的設計,數據子系統不僅結構簡單、清晰,而且便于控制4.算法設計,實現控制子系統
根據導出的數據子系統結構,編制出數字系統的控制算法,得到數字系統的控制狀態圖,并采用同步時序邏輯電路設計的方法完成控制子系統的設計。
數字系統的控制算法反映了控制子系統對數據子系統的控制過程,它與系統所采用的數據子系統的結構密切相關。28
一般來講,數據子系統通常為人們熟悉的各種功能電路,無論是采用現成模塊還是自行設計,都有一些固定的方法可循,不用花費太多精力。相對來說,控制子系統的設計要復雜得多。因此,人們往往認為數字系統設計的主要任務就是設計一個好的控制子系統。
經過上述四個步驟后,數字系統設計在理論上已經完成。為了保證系統設計的正確性和可靠性,有條件的話,可以先采用電子設計自動化(EDA)軟件對所設計的系統進行仿真,然后用具體器件搭設電路。
搭設電路時,一般按自底向上的順序進行。這樣做,不僅有利于單個電路的調試,而且有利于整個系統的聯調。因此,嚴格地講,數字系統設計的完整過程應該是“自頂向下設計,自底向上集成”。29
子系統的劃分過程,實際上是把總體任務劃分成若干個分任務的過程。這項工作完成的好壞可由下列原則進行初步衡量:(1)對所要解決的總體任務是否已全部清楚地描述出來。(2)是否有更清楚、更簡單的描述可以概括所要解決的問題。(3)在考慮子系統劃分時,各子系統所承擔的分任務是否清楚、明確,是否有更簡單、更明確的劃分方式。(4)各子系統之間的相互關系是否明確,它們之間的相互關系是怎樣的。(5)控制部分和被控部分是否清楚明確,它們之間的控制關系是怎樣的。
子系統的劃分是數字系統設計的開始,可稱為數字系統的初步設計。在此階段,務必要明確總體任務與各子系統之間的關系,尋找可以“解決問題”的集成電路。數字系統的上述設計過程主要是針對采用標準集成電路的系統而言的。3011.1.5數字集成電路簡介1.集成電路的制造技術類型
數字電路實現的邏輯功能,都是以集成電路(IC)形式體現的,它們具有體積小、可靠性高、功耗低、集成度高等特點,在數字系統設計中得到了廣泛應用。
按制造集成電路的工藝技術來說,目前廣泛使用CMOS電路和TTL電路兩種類型。CMOS已成為主導技術,并有可能取代TTL。兩者相比,前者功耗小,集成度高,而后者速度快,但集成度不如CMOS。31(1)CMOS系列。
金屬氧化物半導體晶體管作為開關元件的門電路叫作MOS電路。MOS電路有三種:使用P溝道管的PMOS電路;使用N溝道管的NMOS電路;同時使用P溝道管和N溝道管的CMOS電路,由于具有更好的性能,得到了廣泛應用。
就直流電源而言,高速CMOS可分為+5V和+3.3V兩類。采用3.3V電源是對5V電源的改進,是為了減少功耗的研究成果。由于功耗與直流電壓伏特的平方成比例,從5V減為3.3V,可將電源功耗減少34%。32①采用5V直流電壓的基本CMOS系列。有如下型號:74HC、74HCT、74AC、74ACT、74AHC、74AHCT。②采用3.3V直流電壓的基本CMOS系列。有如下型號:74LV、74LVC、74ALVC。③CMOS和TTL技術相結合而成的BiCMOS系列。有如下型號:74BCT、74ABT、74LVT、74ALB,BiCMOS系列是最先進的系列。33(2)TTL系列。
TTL是晶體管-晶體管邏輯電路工藝制造技術的英文縮寫,它自始至終都是十分流行的IC數字技術。最大的優點是它不像CMOS那樣對靜電放電非常敏感,因此在實驗室和數字系統應用中更為實用,不必擔心實際操作中的問題。
TTL系列的IC由5V直流電源供電,按產品發明的先后次序,有下列型號系列:74(標準TTL,不帶字母)、74S、74AS、74LS、74ALS、74F(高速TTL)。
需要指出,無論是CMOS還是TTL74系列,都規定為商用IC產品標準,而54系列規定為軍用IC產品標準。兩者的區別在于可靠性和篩選測試的指標不同,所以54系列價格要貴。342.集成電路的封裝類型
單片集成電路是指在一個體積小的硅芯片上開發的數字電路。組成這個電路芯片的元件有晶體管、二極管、電阻器、電容器等,可以組成邏輯門、寄存器等比較復雜的電路。
集成電路封裝的形式取決于它們裝配在印制電路板上的方式,通常分為兩大類。一類是插孔裝配,IC的引腳通過小孔插入印制電路板上,焊接到印制電路板另一側的導線上。常見的插孔類型封裝如圖11.1.5所示的雙列直插式(DIP)。圖中顯示了集成電路封裝的剖面圖,其中安放在內部的芯片與封裝的外部引腳通過導線相連,從而與外部有輸入到輸出的連接。35圖11.1.5雙列直插式集成電路封裝的剖面圖36
另一類是平面裝配,它是插孔裝配技術的一種改進,印制電路板上不需要做小孔,而是把IC的引腳直接焊到印制電路板一側的導線上,而印刷電路板的另一側留做其他電路使用。因此,對同樣引腳的電路,平面裝配封裝要比雙列直插式封裝的體積大大減小。圖11.1.6所示為三種類型的平面封裝集成電路外形,其中SOIC是小規模的IC,而PLCC,LCCC是較復雜的IC。可以看出,越復雜的電路需要越多的引腳。
所有的IC引腳數編號都有一個標準格式,無論是DIP、SOIC,還是PLCC、LCCC,引腳號1通常用缺口、一個小點或凹槽標示出來。用逆時針方向依次增加引腳的編號,以便引腳號與輸入、輸出的邏輯信號一一對應。37圖11.1.6三種類型的平面封裝集成電路外形383.集成電路的規模類型
集成電路的規模是指單個芯片上集成的門電路數目。按照電路復雜性的不同,通常分為以下五種類型。(1)小規模集成電路(SSI):單個芯片上集成12個以下門電路,實現基本邏輯門的集成。(2)中規模集成電路(MSI):單個芯片上集成12~99個門電路,實現功能部件級集成,如數據選擇器、數據分配器、譯碼器、編碼器、加法器、乘法器、比較器、寄存器、計數器等。(3)大規模集成電路(LSI):單個芯片上集成100~9999個門電路,實現子系統集成。(4)超大規模集成電路(VLSI):單個芯片上集成10000~99999個門電路,實現系統級集成。(5)巨大規模集成電路(XJLSI):單個芯片上集成10萬個以上門電路,實現大型存儲器、大型微處理器等復雜系統的集成。394.集成電路的使用特性(1)負載能力。
通常每個集成邏輯門上只有一個輸出端,但它能與下一級的多個邏輯門的輸入端相連接。一個邏輯門的輸出端所能連接的下一級邏輯門輸入端的節點個數,稱為該邏輯門的扇出系數,也稱為負載能力。一般TTL邏輯門的負載能力為8,功率邏輯門的負載能力可達25。CMOS邏輯門的扇出系數比TTL邏輯門的大,可達50。(2)延遲特性。
均傳輸延遲時間是反映門電路工作速度的一個重要參數。以與非門為例,在輸入端加上一個正方波,則需要經過一定的時間間隔才能從輸出端得到一個負方波。若定義輸入波形前沿的50%到輸出波形前沿的50%之間的時間間隔為前沿延遲。采用同樣的方式,也可以定義后沿延遲。它們的平均值稱為平均傳輸延遲時間,簡稱平均時延。40(3)功耗特性。
集成電路的功耗和集成度密切相關。功耗大的器件集成度不能很高,否則器件因無法散熱而導致過熱毀壞。(4)空引腳的處理。
為了保證TTL或CMOS電路工作的可靠性,未使用的輸入端引腳應當連接到一個固定的邏輯電平(高或低)。對于與門/與非門,未使用的空引腳應連接到電源電壓+Vcc;對于或門/或非門,未使用的空引腳應當連接地線。4111.2可編程邏輯器件簡介
數字電路經歷了分離元件→中小規模標準化集成電路→可編程邏輯器件(PLD)這樣的發展歷程。
其中,中小規模的標準邏輯器件(如74系列芯片)是一些構成數字電路和系統的基本功能模塊。從理論上講,用這些標準邏輯器件可以構成任何功能、任何規模的數字電路和系統。然而,由于這些器件的規模都不大,所以只適合實現一些相對簡單的邏輯電路。當要構成的電路和系統比較復雜時,往往需要用很多芯片,以致最終制成的設備體積大、功耗高、可靠性差。另外,這些標準器件的功能通常都是固定的,如果要改變設備的功能,就必須重新設計硬件電路。42
專用集成電路(ApplicationSpecificIntegratedCircuit,ASIC)是專為某一特定功能或特定應用設計、生產的大規模或超大規模集成電路,ASIC具體可以分為模擬ASIC和數字ASIC。一個復雜的數字系統一般只要一片或幾片ASIC即可實現,這樣制成的系統體積小、功耗低、速度高、可靠性好。另外,ASIC很難被復制,可以保護設計成果不被盜用。
可編程邏輯器件(ProgrammableLogicDevice,PLD)又稱為可編程ASIC,它是由集成電路制造廠家生產的一種半成品芯片。用戶可以使用專用的開發工具先將其設計的電路轉化成某個信息文件,然后通過專用的編程器或下載電纜將這些信息“編程”到芯片上,從而使芯片具有相應的邏輯功能。43
PLD是用戶根據需要,自行設計芯片中特定邏輯電路的器件,可以隨時修改或升級,它為多輸入、多輸出的組合邏輯或時序邏輯電路提供了一體化的解決方案,為開發研究帶來了極大的靈活性和時間效益與經濟效益,大規模可編程邏輯器件是現代數字設計的基礎之一。本節主要介紹PLD的基本概念和目前流行的復雜可編程邏輯器件CPLD(ComplexPLD)、現場可編程門陣列(FieldProgrammableGateArray,FPGA)邏輯器件,簡單介紹PLD的開發過程和編程技術。44
PLD最早出現于20世紀70年代,發展至今,在結構、工藝、集成度、速度、靈活性和編程技術等方面都有了很大的改進和提高。縱觀其發展歷程,大致可以分為以下幾個階段。11.2.1PLD的基本概念
20世紀70年代,熔絲編程的PROM(ProgrammableReadOnlyMemory)和可編程邏輯陣列(ProgrammableLogicArray,PLA)是最早出現的PLD。20世紀80年代中期,Xilinx公司提出了現場可編程的概念,同時生產出了世界上第一片FPGA器件。20世紀80年代末期,Lattice公司又提出了在系統可編程(In-SystemProgrammability,ISP)的概念,并推出了一系列具有在系統可編程能力的CPLD器件。此后,其他PLD廠家相繼采用了ISP技術。45
進入20世紀90年代后,PLD的發展十分迅速,主要表現在規模越來越大、速度越來越高、電路資源更加豐富和電路結構越來越靈活。目前,一個復雜的數字系統甚至只用一片PLD就可實現,這就是所謂的單芯片系統(SystemOnChip,SOC)。
在PLD中,用于實現邏輯的基本單元主要有與或陣列和査找表(LookUpTable,LUT)兩種結構類型。CPLD的基本結構通常采用與或陣列,FPGA則用査找表來實現基本邏輯。在PLD中,主要采用熔絲(Fuse)、電寫入電擦除存儲器(E2PROM)、閃存存儲器(FlashMemory)和靜態隨機存儲器(SRAM)編程器件等編程工藝。46
對于采用熔絲、E2PROM、FlashMemory類編程工藝的PLD,它們在編程后,編程數據就保持在器件上,即使在器件掉電后,編程數據也不會丟失,故將它們稱為非易失性器件。而對于采用SRAM編程工藝的PLD,存儲在SRAM中的編程數據在器件掉電后會丟失,在器件每次上電后都要重新對其配置編程數據。因此,將這類器件稱為易失性器件。另外,由于熔絲編程器件只能編程一次,所以又將這類器件稱為一次性編程器件,其他各類器件均可反復多次編程。
經過幾十年的發展,目前市場上的PLD產品型號繁多,電路結構也不同。其中,比較有代表性的是Altera公司的CPLD器件和Xilinx公司的FPGA器件,它們占據大部分市場份額。4711.2可編程邏輯器件簡介1.PLD結構組成原理
多數PLD由與或陣列及起緩沖驅動作用的輸入、輸出結構組成,由于其核心結構都排列成陣列形式(一般是與或陣列),所以又稱為陣列邏輯。PLD的通用結構框圖,如圖11.2.1所示。圖11.2.1PLD的通用結構框圖
其中,每個數據輸出都是輸入的與或邏輯函數關系。與或陣列的輸入線及輸出線都排列成陣列方式,每個交叉點處都用邏輯器件或熔絲連接起來,采用器件的通斷或熔絲的燒斷、保留方式進行編程。4811.2可編程邏輯器件簡介2.PLD的電路表示法
PLD的電路表示法是在芯片內部配置和邏輯圖之間建立對應關系,并將邏輯圖和真值表結合起來,形成一種緊湊又易于識讀的表達形式。(1)連接方式。
PLD電路由與門陣列和或門陣列兩種基本的門陣列組成,可編程陣列本質上是行、列導線組成的導電網格。在網格的交叉點上,通過熔斷金屬絲或E2PROM管等連接技術來編程實現邏輯“1”或邏輯“0”,并通過編程可以實現“與”“或”表達式的邏輯函數。
與陣列圖11-8所示,可編程矩陣的輸出連接到與門上。其中圖11.2.2(a)表示未編程的與陣列,如果交叉點上通過熔絲來編程,當熔絲燒斷時編程為邏輯0,熔絲保留時編程為邏輯1。如果交叉點上使用E2PROM管,則導通時編程為邏輯0,截止時為邏輯1。49
例如,表示已編程的與陣列如圖11.2.2(b)所示。為了簡化邏輯表示,通常把與門的2條輸入線畫成1條,并用斜杠線旁的2表示與門輸入線為2條(2個變量)。行線上的交叉點為黑,則相應列線上的邏輯變量被編程送到與門輸入端。如最上面的與門輸出X1=AB,最下面的與門輸出X3=A
。注意,如果是2個變量,行線上只能有2個交叉點編程;3個變量,行線上最多有3個交叉點編程,它們之間是AND關系,依此類推。圖11.2.2與陣列編程示意圖50
例如,未編程的或陣列如圖11.2.3(a)所示。此處輸入變量為3個。圖11.2.3(b)表示已編程的或陣列,這里仍采用化簡邏輯圖表示。由于或門輸入有3個變量,斜杠旁邊標注為3。一個或門輸出的邏輯表達式是3個輸入變量的或運算,行線上最多有3個交叉點被編程為邏輯1。圖11.2.3或陣列編程示意圖51
幾種基本PLA邏輯表示符號和相關功能如圖11.2.4所示。由圖可以看出,門陣列交叉點上的連接方式是硬線連接采用“·”表示該點采用固定連接方式,不能用編程加以改變;可編程點的接通與斷開采用“×”表示,它是通過編程實現接通的連接;編程點若斷開則采用無連接表示,編程使該處連接呈斷開狀態。圖11.2.4基本PLA表示符號523.可編程連接技術
通常,對于PLD中可編程連接可采用熔絲、E2PROM、SRAM等幾種不同的處理技術。(1)熔絲技術。
這是早期的可編程連接技術,至今仍然在某些簡單PLD中使用。熔絲是在互連矩陣中行與列交叉點的金屬連接,編程之前在每個交叉點上都有熔絲相連。在器件編程過程中,對選定的熔絲連通是采用加以較大的熔斷電流,這樣熔絲就斷開了,破壞了這種連接。例如,編程之前的狀態稱為邏輯1,那么熔斷后的狀態稱為邏輯0。所以,采用熔絲技術是屬于PLD一次性編程。當然,還存在另一種反熔斷方式,與上述連接方式正相反。53(2)E2PROM技術。
E2PROM技術使用浮柵構成的E2CMOS存儲元,用加電的方式可以擦除或重寫。E2CM0S器件可以安裝到印制電路板之后對其編程,還可以在系統操作過程中對其重新編程,這種技術稱為ISP方式。這樣,使用E2PROM技術的PLD是可以多次編程的。(3)SRAM技術。
在許多FPGA和一些復雜PLD中,都使用SRAM的處理技術。圖11.2.5(a)所示為基于SRAM的可編程與陣列。一個SRAM型存儲元通過將觸發器置為0或1來連接或不連接行列交叉點。圖11.2.5(b)中存儲元存1,相應的行與列連接在一起。圖11.2.5(c)中存儲元存0,相應的行與列之間無連接。54
熔絲、E2PROM技術是非易失性的,即使電源掉電,仍會保持編程結果。但是SRAM技術一旦電源掉電,SRAM存儲元中的數據會丟失。因此電源上電時,編程數據必須重新寫入SRAM,以實現基于SRAM的PLD編程。圖11.2.5SRAM的與陣列示意圖55
CPLD是在簡單PLD基礎上發展起來的。本質上講,CPLD是利用可編程的互連總線連接起來的多路簡單PLD,具有規模大、結構復雜的特點,屬于大規模集成電路范圍。CPLD主要由三部分組成,如圖11.2.6所示。11.2.2CPLD的基本概念圖11.2.6CPLD內部結構框圖56(1)邏輯塊(LB,LogicBlock)采用與或陣列組成,是PLD邏輯組成的核心。(2)輸入/輸出塊(I/OB,I/OBlock)包含輸入/輸出緩沖器及控制單元。(3)可編程互連資源(PIR,ProgrammableInterconnectionResource)由各種長度的連線線段組成。其中也有一些可編程的連接開關,用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。
目前,CPLD的各種型號產品主要由Lattice、Altera、Xilinx等公司研制并提供生產。57
通過上一節的介紹可知,CPLD的主體部分是基于乘積項(Product-Term)結構的與或陣列。芯片制造一般采用E2PR0M或Flash工藝,器件上電就可以工作,無須其他芯片配合。11.2.3FPGA的基本概念
與CPLD不同,FPGA鑒于查找表結構。由于查找表主要適用于SRAM工藝生產,所以目前大部分FPGA都是基于SRAM工藝的。因此需要外加一片專用配置芯片,在上電的時候由這個專用配置芯片把數據加載到FPGA中。也有少數FPGA采用反熔絲或Flash工藝,不需要專用配置芯片。
FPGA的基本結構框圖如圖11.2.7所示,內部基本結構由可配置邏輯塊(CLB,ConfigurableLogicBlock)、可編程輸入/輸出塊(I/OB,Input/OutputBlock)和可編程互連總線(PI,ProgrammableInterconnect)組成。整個芯片的邏輯功能通過對芯片內部的SRAM編程實現。58圖11.2.7FPGA的基本結構框圖59
FPGA內部有許多CLB,根據需要完成實現組合邏輯或時序邏輯,或者兩者兼而有之。由于CLB有記憶功能,觸發器便成為連接邏輯的一部分,并能構成寄存器使用。I/OB處在外層邊緣上,它們能夠提供通往外界的獨立可選擇的輸入、輸出或雙向訪問,與芯片外部世界交換數據。在大型FPGA中,具有成百上千的CLB和存儲器等其他資源。
總之,FPGA和CPLD可統稱為大容量的PLD。這兩種器件各有所長,FPGA較小的邏輯單元和多種連線結構克服了CPLD的固定與或陣列結構的局限性,在組成系統時非常靈活。當邏輯單元的布局和連線合理時,FPGA內部資源的利用率較高、工作速度也較快。FPGA的缺點是延遲時間不好預測,而CPLD的走線比較固定,信號傳輸的延遲時間容易計算、易于處理競爭-冒險問題。但是,若FPGA的局部和布線不合理,則器件資源利用率和工作性能反而會不如CPLD。60
從邏輯設計角度看,對于同樣規模的器件,FPGA型的PLD中觸發器的數量較多,CPLD型的PLD更適用于組合邏輯電路較復雜的情況。
部分生產廠商的CPLD/FPGA器件系列、結構類型、芯片工藝、編程技術如表11.2.1所示。生產廠商器件系列結構類型芯片工藝編程技術AlteraAPEX、FLEXMAX7000、MAX9000MAX5000查找表乘積項乘積項SRAME2PROMEPROMICRISP編程器XilinxVirtex、SpartanXC4000、XC3000查找表SRAMICRLatticeispLSI乘積項E2PROMISPActelMX、SX系列查找表反熔絲編程器表11.2.1部分CPLD/FPGA產品介紹6111.2.4PLD的開發過程與編程技術1.PLD的開發過程
根據以上對各種PLD電路結構的介紹可以知道,若要使PLD實現預定的邏輯功能,就要按照設計要求使PLD內的可編程單元置為“接通”或“斷開”狀態,而這必須借助PLD的開發工具來實現。(1)PLD開發所需的設備。
用PLD來實現數字電路或系統,必須具備計算機、PLD的開發軟件、PLD的編程器或編程電纜等設備。62(2)PLD的開發過程。PLD的開發過程大致上可分為以下幾個階段,如圖11.2.8所示。圖11.2.8PLD的開發過程63①設計輸入。
設計輸入主要是指設計者以一定的方式對器件的邏輯功能進行描述,并形成符合開發軟件要求的設計源文件。目前,多數開發軟件都支持原理圖和硬件描述語言兩種描述方式。
另外,設計者必須根據所釆用的開發軟件的有關規定,按一定的方法輸入本設計所選用的器件型號,并指定輸入和輸出信號的引腳。②設計處理。
開發軟件可以自動完成對設計源文件的處理,包括綜合、優化、布局、布線等過程,最后生成PLD的編程文件。設計者也可以通過在開發軟件中設置一些參數,對設計處理過程進行控制。在處理過程中,還可以用仿真工具對設計結果進行驗證,如果不滿足設計要求,則需要修改設計。64③器件編程。
器件編程就是用編程軟件,通過編程器或編程電纜將設計處理產生的編程數據下載到PLD中,這樣PLD就具備了預定的邏輯功能。④器件測試。
器件測試就是用實驗的方法,驗證器件的實際功能和性
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年心理健康教育課程考試試題
- 幼兒園指南試題及答案
- 管工進場考試題及答案
- 保險儲備面試題及答案
- 書法教師試題及答案
- 電子電路設計考試題目及解析
- 網絡工程師綜合能力試題及答案
- 常見網絡設備的性能對比與試題及答案
- 網絡工程師技術難題試題及答案
- 軟件設計的重要性與考試試題及答案
- 2024年全國黃金行業職業技能競賽(礦山救護工)理論考試題庫(含答案)
- 銑床主軸箱設計
- 刑法總論:刑事法治的中國特色智慧樹知到答案2024年湘潭大學
- 鋼琴調律服務合同
- 愛國英雄霍去病歷史人物介紹
- 冠心病合并房顫患者PCI術后抗栓治療策略
- 2024年燕舞集團限公司公開招聘高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 2024年中考道德與法治時事政治試題庫附答案(綜合題)
- 從自在、自覺到自為:中華民族發展的歷史邏輯
- 游戲陪玩-模板參考
- 篷布檢測報告
評論
0/150
提交評論