劉妍妍 崔煒 楊曉慧 白雪梅
摘 要:EDA(Electronic Design Automation)是以計算機為平臺,原理圖輸入法、硬件描述語言(VHDL)為設計語言,可編程邏輯器件為實驗載體,以ASIC/SOC芯片為目標器件進行必要的元件建模和系統仿真的電子產品自動化的設計過程,將傳統的數字電路基礎理論教學與現代EDA課程在教學內容和實踐內容協調發展,EDA實踐教學采用開放式實驗教學模式,通過開設數字電路EDA實踐教學工作,使學生從傳統的數字電路設計方法過渡到現代先進的設計方法,在長期的教學實踐中,數字電路課程自成體系,取得了良好的教學效果。EDA實踐教學在頂層進行原理圖的設計、仿真、糾錯,也可用硬件描述語言對復雜系統進行描述,然后生成具體門級電路,學生可不受芯片的約束,進行數字電路相關實踐內容。
關鍵詞:EDA VHDL 自動化 數字電路
中圖分類號:G71 文獻標識碼:A 文章編號:1672-3791(2015)11(c)-0033-02
數字電路EDA也是電子信息工程學院各個專業的一門必修課,它是一門實踐性很強的課程,是實踐教學中不可缺少的重要教學環節,EDA實驗使學生了解通過軟件仿真的方法可以高效的完成硬件電路設計的計算機技術,初步掌握自頂向下的設計方法、EDA設計流程等,會用原理圖輸入和硬件描述語言VHDL設計邏輯電路。
數字電路EDA課程是高等院校電氣、電子信息類專業的一門重要的實踐課程,具有理論性與實踐性強的特點,優化該課程的實踐教學,對提高課程教學質量至關重要,由注重傳授知識向注重培養學生綜合素質方向轉變,隨著大規模集成電路的飛速發展,電子類高新技術的開發也更加依賴于EDA技術的應用,通過實踐課程,學生掌握使用EDA工具設計數字電路的方法,包括設計輸入、編譯、軟件仿真、下載和硬件仿真等全過程。
1 優化課程的實踐教學
數字電路課程引入EDA技術,不僅極大地豐富課程選題,而且同一課題出現多種實現方案,提高了學生的創新思維能力,對后續專業基礎課程學習、電子設計競賽、撰寫論文等起到了啟蒙和引導的作用。
2 綜合運用基礎知識,解決工程實際應用能力
EDA(Electronic Design Automation)是以計算機為平臺,原理圖輸入法、硬件描述語言(VHDL)為設計語言,可編程邏輯器件為實驗載體。
自頂向下的模塊設計方法就是從系統的總體要求出發,自上而下地逐步將設計內容細化,最后完成系統硬件的總體設計。設計的三個層次如下。
第一層次是行為描述。實質上就是對整個系統的數學模型的描述(抽象程度高)。
第二層次是RTL方式描述,又稱寄存器傳輸描述(數據流描述),以實現邏輯綜合。
第三層次是邏輯綜合,就是利用邏輯綜合工具,將RTL方式描述的程序轉換成用基本邏輯元件表示的文件(門級網絡表)。在門電路級上再進行仿真,并檢查定時關系。
完成硬件設計的兩種選擇,由自動布線程序將網絡表轉換成相應的ASIC芯片制造工藝,做出ASIC芯片。將網絡表轉換成FPGA編程代碼,利用FPGA器件完成硬件電路設計。
3 應用實例
首先建立一個新的工程,然后建立新文件并輸入如下的代碼:
module sled(seg,dig,clock,rst_n,);
input clock;
input rst_n;
output [7:0] seg;
output [3:0] dig;
reg [7:0] seg_reg;
reg [3:0] dig_reg;
reg [3:0] disp_dat;
reg [36:0] count;
always @ (posedge clock )
begin
if(!rst_n)
count = 37'b0;
else
count = count + 1'b1;
dig_reg= 4'b0000;//
end
always @ (count[3])
begin
disp_dat = {count[7:4]};
end
always @ (disp_dat)
begin
case (disp_dat)
4'h0 : seg_reg = 8'hc0;
4'h1 : seg_reg = 8'hf9;
4'h2 : seg_reg = 8'ha4;
4'h3 : seg_reg = 8'hb0;
4'h4 : seg_reg = 8'h99;
4'h5 : seg_reg = 8'h92;
4'h6 : seg_reg = 8'h82;
4'h7 : seg_reg = 8'hf8;
4'h8 : seg_reg = 8'h80;
4'h9 : seg_reg = 8'h90;
4'ha : seg_reg = 8'h88;
4'hb : seg_reg = 8'h83;
4'hc : seg_reg = 8'hc6;
4'hd : seg_reg = 8'ha1;
4'he : seg_reg = 8'h86;
4'hf : seg_reg = 8'h8e;
endcase
end
assign seg=seg_reg;
assign dig=dig_reg;
endmodule
保存后,再編譯,之后選Tools->Run EDA Simulation Tool->EDA RTL Simulation進行仿真。最后配置引腳,下載并運行。
4 營造良好的實踐教學環境并建立科學的評價方法
基于EDA技術的數字電路實踐教學主要由計算機,EDA軟件開發工具,可編程芯片及實驗硬件開發系統組成,該院已建有EDA 實驗室,配有多臺安裝Quartus開發軟件的PC機,為每人或者小組完成課題提供良好的實驗條件。
如何評價設計成果,客觀,合理的給出成績,既能反映出真實水平又能激發學生的學習積極性和創新意識,不以最終結果正確性作為評價的唯一標準,而對設計過程的每個環節都給出量化的評分標準。
5 結語
數字電路實驗中引入EDA技術,蘊含著數字系統設計的新思路、新方法,代表了現代數字系統設計的方向,EDA技術采用“自上向下”設計數字系統的方法,通過設計邏輯功能模塊來實現數字系統功能,不僅大大提高了工作效率,而且提高了系統的可靠性,使設計更加靈活,學生在大二期間,就能夠通過數字電路EDA實驗,掌握EDA技術,對將來后續課程的學習,以及對學生提高創新能力,工程設計能力都是十分有利,數字電路EDA實驗中應用EDA技術可使學生突破硬件資源,制作耗時的限制,充分發揮想象力和創造性,設計出別具特色的作品來,使課程設計的效果大大提高,應用EDA技術設計數字電路,可為實驗的選題拓寬范圍,增加了課程的趣味性、綜合性、創造性,以不同類型,不同難度的設計任務供學生選擇。
參考文獻
[1] 鄒虹.數字電路與邏輯設計[M].北京:人民郵電出版社,2008.
[2] 白雪梅.數字電子技術實驗教程[M].北京:電子工業出版社,2014.
[3] 白中英.數字邏輯與數字系統[M].北京:科學出版社,2007.