劉 芳 張永志
【摘要】本文主要介紹MAX+PlusⅡ軟件的設計流程并將其應用到數字電路教學中,進行了理論教學與仿真驗證相結合的探索,為數字電路的邏輯驗證和實驗教學提供了一種新的方法。
【關鍵詞】MAX+PlusⅡ軟件;數字電路設計;實例應用
在當代社會,電子產品更新換代的速度越來越快,以往的電路設計方法已經適應不了這種挑戰,隨著可編程邏輯器件集成規模的不斷擴大,EDA(Electronic Design Automation)技術在現代電子系統設計領域的優勢已有所突顯。
EDA技術是指以計算機為工作平臺,融合了電子技術、計算機技術、智能化技術最新成果的現代電子設計技術。美國Altera公司推出的MAX+PlusⅡ軟件被公認為是最易使用、人機界面最友善的PLD開發軟件,現已成為電子系統設計、電子產品開發領域中一種全新的手段和便捷的方法。
一、MAX+PlusⅡ簡介
MAX+PlusⅡ可編程邏輯開發軟件結合了框圖界面和交互仿真能力的系統級設計和仿真工具,不用搭建硬件電路,即可對自己的設計進行調試、驗證,借助模擬示波器等虛擬設備直觀顯示仿真動態結果。而且設計者可以在友好的界面下很簡便、高效地設計出各種復雜的專用IC。因此,MAX+PlusII對改善硬件系統設計環境,培養學生應用系統級設計的能力,培養具有創新精神的應用型、復合型專門人才有很大的推動作用。MAX+PlusⅡ軟件的主要功能和特點有:
(1)設計輸入、編譯、校驗、仿真、器件編程與配置全部集成在統一的開發環境中,可以加快動態調試,縮短開發周期。
(2)設計環境與芯片結構無關,它支持EPF10K等可編程邏輯器件系列,編譯程序還提供強大的邏輯綜合與優化功能。
(3)有豐富的模塊化設計工具和器件庫。
(4)支持VHDL, Verilog HDL和AHDL等硬件描述語言。
(5)提供Megacore系統級功能。
(6)具有開放性的特點,他允許設計人員添加自己的宏函數。
二、MAX+PlusⅡ設計流程
MAX+PlusⅡ軟件提供了一種與結構無關的設計環境,其全面的邏輯設計能力,使設計者只需運用自己熟悉的輸入工具(原理圖、硬件描述語言)進行設計,就可以將文本、圖形、波形等設計方法任意組合,建立起有層次的數字系統,MAX+PlusⅡ把這些設計轉換成最終結構所需要的格式。而MAX+PlusⅡ的編譯器則可完成資源利用的最小化和邏輯綜合,把設計裝配成1個或多個器件并產生編程數據。此外,還可進行功能仿真、定時仿真、延時預測等設計校驗。使用MAX+PlusⅡ設計數字系統的步驟如下:
(1)設計輸入 用戶可使用MAX+plusII 10.0Baseline提供的圖形編輯器和文本編輯器實現圖形、AHDL、VHDL或Verilog HDL的輸入,也可輸入網表文件。
(2)編譯 為完成對設計的處理, MAX+plusII10.0 Baseline提供了一個完全集成的編譯器,可直接完成從網表提取到最后編程文件的生成。在編譯過程中生成一系列標準文件可進行時序模擬、適配等。
(3)項目校驗 項目校驗過程包括功能和時序仿真,其作用是測試邏輯操作和設計的內部定時,若有錯誤則進行修改并重新編譯。
(4)項目編程 將設計的項目編程/配置到所選擇的器件中。
三、數字電路設計舉例
本例用VHDL語言來實現8選1多路選擇器,編寫程序如下:
library ieee;
use ieee.std_logic_1164 .all;
entity mux is
port(D0,D1,D2,D3,D4,D5,D6,D7: in std_logic;
A0,A1,A2: in std_logic;
Q: out std_logic);
end mux;
architecture rtl of mux is
signal sel: std_logic_vector(2 downto 0);
begin
sel<=A2&A1;&A0;
B:process(D0,D1,D2,D3,D4,D5,D6,D7,sel)
begin
if(sel="000")then
Q<=D0;
elseif(sel="001")then
Q<=D1;
elseif(sel="010")then
Q<=D2;
elseif(sel="011")then
Q<=D3;
elseif(sel="100")then
Q<=D4;
elseif(sel="101")then
Q<=D5;
elseif(sel="110")then
Q<=D6;
else
Q<=D7;
end if;
end process;
end rtl;
上述8選1多路選擇器經過時序仿真、功能仿真,仿真結果如圖1所示,結果完全達到了設計目的,仿真通過后就可將設計結果編程/下載到目標器件中去。

四、結束語
EDA技術是電子設計的發展趨勢,利用EDA工具MAX+PlusⅡ可以代替設計者完成電子系統設計中的大部分工作,能夠方便靈活地設計出體積小而系統性高的數字電子系統,徹底地改變傳統數字系統的設計方法、設計過程乃至設計觀念,拓寬了電子設計和產品開發的思路,是電子技術設計領域的一場革命。
【參考文獻】
[1]李國麗,朱維勇,欒銘.EDA與數字系統設計.
[2]馮 濤.可編程邏輯器件開發技術MAX+PlusⅡ入門與提高.