引言
硬件描述語言(HDL)是相對(duì)于一般的計(jì)算機(jī)軟件語言如C,Pascal而言的。HDL是用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語言,它描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接方式。設(shè)計(jì)者可以利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定其結(jié)構(gòu)特征和電路的行為方式,然后利用綜合器和適配器將此程序變成能控制FPGA和CPLD內(nèi)部結(jié)構(gòu),并實(shí)現(xiàn)相應(yīng)邏輯功能的門級(jí)或更底層的結(jié)構(gòu)網(wǎng)表文件和下載文件。VHDL(VeryHigh Speed Integrated Circuit Hardware descriptionLangtuage)主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。與其他的HDL語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(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ǔ)上,僅通過更改軟件就能實(shí)現(xiàn)任意修改花型的編程控制方案,實(shí)現(xiàn)控制16只LED以8種花型和4種速度循環(huán)變化顯示,而且設(shè)計(jì)非常方便,設(shè)計(jì)的電路保密性強(qiáng)。
1設(shè)計(jì)原理
用VHDL進(jìn)行設(shè)計(jì),首先應(yīng)該理解,VHDL語言是一種全方位硬件描述語言,包括系統(tǒng)行為級(jí),寄存器傳輸級(jí)和邏輯門級(jí)多個(gè)設(shè)計(jì)層次。應(yīng)充分利用VHDL“自頂向下”的設(shè)計(jì)優(yōu)點(diǎn)以及層次化的設(shè)計(jì)概念,層次概念對(duì)于設(shè)計(jì)復(fù)雜的數(shù)字系統(tǒng)是非常有用的,它使得我們可以從簡單的單元入手,逐漸構(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)起來(見圖2,3),實(shí)現(xiàn)四分頻;二是修改二分頻電路的程序代碼來實(shí)現(xiàn),做如下修改:
同理,八分頻電路的設(shè)計(jì)也有兩種方案:一種是把兩個(gè)四分頻電路串聯(lián)起來,實(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ì)電路的靈活性,即可以通過改變程序中輸出變量的位數(shù)來改變彩燈的數(shù)目。如圖10,1l所示。
代碼如下:
3 結(jié)語
使用VHDL語言設(shè)計(jì)電路,思路簡單,功能明了。使用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ì)變的簡單易行,提高了設(shè)計(jì)的效率。
-
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177806 -
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120230 -
vhdl
+關(guān)注
關(guān)注
30文章
817瀏覽量
128119
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論