鄒毅軍
(湖北工業(yè)大學工程技術學院,湖北 武漢 430000)
隨著電子技術的高速發(fā)展,EDA(Electronics Design Automation)技術應運而生。電子系統(tǒng)設計者們可以利用EDA 技術,采用“自頂而下”的設計方法,在集成開發(fā)環(huán)境QuartusII 16.0 內(nèi),使用ⅤHDL 語言( Ⅴery-High-Speed Integrated Circuit Hardware Description Language),將電路的硬件設計轉化為軟件設計[1]。
搶答器在眾多場景中均有使用,如電視臺智力問答節(jié)目、學校組織活動,它是重要的基礎設備之一。目前設計搶答器的傳統(tǒng)方法非常多,如74LS192 芯片設計,基于52 系列單片機設計等。但傳統(tǒng)方法在設計上不夠簡潔明了,電路可靠性較低。本文以計算機為平臺,以5CSEMA5F31C6N 芯片為載體,使用ⅤHDL語言設計出的搶答器,代碼簡潔明了、使用穩(wěn)定、可擴展性強。
ⅤHDL 語言即“超高速集成電路硬件描述語言”,該語言最早在1982 年由美國軍方開發(fā)出來。
使用ⅤHDL 語言的優(yōu)點如下:①語法簡單。它類似于一般的計算機高級語言,容易學習,減少設計在使用過程中的錯誤與開發(fā)使用的時間。②泛用性強。ⅤHDL 語言已成為一種電子設計文本輸入標準,可以在多種開發(fā)工具上使用。
QuartusII 16.0 是由Altera 公司出品的第四代PLD(Programable Logic Device)開發(fā)平臺,它的兼容性強,接口直觀易用,編譯速度快,廣受系統(tǒng)設計者的喜愛[2]。
5CSEMA5F31C6N 芯片由Altera 公司出品,有896個引腳,用戶可供自定義的I/O 引腳多。
8 路搶答器功能框圖如圖1 所示。本設計以競賽為例,其功能如下:①8 路搶答器需要滿足8 位選手各控制一個按鍵進行搶答,故分別記為key0,key1……key7。②主持人需要對搶答器進行控制,如開始搶答與清零。將清零設為rst,開始搶答鍵設為key_start。③在主持人按下開始搶答鍵后,選手開始搶答。在一名選手按下?lián)尨鸢存Ikey0,key1……key7 中的任意按鍵后,數(shù)碼管顯示該選手的號碼,對應號碼的LED 燈亮起。其余選手按下按鍵無反應。④在主持人按下清零鍵rst 后,下一次搶答重新開始。
圖1 8 路搶答器功能框圖
搶答器系統(tǒng)原理框圖如圖2 所示。根據(jù)上述設計的思路與要求,可將該搶答器分為4 個部分:①時鐘發(fā)生器部分。一個50 MHz 的時鐘源給予CLK 信號。②控制部分。該部分讓搶答器開始搶答。③判斷部分。該部分是該搶答器的核心部分,可以判斷是否有選手按下按鍵,并在第一個選手按下按鍵后停止。④顯示部分。該部分在選手按下按鍵后會將選手的號碼顯示在數(shù)碼管上,并將對應的LED 燈點亮。
圖2 搶答器系統(tǒng)原理框圖
在端口部分共設計了11 個輸入端口、15 個輸出端口。輸入端口包括1 個時鐘發(fā)生器、8 個搶答按鍵、1個開始按鍵、1 個清零按鍵。輸出端口包括1 個數(shù)碼管、8 個LED 燈。
構造體部分以時鐘信號、開始與復位按鍵、搶答按鍵為敏感信號,當敏感信號變化后,激活程序,順序執(zhí)行語句。
對于一次設計,波形仿真是很有必要的,它可以在下載寫入開發(fā)板前找出問題。8 路搶答器波形仿真如圖3 所示。
圖3 8 路搶答器波形仿真圖
本文通過集成開發(fā)環(huán)境QuartusII 16.0,使用ⅤHDL 語言設計了8 路搶答器并實現(xiàn)了搶答器的功能。在使用ⅤHDL 語言進行編程后,使選擇器的代碼簡潔靈活、易于看懂,降低了設計的難度。通過這個實例可以看出,ⅤHDL 語言是自上而下進行設計的,設計方便快捷。