硬件描述語(yǔ)言(HDL)是相對(duì)于一般的計(jì)算機(jī)軟件語(yǔ)言如C,,Pascal而言的。HDL是用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語(yǔ)言,它描述電子系統(tǒng)的邏輯功能,、電路結(jié)構(gòu)和連接方式,。設(shè)計(jì)者可以利用HDL程序來(lái)描述所希望的電路系統(tǒng),規(guī)定其結(jié)構(gòu)特征和電路的行為方式,,然后利用綜合器和適配器將此程序變成能控制FPGA和CPLD內(nèi)部結(jié)構(gòu),,并實(shí)現(xiàn)相應(yīng)邏輯功能的門(mén)級(jí)或更底層的結(jié)構(gòu)網(wǎng)表文件和下載文件。VHDL(Very High Speed Integrated Circuit Hardware descriptionLangtuage)主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),、行為,、功能和接口。與其他的HDL語(yǔ)言相比,,VHDL具有更強(qiáng)的行為描述能力,,從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),。從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證,。在文獻(xiàn)中作者從不同的角度闡述了EDA技術(shù)的應(yīng)用,它具有功能強(qiáng)大,、描述能力強(qiáng),、可移植性好、研制周期短,、成本低等特點(diǎn),,即使設(shè)計(jì)者不懂硬件的結(jié)構(gòu),也能進(jìn)行獨(dú)立的設(shè)計(jì),。本文以Alter公司提供的Max+PlusⅡ?yàn)槠脚_(tái),,設(shè)計(jì)一個(gè)可變速的彩燈控制器,可以在不修改硬件電路的基礎(chǔ)上,,僅通過(guò)更改軟件就能實(shí)現(xiàn)任意修改花型的編程控制方案,,實(shí)現(xiàn)控制16只LED以8種花型和4種速度循環(huán)變化顯示,而且設(shè)計(jì)非常方便,,設(shè)計(jì)的電路保密性強(qiáng),。
l 設(shè)計(jì)原理
用VHDL進(jìn)行設(shè)計(jì),首先應(yīng)該理解,,VHDL語(yǔ)言是一種全方位硬件描述語(yǔ)言,,包括系統(tǒng)行為級(jí),寄存器傳輸級(jí)和邏輯門(mén)級(jí)多個(gè)設(shè)計(jì)層次,。應(yīng)充分利用VHDL“自頂向下”的設(shè)計(jì)優(yōu)點(diǎn)以及層次化的設(shè)計(jì)概念,,層次概念對(duì)于設(shè)計(jì)復(fù)雜的數(shù)字系統(tǒng)是非常有用的,它使得我們可以從簡(jiǎn)單的單元入手,,逐漸構(gòu)成龐大而復(fù)雜的系統(tǒng),。
首先應(yīng)進(jìn)行系統(tǒng)模塊的劃分,,規(guī)定每一個(gè)模塊的功能以及各模塊之間的接口,最終設(shè)計(jì)方案分為三大模塊:16路花樣彩燈控制器,、四頻率輸出分頻器,、四選一控制器。四選一控制器從分頻器中選擇不同頻率的時(shí)鐘信號(hào)輸送到彩燈花樣控制器,,從而達(dá)到控制彩燈閃爍速度的快慢和花型的的變換,。
下面是本次設(shè)計(jì)的頂層模塊原理圖如圖1所示。
2 子模塊及其功能
(1)四頻率輸出分頻器,。根據(jù)要求有4種速度的變化,,每種都要顯示8種花樣,就要用到三位計(jì)數(shù)器和16位數(shù)字譯碼器,。其次,,速度有4種變化,而只有一個(gè)輸入的時(shí)鐘信號(hào),,所以要對(duì)輸入的時(shí)鐘信號(hào)進(jìn)行分頻,本次設(shè)計(jì)采用了二分頻,、四分頻,、八分頻和15分頻得到4種不同頻率的信號(hào)。
二分頻電路的程序代碼如下:
四分頻電路的設(shè)計(jì)有兩種方案:一是把兩個(gè)二分頻電路串聯(lián)起來(lái)(見(jiàn)圖2,,3),,實(shí)現(xiàn)四分頻;二是修改二分頻電路的程序代碼來(lái)實(shí)現(xiàn),,做如下修改:
同理,,八分頻電路的設(shè)計(jì)也有兩種方案:一種是把兩個(gè)四分頻電路串聯(lián)起來(lái),實(shí)現(xiàn)八分頻,;一種是修改二分頻電路的程序代碼,,只需做如下修改即可:
15分頻電路如圖4所示,仿真圖如圖5所示,。代碼如下:
四頻率輸出分頻器的頂層模塊原理圖如圖6所示,,仿真波形如圖7所示。
(2)四選一控制器,。四選一控制器的功能是從分頻器中選擇不同的時(shí)鐘信號(hào)送給彩燈控制器,,實(shí)現(xiàn)彩燈閃爍頻率的變化,如圖8,,9所示,。源代碼如下:
(3)彩燈控制器。彩燈控制器電路是整個(gè)設(shè)計(jì)的核心,,它控制整個(gè)設(shè)計(jì)的輸出效果也就是圖案的樣式變化,。在電路中用1代表燈亮,,用O代表燈滅,由0,,1按不同的規(guī)律組合代表不同的燈光圖案,,同時(shí)使其選擇不同的頻率,以實(shí)現(xiàn)多種圖案及多種頻率的花樣功能顯示,。該程序充分證明了用VHDL設(shè)計(jì)電路的靈活性,,即可以通過(guò)改變程序中輸出變量的位數(shù)來(lái)改變彩燈的數(shù)目。如圖10,,1l所示,。
代碼如下:
3 結(jié)語(yǔ)
使用VHDL語(yǔ)言設(shè)計(jì)電路,思路簡(jiǎn)單,,功能明了,。使用Max+PlusⅡ設(shè)計(jì)電路不僅可以進(jìn)行邏輯仿真,還可以進(jìn)行時(shí)序仿真,,使用PLD不僅省去了電路制作的麻煩,,還可以反復(fù)進(jìn)行硬件的實(shí)驗(yàn),非常方便地修改設(shè)計(jì),,且設(shè)計(jì)的電路的保密性強(qiáng),。總之,,采用EDA技術(shù)使得復(fù)雜的電子系統(tǒng)的設(shè)計(jì)變的簡(jiǎn)單易行,,提高了設(shè)計(jì)的效率。