劉 芳 張永志
【摘要】本文主要介紹MAX+PlusⅡ軟件的設(shè)計流程并將其應(yīng)用到數(shù)字電路教學(xué)中,進(jìn)行了理論教學(xué)與仿真驗證相結(jié)合的探索,為數(shù)字電路的邏輯驗證和實驗教學(xué)提供了一種新的方法。
【關(guān)鍵詞】MAX+PlusⅡ軟件;數(shù)字電路設(shè)計;實例應(yīng)用
在當(dāng)代社會,電子產(chǎn)品更新?lián)Q代的速度越來越快,以往的電路設(shè)計方法已經(jīng)適應(yīng)不了這種挑戰(zhàn),隨著可編程邏輯器件集成規(guī)模的不斷擴(kuò)大,EDA(Electronic Design Automation)技術(shù)在現(xiàn)代電子系統(tǒng)設(shè)計領(lǐng)域的優(yōu)勢已有所突顯。
EDA技術(shù)是指以計算機(jī)為工作平臺,融合了電子技術(shù)、計算機(jī)技術(shù)、智能化技術(shù)最新成果的現(xiàn)代電子設(shè)計技術(shù)。美國Altera公司推出的MAX+PlusⅡ軟件被公認(rèn)為是最易使用、人機(jī)界面最友善的PLD開發(fā)軟件,現(xiàn)已成為電子系統(tǒng)設(shè)計、電子產(chǎn)品開發(fā)領(lǐng)域中一種全新的手段和便捷的方法。
一、MAX+PlusⅡ簡介
MAX+PlusⅡ可編程邏輯開發(fā)軟件結(jié)合了框圖界面和交互仿真能力的系統(tǒng)級設(shè)計和仿真工具,不用搭建硬件電路,即可對自己的設(shè)計進(jìn)行調(diào)試、驗證,借助模擬示波器等虛擬設(shè)備直觀顯示仿真動態(tài)結(jié)果。而且設(shè)計者可以在友好的界面下很簡便、高效地設(shè)計出各種復(fù)雜的專用IC。因此,MAX+PlusII對改善硬件系統(tǒng)設(shè)計環(huán)境,培養(yǎng)學(xué)生應(yīng)用系統(tǒng)級設(shè)計的能力,培養(yǎng)具有創(chuàng)新精神的應(yīng)用型、復(fù)合型專門人才有很大的推動作用。MAX+PlusⅡ軟件的主要功能和特點有:
(1)設(shè)計輸入、編譯、校驗、仿真、器件編程與配置全部集成在統(tǒng)一的開發(fā)環(huán)境中,可以加快動態(tài)調(diào)試,縮短開發(fā)周期。
(2)設(shè)計環(huán)境與芯片結(jié)構(gòu)無關(guān),它支持EPF10K等可編程邏輯器件系列,編譯程序還提供強(qiáng)大的邏輯綜合與優(yōu)化功能。
(3)有豐富的模塊化設(shè)計工具和器件庫。
(4)支持VHDL, Verilog HDL和AHDL等硬件描述語言。
(5)提供Megacore系統(tǒng)級功能。
(6)具有開放性的特點,他允許設(shè)計人員添加自己的宏函數(shù)。
二、MAX+PlusⅡ設(shè)計流程
MAX+PlusⅡ軟件提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,其全面的邏輯設(shè)計能力,使設(shè)計者只需運(yùn)用自己熟悉的輸入工具(原理圖、硬件描述語言)進(jìn)行設(shè)計,就可以將文本、圖形、波形等設(shè)計方法任意組合,建立起有層次的數(shù)字系統(tǒng),MAX+PlusⅡ把這些設(shè)計轉(zhuǎn)換成最終結(jié)構(gòu)所需要的格式。而MAX+PlusⅡ的編譯器則可完成資源利用的最小化和邏輯綜合,把設(shè)計裝配成1個或多個器件并產(chǎn)生編程數(shù)據(jù)。此外,還可進(jìn)行功能仿真、定時仿真、延時預(yù)測等設(shè)計校驗。使用MAX+PlusⅡ設(shè)計數(shù)字系統(tǒng)的步驟如下:
(1)設(shè)計輸入 用戶可使用MAX+plusII 10.0Baseline提供的圖形編輯器和文本編輯器實現(xiàn)圖形、AHDL、VHDL或Verilog HDL的輸入,也可輸入網(wǎng)表文件。
(2)編譯 為完成對設(shè)計的處理, MAX+plusII10.0 Baseline提供了一個完全集成的編譯器,可直接完成從網(wǎng)表提取到最后編程文件的生成。在編譯過程中生成一系列標(biāo)準(zhǔn)文件可進(jìn)行時序模擬、適配等。
(3)項目校驗 項目校驗過程包括功能和時序仿真,其作用是測試邏輯操作和設(shè)計的內(nèi)部定時,若有錯誤則進(jìn)行修改并重新編譯。
(4)項目編程 將設(shè)計的項目編程/配置到所選擇的器件中。
三、數(shù)字電路設(shè)計舉例
本例用VHDL語言來實現(xiàn)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多路選擇器經(jīng)過時序仿真、功能仿真,仿真結(jié)果如圖1所示,結(jié)果完全達(dá)到了設(shè)計目的,仿真通過后就可將設(shè)計結(jié)果編程/下載到目標(biāo)器件中去。
四、結(jié)束語
EDA技術(shù)是電子設(shè)計的發(fā)展趨勢,利用EDA工具M(jìn)AX+PlusⅡ可以代替設(shè)計者完成電子系統(tǒng)設(shè)計中的大部分工作,能夠方便靈活地設(shè)計出體積小而系統(tǒng)性高的數(shù)字電子系統(tǒng),徹底地改變傳統(tǒng)數(shù)字系統(tǒng)的設(shè)計方法、設(shè)計過程乃至設(shè)計觀念,拓寬了電子設(shè)計和產(chǎn)品開發(fā)的思路,是電子技術(shù)設(shè)計領(lǐng)域的一場革命。
【參考文獻(xiàn)】
[1]李國麗,朱維勇,欒銘.EDA與數(shù)字系統(tǒng)設(shè)計.
[2]馮 濤.可編程邏輯器件開發(fā)技術(shù)MAX+PlusⅡ入門與提高.