摘 要:Max+plusⅡ軟件是一款高效的、非常靈活的數字電路開發設計軟件,它提供了多種輸入方法供設計者選用,利用合適的輸入方法設計完數字系統之后,設計者可利用邏輯綜合工具進行邏輯綜合,并可以用仿真器進行軟件仿真,使設計者能夠盡早發現設計中的錯誤,縮短設計周期。簡要介紹了Max+plusⅡ在數字電路教學中的應用,并以用不同的輸入方法設計一個16位二進制加法器為例,說明Max+plusⅡ的設計仿真過程,以期得到融傳統教學方式和現代化設計理念為一體的教學效果。
關鍵詞:Max+plusⅡ;數字電路;邏輯綜合
中圖分類號:TP31文獻標識碼:A文章編號:1672-3198(2008)07-0336-02
1 引言
Max+plusⅡ是Altera公司提供的FPGA/CPLD開發集成環境,Altera是世界上最大可編程邏輯器件的供應商之一。Max+plusⅡ界面友好,使用便捷,被譽為業界最易用易學的EDA軟件。在Max+plusⅡ上可以完成設計輸入、元件適配、時序仿真和功能仿真、編程下載整個流程,它提供了一種與結構無關的設計環境,使設計者能方便地進行設計輸入、快速處理和器件編程。
本文以舉例的形式介紹了EDA 的一種開發平臺,即美國Altera公司開發的Max+plusⅡ在數字電路教學中的應用。
2 Max+plus Ⅱ簡介
2.1 Max+plus Ⅱ主要特點
Max+plusⅡ開發系統的特點:
(1)開放的界面。
Max+plusⅡ支持與Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。
(2)與結構無關。
Max+plusⅡ系統的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件,提供了世界上唯一真正與結構無關的可編程邏輯設計環境。
(3)完全集成化。
Max+plusⅡ的設計輸入、處理與較驗功能全部集成在統一的開發環境下,這樣可以加快動態調試、縮短開發周期。
(4)豐富的設計庫。
Max+plusⅡ提供豐富的庫單元供設計者調用,其中包括74系列的全部器件和多種特殊的邏輯功能(Macro-Function)以及新型的參數化的兆功能(Mage-Function)。
(5)模塊化工具。
設計人員可以從各種設計輸入、處理和校驗選項中進行選擇從而使設計環境用戶化。
(6)硬件描述語言(HDL)。
Max+plusⅡ軟件支持各種HDL設計輸入選項,包括VHDL、Verilog HDL和Altera自己的硬件描述語言AHDL。
2.2 Max+plus Ⅱ設計過程
使用Max+plusⅡ軟件設計流程由以下幾部分組成。
(1)設計輸入:可以采用原理圖輸入、HDL語言描述、EDIF網表輸入及波形輸入等幾種方式。
(2)編譯:先根據設計要求設定編譯參數和編譯策略,如器件的選擇、邏輯綜合方式的選擇等。然后根據設定的參數和策略對設計項目進行網表提取、邏輯綜合和器件適配,并產生報告文件、延時信息文件及編程文件,供分析仿真和編程使用。
(3)仿真:仿真包括功能仿真、時序仿真和定時分析,可以利用軟件的仿真功能來驗證設計項目的邏輯功能是否正確。
(4)編程與驗證:用經過仿真確認后的編程文件通過編程器(Programmer)將設計下載到實際芯片中,最后測試芯片在系統中的實際運行性能。
在設計過程中,如果出現錯誤,則需重新回到設計輸入階段,改正錯誤或調整電路后重復上述過程。
2.3 Max+plus Ⅱ描述語言
Max+plusⅡ軟件的設計輸入方法有多種,主要包括原理圖設計、文本設計、波形設計,層次設計和底層設計等輸入方式。在利用Max+plusⅡ軟件的數字電路教學中,經常采用的是原理圖設計、文本設計和波形設計這幾種輸入方式。
(1)原理圖輸入(Graphic Editor)。
Max+plusⅡ軟件具有圖形輸入能力,用戶可以方便的使用圖形編輯器輸入電路圖,圖中的元器件可以調用元件庫中元器件,除調用庫中的元件以外,還可以調用該軟件中的符號功能形成的功能塊.
(2)硬件描述語言輸入(Text Editor)。
Max+plusⅡ軟件中有一個集成的文本編輯器,該編輯器支持VHDL,AHDL和Verilog硬件描
述語言的輸入,同時還有一個語言模板使輸入程序語言更加方便,該軟件可以對這些程序語言進行編譯并形成可以下載配置數據。
(3)波形編輯器(Waveform Editor)。
在進行邏輯電路的仿真時,需要在所設計電路的輸入端加入一定的波形,波形編輯器可以生成和編輯仿真用的波形(*.SCF文件),使用該編輯器的工具條可以容易方便的生成波形和編輯波形。
3 Max+plusⅡ在數字電路教學中的應用
下面以16位二進制加法器的設計為例,分別采用原理圖輸入和VHDL輸入法,說明Max+plusⅡ在數字電路教學中的應用。
3.1 原理圖輸入
(1)建立項目。
打開Max+plusⅡ,選擇“File”→“New”, 在“File Type(文件類型)”框內選擇“Graphic Editor file(圖形編輯文件)”鍵,按“OK”按鍵打開原理圖編輯窗口;然后雙擊鼠標,會出現如圖2所示的輸入符號窗口,選擇相應的庫,選取所需的符號,然后點擊“OK”按鍵,所需的符號就出現在圖形編輯窗中。在16位加法器的設計中,選用4個4位加法器7483,然后擴展成16位的加法器。如圖3所示。最后設計好的文件存盤,取文件名h:adder.gdf.
(2)編譯。
選擇菜單File→Project→Set Project to Current File,將當前的原理圖文件h:adder.gdf.設置成工程文件(.pof),然后選擇compiler菜單進行目標器件選擇和編譯處理.
(3)仿真。
打開波形編輯器界面,并以h:adder.scf文件形式保存.在波形編輯器的界面下,進行輸入信號的編輯和參數的設置。設置完成后,在“Max+Plus”菜單中選擇Simulator(仿真器)進行仿真。本例的仿真結果如圖4所示。
3.2 VHDL輸入
上面所述是用圖形方式實現了一個16位的加法器,當然,這個加法器也可以用VHDL語言實現。
(1)輸入程序。
在菜單欄中選擇“File”→“New”選項,然后在“File Type”框內選擇“Text Editor file(文本編輯文件)”按鍵;按“OK”按鍵后,出現名為“UntitledTextEditor”的圖形編輯文件窗口,在建立的名為addervhd.VHD的文本文件中輸入以下VHDL語言程序:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY addervhd IS
PORT
(a: ININTEGER RANGE 0 TO 65535;
b: ININTEGER RANGE 0 TO 65535;
s: OUT INTEGER RANGE 0 TO 131071);
END addervhd;
ARCHITECTURE a OF addervhd IS
BEGIN
s <= a+b;
END a;
(2)編譯。
對設計輸入的程序進行編譯,修改設計中的錯誤。
(3)仿真。
仿真的方法同上,從仿真可以看出用圖形文件設計的16位加法器與用VHDL語言程序設計的16位加法器有著基本一致的性能。
4 結束語
將Max+plusⅡ用到數字電路教學中,可以很好地將理論和實踐結合起來,從而提高了課堂講授效率,另外此方法畫圖快捷,修改方便,仿真效果直觀,增強了數字電路課程的趣味性,提高了學生學習的積極性,實現了教學手段和教學方法的創新。
參考文獻
[1]王志鵬.可編程邏輯器件開發技術Max+plusⅡ[M].北京:國防工業出版社,2005.
[2]閻石.數字電子技術基礎[M].北京:高等教育出版社,1998.
[3]潘松,王國棟.VHDL實用教程[M].成都:電子科技大學出版社,2000.