第章 可編程邏輯器件的設(shè)計.ppt_第1頁
第章 可編程邏輯器件的設(shè)計.ppt_第2頁
第章 可編程邏輯器件的設(shè)計.ppt_第3頁
第章 可編程邏輯器件的設(shè)計.ppt_第4頁
第章 可編程邏輯器件的設(shè)計.ppt_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 可編程邏輯器件的設(shè)計,2.1 可編程邏輯器件的設(shè)計流程 2.2 在系統(tǒng)可編程技術(shù) 2.3 邊界掃描技術(shù),2.1 可編程邏輯器件的設(shè)計流程,可編程邏輯器件的設(shè)計是指利用開發(fā)軟件和編程工具對器件進行開發(fā)的過程。高密度可編程邏輯器件的設(shè)計流程如圖 2.1 所示, 它包括設(shè)計準備、 設(shè)計輸入、 設(shè)計處理和器件編程四個步驟以及相應的功能仿真(前仿真)、 時序仿真(后仿真)和器件測試三個設(shè)計驗證過程。,圖 2.1 高密度可編程邏輯器件的設(shè)計流程,2.1.1 設(shè)計準備 在對可編程邏輯器件的芯片進行設(shè)計之前, 首先要進行方案論證、 系統(tǒng)設(shè)計和器件選擇等設(shè)計準備工作。 設(shè)計者首先要根據(jù)任務要求, 如系統(tǒng)

2、所完成的功能及復雜程度, 對工作速度和器件本身的資源、 成本及連線的可布性等方面進行權(quán)衡, 選擇合適的設(shè)計方案和合適的器件類型。,數(shù)字系統(tǒng)設(shè)計有多種方法, 如模塊設(shè)計法、 自項向下(TopDown)設(shè)計法和自底向上設(shè)計法等等。 自頂向下設(shè)計法是目前最常用的設(shè)計方法, 也是基于芯片的系統(tǒng)設(shè)計的主要方法。 它首先從系統(tǒng)設(shè)計入手, 在頂層進行功能劃分和結(jié)構(gòu)設(shè)計, 采用硬件描述語言對高層次的系統(tǒng)進行描述, 并在系統(tǒng)級采用仿真手段驗證設(shè)計的正確性, 然后再逐級設(shè)計低層的結(jié)構(gòu)。 由于高層次的設(shè)計與器件及工藝無關(guān), 而且在芯片設(shè)計前就可以用軟件仿真手段驗證系統(tǒng)方案的可行性, 因此自頂向下的設(shè)計方法有利于在早

3、期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計中的錯誤, 避免了不必要的重復設(shè)計, 提高了設(shè)計的一次成功率。,自頂向下的設(shè)計采用功能分割的方法從頂向下逐次進行劃分。 在設(shè)計過程中采用層次化和模塊化將使系統(tǒng)設(shè)計變得簡潔和方便。 層次化設(shè)計是分層次、 分模塊地進行設(shè)計描述。 描述器件總功能的模塊放在最上層, 稱為頂層設(shè)計; 描述器件某一部分功能的模塊放在下層, 稱為底層設(shè)計; 底層模塊還可以再向下分層, 這種分層關(guān)系類似于軟件設(shè)計中的主程序和子程序的關(guān)系。 層次化設(shè)計的優(yōu)點一是支持模塊化, 底層模塊可以反復被調(diào)用, 多個底層模塊也可以同時由多個設(shè)計者同時進行設(shè)計, 因而提高了設(shè)計效率; 其次模塊化設(shè)計比較自由, 它既適合于自頂向

4、下的設(shè)計, 也適合于自底向上的設(shè)計。,2.1.2 設(shè)計輸入 設(shè)計者將所設(shè)計的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來, 并送入計算機的過程稱為設(shè)計輸入。 設(shè)計輸入通常有以下幾種方式: 1. 原理圖輸入方式 這是一種最直接的設(shè)計描述方式, 它使用軟件系統(tǒng)提供的元器件庫及各種符號和連線畫出原理圖, 形成原理圖輸入文件。 這種方式大多用在對系統(tǒng)及各部分電路很熟悉的情況, 或在系統(tǒng)對時間特性要求較高的場合。 當系統(tǒng)功能較復雜時, 原理圖輸入方式效率低, 它的主要優(yōu)點是容易實現(xiàn)仿真, 便于信號的觀察和電路的調(diào)整。,2. 硬件描述語言輸入方式 硬件描述語言是用文本方式描述設(shè)計, 它分為普通硬件描述語言和

5、行為描述語言。普通硬件描述語言有ABELHDL#, CUPL等, 它們支持邏輯方程、 真值表、 狀態(tài)機等邏輯表達方式。行為描述語言是目前常用的高層硬件描述語言, 有VHDL和VerilogHDL等, 它們都已成為IEEE標準, 并且有許多突出的優(yōu)點: 如語言與工藝的無關(guān)性, 可以使設(shè)計者在系統(tǒng)設(shè)計、 邏輯驗證階段便確立方案的可行性;,又如語言的公開可利用性, 使它們便于實現(xiàn)大規(guī)模系統(tǒng)的設(shè)計等; 同時硬件描述語言具有很強的邏輯描述和仿真功能, 而且輸入效率高, 在不同的設(shè)計輸入庫之間轉(zhuǎn)換非常方便。 因此, 運用VHDL , VerilogHDL硬件描述語言設(shè)計已是當前的趨勢。,3. 波形輸入方式

6、 波形輸入主要用于建立和編輯波形設(shè)計文件以及輸入仿真向量和功能測試向量。波形設(shè)計輸入適合用于時序邏輯和有重復性的邏輯函數(shù)。 系統(tǒng)軟件可以根據(jù)用戶定義的輸入/輸出波形自動生成邏輯關(guān)系。波形編輯功能還允許設(shè)計者對波形進行拷貝、 剪切、 粘貼、 重復與伸展, 從而可以用內(nèi)部節(jié)點、 觸發(fā)器和狀態(tài)機建立設(shè)計文件, 并將波形進行組合, 顯示各種進制的狀態(tài)值, 還可以通過將一組波形重疊到另一組波形上, 對兩組仿真結(jié)果進行比較。,2.1.3 設(shè)計處理 這是器件設(shè)計中的核心環(huán)節(jié)。 在設(shè)計處理過程中, 編譯軟件將對設(shè)計輸入文件進行邏輯化簡、 綜合和優(yōu)化, 并適當?shù)赜靡黄蚨嗥骷詣拥剡M行適配, 最后產(chǎn)生編程用的

7、編程文件。 1. 語法檢查和設(shè)計規(guī)則檢查 設(shè)計輸入完成之后, 在編譯過程中首先進行語法檢驗, 如檢查原理圖有無漏連信號線, 信號有無雙重來源, 文本輸入文件中關(guān)鍵字有無輸錯等各種語法錯誤, 并及時列出錯誤信息報告供設(shè)計者修改;,然后進行設(shè)計規(guī)則檢驗, 檢查總的設(shè)計有無超出器件資源或規(guī)定的限制并將編譯報告列出, 指明違反規(guī)則情況以供設(shè)計者糾正。 2. 邏輯優(yōu)化和綜合 化簡所有的邏輯方程或用戶自建的宏, 使設(shè)計所占用的資源最少。 綜合的目的是將多個模塊化設(shè)計文件合并為一個網(wǎng)表文件, 并使層次設(shè)計平面化(即展平)。,3. 適配和分割 確定優(yōu)化以后的邏輯能否與器件中的宏單元和I/O單元適配, 然后將設(shè)

8、計分割為多個便于適配的邏輯小塊形式映射到器件相應的宏單元中。 如果整個設(shè)計不能裝入一片器件時, 可以將整個設(shè)計自動劃分(分割)成多塊并裝入同一系列的多片器件中去。劃分(分割)工作可以全部自動實現(xiàn), 也可以部分由用戶控制, 還可以全部由用戶控制進行。 劃分時應使所需器件數(shù)目盡可能少, 同時應使用于器件之間通信的引腳數(shù)目最少。,4. 布局和布線 布局和布線工作是在設(shè)計檢驗通過以后由軟件自動完成的, 它能以最優(yōu)的方式對邏輯元件布局, 并準確地實現(xiàn)元件間的互連。布線以后軟件會自動生成布線報告, 提供有關(guān)設(shè)計中各部分資源的使用情況等信息。 5. 生成編程數(shù)據(jù)文件 設(shè)計處理的最后一步是產(chǎn)生可供器件編程使用

9、的數(shù)據(jù)文件。 對CPLD來說, 是產(chǎn)生熔絲圖文件, 即JEDEC文件(電子器件工程聯(lián)合會制定的標準格式, 簡稱JED文件); 對于FPGA來說, 是生成位流數(shù)據(jù)文件(Bitstream Generation)。,2.1.4 設(shè)計校驗 設(shè)計校驗過程包括功能仿真和時序仿真, 這兩項工作是在設(shè)計處理過程中間同時進行的。 功能仿真是在設(shè)計輸入完成之后, 選擇具體器件進行編譯之前進行的邏輯功能驗證, 因此又稱為前仿真。 此時的仿真沒有延時信息, 對于初步的功能檢測非常方便。 仿真前, 要先利用波形編輯器或硬件描述語言等建立波形文件或測試向量(即將所關(guān)心的輸入信號組合成序列), 仿真結(jié)果將會生成報告文件和

10、輸出信號波形, 從中便可以觀察到各個節(jié)點的信號變化。 若發(fā)現(xiàn)錯誤, 則返回設(shè)計輸入中修改邏輯設(shè)計。,時序仿真是在選擇了具體器件并完成布局、 布線之后進行的時序關(guān)系仿真, 因此又稱后仿真或延時仿真。 由于不同器件的內(nèi)部延時不一樣, 不同的布局、 布線方案也給延時造成不同的影響, 因此在設(shè)計處理以后, 對系統(tǒng)和各模塊進行時序仿真, 分析其時序關(guān)系, 估計設(shè)計的性能以及檢查和消除競爭冒險等是非常有必要的。 實際上這也是與實際器件工作情況基本相同的仿真。,2.1.5 器件編程 編程是指將編程數(shù)據(jù)放到具體的可編程器件中去。 對CPLD器件來說是將JED文件“下載(Down Load)”到CPLD器件中去

11、, 對FPGA來說是將位流數(shù)據(jù)BG文件“配置”到FPGA中去。 器件編程需要滿足一定的條件, 如編程電壓、 編程時序和編程算法等。 普通的CPLD器件和一次性編程的FPGA需要專用的編程器完成器件的編程工作。,基于SRAM的FPGA可以由EPROM或其它存儲體進行配置。 在系統(tǒng)的可編程器件(ISPPLD)則不需要專門的編程器, 只要一根下載編程電纜就可以了。 器件在編程完畢之后, 可以用編譯時產(chǎn)生的文件對器件進行檢驗、 加密等工作。 對于具有邊界掃描測試能力和在系統(tǒng)編程能力的器件來說, 測試起來就更加方便。,2.2 在系統(tǒng)可編程技術(shù),在系統(tǒng)可編程(InSystem Programmable,

12、簡稱ISP)技術(shù)是 20 世紀 80 年代末Lattice公司首先提出的一種先進的編程技術(shù)。 所謂“在系統(tǒng)編程”是指對器件、 電路板或整個電子系統(tǒng)的邏輯功能可隨時進行修改或重構(gòu)的能力。 這種重構(gòu)或修改可以在產(chǎn)品設(shè)計、 制造過程中的每個環(huán)節(jié), 甚至在交付用戶之后進行。 支持ISP技術(shù)的可編程邏輯器件稱為在系統(tǒng)可編程邏輯器件(ISPPLD)。,ISPPLD不需要使用編程器, 只需要通過計算機接口和編程電纜, 直接在目標系統(tǒng)或印刷線路板上進行編程。 傳統(tǒng)的可編程邏輯器件只能插在編程器上先進行編程, 然后再裝配, 而ISPPLD則可以先裝配, 后編程。 因此ISP技術(shù)有利于提高系統(tǒng)的可靠性, 便于系統(tǒng)

13、板的調(diào)試和維修。,2.2.1 在系統(tǒng)編程的基本原理 ISP技術(shù)是一種串行編程技術(shù)。 下面以Lattice公司的ispLSI器件為例說明其編程原理。ispLSI器件的編程結(jié)構(gòu)如圖 2.2 所示。 器件的編程信息數(shù)據(jù)用E2CMOS元件存儲, E2CMOS元件按行和列排成陣列, 編程時通過行地址和數(shù)據(jù)位對E2CMOS元件尋址。,圖 2.2 ispLSI器件的編程結(jié)構(gòu),編程的尋址和移位操作由地址移位寄存器和數(shù)據(jù)移位寄存器完成。 兩種寄存器都按F1F0(先入先出)的方式工作。 數(shù)據(jù)移位寄存器按低位字節(jié)和高位字節(jié)分開操作。由于器件是插在目標系統(tǒng)中或線路板上進行編程, 因此在系統(tǒng)編程的關(guān)鍵是編程時如何使芯片

14、與外系統(tǒng)脫離。 從圖 2.3 所示的編程接口可以看到, 計算機和ISPPLD的編程接口有五根信號線, 它們起到了傳遞編程信息的作用。 其中 是編程使能信號。,器件為正常工作狀態(tài), 時, 器件所有的I/O端被置成高阻狀態(tài), 因而割斷了芯片與外電路的聯(lián)系, 避免了被編程芯片與外電路的相互影響。 SDI向串行移位寄存器提供編程數(shù)據(jù)和其它命令; SDO為數(shù)據(jù)輸出線; MODE為編程狀態(tài)機的控制線; SDI同時為模式控制線, 同MODE 一起為編程狀態(tài)機的控制線; SLCK為串行時鐘線。,圖 2.3 編程連接口,圖 2.4 ISP編程操作狀態(tài)轉(zhuǎn)移圖,SDI具有雙重功能: 首先是作為器件的串行移位寄存器的

15、數(shù)據(jù)輸入端; 其次它與MODE一起作為編程狀態(tài)機的控制信號。 SDI的功能受MODE控制。 當MODE為低電平時, SDI作為移位寄存器的串行輸入端; 當MODE為高電平時, SDI為編程狀態(tài)機的控制信號。ISP狀態(tài)機共有三個狀態(tài): 閑置態(tài)(IDLE)、 移位態(tài)(SHIFT)和執(zhí)行態(tài)(EXECUTE), 其狀態(tài)轉(zhuǎn)移如圖 2.4 所示。,ispLSI器件內(nèi)部設(shè)有控制編程操作的時序邏輯電路, 其狀態(tài)受MODE和SDI信號的控制。 器件進入ISP編程模式時, 閑置態(tài)是第一個被激活的狀態(tài)。 在編程模式、 器件空閑或讀器件標識時(每一個類型的ISP器件都有唯一的八位標識碼ID), 狀態(tài)機處在閑置態(tài)。 當

16、MODE和SDI都置為高電平, 并且在ISP狀態(tài)機處在時鐘沿時, 狀態(tài)轉(zhuǎn)移到命令移位態(tài)。 移位態(tài)主要是把指令裝入狀態(tài)機。 在移位態(tài)下, 當MODE處于低電平時, SCLK將指令移進狀態(tài)機。,一旦指令裝進狀態(tài)機, 狀態(tài)機就必須轉(zhuǎn)移到執(zhí)行態(tài), 以執(zhí)行指令, 將MODE和SDI均置為高電平, 狀態(tài)機就從移位態(tài)轉(zhuǎn)移到執(zhí)行態(tài)。 如果需要使狀態(tài)機從移位態(tài)轉(zhuǎn)移到閑置態(tài), 則將MODE置為高電平, SDI置為低電平。 執(zhí)行態(tài)主要是狀態(tài)機執(zhí)行在移位態(tài)已裝入器件的指令。 執(zhí)行一個指令時, MODE置為低電平, SDI置為任意態(tài)。 將MODE和SDI均置為高電平時, 狀態(tài)機回到移位態(tài); 將MODE置為高電平和將SD

17、I置為低電平時, 狀態(tài)機回到閑置態(tài)。,2.2.2 在系統(tǒng)編程方法 在系統(tǒng)可編程邏輯器件從編程元件上來分有兩類: 一類是非易失性元件的E2CMOS結(jié)構(gòu)或快閃存儲單元結(jié)構(gòu)的可編程邏輯器件; 另一類是易失性元件的SRAM結(jié)構(gòu)的FPGA器件。 現(xiàn)場可編程FPGA器件和ISPPLD都可以實現(xiàn)系統(tǒng)重構(gòu)。 采用ISPPLD器件通過ISP技術(shù)實現(xiàn)的系統(tǒng)重構(gòu)稱為靜態(tài)重構(gòu); 由基于SRAM的FPGA實現(xiàn)的系統(tǒng)重構(gòu)稱為動態(tài)重構(gòu)。,所謂“動態(tài)重構(gòu)”是指在系統(tǒng)運行期內(nèi), 可根據(jù)需要適時地對芯片重新配置以改變系統(tǒng)的功能。 FPGA可以無限次地被重新編程, 利用它可以在一秒鐘內(nèi)幾次或數(shù)百次地改變器件執(zhí)行的功能, 甚至對器件

18、的部分區(qū)域進行重組, 且在部分重組期間, 芯片的其它部分仍可有效地運行。目前在系統(tǒng)編程的實現(xiàn)方法有以下幾種:,1. 利用計算機接口和下載電纜對器件編程 連接電路如圖 2.5 所示。 一種方法需要在ISP器件的開發(fā)軟件支持下進行。 它可以利用串口的Bit Blaster串行下載或利用并口的Byte Blaster并行下載。 例如, 對Altera公司的CMOS結(jié)構(gòu)的MAX7000 系列器件或SRAM結(jié)構(gòu)的FLEX系列器件均適應。 另一種方法是脫離ISP的開發(fā)環(huán)境, 根據(jù)編程時序的要求, 利用自己的軟件向ISP器件寫入編程數(shù)據(jù)。 這種方法多適用于SRAM結(jié)構(gòu)的FPGA器件。,圖 2.5 利用PC機

19、和編程電纜對ISPPLD編程,2. 利用目標板上的單片機或微處理器對ISP器件編程 這種在系統(tǒng)編程方法是將編程數(shù)據(jù)存儲在目標板上的EPROM中, 當目標板上電時自動對ISP器件進行編程。 編程的關(guān)鍵在于提供準確定時的ISP編程時鐘。此種編程方法多適用于易失性的SRAM結(jié)構(gòu)的FPGA器件。,3. 多芯片ISP編程 ISP器件有一種特殊的串行編程方式, 稱為菊花鏈結(jié)構(gòu)(Daisy Chain), 如圖 2.6 所示。 其特點是各片共用一套ISP編程接口, 每片的SDI輸入端與前一片的SDO輸出端相連, 最前面一片的SDI端和最后一片的SDO端與ISP編程口相連, 構(gòu)成一個類似移位寄存器的鏈形結(jié)構(gòu)。

20、 鏈中器件數(shù)可以很多, 只要不超出接口的驅(qū)動能力即可。,圖 2.6 菊花鏈編程結(jié)構(gòu),2.2.3 在系統(tǒng)編程技術(shù)的優(yōu)越性 利用ISP技術(shù)可以完全擺脫編程器, 并且解決傳統(tǒng)可編程器件比較難以解決的問題。 例如, 多個器件同時編程、 管腳間距很密(例如TQFP的間隙不到 0.6 mm)、 器件的編程和管腳彎曲等問題。 ISP技術(shù)開始了器件編程一個新的時代, 對系統(tǒng)的設(shè)計、 制造、 測試和維護也產(chǎn)生了重大的影響。 由于ISP器件允許在設(shè)計、 測試和制造過程中和器件焊接在電路板的條件下重構(gòu)系統(tǒng), 這種能力給樣機設(shè)計、 電路板調(diào)試、 系統(tǒng)制造和系統(tǒng)升級帶來革命性的變化。 例如, 它簡化了生產(chǎn)流程, 可以免

21、去重做印刷電路板的工作, 同時也提供了遙控現(xiàn)場升級和維護的可能。, 為今后的系統(tǒng)重構(gòu)提供了新思路。 采用ISP技術(shù), 使系統(tǒng)內(nèi)硬件的功能可以像軟件一樣通過編程來配置, 從而在電子系統(tǒng)中引入了“軟”硬件的全新概念。 它不僅可以使電子系統(tǒng)的設(shè)計和產(chǎn)品性能的改進以及擴充變得十分簡便, 還使新一代電子系統(tǒng)具有有極強的靈活性和適應性。 例如可以利用FPGA可重復再配置的功能使單個硬件實現(xiàn)多任務、 多功能的要求, 從而使系統(tǒng)用較少的部件和硬件費用實現(xiàn)較多的功能, 并能在多個系統(tǒng)功能之間動態(tài)地進行互換;,此外, 可再配置FPGA正在勾畫著未來的計算機, 這種計算機包含一組互相連接在一起的FPGA, 能將計算機的軟件程序映射成FPGA的硬件來執(zhí)行, 從而大大加速了計算機系統(tǒng)的運行。 因此ISP為系統(tǒng)重構(gòu)的發(fā)展提供了新思路, 被稱為在最終用戶產(chǎn)品中實現(xiàn)“設(shè)計的可再編程性”的時代已經(jīng)到來。,2.3 邊界掃描技術(shù),邊界掃描測試技術(shù)主要解決芯片的測試問題。 20 世紀 80 年代后期, 對電路板和芯片的測試出現(xiàn)了困難。 以往在生產(chǎn)過程中, 對電路板的檢驗是由人工或測試設(shè)備進行的, 但隨著集成電路密度的提高, 集成電路的引腳也變得越來越密, 測試變得很困難。 例如, TQFP封裝器件, 管腳的間距僅有 0.6 mm, 這樣小的空間內(nèi)幾乎放不下一根探

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論