亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VHDL的交通燈控制器的程序設計

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

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

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

        0 引言

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

        1 VHDL模塊化的設計方法

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

        圖1 VHDL模塊化設計流程

        2 交通燈控制器的設計

        2.1 設計思路

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

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

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

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

        2.2.1 時鐘分頻模塊

        根據(jù)設計要求,分頻模塊的外部端口共有4個:初始時鐘輸入端口、復位控制輸入端口、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是輸入端口,代表復位信號;CT1、CT2為輸出端口,表示分頻以后的時鐘信號,分別為1 Hz,100 Hz。

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

        狀態(tài)轉(zhuǎn)換模塊的外部端口共有5個:1 Hz計時脈沖輸入端口、復位控制輸入端口、紅黃綠狀態(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)掃描脈沖輸入端口、復位控制輸入端口、十位數(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)用較低層次的實體時建立起端口之間的一一對應關(guān)系。設計最終借助元件例化實現(xiàn)交通燈控制器的功能。頂層模塊設計實體共有5個端口:20 MHz初始時鐘輸入、復位控制輸入、LED燈控制輸出端口,段碼輸出和位碼輸出,相對應的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個模塊的時序仿真,接下來完成頂層模塊的時序仿真,然后在目標芯片上進行管腳分配,連接好對應引腳后就可以進行程序下載和硬件實現(xiàn)。本設計的硬件實現(xiàn)如圖3所示。

        圖3 交通燈控制器

        4 結(jié)語

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

        猜你喜歡
        設計
        二十四節(jié)氣在平面廣告設計中的應用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O計萌到家
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設計到“設計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        亚洲欧美日韩另类精品一区| 久久久亚洲精品蜜臀av| av免费在线播放观看| 精品国产天堂综合一区在线| 大肉大捧一进一出好爽视色大师| 国产一区二区激情对白在线| 久久精品一区二区三区不卡牛牛| 国产精品对白一区二区三区| 国产三级久久久精品麻豆三级| 中文在线天堂网www| 狠狠亚洲超碰狼人久久老人| 国产精品自产拍在线18禁| 97久久精品人妻人人搡人人玩| 好男人视频在线视频| 日本女同伦理片在线观看| 欧美综合图区亚洲综合图区| 亚洲中文乱码在线观看| 三个男吃我奶头一边一个视频| 亚洲乱码一区av春药高潮| 97免费人妻在线视频| www.尤物视频.com| 人妻少妇精品视频专区二区三区 | 国产亚洲日韩AV在线播放不卡| av在线免费观看男人天堂| 狠狠的干性视频| japanesehd中国产在线看| 亚洲综合色区无码专区| 青青草视频在线免费视频| 久久久亚洲av波多野结衣| 后入内射欧美99二区视频| 国产欧美另类精品久久久| 老熟妇嗷嗷叫91九色| 国产精品免费看久久久无码| 国产微拍精品一区二区| 久久精品国产亚洲av麻豆四虎| 亚洲最新精品一区二区| а天堂中文在线官网| 亚洲熟妇网| 宅男天堂亚洲一区二区三区| 曰韩无码无遮挡a级毛片| 久久国产成人精品国产成人亚洲 |