柴志成 羅俊寧
【摘要】隨著大規(guī)模集成電路的廣泛應用,實用性和創(chuàng)新性欠缺的傳統(tǒng)數字電路教學模式,已不再適應現代應用型人才的培養(yǎng)。本文提出了將VHDL描述語言融入數字電路教學中的改革方案,即通過具體實例說明,VHDL語言能在豐富教學內容的同時,降低電路設計難度,提高學生學習興趣及設計能力,從而改進教學效果。
【關鍵詞】數字電路;VHDL;教學改革;設計方法
1.引言
數字電路是理工科中的電類專業(yè)和計算機專業(yè)必修的專業(yè)基礎課程,也是信息類各專業(yè)的平臺課程。該課程在介紹有關數字系統(tǒng)基本知識、基本理論、基本電路的基礎上,重點討論數字系統(tǒng)中各種邏輯電路分析與設計的基本方法,以及該領域的發(fā)展現狀及最新的技術。設置該課程的主要目的是為了讓學生了解各種基本邏輯電路,能熟練地運用有關知識和理論對各類邏輯電路進行分析設計。目前, 大多數高等院校仍是采用傳統(tǒng)的數字電路教學模式, 以教材為中心,過于強調基本原理、公式的推導以及波形的分析,往往讓學生覺得抽象,不能夠很好地理解電路、集成芯片的功能及應用。而實驗環(huán)節(jié)主要在實驗箱上完成,開設的是一些驗證性的實驗,對各實驗項目的電路設計以手工為主,一般遵循自底向上的設計方法,從電路的功能分析,真值表、表達式、邏輯電路圖到器件的選擇、連線、測試等,學生的認識僅僅停留在局部小部件上,復雜的系統(tǒng)設計思想受到限制。在數字電子技術飛速發(fā)展的今天,大規(guī)模以及超大規(guī)模集成電路的廣泛應用,這種缺乏實用性和創(chuàng)新性的傳統(tǒng)教學模式,已不再適應現代應用型人才的培養(yǎng)。因此,教學需要融入新技術 、突破傳統(tǒng)教學模式,引入VHDL語言的數字電路教學改革就成為一個重要的研究課題。
2.VHDL語言及其特點
超高速集成電路硬件描述語言(VHDL) 是一種用于數字電路設計的高級語言,是被IEEE和美國國防部確認為標準的硬件描述語言,其主要用于描述數字電路的結構,行為,功能和接口。基于這種描述結合相關的軟件工具,可以得到所期望的實際數字電路。利用VHDL語言進行電路設計具有以下幾個特點:
(1)VHDL可用于設計復雜的、多層次的設計,并且支持設計庫和設計的重復使用;
(2)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力;
(3)VHDL有豐富的仿真語句和庫函數,使其在設計的早期就能查驗設計系統(tǒng)的功能可行性,借助于相關仿真器隨時可對設計進行仿真模擬;
(4)對于VHDL完成的一個確定的設計,一般可進行邏輯綜合和優(yōu)化,并能自動的把VHDL描述設計轉變成門級網表;
(5)VHDL語言支持電路描述由高層向低層的綜合變換,便于文檔管理,易于理解和設計的再利用;
(6)VHDL對于設計的描述具有相對獨立性,設計者可以不懂硬件的結構,最終實現的目標器件設計。
3.VHDL語言較傳統(tǒng)設計方法的優(yōu)點
通過上述特點,我們了解到VHDL語言功能強大、設計靈活、容易掌握。將VHDL語言引入數字電路教學中,有利于增強學生對電路設計的認識,掌握更多的設計方法,提高分析設計能力。本文針對六進制約翰遜計數器的設計,分別采用了傳統(tǒng)設計方法和VHDL方法進行設計,通過對比可得出,VHDL可以顯著提升數字電路的教學效果。
3.1 傳統(tǒng)設計方法
傳統(tǒng)電路設計采用自底向上的設計方法如圖1所示。本文選用JK、D觸發(fā)器及門電路來實現,采用3個觸發(fā)器連接產生8個狀態(tài),六進制約翰遜計數器只有6個狀態(tài),將其中的010,011兩個狀態(tài)禁止掉,具體狀態(tài)轉換表如表1所示。
圖1 自底向上設計方法
表1 狀態(tài)轉換表
CLK Q2n'Q1n'Q0n Q2n+1'Q1n+1'Q0n+1
1 0..0..0 0...0...1
2 0..0..1 0...1...1
3 0..1..1 1...1...1
4 1..1..1 1...1...0
5 1..1..0 1...0...0
6 1..0..0 0...0...0
由狀態(tài)轉換表得出狀態(tài)方程:
,,
將Q2,Q1選用D觸發(fā)器,Q0選用JK觸發(fā)器,得出驅動方程:
,,,
根據驅動方程最終畫出邏輯原理圖如圖2所示。
圖2 邏輯原理圖
在得到邏輯原路圖后,還需要進行邏輯驗證,驗證無誤后再對邏輯原理圖進行邏輯驗證無誤后,在PCB版上完成布線、裝配、焊接及調試,如有問題,再進行局部修改,直至整個電路調試完畢為止。
圖3 自頂向下設計方法
3.2 VHDL設計方法
VHDL設計采用自頂向下的設計方法如圖3所示。首先根據設計要求對電路功能進行行為級描述和仿真,然后再進行RTL級描述和仿真,達到預期結果后再進行邏輯綜合、布局布線,最終完成電路設計。
(1)行為描述,也就是對計數器數學模型的描述,通過代碼描述出輸入、輸出引腳和計數過程中狀態(tài)變化時序及關系,具體程序如下:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
entity counter6 is
port(clk,reset:in std_logic;
count_out:out std_logic_vector(2 downto 0));
end counter6;
architecture rtl Of counter6 is
signal next_count:std_logic_vector(2 downto 0);
begin count_proc:process(clk,reset)
begin if reset='0' then
next_count<="000";
elsif clk'event and clk='1' then
case next_count is
when "000"=>next_count<="001";
when "001"=>next_count<="011";
when "011"=>next_count<="111";
when "111"=>next_count<="110";
when "110"=>next_count<="100";
when "100"=>next_count<="000";
when others=>next_count<="000";
end case;
end if;
count_out<=next_count;
end process;
end rtl;
利用Max+plusⅡ軟件對上述程序進行編譯、仿真,仿真結果如圖4所示,結果表明,該方案符合設計要求。
圖4 仿真結果
(2)RTL描述,即用具體門電路、運算器等來描述行為部分。行為描述程序抽象程度較高,故需轉化為RTL方式描述的VDHL程序,以便于映射到具體的邏輯元件,得到硬件的具體實現。對于改寫后的RTL程序同樣需要進行仿真,檢查正確性。
(3)邏輯綜合,利用MAX+PLUS II Advanced Synthsis ALtera將其轉換為門級網絡表,輸出邏輯原理圖并進行仿真、檢查定時關系。最后根據需要利用門級網表做出ASIC芯片或生成FPGA碼點,完成電路設計。
3.3 VHDL與傳統(tǒng)設計方法比較
相較于傳統(tǒng)設計方法,VHDL采用自頂向下的設計方法,可進行結構化、模塊化設計,更利于分工合作,再加上各層次的仿真檢查,便于早期發(fā)現錯誤并改正,提高了設計效率;同時設計描述的相對獨立性,使得學生設計時不必寫表達式、真值表,不必考慮所用器件,降低了設計難度;另外VHDL語言簡單易學,MAX+PLUS II界面友好,通過仿真波形分析,學生能更形象、更深刻的理解所學內容。
4.結束語
數字電路作為專業(yè)基礎課程,其教學效果的好壞,將直接影響后續(xù)相關專業(yè)課程的學習。在數字電路教學中引入VHDL描述語言,利用MAX+PLUS II進行編譯、仿真、演示,不但豐富了教學內容,改進了教學手段,提高學習興趣,還有助于學生消除“抽象感”;另外VHDL能將傳統(tǒng)教學中較難實現的電路設計轉換為軟件設計,不僅簡化了設計工作,還有利于增強學生對集成芯片的認識,提高分析設計能力,掌握更多的設計方法,以適應現代應用型人才培養(yǎng)要求。
參考文獻
[1]張?zhí)扈?基于VHDL的數字電路課程改革研究[J].湖北廣播電視大學學報:2010(02):25-26.
[2]黃紅霞.基于VHDL提升數字電路教學效果的研究[J].黃石理工學院學報,2010(03):66-70.
[3]譚勇,朱斌.基于EDA技術的數字電路實驗教學改革[J].中國現代教育裝備,2012(17):43-44.
[4]畢春躍,萬忠,孫榮高.基于EDA技術的數字電路教學研究[J].2011(09):89-91.
作者簡介:柴志成(1982—),男,湖北浠水人,碩士,貴陽學院數學與信息科學學院講師。