陸健,陸柳延
(江蘇商貿(mào)職業(yè)學(xué)院,江蘇南通,226007)
EDA,即電子設(shè)計(jì)自動化,電子設(shè)計(jì)的關(guān)鍵工作由計(jì)算機(jī)自動完成。EDA技術(shù)可以實(shí)現(xiàn)對可編程邏輯器件的設(shè)計(jì),可編程邏輯器件的核心是“可編程”,它是指器件的內(nèi)部硬件電路連接可以修改,完成多次的布局布線。利用EDA技術(shù),設(shè)計(jì)人員需要正確完成邏輯功能的設(shè)計(jì),之后,由EDA軟件平臺完成器件內(nèi)部的布局布線工作。同時,EDA平臺提供了豐富多樣的軟件仿真功能,也可以使用專門的軟件仿真工具,對已有的設(shè)計(jì)結(jié)果進(jìn)行功能仿真、時序仿真、驅(qū)動仿真甚至電磁兼容的驗(yàn)證。當(dāng)仿真結(jié)果提示不能達(dá)到設(shè)計(jì)要求時,一般只需要修改設(shè)計(jì)者的設(shè)計(jì)描述,并不需要重新設(shè)計(jì)硬件電路,即使是硬件電路的修改也只是軟件中部分語句的修改,消耗資源較少[1]。因此,EDA技術(shù)的普及,使電路的設(shè)計(jì)成本明顯降低,設(shè)計(jì)者的工作效率明顯提高。
VHDL,相較于其他硬件描述語言,硬件描述能力更強(qiáng),特別在復(fù)雜的電路設(shè)計(jì)中,非常適合自頂向下的分層設(shè)計(jì),先后完成系統(tǒng)級功能設(shè)計(jì),高層模塊行為與功能描述,功能仿真,最后進(jìn)行往下逐級細(xì)化描述。
在數(shù)字測量儀表或其他數(shù)字設(shè)備中,常常需要把測量或處理的結(jié)果直接用特定的字符顯示出來,所以,數(shù)字顯示電路是許多電子設(shè)備不可缺少的組成部分。數(shù)字顯示電路通常由計(jì)數(shù)器、譯碼器、驅(qū)動器和顯示器組成。對于數(shù)字顯示器,發(fā)光二極管(LED)顯示器的應(yīng)用最為廣泛。
圖2 共陰極引腳接線方式
在日常生活中,發(fā)光二極管隨處可見,應(yīng)用十分廣泛,例如,LED燈泡,數(shù)字電子時鐘等等。LED數(shù)碼管一種是半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管,關(guān)鍵部分由一個PN結(jié)組成,具有單向?qū)щ娦浴?shù)碼管可分為七段數(shù)碼管和八段數(shù)碼管兩類,分別由發(fā)光二極管按照一定的連接方式構(gòu)成。它們的區(qū)別是,八段數(shù)碼管比七段數(shù)碼管多一個用于顯示小數(shù)點(diǎn)的發(fā)光二極管單元DP(decimal point)。八段數(shù)碼管如圖1所示。發(fā)光二極管的正向工作電壓為1.5~3V,工作電流10mA左右,為防止發(fā)光二極管因工作電流過大而損壞,實(shí)際應(yīng)用中,通常在發(fā)光二極管支路串聯(lián)接入一個限流電阻,實(shí)現(xiàn)對其保護(hù)功能。
圖1 八段數(shù)碼管示意圖
根據(jù)控制方式的不同,數(shù)碼管分為共陽極和共陰極兩種,共陰極的數(shù)碼管的負(fù)極為八個發(fā)光二極管的共有負(fù)極,其他接點(diǎn)為獨(dú)立發(fā)光二極管的正極,其接線方式如圖2所示,對于共陰極數(shù)碼管,對應(yīng)陽極接高電平的字段發(fā)光,則共陰數(shù)碼管可使用輸出高電平有效的顯示譯碼器來驅(qū)動。共陽極數(shù)碼管的接線方式與共陰極恰好相反,可用輸出低電平有效的顯示譯碼器驅(qū)動。
根據(jù)實(shí)際需求,讓數(shù)碼管的某些段發(fā)光,即可顯示不同的字符。它能夠顯示數(shù)字0~9,還可以完成英文字母顯示,也可以根據(jù)需要,實(shí)現(xiàn)指定字符的顯示輸出。
電路采用八段數(shù)碼管顯示。根據(jù)不同的數(shù)碼管點(diǎn)亮方式,能夠?qū)崿F(xiàn)不同的英文字母顯示功能。表1列出了部分字母顯示與八段數(shù)碼管的控制方式。
表1 部分字母顯示與八段數(shù)碼管的控制方式
程序設(shè)計(jì)采用VHDL語言,根據(jù)選擇信號賦值語句,結(jié)合IF語句的判斷功能,實(shí)現(xiàn)對數(shù)碼管的輸出控制,最終,顯示出不同的字符。
程序共使用1個時鐘信號“clk0”,計(jì)數(shù)信號“cnt0”,輸出信號“re”,其中,“cnt0”的值,是電路輸出的主要判斷參數(shù),它直接決定了電路的實(shí)時輸出情況。電路的具體程序如下:
為了驗(yàn)證設(shè)計(jì)的可行性與正確性,利用EDA工具M(jìn)AX+plusII對程序進(jìn)行編譯、仿真。
MAX+plusII,是由Altera公司開發(fā)的一款軟件,被廣泛用于可編程邏輯器件的設(shè)計(jì)。同時,它能夠與其他設(shè)計(jì)工具互相兼容。MAX+plusII的界面如圖3所示,程序的編譯界面如圖4所示,電路的編譯結(jié)果如圖5所示。
圖3 MAX+plusII軟件界面
圖4 編譯界面
圖5 編譯結(jié)果
電路符號如圖6所示,“clk0”為時鐘信號,“re”為8位段選信號,“re0”、“re1”、“re2”、“re3”、“re4”、“re5”、“re6”和“re7”分別對應(yīng)著8段數(shù)碼管的信號,控制電路的輸出狀態(tài),“r”為8位位選信號,“cnt0”為計(jì)數(shù)信號,計(jì)數(shù)信號的狀態(tài)跳變一次,電路輸出的狀態(tài)也改變一次,圖7為電路引腳編輯界面,可根據(jù)需要選擇需要添加的引腳。在時鐘信號上升沿的觸發(fā)下,電路輪換顯示字符“0-F”,符合設(shè)計(jì)要求,波形如圖8所示。同時,在波形中能夠發(fā)現(xiàn)延時現(xiàn)象,這是不可避免的。
圖6 英文字母顯示電路的符號
圖7 電路的引腳編輯
圖8 英文字母顯示電路波形仿真
在充分理解數(shù)碼管工作原理和掌握VHDL語言用法的基礎(chǔ)上,完成了字母顯示電路的設(shè)計(jì),基于仿真波形得到,設(shè)計(jì)結(jié)果符合預(yù)期。設(shè)計(jì)過程中,利用VHDL語言中的進(jìn)程語句和選擇信號賦值語句編寫了完成的顯示電路程序,最后,結(jié)合八段數(shù)碼管的顯示原理,實(shí)現(xiàn)不同的顯示功能。
EDA技術(shù)在電子設(shè)計(jì)領(lǐng)域的主要應(yīng)用包括電子CAD(Computer Aided Design)與集成電路的設(shè)計(jì)。電子CAD,即計(jì)算機(jī)輔助設(shè)計(jì),CAD軟件在電路仿真方面發(fā)展迅速。伴隨著電子CAD技術(shù)的進(jìn)步,EDA技術(shù)逐漸應(yīng)用在集成電路設(shè)計(jì)中,尤其是專用集成電路領(lǐng)域,相對于通用集成電路而言,它是一種為滿足某種特定需求而設(shè)計(jì)的芯片。[1]由于其設(shè)計(jì)方法簡便,成本低廉等眾多優(yōu)點(diǎn),目前,它已經(jīng)被工業(yè)界廣泛采用,逐漸發(fā)展成為當(dāng)今電子設(shè)計(jì)領(lǐng)域的重要技術(shù)。