伍艷瓊+潘宇
摘 要: 將EDA技術應用于數字電子技術實驗教學,提高了實驗過程的可操作性,通過編程使學生對邏輯關系有更深入的理解,有利于獨立學院對應用型人才的培養。本文介紹了EDA技術的設計流程,并通過用于驅動共陰極七段數碼管的顯示譯碼器作為設計實例,闡述了EDA技術在數字電子技術實驗教學的應用。
關鍵詞: EDA技術;Quartus II;數字電子技術;顯示譯碼器
數字電子技術是通信工程、電子信息工程、自動化等專業的專業基礎課,具有邏輯性強、內容抽象、理論與實踐緊密結合等特點。傳統的數字電子技術的實驗教學,主要以實驗箱為平臺,通過選擇芯片類型,完成簡單的電路接線來驗證、分析數字電路的功能[1]。這種實驗方法盡管直觀,但不利于學生理解電路的設計思路和方法,更由于實驗室芯片類型有限,從而在一定程度上影響了學生的實踐和創新能力的培養。而獨立學院定位為培養高層次應用型人才,工科專業應用型人才培養應注重培養過程的開放性與實踐性,注重培養學生實踐和創新能力[2]。
而電子設計自動化技術(Electronic Design Automation,EDA) 以計算機為工具,設計者在EDA軟件平臺上(Quartus II、MAX +PLUS II、Proteus、Multisim 8等),通過邏輯電路圖或硬件描述語言HDL完成設計文件,然后由計算機完成邏輯編譯、化簡、分割、綜合、優化、布局、布線和仿真, 直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作[3-5]。若采用邏輯電路圖作為設計輸入,則很好地解決了傳統的實驗教學中芯片類型受限的問題;如采用硬件描述語言作為設計輸入,則更有利于學生理解邏輯關系。因此,EDA技術在數字電子技術實驗中應用,更能滿足獨立學院對應用型人才培養的需要。
1 EDA設計流程
EDA技術作為現代電子設計技術的核心,被各類庫所支持,能夠完成各種自動設計過程,大大降低設計成本、縮短設計周期。EDA設計流程是自頂向下的設計方法,圖1是基于EDA軟件的FPGA/CPLD開發流程框圖[6]。
1.1設計輸入
將設計項目的功能要求以一定的方式輸入計算機,通常以圖形輸入、HDL文本輸入作為輸入方法。
1.2綜合
綜合將電路的高級語言轉換成低級的,可與FPGA/CPLD的基本結構相映射的網表文件或程序,把軟件設計的HDL描述與硬件結構掛鉤,是軟件轉化為硬件電路的關鍵步驟。
1.3適配
將網表文件配置給指定的目標器件,產生下載文件,如JEDEC或SOF等格式的文件。
1.4仿真
在編程下載前必須對適配生成的結果進行模擬測試 ,以驗證設計、排除錯誤。通常有兩種不同級別的仿真測試:時序仿真和功能仿真。
1)時序仿真,仿真文件包含了器件硬件特性參數,如精確的硬件延遲信息,接近真實器件運行特性,仿真精度高。
2)功能仿真,直接測試HDL、原理圖或其他描述形式的邏輯功能,驗證是否滿足設計要求,而不涉及任何具體器件的硬件特性。
1.5編程下載及硬件測試
將適配后生成的下載或配置文件通過編程器或編程電纜向FPGA或CPLD下載,并進行硬件調試和驗證,以排除錯誤、改進設計。
2 EDA技術在數字電子技術實驗教學中的應用實例
以基于Altera公司的Cyclone II系列的EP2C5Q208C8實驗板和Quartus II 8.1 設計一個用于驅動共陰極七段數碼管的顯示譯碼器為例,來討論EDA技術在數字電子技術實驗中的具體應用。
2.1 七段數碼管
用七個發光二極管按圖2結構排列即構成七段數碼管,當二極管的陽極和陰極間壓降大于二極管導通電壓時,二極管導通發光;反之截止。圖3為共陰極接法,能驅動顯示段發光的電平為高電平1。例如,當顯示譯碼器輸入為“1011”時,可設計將其顯示為“b”,對應的顯示譯碼器輸出便為“0011111”,由此可列出顯示譯碼器的真值表。
2.2 用VHDL實現顯示譯碼器的設計
根據真值表,共陰極顯示譯碼器VHDL代碼如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Dec7s IS
PORT(A3,A2,A1,A0: IN BIT;
Ya,Yb,Yc,Yd,Ye,Yf,Yg: buffer BIT);
END;
ARCHITECTURE one OF Dec7s IS
BEGIN
PROCESS(A3,A2,A1,A0)
VARIABLE A : BIT_VECTOR(3 DOWNTO 0);
VARIABLE Y : BIT_VECTOR(6 DOWNTO 0);
BEGIN
A := (A3&A2&A1&A0);
Y := (Ya&Yb&Yc&Yd&Ye&Yf&Yg);
CASE A IS
WHEN "0000"=> Y:="1111110";
WHEN "0001"=> Y:="0110000";
WHEN "0010"=> Y:="1101101";
WHEN "0011"=> Y:="1111001";
WHEN "0100"=> Y:="0110011";
WHEN "0101"=> Y:="1011011";
WHEN "0110"=> Y:="1011111";
WHEN "0111"=> Y:="1110000";
WHEN "1000"=> Y:="1111111";
WHEN "1001"=> Y:="1111011";
WHEN "1010"=> Y:="1110111";
WHEN "1011"=> Y:="0011111";
WHEN "1100"=> Y:="1001110";
WHEN "1101"=> Y:="0111101";
WHEN "1110"=> Y:="1001111";
WHEN "1111"=> Y:="1000111";
WHEN OTHERS=>NULL;
END CASE; Ya<=Y(6);Yb<=Y(5);Yc<=Y(4);Yd<=Y(3);Ye<=Y(2);Yf<=Y(1);Yg<=Y(0);
END PROCESS;
END one;
2.3顯示譯碼器的時序仿真
由圖4驗證仿真時間為19.2us處時,輸入A3A2A1A0=“1001”時,YaYg為“1111011”,即顯示‘9;并可依次驗證其他數值顯示均正確。
2.4顯示譯碼器的硬件測試
本測試在Cyclone II系列的EP2C5Q208C8芯片上完成,將引腳鎖定至芯片并進行編程下載后,將顯示譯碼器輸入A3A2A1A0分別連接撥碼開關K4K3K2K1,輸出YaYg分別連接ag,便可通過設定K4K3K2K1的取值,依次驗證譯碼的正確性。
3結束語
將EDA技術應用至獨立學院《數字電子技術》實驗中,不僅解決了傳統實
驗教學芯片類型受限的問題,通過利用VHDL或Verilog HDL等硬件描述語言設計器件,還鍛煉了學生的邏輯思維和硬件描述語言表達能力,能更深入理解器件的工作原理,最后編程下載到FPGA中進行硬件測試,進一步加深學生對實驗的理解,從而大大提高教學效果和效率,也更能體現獨立學院注重培養學生的實踐和創新能力。
參考文獻
[1] 張廣華.EDA技術與數字電子技術教學的有機整合[J].福建商業高等??茖W校學報,2010,10(5):47-53.
[2] 仲一虎.內涵建設下的獨立學院工科應用型人才培養質量保障路徑探析[J].吉林省教育學院學報,2016,10(32):132-134.
[3] 王彩鳳,胡波,李衛兵,杜玉杰.EDA技術在數字電子技術實驗中的應用[J].實驗科學與技術,2011,2(9):4-6.
[4] 李玉華.EDA技術與電子技術實驗教學結合的探討[J].長春師范學院學報(自然科學版),2013,12(23):330-332.
[5] 廖慧惠.EDA技術在數字電子技術實驗中的應用[J].菏澤學院報,2017,4(39):103-106.
[6] 潘松,黃繼業.EDA技術實用教程—VHDL版(第四版)[M].北京:科學出版社, 2010:11-21.