可編程邏輯器件的設(shè)計流程如圖10-2所示,它主要包括設(shè)計準(zhǔn)備、設(shè)計輸入、設(shè)計處理和器件編程四個步驟,同時包括相應(yīng)的功能仿真、時序仿真和器件測試三個設(shè)計驗證過程。
1.設(shè)計準(zhǔn)備
采用有效的設(shè)計方案是PLD設(shè)計成功的關(guān)鍵,因此在設(shè)計輸入之前首先要考慮兩個問題:一是選擇系統(tǒng)方案,進行抽象的邏輯設(shè)計;二是選擇合適的器件,滿足設(shè)計的要求。
對于低密度PLD,一般可以進行書面邏輯設(shè)計,將電路的邏輯功能直接用邏輯方程、真值表狀態(tài)圖或原理圖等方式進行描述,然后根據(jù)整個電路輸入、輸出端數(shù)以及所需要的資源(門、觸發(fā)器數(shù)目)選擇能滿足設(shè)計要求的器件系列和型號。器件的選擇除了應(yīng)考慮器件的引腳數(shù)、資源外,還要考慮其速度、功耗以及結(jié)構(gòu)特點。
對于高密度PLD,系統(tǒng)方案的選擇通常采用“自頂向下”的設(shè)計方法。首先在頂層進行功能框圖的劃分和結(jié)構(gòu)設(shè)計,然后再逐級設(shè)計低層的結(jié)構(gòu)。一般,描述系統(tǒng)總功能的模塊放在最上層,稱為頂層設(shè)計;描述系統(tǒng)某一部分功能的模塊放在下層,稱為底層設(shè)計。底層模塊還可以再向下分層。這種“自頂向下”和分層次的設(shè)計方法使整個系統(tǒng)設(shè)計變得簡潔和方便,并且有利于提高設(shè)計的成功率。目前系統(tǒng)方案的設(shè)計工作和器件的選擇都可以在計算機上完成,設(shè)計者可以采用國際標(biāo)準(zhǔn)的兩種硬件描述語言-VHDL或Verilog-對系統(tǒng)級進行功能描述,并選用各種不同的芯片進行平衡、比較,選擇最佳結(jié)果。
2.設(shè)計輸入
設(shè)計者將所設(shè)計的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并送入計算機的過程,稱為設(shè)計輸入。它通常有原理圖輸入、硬件描述語言輸入及波形輸入等多種方式。
原理圖輸入是一種最直接的輸入方式,它大多數(shù)用于對系統(tǒng)或電路結(jié)構(gòu)很熟悉的場合。但系統(tǒng)較大時,這種方法的相對輸入效率較低。
硬件描述語言是用文本方式描述設(shè)計,它分為普通的硬件描述語言和行為描述語言。行為描述語言是指高層硬件描述語言VHDL和Verilog,它們有許多突出的優(yōu)點:語言的公開可利用性、便于組織大規(guī)模系統(tǒng)的設(shè)計、具有很強的邏輯描述和仿真功能,而且輸入效率高、在不同的設(shè)計輸入庫之間轉(zhuǎn)換也非常方便。
普通硬件描述語言有ABEL-HDL、CUPL等,它們支持邏輯方程、真值表、狀態(tài)機等邏輯表達方式。
3.設(shè)計處理
從設(shè)計輸入完成以后到編程文件產(chǎn)生的整個編譯、適配過程,通常稱為設(shè)計處理或設(shè)計實現(xiàn)。它是器件設(shè)計中的核心環(huán)節(jié),是由計算機自動完成的,設(shè)計者只能通過設(shè)置參數(shù)來控制其處理過程。在編譯過程中,編譯軟件對設(shè)計輸入文件進行邏輯化簡、綜合和優(yōu)化,并適當(dāng)?shù)剡x用一個或多個器件自動進行適配和布局、布線,最后產(chǎn)生編程用的編程文件。
編程文件是可供器件編程使用的數(shù)據(jù)文件。對于陣列型PLD來說,是產(chǎn)生熔絲圖文件(簡稱JED)文件,它是電子器件工程聯(lián)合會制定的標(biāo)準(zhǔn)格式;對于FPGA來說,是生成位流數(shù)據(jù)文件。
4.設(shè)計校驗
設(shè)計校驗過程包括功能仿真和時序仿真,這兩項工作是在設(shè)計輸入和設(shè)計處理過程中同時進行的。功能仿真是在設(shè)計輸入完成以后的邏輯功能檢證,又稱前仿真,它沒有延時信息,對于初步功能檢測非常方便。時序仿真在選擇好器件并完成布局、布線之后進行,又稱后仿真或定時仿真,它可以用來分析系統(tǒng)中各部分的時序關(guān)系以及仿真設(shè)計性能。
5.器件編程
編程是指將編程數(shù)據(jù)放到具體的PLD中去。對陣列型PLD來說,是將JED文件“下載”到PLD中去;對FPGA來說,是將位流數(shù)據(jù)文件“配置”到器件中去。
器件編程需要滿足一定的條件,如編程電壓、編程時序和編程算法等。普通的PLD和一次性編程的FPGA需要專用的編程器完成器件的編程工作;基于SRAM的FPGA可以由EPROM或微處理器進行配置;ISP在系統(tǒng)編程器件則不需要專門的編程器,只要一根下載編程電纜就可以了。
更多資訊請關(guān)注:21ic模擬頻道