王苑東
摘要:隨著電子信息技術(shù)的發(fā)展,EDA技術(shù)以其自身硬件描述語(yǔ)言對(duì)FPGC進(jìn)行了編程,改變了傳統(tǒng)數(shù)字系統(tǒng)的設(shè)計(jì)方法。EDA技術(shù)下的FPGC能夠有效克服交通信號(hào)燈控制系統(tǒng)傳統(tǒng)設(shè)計(jì)的弊端,改善現(xiàn)有交通信號(hào)燈設(shè)計(jì)問(wèn)題。因此,文章針對(duì)交通信號(hào)燈控制器設(shè)計(jì)存在的問(wèn)題,利用VHDL語(yǔ)言,采用層次化設(shè)計(jì)方法,對(duì)交通信號(hào)燈設(shè)計(jì)中的控制器編制VHDL程序,具體展現(xiàn)EDA設(shè)計(jì)中層次化分析法的重要性。
關(guān)鍵詞:層次化設(shè)計(jì);交通信號(hào)燈;設(shè)計(jì);EDA技術(shù);VHDL程序
層次化設(shè)計(jì)是一種自上而下的設(shè)計(jì),主要是設(shè)計(jì)者從程序系統(tǒng)的要求出發(fā),自上而下的對(duì)程序系統(tǒng)設(shè)計(jì)的內(nèi)容進(jìn)行細(xì)化,最終實(shí)現(xiàn)對(duì)系統(tǒng)程序硬件的整體設(shè)計(jì)。EDA技術(shù)的輸入方式包括原理圖輸入方式和描述性語(yǔ)言輸入方式,對(duì)于交通信號(hào)燈復(fù)雜的設(shè)計(jì)系統(tǒng),如果完善按照原理圖的輸入方式進(jìn)行設(shè)計(jì),存在工作量大、容易出差錯(cuò)的問(wèn)題。而運(yùn)用層次化設(shè)計(jì)方法能夠?qū)崿F(xiàn)設(shè)計(jì)的進(jìn)一步細(xì)化,并在分模塊設(shè)計(jì)分析的同時(shí),實(shí)現(xiàn)條理清晰的設(shè)計(jì)模式,為每一模塊編寫(xiě)的測(cè)試向量進(jìn)行仿真分析,驗(yàn)證設(shè)計(jì)的準(zhǔn)確性。因此,文章在闡述層次分析設(shè)計(jì)法,分析EDA技術(shù)中層析分析作用的基礎(chǔ)上,分別講述上層設(shè)計(jì)的原理圖、VHDL語(yǔ)言的對(duì)交通信號(hào)燈控制器硬件的實(shí)現(xiàn)方法。
一、層次分析法概述
(一)內(nèi)涵
層次分析法是指以分層次、分模塊的形式對(duì)程序的設(shè)計(jì)進(jìn)行顯示。在系統(tǒng)的總體描述中,頂層設(shè)計(jì)體現(xiàn)了設(shè)計(jì)的總功能,底層設(shè)計(jì)是設(shè)計(jì)中的最底層部分。層次分析法的整個(gè)設(shè)計(jì)過(guò)程主要是各個(gè)分層從硬件的頂層變?yōu)榈讓拥囊环N結(jié)構(gòu)性描述過(guò)程。透過(guò)層次化設(shè)計(jì)能夠?qū)τ布膯卧獌?nèi)容進(jìn)行描述。在采用層次分析法進(jìn)行設(shè)計(jì)時(shí),需要使用合理的設(shè)計(jì)程序,首先要對(duì)頂層模塊的設(shè)計(jì)進(jìn)行確定,其次對(duì)詳細(xì)設(shè)計(jì)的子模塊進(jìn)行確定。在任何模塊的設(shè)計(jì)中都可以通過(guò)硬件描述語(yǔ)、原理圖輸入法來(lái)實(shí)現(xiàn)對(duì)設(shè)計(jì)的精確描述。
(二)重要性
層次化設(shè)計(jì)能夠?qū)⒄麄€(gè)設(shè)計(jì)任務(wù)按照功能具體劃分出多個(gè)子模塊,并通過(guò)這些子模塊充分實(shí)現(xiàn)和驗(yàn)證系統(tǒng)設(shè)計(jì)的合理性。層次化設(shè)計(jì)能夠在很大程度上降低設(shè)計(jì)和仿真驗(yàn)證的難度,同時(shí),層次化設(shè)計(jì)還能將一些具有基本功能的零件設(shè)計(jì)為基本元件,并建立其自己的元件庫(kù),縮短對(duì)系統(tǒng)程序的開(kāi)發(fā)進(jìn)程,提升程序開(kāi)發(fā)的效率。
二、EDA層次化設(shè)計(jì)方法
(一)層次化設(shè)計(jì)的思想
傳統(tǒng)的硬件設(shè)計(jì)主要是在選擇合適的元件之后,在印制電路板上將各種元件進(jìn)行連接,從而實(shí)現(xiàn)各個(gè)元件組合的功能。層次化設(shè)計(jì)方法能夠?qū)⒕唧w的設(shè)計(jì)程序和任務(wù)按照功能分成多個(gè)獨(dú)立的子模塊,來(lái)分別實(shí)現(xiàn)設(shè)計(jì)目的,并在設(shè)計(jì)后利用時(shí)序仿真來(lái)對(duì)層次化設(shè)計(jì)的正誤進(jìn)行驗(yàn)證,最后驗(yàn)證無(wú)誤下,將這些子模塊作為基本的元件,完成總體程序的設(shè)計(jì)任務(wù)。層次化設(shè)計(jì)的思想經(jīng)過(guò)研究表明適合EDA技術(shù)的應(yīng)用。
(二)EDA層次化設(shè)計(jì)的輸入方法
EDA層次化設(shè)計(jì)的輸入方法主要包括原理圖的設(shè)計(jì)方式和硬件描述語(yǔ)言的設(shè)計(jì)方式。原理圖的設(shè)計(jì)方式輸入是指,在畫(huà)布上放置一種元件,之后利用導(dǎo)線將元件的引腳進(jìn)行連接,并在引腳上添加輸入和輸出,最終完成層次化的設(shè)計(jì)。原理圖的設(shè)計(jì)方法比較簡(jiǎn)單、直接,但元件庫(kù)中元件的類型較為基礎(chǔ),類型不全。硬件描述語(yǔ)言是指將設(shè)計(jì)者從具體的硬件設(shè)計(jì)中脫離出來(lái),這種輸入方法要求應(yīng)用指令來(lái)描述元件的邏輯功能,從而實(shí)現(xiàn)功能的設(shè)計(jì)。硬件描述語(yǔ)言的輸入方法在很大程度上減少了硬件設(shè)計(jì)的難度,是EDA技術(shù)中的核心技術(shù)。針對(duì)不同的硬件描述語(yǔ)言,彼此之間不存在本質(zhì)的區(qū)別,基本都是通過(guò)代碼的編寫(xiě)和相關(guān)硬件的適配來(lái)實(shí)現(xiàn)對(duì)硬件電路的設(shè)計(jì)。硬件描述語(yǔ)言的設(shè)計(jì)方式主要應(yīng)用的語(yǔ)言是VHDL和HDL,交通信號(hào)燈的設(shè)計(jì)語(yǔ)言主要使用的是VHDL語(yǔ)言。
(三)交通信號(hào)燈設(shè)計(jì)中層次化設(shè)計(jì)的實(shí)現(xiàn)方法
交通信號(hào)燈設(shè)計(jì)中層次化設(shè)計(jì)的實(shí)現(xiàn)方法是自下而上的逐層實(shí)現(xiàn),主要是以下層設(shè)計(jì)為基礎(chǔ)元件,在此基礎(chǔ)上不斷完成對(duì)上層的設(shè)計(jì)。其中,每一層的設(shè)計(jì)都需要使用原理圖輸入和硬件描述性語(yǔ)言的輸入。
1、原理圖輸入方式
原理圖的輸入方式首先要將下層的設(shè)計(jì)包裝成元件,以元件的形式方便程序在原理圖中的調(diào)用。具體表現(xiàn)為:首先,打開(kāi)下層的設(shè)計(jì)文件,即原理圖或者VHDL語(yǔ)言,選擇File菜單以及子菜單,將下層設(shè)計(jì)跌文件生成對(duì)應(yīng)的元件;其次,在新建的原理圖設(shè)計(jì)文件中完成交通信號(hào)燈的上層設(shè)計(jì);最后,對(duì)元件文件夾中多出的生成元件進(jìn)行應(yīng)用。
2、VHDL的硬件描述性原因輸入方式
VHDL的硬件描述性原因輸入方式能夠根據(jù)使用的基本元件來(lái)對(duì)多個(gè)元件的實(shí)例進(jìn)行定義,并用制定的語(yǔ)句實(shí)現(xiàn)對(duì)端口映射的連接。
三、層次化設(shè)計(jì)方法在交通信號(hào)燈設(shè)計(jì)中的應(yīng)用
(一)交通信號(hào)燈設(shè)計(jì)的要求
交通信號(hào)燈的控制器在A和B方向各有紅黃綠三盞燈。具體的控制順序如表一的循環(huán)順序進(jìn)行。其中1代表燈亮、0代表燈滅,交通信號(hào)燈的控制器按照每十秒的節(jié)拍進(jìn)行循環(huán)工作,紅黃綠三盞燈亮的時(shí)間均等。
(二)交通信號(hào)燈的燈時(shí)分配
1、交通信號(hào)燈的燈時(shí)分配
交通信號(hào)燈是在交通信號(hào)控制器控制下對(duì)紅綠燈周期變化的循環(huán)顯示。現(xiàn)階段的交通信號(hào)燈主要實(shí)現(xiàn)了由定時(shí)控制向協(xié)調(diào)控制得發(fā)展,在城市的主要交叉路口安置了多時(shí)段、多方案的交通信號(hào)控制器,取代了原有的單方案控制器。但在實(shí)際應(yīng)用中,道路的平面交叉口交通控制仍以定周期控制為主。因此,文章以定周期交通信號(hào)燈控制器為設(shè)計(jì)依據(jù),采用2相信號(hào)控制,繪制的具體相位圖如圖一所示。
2、交通信號(hào)燈系統(tǒng)結(jié)構(gòu)框圖
文章主要考慮交通信號(hào)燈CPLD功能,其實(shí)現(xiàn)的功能主要包括分頻電路、控制路、紅綠燈各個(gè)時(shí)段倒計(jì)時(shí)計(jì)數(shù)器。在交通交叉路口各方向顯示綠燈或者紅燈時(shí),以秒為單位,采用倒計(jì)時(shí)的方式來(lái)顯示禁止或者允許通行的剩余時(shí)間。當(dāng)系統(tǒng)設(shè)置外部輸入復(fù)位信號(hào)有效時(shí),控制信號(hào)處于主干道的綠燈狀態(tài),并對(duì)設(shè)置好的輸入值進(jìn)行讀取。當(dāng)復(fù)位的信號(hào)處于無(wú)效狀態(tài)時(shí),系統(tǒng)會(huì)按照新的讀取信息設(shè)定值進(jìn)行運(yùn)行。具體的結(jié)構(gòu)框架圖如圖二所示。由圖可見(jiàn),交通信號(hào)燈的控制器是整個(gè)交通 信號(hào)系統(tǒng)的核心,交通信號(hào)燈的主干道、支干道以及信號(hào)燈的控制信號(hào)都有控制器產(chǎn)生,這些控制信號(hào)的時(shí)序要滿足圖一的具體相位要求。
(三)交通信號(hào)燈控制器的VHDL實(shí)現(xiàn)
層次化的設(shè)計(jì)方法對(duì)交通信號(hào)燈的頂層設(shè)計(jì)模塊,主要輸入具有1MHz的基準(zhǔn)時(shí)鐘脈沖、設(shè)定值輸入以及復(fù)位信號(hào)。其中輸出的信號(hào)包含兩個(gè)方向的紅黃綠燈,具體的底層設(shè)計(jì)模塊如圖三所示。
對(duì)于低層次的設(shè)計(jì)模塊,按照其功能具體可以分為分頻單元、控制器單元、主干道等時(shí)倒計(jì)時(shí)單元和支干道燈時(shí)倒計(jì)時(shí)單元四個(gè)單元進(jìn)行設(shè)計(jì),具體的結(jié)構(gòu)設(shè)計(jì)框圖如圖四所示。
總結(jié):綜上所述,文章在對(duì)層次化設(shè)計(jì)方法分析的基礎(chǔ)上,利用EDA開(kāi)發(fā)平臺(tái)對(duì)交通信號(hào)燈的控制系統(tǒng)應(yīng)用進(jìn)行充分驗(yàn)證。實(shí)驗(yàn)表明采用層次化設(shè)計(jì)方法,可以使交通信號(hào)燈復(fù)雜的系統(tǒng)設(shè)計(jì)變得簡(jiǎn)化,使其設(shè)計(jì)的靈活性、準(zhǔn)確性和可靠性大大提高,有效縮短了其層次化設(shè)計(jì)的周期。
參考文獻(xiàn)
[1]熊振國(guó),蔡明山. 層次化設(shè)計(jì)方法在交通信號(hào)燈設(shè)計(jì)中的應(yīng)用[J]. 現(xiàn)代電子技術(shù),2003,24:54-55.
[2]林濤. 基于VHDL語(yǔ)言的交通信號(hào)控制器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 交通與計(jì)算機(jī),2006,04:72-75.
[3]謝海鴻,李萍,林德斌. 基于DEA技術(shù)的交通信號(hào)燈定時(shí)控制系統(tǒng)[J]. 佛山科學(xué)技術(shù)學(xué)院學(xué)報(bào)(自然科學(xué)版),2005,03:8-10+46.