許精明 陳小平
摘要:近年來,EDA虛擬儀器、嵌入式產品設計等數字電路制造技術得到了迅速發展。EDA作為計算機輔助數字電路設計技術已成為一項重要的產品設計手段。文章在闡述EDA工具環境QuartusⅡ和VHDL編程的基礎上,分析EDA的“概念驅動式”設計模式的優缺點、EDA實驗項目內容的劃分和FPGA與CPLD。兩種芯片的不同特性及EDA實驗室的軟硬件平臺配置等,并對基于網絡的現代EDA實驗技術和EDA技術的發展前景進行展望。
關鍵詞:EDA;QuartusⅡ;實驗教學
0、引言
隨著CAX(CAD、CAM、CAT、CAE)技術的發展,電子設計自動化(Electronic DesignAutomation,EDA)及其在電子產品設計中的應用日益廣泛。不論在教學、科研、產品設計與制造等方面,EDA都發揮著巨大的作用。教學方面,主要使學生掌握EDA的基本概念和基本原理、學習QuartusⅡ等軟件的使用與操作,掌握VHDL語言的編寫規范及編程的邏輯理論與算法,進行電子電路設計實驗和各種應用設計??蒲蟹矫?,主要利用虛擬儀器進行產品測試,將下載驗證后的CPLD/FPGA器件應用到實際儀器設備中,進行專用集成電路ASIC和片上系統SoC設計等。產品設計與制造方面,主要進行大規模智能產品的建模與設計、計算機仿真、驗證與測試、縮短產品更新換代周期等。
1、工具軟件QuartusⅡ及VHDL語言
1.1
QuartusⅡ的使用技巧
工具軟件的使用應與實例開發相結合,通過解決實際使用中遇到的問題,熟悉各種操作功能。通常,使用工具軟件時遇到的問題可概括為兩個方面。
(1)程序設計語言上的問題。普通編程語言(如C++、JAVA)是面向對象/主體的編程語言,使用時所遇的問題一般是算法設計思路的邏輯和語法格式方面的錯誤,而VHDL語言是描述數據系統的結構、行為、功能和接口的“概念型”編程語言,編程時,應注意整體模式構架的正確性,包括庫與程序包、實體、結構體、配置、描述語句的語法及詞法等結構方面的錯誤。
從可視化角度講,VHDL語言分為內外兩部分:外部為可視界面,以概念為驅動;內部為不可視部分,用算法完成。
(2)工具軟件操作上的問題。用QuartusⅡ進行電子系統開發時,一般的步驟有:設計輸入、編譯、綜合、布局、布線、時序分析、仿真、編程下載等。在開發過程中,通常會遇到一些操作上的問題。例如,在對設計文件的初次波形仿真時,當節點信號輸入(Insert Node or Bus)、信號波形(Waveform)、網格(Grid Size)和時間軸(End Time)大小等都設定后,如果直接進行波形仿真的命令操作,會出現問題提示:“仿真器中沒有文件(No files in simulator)”。原因在于沒有向Simulator Setting交互界面中添加波形文件。操作上的解決辦法,是從菜單Assignment→Setting…打開設置對話框,選擇樹形目錄中的Simulator Setting項,在交互界面的Simulation input欄中添加正在進行波形編輯和仿真的文件。
通常在遇到工具操作方面的問題時,可從聯機幫助或通過網絡搜索引擎等途徑得到與問題有關的解決方案及提示,提示和線索一般都可使問題得到解決。
1.2 VHDL語言
VHDL語言是較為廣泛使用的一種EDA設計語言。它包括系統行為級、寄存器傳輸級和邏輯門級3個描述層次,并支持結構描述、數據流描述、行為描述和這3種描述的混合描述形式。VHDL幾乎覆蓋了以往各種硬件描述語言的功能,在電路設計的整個過程中(不論是自頂而下還是自底向上的設計方式)都可以用VHDL來完成。
VHDL具有以下優點:
(1)將設計人員的工作重心提高到系統功能的實現和調試,減少了用于物理實現的精力和時間。
(2)用簡潔明確的代碼描述來進行復雜的控制邏輯設計,靈活方便,便于設計結果的交流、保存和重用。
(3)不依賴于特定的器件,便于將設計映射到不同的工藝器件上去。
(4)VHDL是一種標準語言,眾多的EDA廠商均支持,移植性好。
1.3 “概念驅動式”設計
由于VHDL語言使設計人員擺脫了電路細節的束縛,使他們可以把精力集中于創造性的方案與概念的構思上,因此新的構思理念可以迅速有效地成為產品,大大縮短了產品的研制周期。另外,由于“概念驅動式”的高層次設計只定義系統的行為特性,不涉及實現工藝,因此在高層次設計完成后,必須在廠家綜合庫的支持下,利用綜合優化工具將高層次的描述轉化成對具體工藝的優化網表,實現工藝轉化。
EDA設計可分為一般規模設計和大型規模設計兩類。兩者的設計步驟基本相同,不同點在于:在某些設計步驟上大型規模設計增加了一些相應的測試與仿真。
“概念驅動式”設計的總體步驟如下:
(1)按照“自頂而下”的設計方法進行系統劃分。
(2)輸入VHDL代碼或圖形。代碼輸入的優點是可以按照設計者的構思生成新的功能器件。
(3)對設計輸入進行編譯、綜合、優化處理及仿真,生成門級描述的網表文件。對于大型規模電路的設計,要進行代碼級的功能仿真,主要用于檢驗系統功能設計的正確性。因為大型設計在綜合、適配時要花費數小時的時間,因此在綜合、適配前對源代碼進行仿真,可大大減少返回修改的重復次數和時間。一般規模電路的設計,可略去代碼級的功能仿真這一步。
綜合優化是針對ASIC芯片供應商的某一產品進行的,因此綜合的過程要在相應的廠家綜合庫支持下完成。編譯、綜合、優化處理是將VHDL代碼的概念描述轉化為硬件電路,實現以格式化形式描述電路的結構。綜合后,可利用生產的網表文件進行適配前的時序仿真,仿真過程不涉及具體器件的特性。endprint
(4)利用適配器件將綜合后的網表文件針對某一具體的目標器件進行邏輯映射,包括底層器件配置、邏輯分割、邏輯優化、布局布線。適配完成后,產生多項設計結果:適配報告(包括芯片內部資源利用情況),設計的布爾方程描述,適配后的仿真模型,器件編程文件。根據適配后的仿真模型,可以進行適配后的時序仿真。由于已經得到器件的實際硬件特性(如延時特性),因此仿真結果能比較精確地預期未來芯片的實際性能。如果仿真結果達不到設計要求,就需要修改VHDL源代碼或選擇不同速度品質的器件,直至滿足設計要求為止。
(5)將編程文件通過編程器或下載電纜載入到目標芯片CPLD/FPGA中。
2、EDA實驗項目設計及其類型
EDA的實驗項目很多,應用范圍很廣。對于教學實驗來說,可分為3類:驗證型實驗、綜合型實驗和創新開發型實驗。驗證型實驗為基礎實驗,電路較簡單,一般為必做實驗;綜合型實驗的電路功能較復雜,主要針對學習與實踐動手能力較好的學生開設,一般為選做實驗;創新開發型實驗為專項研究型實驗,內容具有一定的難度和創新性,用于針對參加專項競賽和具備較高發展潛力的學生進行訓練。
下面列出各類型實驗中的項目:
(1)驗證型實驗:
①計數器及移位寄存器實驗;
②發光二極管點陣顯示器實驗;
③交通燈自動控制器實驗;
④功率放大器;
⑤時鐘控制器實驗;
⑥多功能數字鐘實驗。
(2)綜合型實驗:
①量程自動轉換型數字式頻率計;
②電子琴;
③音樂噴泉設計;
④MP3播放器;
⑤數字濾波器設計及實現;
⑥DDS直接數字合成任意波形發生器;
⑦智能家居電器;
⑧煙霧、溫度、位置限定等各種報警器;
⑨程控電源;
⑩虛擬邏輯分析儀;
[11]電梯控制電路;
[12]汽車狀態記錄儀。
(3)創新開發型實驗:
①電腦無線通信;
②無線電數據收發器;
③模擬乒乓球比賽游戲電路實驗;
④低頻對講機;
⑤精密數控電源及函數發生器;
⑥數字式信號調制發射器;
⑦利用PC機打印接口的頻率計;
⑧語音識別與控制;
⑨大廳人數感知器;
⑩運載機器人的語音控制系統;
[11]變速風扇控制器;
[12]距離傳感顯示器的數據采集時鐘電路;
[13]無線電遙控系統。
對于EDA實驗,學生可先在自己的計算機上做好波形仿真,再到實驗室進行下載驗證。這是EDA實驗簡易、方便和靈活的優越之處。
下載芯片的選用一般有FPGA與CPLD兩種,前者具有運行速度極快的優點,但斷電即丟失所下載的系統;后者具有斷電不丟失定制的優點。
3、EDA實驗室的軟硬件系統及配置
EDA實驗室應由一整套硬件設施及EDA軟件環境構成。最基礎的硬件配置是計算機、實驗箱及網絡平臺。計算機達到中高檔配置的要求即可,配置的高低只影響EDA工具的運行速度與設計的仿真速度,對效果無直接影響。實驗箱可采用不同的第三方供應商產品,包括國內產商和國外產商。
軟件配置一般用QuartusⅡ軟件工具及相關配套組件。測試分析儀器包括頻率信號發生器、邏輯筆、數字萬用表、示波器與邏輯分析儀。CPLD/FPGA下載板用于將設計的電路下載到板上,完成芯片制造。
在QuartusⅡ上進行設計輸入、軟件仿真、引腳定位后,與CPLD/FPGA組合就可以下載到Ic芯片上,接著用邏輯分析儀對硬件電路進行時序測試。
4、EDA技術在嵌入式產品設計中的作用與意義
為使設計者方便地為用戶設計出不同檔次、不同功能需求的產品,滿足用戶在靈活和個性化上的要求,現代的專用集成電路(ASIC)產品一般都包含了32-bit處理器、類似ROM、RAM、EEPROM、Flash的存儲單元和其他功能模塊。這些ASIC芯片(常被稱為片上系統SoC)與具有現場可編程功能的門陣列FPGA相結合,可使產品達到更高程度的自適應和智能可編程能力。ASIC提供產品的核心功能及軟硬框架,包括IP核心、Flash存儲單元中的程序模塊和I/O單元;FPGA提供現場可編程的擴展功能空間,與ASIC組合實現產品的最優、易用、低成本、多功能集成等。
ASIC的優點在于專用、量身定制和執行速度較快;FPGA的優點是可編程、靈活和個性化。若每次的產品更新換代都用FPGA設計完成,則會使成本增高,因此只能在小批量產品的設計中使用。若是大規模生產的產品,應采用ASIC設計,制造出專用集成電路芯片并批量生產,使成本降低。
在實際應用中,將ASIC設計與FPGA設計相結合,采用“芯片級”嵌入設計思路,把可編程邏輯器件FPGA嵌入ASIC的標準單元和邏輯模塊中,搭配出不同層次和價位的EDA嵌入式產品,滿足用戶在不同應用領域、不同計算類型中對新型芯片產品的需求。
5、基于網絡的現g:EDA實驗技術
隨著網絡應用的不斷發展,基于網絡平臺的EDA實驗技術已在EDA教學中得到應用。它改變了傳統的實驗教學模式,帶來了新的生機和活力。在EDA網絡平臺上可提供實驗演示、遠端存儲、資源共享和互動式教學等內容。
基于Internet的實驗平臺能夠滿足網絡大學和分布式教學模式中的實驗教學需求。多客戶一多服務器的系統工作模式實現設備的分時共享,能夠有效地節約投資。基于Internet的實驗平臺是一個開放的系統,它可以支持不同公司、不同型號的FPGA/CPLD設計實驗?,F代EDA實驗室也將是開放的實驗室,不受時間、地理位置限制的實驗室,不限制設計思路、有利于創新人才培養的實驗室。
從長遠角度來看,EDA網絡平臺應在以下幾方面做進一步擴充與改進。
(1)資源共享方式的多樣化?,F在的EDA網絡實驗平臺一般都是局限于某些特定的用戶,如擁有實驗平臺的高校自身及其同盟的高校。這些各自獨立運行的平臺在功能上存在不同的優缺點,不能實現優勢互補,并造成一定程度的重復勞動和浪費。因此應建立功能全面、元件庫齊備、電路參數正確性、校驗性能強的統一、綜合、標準的網絡虛擬實驗平臺。只要用戶下載安裝客戶端并申請注冊,就可共享基于網絡的數字化實驗環境,從數字化實驗室管理界面進入不同的實驗室空間,進行不同的訓練內容或課題,完成在線設計、在線仿真和控制、上傳文件至服務器、與其他用戶的在線交流等內容。
(2)更強的互動性和信息化管理措施。在基于Internet的實驗平臺上,學生應能夠通過網絡將設計結果下載到遠程實驗室中的FPGA/CPLD芯片上,并借助于遠程測試系統,完成實驗結果的驗證、分析,同時也達到了實驗設備共享的目的。在遠程實驗中運用數字電路測試技術,使虛擬仿真的結果變成真實電路的效果。通過網絡實驗平臺,教師應具備更強的管理能力,例如,在網上批閱學生提交的作業,查詢學生向本課程所提的問題,實時地解釋并通過網絡將答案發送給學生等。學生對課程內容若有疑問或不理解,通過實驗網絡向教師詢問,學生詢問的問題存放在后臺的數據庫中,以備教師查看和使用。在交流的同時教師從網上掌握學生的學習狀況,并對學生進行考核。對注冊用戶進行水平測試,以便指導注冊用戶的學習,如幫助學員安排學習計劃等,對學員學習效果做出評估??己讼到y由試題庫、注冊系統、試題生成模塊、考卷批閱系統、成績查詢系統、學習計劃自動生成系統等構成。
6、結語
本文對EDA實驗教學及實驗室系統配置進行了探討,對不同實驗環境進行了分析與闡述。對于基于網絡的EDA實驗平臺提出了相應的進一步改進措施,以使EDA設計功能更強、數字邏輯電路功能的仿真精確度更高、電路參數的實際正確性更好。
EDA是一門新興的計算機輔助數字電路設計技術,其應用前景廣闊。在很多數字電路設計中都能得到應用,使產品的設計周期和制造周期大大縮短,且成本更低。因此對EDA技術的深入研究是必要的,且很多內容,尤其應對其在新產品設計的適用范圍上作進一步研究。endprint