999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VHDL的交通燈控制器的程序設(shè)計

2020-11-23 04:48:14余麗紅龍諾春林春景柳貴東
無線互聯(lián)科技 2020年17期
關(guān)鍵詞:設(shè)計

余麗紅,龍諾春,林春景,柳貴東

(廣東白云學(xué)院 電氣與信息工程學(xué)院,廣東 廣州 510450)

0 引言

超高速集成電路硬件描述語言(Very-High-Speed Integrated Circuit Hardware Description Language,VHDL)是電子產(chǎn)品設(shè)計的三大語言之一,其語法非常嚴格,是我國電子設(shè)計自動化硬件描述語言的國家統(tǒng)一標準[1]。VHDL的程序結(jié)構(gòu)特點是將設(shè)計實體包括元件、電路模塊或電路系統(tǒng)分成外部端口和內(nèi)部實體。VHDL用簡單的源代碼來描述復(fù)雜的內(nèi)部電路結(jié)構(gòu),采用分層設(shè)計、頂層統(tǒng)一的描述方法。在完成外部端口的定義和內(nèi)部實體的開發(fā)后,就可以生成能被其他系統(tǒng)設(shè)計反復(fù)利用的模塊,供電路設(shè)計人員共享,避免重復(fù)設(shè)計,提高設(shè)計效率。

1 VHDL模塊化的設(shè)計方法

VHDL模塊化的設(shè)計方法是借助庫。庫一般分為IEEE、WORK、STD、ASIC和用戶自定庫5種。庫被用來存放預(yù)先編譯好的程序代碼數(shù)據(jù),包括程序包集合定義、配置定義、實體定義和結(jié)構(gòu)體定義。庫的優(yōu)勢在于方便設(shè)計者共用已經(jīng)編譯通過的設(shè)計成果。設(shè)計者在設(shè)計電子產(chǎn)品的過程中,首先要明確電子系統(tǒng)的整體功能,并將大的功能模塊劃分為小的功能模塊,功能模塊進一步細分為功能子模塊。子模塊的設(shè)計用一個VHDL程序?qū)崿F(xiàn)。VHDL自頂向下[2]的硬件模塊化設(shè)計流程如圖1所示。

圖1 VHDL模塊化設(shè)計流程

2 交通燈控制器的設(shè)計

2.1 設(shè)計思路

交通燈控制器綜合了組合電路與時序電路,主要用來模擬交通路口紅黃綠燈變化和倒計時的過程。交通控制器主要包括:時鐘分頻、紅黃綠狀態(tài)轉(zhuǎn)換、紅黃綠狀態(tài)譯碼、倒計時顯示譯碼模塊。設(shè)計過程中所用實驗設(shè)備的初始時鐘為20 MHz。利用分頻模塊將20 MHz的頻率轉(zhuǎn)換為1 Hz,對應(yīng)時間為1 s。分頻模塊是通過計數(shù)器來實現(xiàn),紅黃綠狀態(tài)轉(zhuǎn)換模塊用于控制交通燈的狀態(tài)依次為紅、黃、綠,重復(fù)循環(huán),并控制3種狀態(tài)的倒計時時間。顯示譯碼模塊可以顯示交通燈的狀態(tài)和時間。狀態(tài)譯碼將3種狀態(tài)譯為段碼和位碼,其中,段碼用于顯示3種狀態(tài)倒計時的時間,位碼用于控制相應(yīng)數(shù)碼管的亮滅。顯示模塊需要用3個LED燈和兩個數(shù)碼管,利用動態(tài)掃描原理來完成兩個數(shù)碼管的顯示。每個時鐘周期內(nèi)掃描一個數(shù)碼管,顯示一位數(shù)據(jù),顯示的數(shù)據(jù)值由段碼來控制,由于人眼的視覺暫留現(xiàn)象,只要時鐘掃描>100 Hz,人眼觀測到的所有數(shù)碼管就是同時顯示的[3]。系統(tǒng)設(shè)計的模塊框圖如圖2所示。

圖2 系統(tǒng)設(shè)計的模塊框

2.2 系統(tǒng)的VHDL語言描述

完整的VHDL程序一般包括5個部分:庫、程序包、配置、結(jié)構(gòu)體和實體。庫專門用于存儲預(yù)先編譯完成的實體、結(jié)構(gòu)體、程序包集合和配置。程序包用于存放各設(shè)計模能夠共享的常數(shù)、數(shù)據(jù)類型、子程序等基礎(chǔ)設(shè)計單元。配置用于把特定的結(jié)構(gòu)體關(guān)聯(lián)到一個確定的實體上,為一個大型系統(tǒng)的設(shè)計提供管理和工程組織[4]。實體用于參數(shù)定義和描述模塊的外部端口。結(jié)構(gòu)體是VHDL程序的主體部分,用于描述模塊的具體行為、結(jié)構(gòu)和功能。

2.2.1 時鐘分頻模塊

根據(jù)設(shè)計要求,分頻模塊的外部端口共有4個:初始時鐘輸入端口、復(fù)位控制輸入端口、122 Hz的動態(tài)掃描脈沖輸出端口以及1 Hz的計時脈沖輸出端口。分頻模塊實體的VHDL語言描述如下:

ENTITY SZFP IS

PORT(CLK,RST: IN STD_LOGIC;

CT1,CT2: OUT STD_LOGIC);

END SZFP;

端口說明語句中,CLK是輸入端口,表示初始時鐘信號;RST是輸入端口,代表復(fù)位信號;CT1、CT2為輸出端口,表示分頻以后的時鐘信號,分別為1 Hz,100 Hz。

2.2.2 狀態(tài)轉(zhuǎn)換模塊

狀態(tài)轉(zhuǎn)換模塊的外部端口共有5個:1 Hz計時脈沖輸入端口、復(fù)位控制輸入端口、紅黃綠狀態(tài)輸出端口、個位數(shù)據(jù)輸出端口和十位數(shù)據(jù)輸出端口。該模塊實體的VHDL語言描述如下:

ENTITY ZTZH IS

PORT(CLK,RST: IN STD_LOGIC;

STATE: OUT STD_LOGIC_VECTOR(2 DOWNTO 0)

DL,DH:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END ZTZH;

其中,STATE表示狀態(tài)輸出信號;DL,DH代表輸出的倒計時數(shù)據(jù)。

2.2.3 狀態(tài)譯碼模塊

狀態(tài)譯碼模塊的外部端口共有兩個:紅黃綠狀態(tài)輸入端口和LED燈控制輸出端口。該模塊實體的VHDL語言描述如下:

ENTITY ZTYM IS

PORT(STATE: IN STD_LOGIC_VECTOR(2 DOWNTO 0)

LIGHT: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));

END ZTYM;

2.2.4 顯示譯碼模塊

顯示譯碼模塊的外部端口共有6個:122 Hz動態(tài)掃描脈沖輸入端口、復(fù)位控制輸入端口、十位數(shù)據(jù)輸入端口、個位數(shù)據(jù)輸入端口、控制數(shù)值的段碼和選擇芯片的位碼。該模塊實體的VHDL語言描述如下:

ENTITY XSYM IS

PORT(CLK,RST:IN STD_LOGIC;

DL,DH:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

DT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

EN:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));

END XSYM;

2.2.5 頂層系統(tǒng)模塊

頂層系統(tǒng)模塊將時鐘分頻、計數(shù)器狀態(tài)轉(zhuǎn)換、譯碼、顯示4個分模塊整合在一起。在VHDL程序中利用元件例化語句來建立頂層模塊與子模塊之間的連接關(guān)系。元件例化語句由元件聲明語句和元件例化語句[5]兩部分組成。元件聲明(component)是對頂層要調(diào)用的較低層次的實體進行端口說明,相當于完成底層元件的封裝。元件例化(port map)是在調(diào)用較低層次的實體時建立起端口之間的一一對應(yīng)關(guān)系。設(shè)計最終借助元件例化實現(xiàn)交通燈控制器的功能。頂層模塊設(shè)計實體共有5個端口:20 MHz初始時鐘輸入、復(fù)位控制輸入、LED燈控制輸出端口,段碼輸出和位碼輸出,相對應(yīng)的VHDL語言描述如下:

ENTITY JTD IS

PORT(CLK,RST:IN STD_LOGIC;

DT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

LIGHT: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));

EN:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));

END JTD;

元件例化語句如下:

U0:SZFP PORT MAP(CLK,RST,CT1,CT2);

U1:ZTZH PORT MAP(CT1,RST,STATE,DL,DH);

U2:ZTYM PORT MAP(STATE,LIGHT);

U3:XSYM PORT MAP(CT2,RST,DL,DH,DT,EN);

其中,DL、DH、CT1、CT2為內(nèi)部信號。

3 交通燈控制器的硬件實現(xiàn)

交通燈控制器的硬件實現(xiàn)選用Altera公司的MAX+PLUSⅡ軟件。硬件實現(xiàn)之前先完成4個模塊的時序仿真,接下來完成頂層模塊的時序仿真,然后在目標芯片上進行管腳分配,連接好對應(yīng)引腳后就可以進行程序下載和硬件實現(xiàn)。本設(shè)計的硬件實現(xiàn)如圖3所示。

圖3 交通燈控制器

4 結(jié)語

VHDL語言對于初學(xué)者來講是比較難掌握的,文章根據(jù)多年的教學(xué)經(jīng)驗設(shè)計交通燈控制器的程序,用以幫助學(xué)生掌握自上而下的模塊化程序設(shè)計思想,讓學(xué)生對VHDL語言中的順序語句、并行語句(特別是進程語句)有更深刻的理解。

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過?!律O(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲国产精品日韩av专区| 久久99这里精品8国产| 欧美三級片黃色三級片黃色1| 精品视频一区二区观看| 精品中文字幕一区在线| 亚洲人成亚洲精品| …亚洲 欧洲 另类 春色| 国产成人久久777777| 欧美日韩国产系列在线观看| 在线不卡免费视频| 99国产精品国产| 天天综合网色中文字幕| 国产精品视频第一专区| 亚洲自拍另类| 亚洲国产系列| 亚洲成人在线免费| 免费不卡视频| 久久久久亚洲Av片无码观看| 99精品国产电影| 国产精品成人一区二区| 久热99这里只有精品视频6| 狼友av永久网站免费观看| 欧美黄色a| 亚洲国产成人久久77| 99视频在线免费观看| 国产成人资源| 91视频国产高清| 青青草a国产免费观看| 99re在线视频观看| 久久久久久午夜精品| 视频二区国产精品职场同事| 久久中文无码精品| 中文字幕在线不卡视频| 五月天久久婷婷| 日本手机在线视频| 欧美日韩在线亚洲国产人| 一区二区三区高清视频国产女人| 伊人色在线视频| 国产a网站| 国产清纯在线一区二区WWW| 91成人试看福利体验区| 亚洲永久色| 拍国产真实乱人偷精品| 国产高清免费午夜在线视频| 亚洲精品欧美重口| 青草91视频免费观看| 欧美一级高清视频在线播放| 97精品久久久大香线焦| 亚洲区欧美区| 久久久受www免费人成| 精品無碼一區在線觀看 | 91高清在线视频| 一级福利视频| 超碰91免费人妻| 日韩欧美中文亚洲高清在线| 国产视频一区二区在线观看| 日韩免费视频播播| 无码丝袜人妻| 亚洲天堂在线免费| 99热国产这里只有精品无卡顿"| 国产精品天干天干在线观看| 亚洲欧美人成人让影院| 亚洲Av综合日韩精品久久久| 青青久在线视频免费观看| 91青青草视频在线观看的| 日韩第一页在线| 99久久国产综合精品女同| 亚洲av日韩综合一区尤物| 啪啪啪亚洲无码| 亚洲有无码中文网| 国产福利小视频高清在线观看| 韩国自拍偷自拍亚洲精品| 亚洲精品老司机| 精品国产一区91在线| 露脸真实国语乱在线观看| 香蕉视频国产精品人| 91网址在线播放| 国产欧美综合在线观看第七页| 欧美日韩精品在线播放| 日韩欧美中文字幕在线韩免费| 亚洲无码视频图片| 久久人搡人人玩人妻精品一|