周 婷
(重慶師范大學涉外商貿學院,中國 重慶 401520)
電子設計自動化 (EDA)技術就是依賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言VHDL為系統邏輯描述手段完成的設計文件,自動地完成邏輯優化和仿真測試,直至實現既定的電子線路系統功能[1]。由美國國防部主持開發的VHDL語言是一種可用于數字電路描述和綜合的高級語言[2],如果結合VHDL語言仿真電路進行仿真和驗證,可以盡早發現電路設計中的錯誤,從而縮短開發的周期,降低開發成本,提高系統的設計效率。
VHDL語言是目前應用最廣泛的硬件描述語言之一。它是一種人和機器都能理解的高級語言,與具體的硬件電路沒有關系,具有較高的易讀性。它支持層次化結構設計,從系統整體要求出發,從上至下逐層設計直到最終生成器件,完成電路系統。一個完整的VHDL程序包括有庫、包集合、實體、結構體,另外還有配置塊[3]。它的最大特點是將一項工程設計分成了內部和外部,工程可以是目標系統、電路模塊甚至一個元件。其中外部是系統的端口;內部則是不可視部分,其功能用程序設計好后可直接調用。
彩燈在生活中經常能夠看到,并且給我們的生活增添了許多色彩。尤其在節假日,不僅閃爍著美麗耀眼的光芒,還能夠烘托出節日的氣氛。本文采用EDA技術,使用VHDL語言實現彩燈的控制。
在美國ALTERA公司的MAX+PLUSⅡ平臺上,使用VHDL硬件描述語言實現的彩燈控制電路的設計如下:在電路中以1代表燈亮,以0代表燈滅,由0、1按不同的規律組合代表不同的燈光圖案,同時使其選擇不同的頻率,從而實現多種圖案多種頻率的花樣功能顯示。彩燈控制器的元件,Y[15..0]是彩燈控制器的輸出端。reset是彩燈控制器的復位信號輸入端,當復位信號reset=‘1’時,彩燈狀態會和s0相同;否則,當有時鐘信號來臨時,會根據程序設置顯示出彩燈的亮滅狀態。en是彩燈循環方式控制信號輸入端,當en=‘0’時,彩燈自左邊第一個燈和中間分別向右邊循環閃爍;當en=‘1’時,彩燈自右邊第一個燈和中間分別向左邊循環閃爍;否則,彩燈會呈現熄滅狀態。
十六路彩燈顯示系統控制器的主要VHDL語言程序代碼如下所示:



圖1 仿真時序圖

利用MAXPLLUS2的原理圖輸入,以原理圖的形式形成最后的十六路彩燈顯示系統器件并且進行仿真。圖1分別是彩燈自右邊第一個燈和中間分別向左邊循環閃爍,彩燈自左邊第一個燈和中間分別向右邊循環閃爍的仿真時序圖(如圖1)。
通過上述實驗可知,本設計是可行的。仿真正確后通過下載電纜下載到CPLD/FPGA芯片上即可。芯片可以重復使用無數次。只要擁有計算機,配上相應的軟件就可以隨心所欲的改變彩燈的方式,而且不受時間的限制。
[1]趙剛,編.EDA技術簡明教程[M].成都:四川大學出版社,2004.
[2]宋文好,等.數字電路的VHDL綜合技術[J].現代計算機,2001(111):22-25.
[3]李光超.基于VHDL的循環碼編譯碼器的設計[D].河北:北華航天工業學院,2012.