《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基于VHDL的樓梯照明燈的控制的實(shí)現(xiàn)_第1頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基于VHDL的樓梯照明燈的控制的實(shí)現(xiàn)_第2頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基于VHDL的樓梯照明燈的控制的實(shí)現(xiàn)_第3頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基于VHDL的樓梯照明燈的控制的實(shí)現(xiàn)_第4頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基于VHDL的樓梯照明燈的控制的實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 基于vhdl的樓梯照明燈的控制的實(shí)現(xiàn) 第 18頁(yè) 共18頁(yè) 1 引 言以前進(jìn)行樓梯照明燈的控制,需要進(jìn)行模擬電路和數(shù)字電路設(shè)計(jì),使用的芯片多,電路復(fù)雜,出現(xiàn)問(wèn)題不易查找,不易進(jìn)行功能擴(kuò)展。隨著eda(electronics design automation)技術(shù)的出現(xiàn),改變了傳統(tǒng)的設(shè)計(jì)電路的方法,人們可以用一片芯片實(shí)現(xiàn)所需要的各種功能,這就是可編程邏輯器件。與傳統(tǒng)電路設(shè)計(jì)方法相比,可編程邏輯器件功能強(qiáng)大,開(kāi)發(fā)過(guò)程投資小、周期短,可反復(fù)編程修改,保密性極好,開(kāi)發(fā)工具智能化等特點(diǎn),特別是隨著電子工藝的不斷改進(jìn),低成本fpgaicpld器件推陳出新,促使fpgaicpld成為當(dāng)今硬件設(shè)計(jì)的首選方

2、式之一。eda關(guān)鍵技術(shù)之一就是采用硬件描述語(yǔ)言對(duì)硬件電路進(jìn)行描述,且具有系統(tǒng)級(jí)仿真和綜合能力。目前應(yīng)用比較廣泛的硬件描述語(yǔ)言就是vhdl(very high speed lntegrated circuit hardware description language)。圖1.12 vhdl簡(jiǎn)介 vhdl的英文全名是very-high-speed integrated circuit hardwaredescription language,誕生于1982年。1987年底,vhdl被ieee和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。自ieee公布了vhdl的標(biāo)準(zhǔn)版本,ieee-1076(簡(jiǎn)稱(chēng)87版)

3、之后,各eda公司相繼推出了自己的vhdl設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和vhdl接口。此后vhdl在電子設(shè)計(jì)領(lǐng)域得到了廣泛的認(rèn)可,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。1993年,ieee對(duì)vhdl進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展vhdl的內(nèi)容,公布了新版本的vhdl,即ieee標(biāo)準(zhǔn)的1076-1993版本,(簡(jiǎn)稱(chēng)93版)?,F(xiàn)在,vhdl和verilog作為ieee的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,又得到眾多eda公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。有專(zhuān)家認(rèn)為,在新的世紀(jì)中,vhdl與verilog語(yǔ)言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。vhdl語(yǔ)言是一種用

4、于電路設(shè)計(jì)的高級(jí)語(yǔ)言。它在80年代的后期出現(xiàn)。最初是由美國(guó)國(guó)防部開(kāi)發(fā)出來(lái)供美軍用來(lái)提高設(shè)計(jì)的可靠性和縮減開(kāi)發(fā)周期的一種使用范圍較小的設(shè)計(jì)語(yǔ)言 。 vhdl的英文全寫(xiě)是:vhsic(very high speed integrated circuit)hardware description language.翻譯成中文就是超高速集成電路硬件描述語(yǔ)言。因此它的應(yīng)用主要是應(yīng)用在數(shù)字電路的設(shè)計(jì)中。目前,它在中國(guó)的應(yīng)用多數(shù)是用在fpga/cpld/epld的設(shè)計(jì)中。當(dāng)然在一些實(shí)力較為雄厚的單位,它也被用來(lái)設(shè)計(jì)asic。vhdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句

5、外,vhdl的語(yǔ)言形式、描述風(fēng)格以及語(yǔ)法是十分類(lèi)似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。vhdl的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可視部分,及端口)和內(nèi)部(或稱(chēng)不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是vhdl系統(tǒng)設(shè)計(jì)的基本點(diǎn)。由于vhdl已經(jīng)成為ieee標(biāo)準(zhǔn)所規(guī)范的硬件描述語(yǔ)言,目前大多數(shù)eda工具幾乎都支持vhdl,這為vhdl的進(jìn)一步推廣和廣泛應(yīng)用奠定了基礎(chǔ)。在硬件電路設(shè)計(jì)過(guò)程中,主要的設(shè)計(jì)文件是用vhdl

6、編寫(xiě)的源代碼,因?yàn)関hdl易讀和結(jié)構(gòu)化,所以易于修改設(shè)計(jì)。vhdl具有多層次的設(shè)計(jì)描述功能,既可以描述系統(tǒng)級(jí)電路,又可以描述門(mén)級(jí)電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級(jí)描述。另外,vhdl支持慣性延遲和傳輸延遲,還可以準(zhǔn)確地建立硬件電路模型。vhdl支持預(yù)定義的和自定義的數(shù)據(jù)類(lèi)型,給硬件描述帶來(lái)較大的自由度,使設(shè)計(jì)人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。3任務(wù)描述及要求3.1用vhdl語(yǔ)言描述樓梯燈試設(shè)計(jì)一個(gè)樓梯燈控制裝置??刂埔螅褐挥靡粋€(gè)按鈕控制,當(dāng)按一次按鈕時(shí),樓梯燈亮4min后自動(dòng)熄滅;當(dāng)連續(xù)按二次按鈕時(shí),燈長(zhǎng)亮不滅;無(wú)論是定時(shí)狀態(tài),還是燈長(zhǎng)亮狀

7、態(tài),只要按下按鈕的時(shí)間超過(guò)2s時(shí)燈熄滅(注意如果按下時(shí)間不超過(guò)2s,原狀態(tài)繼續(xù))。該控制器框圖如圖1所示。狀態(tài)機(jī)的狀態(tài)圖如圖2所示。假設(shè):key=1表示按鈕按下,key=0表示按鈕跳起。td2=1表示2s時(shí)間到。td240=1表示240s時(shí)間到。st_2=1表示啟動(dòng)2s定時(shí)器。st_240=1 表示啟動(dòng)240s定時(shí)器。 lamp=1表示燈亮。從該狀態(tài)機(jī)的特點(diǎn)可以看出,這是一個(gè)梅里狀態(tài)機(jī),這是因?yàn)橹灰粹o一按下,一些動(dòng)作就立刻開(kāi)始執(zhí)行,而不是等到狀態(tài)轉(zhuǎn)移后,例如當(dāng)按鈕按下,兩秒定時(shí)器就開(kāi)始工作。圖3.1 樓梯燈控制裝置框圖3.2實(shí)驗(yàn)步驟:在單獨(dú)的文件夾中建立項(xiàng)目、輸入各個(gè)底層vhdl源文件、仿真

8、;建立頂層電路圖源文件,將各個(gè)底層描述形成模塊符號(hào)、連接電路、鎖定引腳、編譯、下載到實(shí)驗(yàn)板、觀察結(jié)果。 圖3.2 樓梯燈的狀態(tài)圖4狀態(tài)機(jī)的vhdl描述:library ieee;use ieee.std_logic_1164.all;entity fsm isport(key,clk,td2,td240 :in std_logic; st2,st240,lamp :out std_logic);end;architecture fsm_arch of fsm istype zt_type is (s1,s2,s3,s4,s5,s6,s7,s8,s9);signal zt_now, zt_nex

9、t : zt_type;beginn1:process(clk) -狀態(tài)寄存進(jìn)程 begin if clkevent and clk=1 then zt_now if key=1 then lamp=1;st240=1;st2=0;zt_next=s2; elsif key=0 then lamp=0;st240=0;st2=0;zt_next if key=0 then lamp=1;st240=1;st2=1;zt_next=s3; elsif key=1 then lamp=1;st240=1;st2=0;zt_next if key=1 then lamp=1;st240=1;st2=

10、0;zt_next=s7; elsif (key=0) and (td2=1) then lamp=1;st240=1;st2=1;zt_next=s4; else lamp=1;st240=1;st2=1;zt_next if key=1 then lamp=1;st240=1;st2=1;zt_next=s5; elsif (key=0) and (td240=1) then lamp=0;st240=1;st2=0;zt_next=s1; else lamp=1;st240=1;st2=0;zt_next if (key=1) and (td2=1) then lamp=0;st240=

11、0;st2=1;zt_next=s6; elsif key=0 then lamp=1;st240=1;st2=0;zt_next=s4; else lamp=1;st240=1;st2=1;zt_next if key=0 then lamp=0;st240=0;st2=0;zt_next=s1; else lamp=0;st240=0;st2=0;zt_next if key=1 then lamp=1;st240=0;st2=1;zt_next=s8; else lamp=1;st240=0;st2=0;zt_next if (key=1) and (td2=1) then lamp=0

12、;st240=0;st2=1;zt_next=s9; elsif (key=0) then lamp=1;st240=1;st2=0;zt_next=s7; else lamp=1;st240=0;st2=1;zt_next if key=0 then lamp=0;st240=0;st2=0;zt_next=s1; else lamp=0;st240=0;st2=0;zt_nextzt_next=s1; end case;end process;end fsm_arch;該狀態(tài)機(jī)的仿真結(jié)果如圖4.1-1所示。240s時(shí)間到滅燈2s時(shí)間到進(jìn)s3按鍵第1次按下按鍵連續(xù)按下2次,進(jìn)入長(zhǎng)亮狀態(tài)s6按

13、鍵按下1次,進(jìn)入定時(shí)狀態(tài)s3按鍵按下時(shí)間超過(guò)2s,進(jìn)入s5滅燈按鍵按下超過(guò)2s,進(jìn)入狀態(tài)s8滅燈圖4.1狀態(tài)機(jī)仿真圖5 2秒計(jì)數(shù)器的vhdl描述 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity con2 isport(clk,st2 :in std_logic; td2 :out std_logic; sh :out std_logic_vector(3 downto 0);end;architecture con2_arch of con2 issignal qq: std_log

14、ic_vector(3 downto 0);begin process(clk,st2) begin if st2=0 then qq=0011;-題目要求是2秒,為調(diào)試方便這里給3秒 elsif clkevent and clk=1 then if qq/=0000 then qq=qq-1; else qq=qq; end if; end if; end process; td2=1 when qq=0000 else 0; sh=qq;end con2_arch;2秒減計(jì)數(shù)器的仿真結(jié)果如圖5.1所示。圖5.1 2秒減計(jì)數(shù)器的仿真結(jié)果6 240秒計(jì)數(shù)器的vhdl描述library ieee

15、;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity con240 isport(clk,st240 :in std_logic; td240 :out std_logic; gaowei,diwei:out std_logic_vector(3 downto 0);end;architecture con240_arch of con240 issignal qq: std_logic_vector(7 downto 0);begin process(clk,st240) begin if st240=0 th

16、en qq=00011110;-題目要求是240秒,為調(diào)試方便這里給30秒 elsif clkevent and clk=1 then if qq/=00000000 then qq=qq-1; else qq=qq; end if; end if; end process; td240=1 when qq=00000000 else 0; gaowei=qq(7 downto 4); diwei bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb = 1111111;end case;end process; b0=bb(6); b1=bb(

17、5); b2=bb(4); b3=bb(3); b4=bb(2); b5=bb(1); b6=bb(0);end yima_arch; 該譯碼器是十六進(jìn)制七段譯碼,用于共陽(yáng)極數(shù)碼管,仿真結(jié)果如圖7.1所示。圖7.1 譯碼器仿真結(jié)果8分頻電路library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin isport(clk :in std_logic; q0,q1,q2,q3 :out std_logic);end;architecture fenpin_arch of fenpin

18、issignal qq :std_logic_vector(3 downto 0);begin process(clk) begin if clkevent and clk=1 then qq=qq+1; end if; q0=qq(0); q1=qq(1); q2=qq(2); q3=qq(3); end process;end fenpin_arch;該分頻器是十六分頻計(jì)數(shù)器,仿真結(jié)果如圖8.1所示。圖8.1十六分頻計(jì)數(shù)器仿真結(jié)果圖9頂層模塊圖頂層模塊如圖9.1所示。仿真結(jié)果如圖9.2圖9.1 樓道燈頂層模塊圖按鈕按下,燈亮,30秒后燈滅按鈕按下,用按下時(shí)間延長(zhǎng)2s的方式滅燈按鈕按下2次,燈

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論