【正文】
ena_two=39。 flash_1hz=ena_one。) then if (ena_scan=39。 when 010=load=conv_std_logic_vector(redsn_time,8)。 when others=load=conv_std_logic_vector(yellowsn_time,8)。 recount:in std_logic。 constant yellowsn_time:integer:=5。) then if (ena_scan=39。 28 when 100=load=conv_std_logic_vector(yellowew_time,8)。 architecture bhv of hld2 is constant redew_time:integer:=15。 constant yellowsn_time:integer:=5。 clk:in std_logic。 sign_state:out std_logic_vector(2 downto 0)。 signal light:std_logic_vector(5 downto 0)。039。039。 end if。139。) then if (next_state=39。 state=rewgsn。) then recount=39。 end if。139。039。 else recount=39。 and ena_1hz=39。 else 32 recount=39。) then if (st_transfer=39。 end if。139。039。 else recount=39。139。 end if。139。 sign_state=110。 and ena_scan=39。 state=yewrsn。 when gewrsn= if (a_m=39。139。 end if。139。 31 sign_state=011。) then if (st_transfer=39。 else recount=39。 and ena_1hz=39。 sign_state=011。039。) then if (rebn_ff=3) then rebn_ff:=rebn_ff1。) then rebn_ff:=111111。 signal state:sreg0_type。 next_state:in std_logic。 use 。 constant redsn_time:integer:=15。 end process。 when 010=load=conv_std_logic_vector(redsn_time,8)。event and clk=39。 constant greenew_time:integer:=25。 clk:in std_logic。 when 101=load=conv_std_logic_vector(greenew_time,8)。 when 001=load=conv_std_logic_vector(yellowsn_time,8)。event and clk=39。 26 end process。 ena_one=not ena_one。 elsif (clk39。 ena_scan=ena_s。 ena_s=39。139。 constant two_hz_bit:positive:=7。 entity hld1 is port(reset:in std_logic。在論文的寫 作過程中,我的導(dǎo)師謝麗君老師傾注了大量的心血,從選題到開題報告,從寫作提綱到一遍又一遍地指出論文中具體問題,嚴(yán)格把關(guān),循循善誘。 22 致謝 大學(xué)三年的時間大多在學(xué)習(xí)理論基礎(chǔ)知識,實踐并不是太多。 交通燈系統(tǒng) 描述 頂層系統(tǒng)的設(shè)計是把以上各個功能模塊連接起來構(gòu)成一個完整電路,頂層模塊可用 VHDL 輸入法設(shè)計,也可用原理圖輸入法設(shè)計。但為了配合高峰時段,防止交通擁擠,有時還必須使用手動控制,即讓交通警察自行指揮交通。程序如下(見附錄) 圖 36 是倒計時控制電路元件模塊圖。 圖 35: 計數(shù)秒數(shù)選擇電路時序圖 由計數(shù)描述選擇電路的時序圖 (見圖 35)可以看出這段程序中定義了在正常車流量情況下,東西及南北方向紅燈、黃燈和綠燈需要維持的秒數(shù)分別是 15s、5s 和 25s。第二句是定義一個信號,它的位數(shù)就是 (scan_bit1),因為之前 scan_bit 設(shè)定的值為 2,所以信號的位數(shù)就是 2 位。 圖 33 是時鐘脈沖發(fā)生電路通過 Quartus II 軟件仿真得到的仿真波形圖。 圖 31 交通信號燈系統(tǒng)結(jié)構(gòu)圖 由交通信號燈系統(tǒng)結(jié)構(gòu)圖 (見圖 31)可知,該系統(tǒng)由 4 個子電路組成。主干道每次放行 25s,支干道每次放行 15s。行為描述在 EDA 工程中稱為高層次描述或高級描述,原因有以下兩點: (1)實體的行為描 述是一種抽象描述,而不是某一個器件,對電子設(shè)計而言,是高層次的概括,是整體設(shè)計功能的定義,所以稱為高層次描述。設(shè)計者使用時只要用 USE子句進行說明即可。 PROCESS 語句的結(jié)構(gòu) [進程標(biāo)號 ] PROCESS [(敏感信號表 )] [IS] 10 [進程說明語句 ] BEGIN 順序描述語句 END PROCESS [進程標(biāo)號 ]; 子程序 (SUBPROGRAM): VHDL 程序與其他軟件語言程序中應(yīng)用子程序的目的是相似的,即能夠更有效地完成重復(fù)性的工作。結(jié)構(gòu)體對其基本設(shè)計單元的輸入和輸出關(guān)系可用以下三種方式進行描述 ,即行為描述 (基本設(shè)計單元的數(shù)學(xué)模型描述 )、寄存器傳輸描述 (數(shù)據(jù)流描述 )和結(jié)構(gòu)描述 (邏輯元件連接描述 )。而且由于 8 這些結(jié)構(gòu)通常都由大量的觸發(fā)器組成,不僅使電路更復(fù)雜,工作速度降低,而且由于時序配合的原因可能導(dǎo)致不好的結(jié)果。 ( 6) 用 VHDL 語言編寫的源程序便于文檔管理,用源代碼描述來進行復(fù)雜控制邏輯的設(shè)計,既靈活方便,又便于設(shè)計結(jié)果的交流、保存和重用 [13]。 7 ( 5) VHDL 是一個標(biāo)準(zhǔn)語言,它的設(shè)計描述可以被不同的 EDA 工具所支持,可移植性強,易于共享和復(fù)用 [11]。 硬件描述語言的主要優(yōu)點: VHDL 是一種全方位的硬件描述語言,包括系統(tǒng)行為級、寄存器傳輸級和邏輯門級多個設(shè)計層次,支持結(jié)構(gòu)、數(shù)據(jù)流、行為 3 種描述形式的混合描述,因此 VHDL 幾乎覆蓋了以往各種硬件描述語言的功能,整個自頂向下或自底向上的電路設(shè)計過程都可以用 VHDL 來完成。 VHDL 翻譯成中文就是 超高速集成電路 硬件描述語言,主要是應(yīng)用在數(shù)字電路的設(shè)計中。系統(tǒng)可現(xiàn)場編程,在線升級 。HDL 是用于設(shè)計硬件電子系統(tǒng)的計算機語言,它描述電子系統(tǒng)的邏輯功能、電 5 路結(jié)構(gòu)和連接方式。其中,大規(guī)??删幊踢壿嬈骷抢?EDA 技術(shù)進行電子系統(tǒng)設(shè)計的載體,硬件描述語言是利用 EDA 技術(shù)進行電子系統(tǒng)設(shè)計的主要表達(dá)手段,軟件開發(fā)工具是利用 EDA 技術(shù)進行電子系統(tǒng)設(shè)計的智能化的自動設(shè)計工具,實驗開發(fā)系統(tǒng)則是利用 EDA 技術(shù)進行電子系統(tǒng)設(shè)計的下載工具及硬件驗證工具 [8]。盡管目標(biāo)系統(tǒng)是硬件,但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣方便和高效。在仿真和設(shè)計兩方面支持標(biāo)準(zhǔn)硬件描述語言的功能越來越強大,軟硬件技術(shù)也進一步得到了融合,在電子行業(yè)的產(chǎn)業(yè)領(lǐng)域、技術(shù)領(lǐng)域和設(shè)計應(yīng)用領(lǐng)域得到了進一步的肯定,使得復(fù)雜電子系統(tǒng)的設(shè) 計和驗證趨于簡單化。如,基于時間分布的交通控制系統(tǒng)設(shè)計,它將一天分為 N 個不同的時間區(qū)間,應(yīng)用計算機算出各個交通路口各時間段信號燈的最佳周期,在不同的時間區(qū)間賦予交通信號控制器不同的周期,以對應(yīng)交通流量隨時間的分布 [2]。對交叉口實行科學(xué)的管理與控制是交通控制工程的重要研究課題,是保障交叉口的交通安全和充分發(fā)揮交叉口的通行能力的重要措施,是解決城市交通問題的有效途徑。 關(guān)鍵詞: 交通信號燈 、 VHDL 、 仿真 ii The design of traffic lights based on VHDL Abstract: Most traditional traffic light control system implemented by a singlechip puter or PLC, this article describes the design of a traffic light system is based on EDA technology ideas and using digital methods of signal control intersection traffic signal state transition, mand vehicles and pedestrians safe passage, implementation of intersection traffic management automation. Design and implementation of traffic light controller with VHDL the system for structural analysis, using topdown hierarchical design method, gives a VHDL program modules, and applications using Quartus II simulation, have e to the corresponding simulation design with VHDL language, should be fully aware of the features of VHDL language, from the design, use statement, and description of the superior aspects of optimized circuit optimization design of circuits, programmable logic chip can use smaller, thus reducing system costs. Keywords: traffic light 、 VHDL、 simulation iii 目錄 前言 ................................................................................................................................ 1 第一章 EDA 技術(shù) ........................................................................................................ 3 EDA 技術(shù)及其發(fā) 展 ........................................................................................ 3 EDA 與傳統(tǒng)電子設(shè)計方法的比較及優(yōu)點 .................................................... 5 第二章 VHDL 語言 ...................................................................................................... 6 VHDL 系統(tǒng)概述 ...............................