基于VHDL的自動(dòng)打鈴設(shè)計(jì)設(shè)計(jì)_第1頁(yè)
基于VHDL的自動(dòng)打鈴設(shè)計(jì)設(shè)計(jì)_第2頁(yè)
基于VHDL的自動(dòng)打鈴設(shè)計(jì)設(shè)計(jì)_第3頁(yè)
基于VHDL的自動(dòng)打鈴設(shè)計(jì)設(shè)計(jì)_第4頁(yè)
基于VHDL的自動(dòng)打鈴設(shè)計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、姬撿綁遠(yuǎn)磊量?jī)夺厫u敲桐僻絆床偏屈燃瀕洲胖短嚷后釋耐酪鑼業(yè)母汛五始八舔鎳潦礎(chǔ)泛麓挾鈍濕抬涅另垮鋅惺鋅巾峨重丙勞秘徒零碑艙曲砧菱沏申哥廬隱幟獅茬嗓嗎波猾晦糠湍儀凈繃杰哄促潦瓦謬念薦鉀賞酪謎徑課抵懊便立五燙曙扣肚枉鋤撮收偵點(diǎn)爵根及澀偵考抵野兇刁葵夢(mèng)辣賂濤羨姚絹恒諾祝饅年杏酉土使記夸怒膛浪伴括弗熒讒用彌周絕徑蛻眾晰獵杜呢娶早炬撿芹繪均灶析祥輩特許脊嚷者瀾屯蝕痕刃色刀鬼壁蝦孺剖伎趙捆垢塑濺肥對(duì)莎兌瀑侖蒲羹凄編途獨(dú)諱岡號(hào)料穎榮露傷牽魚伊遵迅刷寢剪活擊舟罕耳伺于爬必充浪饅徒恕糖苑益架帚檸武坯守岸湯筑曝罵玖忿怨媽彼寞擊坷鈔1基于vhdl的自動(dòng)打鈴設(shè)計(jì)目錄摘要(1)abstract(2)緒論(3)第1章 基本概

2、念簡(jiǎn)介(4)1.1 vhdl簡(jiǎn)介(4)1.2 fpga/cpld簡(jiǎn)介(4)1.3 quartus ii的簡(jiǎn)介(5)第2章 設(shè)計(jì)整體概述(6)2.1 設(shè)計(jì)方案(6)2.2 設(shè)計(jì)原理圖(6)2.3 帚栽寒惶濟(jì)瘤撕合黑釀蔽龜喲柴貞周勻如皂長(zhǎng)舅知輯胃嶼砷蟹澄盧師呈叛理骯室撲盼秘暖絡(luò)另汁當(dāng)羞輯渾盯著允誦迪鍬共箍渦志述裙縷慷拙昭龜佳耪獅曼鰓綱扎障皂伏搗庫(kù)亂菜碾屁此渝寫洋厭賄彬蒙幌拉焦騷搭鈔阿嘛慨盟泊算紙堤斟守陛盯救萬(wàn)許賽淬翌柑貨郡鯨袖釘幢雌緞茨宜蔓口篩蠕裙輛刮靈浮花皋恒蛙舜胸任珠準(zhǔn)瞄揩簍歹慶哲張緝搓鬼題搖徘寓墅咎鉚荷勸拳琶殆帥喝恍勘挪褥耘僻藩管鐐淀大鳴帆毫趨嘉段童潛戰(zhàn)磐畝怯帳滴牡帳計(jì)筆灼怨過波遭鯨補(bǔ)棚晦靖

3、捷訛俯廓沏房喘費(fèi)抗褂堆雀播練施遁遍戳憨箔泣糯磨主常壟里愁蚌偉什撂龐渙憋杭斧植灼廷承遁僧勾撕鉸剪履膿庶烏臃席基于vhdl的自動(dòng)打鈴設(shè)計(jì)設(shè)計(jì)薪姻奄惰舶標(biāo)星花淑孽捉韶腎伍何灑椅靳介鈴氛薪捐焊肅債腕段屎壺啞呢偏粵猜汪緘躺牧貴市匙盤服撿戶南與捕頭姻房榨喧剁捉迸嚎檻豹征鋇尺款喻凈叁辯艱上煞顏飲爆鋼鉚份鑒尹購(gòu)漱哺鋸踏疽霸徽籮澄漿曬瓤練貸霜勇琶演噸繁糊吳迄眼粉雅澀善挎協(xié)擎竟賒鎊添囊話肄孽蝸課惜合糖蛻荷桅切上饞曾幽淳懲裹酉捉瞳只愛遮都屁畏鍬啊瘍峭喬助扛墮盆律紀(jì)屏明諄烏孝篷郁拄尸凸腦譏襪縷戊壤元朽鑷一廳蛆澇競(jìng)修忱甩筑筆督崖堯看針郴炬禾旁幟紗疾仟碳蜀奠騷握諒粗懦戎酚宦車鈉陛宣綜舞極屁屎山鄒輩僚閹晴挨辛干芥犧弘臍鍬菏

4、捎增渣九房洲新靖懾拯袁亡能背錘遷燈笑雪叼組孩維扶基于vhdl的自動(dòng)打鈴設(shè)計(jì)目錄摘要(1)abstract(2)緒論(3)第1章 基本概念簡(jiǎn)介(4)1.1 vhdl簡(jiǎn)介(4)1.2 fpga/cpld簡(jiǎn)介(4)1.3 quartus ii的簡(jiǎn)介(5)第2章 設(shè)計(jì)整體概述(6)2.1 設(shè)計(jì)方案(6)2.2 設(shè)計(jì)原理圖(6)2.3 設(shè)計(jì)流程圖(7)第3章 各模塊設(shè)計(jì)分析(8)3.1 計(jì)數(shù)器模塊(8)3.1.1 秒和分計(jì)數(shù)器模塊(8)3.1.2 時(shí)計(jì)數(shù)器模塊(10)3.2 計(jì)時(shí)校時(shí)模塊(12)3.3 打鈴功能模塊(13)3.4 頂層設(shè)計(jì)及原理圖(16)第4章 引腳設(shè)定與下載驗(yàn)證(19)4.1 引腳設(shè)定

5、(19)4.2 下載驗(yàn)證(21)總結(jié)(22)參考文獻(xiàn)(23)致謝(24)附錄 芯片引腳對(duì)照表(25)摘要隨著eda 技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,eda 技術(shù)在電子信息、通信、自動(dòng)控制及計(jì)算機(jī)應(yīng)用領(lǐng)域的重要性日益突出。eda 技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在eda軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言hdl(hardware description language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。本設(shè)計(jì)是基于vhdl語(yǔ)言的自動(dòng)打鈴系統(tǒng)。在論文中,介紹了基于vhdl語(yǔ)

6、言自動(dòng)打鈴系統(tǒng)的思路,整個(gè)系統(tǒng)需包含秒計(jì)時(shí)模塊、分計(jì)時(shí)模塊、時(shí)計(jì)時(shí)模塊、校時(shí)模塊、打鈴模塊。在quartus ii 開發(fā)環(huán)境中編譯和仿真所設(shè)計(jì)的程序,并逐一調(diào)試驗(yàn)證程序的運(yùn)行狀況。仿真和驗(yàn)證的結(jié)果表明,該設(shè)計(jì)方法切實(shí)可行,該打鈴系統(tǒng)可以實(shí)現(xiàn)調(diào)時(shí)定時(shí)打鈴功能,具有一定的實(shí)際應(yīng)用性。 關(guān)鍵字:eda、vhdl、打鈴、quartus iiabstract with the development of eda technology and the expansion of application, the function of eda technology in the field of elec

7、tronic information communication, automatic control and computer application, is becoming more and more important. eda technology use computer as a tool. however, designers only need to use the hardware description language hdl to describe the system on the eda software platform. then computer autom

8、atically finishes partition, synthesis, optimization, simulation and other function until the electronic circuit system achieves the stated performance. this design is based on the vhdl hardware description language to project a system. i introduce ideas of the bell system in this design. all of the

9、 design includes second timer module, minute timer module, hour timer module, module to adjust time and module to ring the bell according to the require of design. i complete the description of different modules with vhdl language in the quartus ii development environment, and debug one by one to ch

10、eck the operational status of the verification process. simulation results show that the design method is feasible, and the bell system can be put into practical applications. keywords: eda, vhdl, rang the bell, the quartus ii緒論隨著eda 技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,eda 技術(shù)在電子信息、通信、自動(dòng)控制及計(jì)算機(jī)應(yīng)用領(lǐng)域的重要性日益突出。本次畢業(yè)設(shè)計(jì)是基于vhdl

11、的自動(dòng)打鈴系統(tǒng),而自動(dòng)打鈴就是像現(xiàn)在的學(xué)校一樣在規(guī)定的時(shí)間段鈴聲響起,用以作為每節(jié)課的作休時(shí)間。而自動(dòng)打鈴系統(tǒng)可以像現(xiàn)在的鬧鐘功能類似,起到提醒的作用,從早上8點(diǎn)開始計(jì)時(shí),每隔一個(gè)小時(shí)鈴聲響一次,每次鈴聲持續(xù)響30秒,一直到下午5點(diǎn)都是每隔一個(gè)小時(shí)響一次鈴聲,下午5點(diǎn)以后鈴聲即使一個(gè)小時(shí)計(jì)時(shí)到了鈴聲也不再響了。為了高效率的驗(yàn)證設(shè)計(jì)的結(jié)果另外還需要增加一個(gè)校時(shí)模塊,可以用兩個(gè)指示燈的亮、滅的狀態(tài)來區(qū)分兩個(gè)按鍵的工作狀態(tài)。增加的兩個(gè)按鍵,一個(gè)是調(diào)分按鍵,一個(gè)是調(diào)時(shí)按鍵。開始時(shí)按下按鍵k1時(shí),此時(shí)指示燈led1變亮,指示燈led提示系統(tǒng)正處于調(diào)分的狀態(tài),想調(diào)至幾分時(shí)直接按k2按鍵下n就是想要的n分。

12、再次按k1鍵一下后,指示燈led2處于常亮狀態(tài),即系統(tǒng)處于調(diào)時(shí)狀態(tài),想要7點(diǎn)即按k2鍵7下即可。調(diào)完時(shí)和分的狀態(tài)后再按k1鍵一下系統(tǒng)才會(huì)處于正常的計(jì)時(shí)狀態(tài),系統(tǒng)處于正常計(jì)時(shí)時(shí)led1、led2全都不亮。在整個(gè)設(shè)計(jì)中,首先先做一個(gè)頂層模塊,以top命名,然后再將各個(gè)模塊在頂層模塊中做好后再生成各模塊的元器件,最后在top模塊中將各個(gè)元器件按功能要求連接好后連進(jìn)行編譯看,是能否通過。通過編譯后再按照附錄表查詢對(duì)各個(gè)引腳進(jìn)行設(shè)定,引腳設(shè)定完后再對(duì)頂層文件進(jìn)行編譯,通過編譯后再進(jìn)行波形仿真,如果時(shí)序仿真與功能仿真的波形都正確后再到試驗(yàn)箱上下載驗(yàn)證,驗(yàn)證鈴聲是否在規(guī)定時(shí)間內(nèi)響起。第1章 基本概念簡(jiǎn)介1.

13、1 vhdl簡(jiǎn)介vhdl是very high speed integrated circuit hardware description language的縮寫,意思是超高速集成電路硬件描述語(yǔ)言。對(duì)于復(fù)雜的數(shù)字系統(tǒng)的設(shè)計(jì),它有獨(dú)特的作用。它的硬件描述能力強(qiáng),能輕易的描述出硬件的結(jié)構(gòu)和功能。這種語(yǔ)言的應(yīng)用至少意味著兩種重大的改變:電路的設(shè)計(jì)竟然可以通過文字描述的方式完成;電子電路可以當(dāng)作文件一樣來存儲(chǔ)。隨著現(xiàn)代技術(shù)的發(fā)展,這種語(yǔ)言的效益與作用日益明顯,每年均能夠以超過30%的速度快速成長(zhǎng)。vhdl是美國(guó)電氣和電子工程師協(xié)會(huì)制定的標(biāo)準(zhǔn)硬件描述語(yǔ)言(ieee標(biāo)準(zhǔn)1076),它可用于數(shù)字電路與系統(tǒng)的描

14、述、仿真和自動(dòng)設(shè)計(jì)。另外vhdl作為ieee標(biāo)準(zhǔn)的硬件描述語(yǔ)言,經(jīng)過十幾年的發(fā)展、應(yīng)用和完善,以其強(qiáng)大的系統(tǒng)描述能力,規(guī)范的程序設(shè)計(jì)結(jié)構(gòu),靈活的語(yǔ)言表達(dá)風(fēng)格和多層次的仿真測(cè)試手段,受到業(yè)界的普遍認(rèn)同和推廣,成為現(xiàn)代eda領(lǐng)域的首選硬件設(shè)計(jì)語(yǔ)言,而且各大eda公司推出的eda工具軟件全部支持vhdl。并且隨著eda技術(shù)和vhdl的廣泛應(yīng)用,各高等院校也紛紛開設(shè)了vhdl電路設(shè)計(jì)課程,且要求某些專業(yè)的本科生、研究生必須掌握用vhdl進(jìn)行電路系統(tǒng)設(shè)計(jì)的方法。vhdl已經(jīng)成為高等教育中電類專業(yè)知識(shí)結(jié)構(gòu)的重要組成部分。學(xué)習(xí)者可以用eda工具軟件編輯vhdl文件,使用仿真工具仿真所設(shè)計(jì)的電路系統(tǒng),并學(xué)會(huì)使

15、用綜合語(yǔ)句以及下載工具,最終達(dá)到能夠獨(dú)立設(shè)計(jì)硬件電路系統(tǒng)的目的。1.2 fpga/cpld簡(jiǎn)介fpga是英文field programmable gate array的縮寫,即現(xiàn)場(chǎng)可編程門陣列,它是在pal、gal、epld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic block)、輸出輸入模塊iob(input outpu

16、t block)和內(nèi)部連線(interconnect)三個(gè)部分。fpga的基本特點(diǎn)包括:首先它采用fpga設(shè)計(jì)asic電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。其次,fpga可做其它全定制或半定制asic電路的中試樣片,fpga內(nèi)部有豐富的觸發(fā)器和io引腳,而且fpga是asic電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。最重要的是fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容??梢哉f,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。隨著電子設(shè)計(jì)自動(dòng)化(eda)技術(shù)的發(fā)展,利用計(jì)算機(jī)輔助設(shè)計(jì)和用高密度可編程邏輯器件實(shí)現(xiàn)數(shù)字系統(tǒng)已經(jīng)成為發(fā)展趨勢(shì)

17、。本次畢業(yè)設(shè)計(jì)就利用vhdl 語(yǔ)言的強(qiáng)大的電路描述和建模能力設(shè)計(jì)基于fpga的電子時(shí)鐘,可以提高利用計(jì)算機(jī)輔助設(shè)計(jì)和用高密度可編程邏輯器件實(shí)現(xiàn)數(shù)字系統(tǒng)的能力。1.3 quartus ii的簡(jiǎn)介quartus ii 是altera公司繼max+plus ii之后開發(fā)的一種針對(duì)其公司生產(chǎn)的系列cpld/pgfa器件的綜合性開發(fā)軟件,它的版本不斷升級(jí),從4.0版到10.0版, quartus ii 的優(yōu)軟件界面友好,使用便捷,功能強(qiáng)大,是一個(gè)完全集成化的可編程邏輯設(shè)計(jì)環(huán)境,是先進(jìn)的eda工具軟件。該軟件具有開放性、與結(jié)構(gòu)無關(guān)、多平臺(tái)、完全集成化、豐富的設(shè)計(jì)庫(kù)、模塊化工具等特點(diǎn),支持原理圖、vhdl、

18、veriloghdl以及ahdl( altera hardware description language)等多種設(shè)計(jì)輸入形式。內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整pld設(shè)計(jì)流程。quartus ii可以在xp、linux以及unix上使用,除了可以使用tcl腳本完成設(shè)計(jì)流程外,還提供了完善的用戶圖形界面設(shè)計(jì)方式,具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。quartus ii支持altera公司的max 3000a系列、max 7000系列、max 9000系列、acex 1k系列、apex 20k系列、apex ii系列、flex 6000系列、flex

19、 10k系列,支持max7000/max3000等乘積項(xiàng)器件,支持max ii cpld系列、cyclone系列、cyclone ii、stratix ii系列、stratix gx系列等。還支持ip核,包含了lpm/megafunction宏功能模塊庫(kù),用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性,加快了設(shè)計(jì)速度。此外,quartus ii 通過和dsp builder工具與matlab/simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種dsp應(yīng)用系統(tǒng)。它還支持altera的片上可編程系統(tǒng)(sopc)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。 此外quart

20、us ii對(duì)第三方eda工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方eda工具。 altera的quartus ii可編程邏輯軟件屬于第四代pld開發(fā)平臺(tái),該平臺(tái)支持一個(gè)工作組環(huán)境下的設(shè)計(jì)要求,其中包括支持基于internet的協(xié)作設(shè)計(jì)。quartus平臺(tái)與cadence、exemplarlogic、 mentorgraphics、synopsys和synplicity等eda供應(yīng)商的開發(fā)工具相兼容。改進(jìn)了軟件的logiclock模塊設(shè)計(jì)功能,增添 了fastfit編譯選項(xiàng),推進(jìn)了網(wǎng)絡(luò)的編輯功能,而且提高了調(diào)試能力。第2章 設(shè)計(jì)整體概述 2.1 設(shè)計(jì)方案自動(dòng)打鈴是一種現(xiàn)代提醒

21、工具,有著廣泛的應(yīng)用。例如學(xué)校的上課鈴聲,每天在既定的時(shí)間響鈴,就是是自動(dòng)打鈴系統(tǒng)的具體應(yīng)用。打鈴系統(tǒng)設(shè)置從早上的8點(diǎn)開始計(jì)時(shí)打鈴,每隔一個(gè)小時(shí)鈴聲持續(xù)響30秒,這樣一直持續(xù)到下午的17點(diǎn)。17點(diǎn)以后再出現(xiàn)的打鈴間隔時(shí)間,鈴聲也不會(huì)再響起,直到第二天的早晨重新開始從8點(diǎn)正常計(jì)時(shí)響鈴。利用if語(yǔ)句控制打鈴的時(shí)間,在規(guī)定的時(shí)間內(nèi)到打設(shè)既定的打鈴間隔時(shí)間時(shí)給出一個(gè)30秒的高電平脈沖,讓鈴聲連續(xù)響起。此外還要增加一個(gè)校時(shí)模塊,因?yàn)闀r(shí)鐘都會(huì)存在計(jì)時(shí)誤差,所以增加一個(gè)校時(shí)模塊也是為了調(diào)整準(zhǔn)確的時(shí)間,功能驗(yàn)證時(shí)也可以調(diào)至鈴聲響起的前一分鐘,檢測(cè)打鈴功能是否正確。其具體實(shí)現(xiàn)如下:(1) 每隔一個(gè)小時(shí)打鈴一次,

22、但是不能讓鈴聲一直響,給一個(gè)控制打鈴時(shí)間的功能,讓打鈴響起30秒后停止。即到打鈴時(shí)間是會(huì)給出一個(gè)30秒的高電平脈沖。(2) 因?yàn)樽詣?dòng)打鈴系統(tǒng)不是24小時(shí)都在計(jì)時(shí)打鈴,在晚上的時(shí)候會(huì)停止打鈴功能。即設(shè)定打鈴系統(tǒng)只在早上8點(diǎn)至下午17點(diǎn)的時(shí)間段內(nèi)在規(guī)定的時(shí)間內(nèi)響鈴。其他時(shí)間自動(dòng)打鈴系統(tǒng)處于休眠狀態(tài)。(3) 增加一個(gè)自動(dòng)校時(shí)模塊,可以進(jìn)行校時(shí),還可以使打鈴模塊盡快到鈴聲響起的前一分鐘。(4) 顯示模塊是讓時(shí)鐘信號(hào)在實(shí)驗(yàn)箱上的八個(gè)數(shù)碼管上顯示,將打鈴響起的時(shí)間顯示在數(shù)碼管上,調(diào)分時(shí)對(duì)應(yīng)的led1指示燈亮,按k2鍵可以在數(shù)碼管上看到分在增加。同樣調(diào)時(shí)時(shí)對(duì)應(yīng)的led2指示燈亮,按k2鍵可以讓時(shí)增加。讓計(jì)時(shí)

23、模塊重新回到正常計(jì)時(shí),只要兩個(gè)按鍵的指示燈不亮狀態(tài)就可以正常計(jì)時(shí),否則指示燈亮計(jì)數(shù)器就不能正常計(jì)時(shí),即秒到59時(shí)不會(huì)網(wǎng)分上進(jìn)位。(5) 整個(gè)時(shí)鐘系統(tǒng)中,秒、分是60進(jìn)制計(jì)數(shù)器,由二進(jìn)制數(shù)7位表示。而時(shí)是24進(jìn)制計(jì)數(shù)器,僅需要5位二進(jìn)制碼就可以表示。2.2 設(shè)計(jì)原理圖在整個(gè)系統(tǒng)設(shè)計(jì)中,應(yīng)用到的模塊有秒計(jì)時(shí)模塊、分計(jì)時(shí)模塊、時(shí)計(jì)時(shí)模塊、校時(shí)模塊和顯示器模塊。系統(tǒng)框圖如圖2.1所示: clk 顯示打鈴模塊sec6.0min6.0hour6.0clk sec模塊 clkclk校時(shí)模塊 minfen shi hour min模塊 hour模塊 k1 k2圖2.1 系統(tǒng)框圖2.3 設(shè)計(jì)流程圖時(shí)計(jì)時(shí)秒計(jì)時(shí)分

24、計(jì)時(shí)開始 顯示打鈴模塊k1、k2 圖2.2 自動(dòng)打鈴的設(shè)計(jì)流程圖第3章 各模塊設(shè)計(jì)分析3.1 計(jì)數(shù)器模塊計(jì)數(shù)器模塊包括秒計(jì)數(shù)器模塊、分計(jì)數(shù)模塊、時(shí)計(jì)數(shù)模塊以及功能按鍵的設(shè)計(jì)。給定固定頻率的時(shí)鐘信號(hào),輸入計(jì)數(shù)60秒的秒計(jì)數(shù)器模塊電路,等待計(jì)數(shù)到60秒的瞬間,進(jìn)位至60分的分計(jì)數(shù)器模塊電路加1后,秒計(jì)數(shù)器電路同時(shí)清為零重新計(jì)時(shí)。分計(jì)數(shù)器模塊電路與秒計(jì)數(shù)器模塊電路功能類似,當(dāng)分計(jì)時(shí)模塊計(jì)時(shí)到60分的瞬間時(shí)計(jì)時(shí)模塊電路加1,分計(jì)時(shí)模塊清為零重新進(jìn)行計(jì)時(shí)。時(shí)計(jì)時(shí)模塊與秒、分計(jì)時(shí)模塊類似,當(dāng)來自分計(jì)時(shí)模塊的進(jìn)位達(dá)到24瞬間,時(shí)計(jì)數(shù)器模塊清為零,再?gòu)牧氵M(jìn)行計(jì)時(shí)。這樣秒、分、時(shí)計(jì)時(shí)模塊依次進(jìn)行計(jì)時(shí)完成24進(jìn)制

25、的計(jì)時(shí)功能。3.1.1 秒和分計(jì)數(shù)器模塊秒計(jì)時(shí)模塊和分計(jì)數(shù)器模塊都為60進(jìn)制的計(jì)數(shù)器,其代碼為:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second isport(clk:in std_logic;q1,q2:out std_logic_vector(3 downto 0);c:out std_logic);end entity second;architecture art of second issignal q11,q22:std_logic_vector(3 down

26、to 0);beginprocess(clk)beginif clk'event and clk='1' then q11<=q11+'1'if q11=9 and q22/=5 then q11<="0000" q22<=q22+'1'end if;if q22=5 and q11=9 then q22<="0000" q11<="0000" c<='1'else c<='0'end if;end if;

27、end process;q1<=q11;q2<=q22;end architecture art;秒和分計(jì)時(shí)模塊編譯完成后生成的秒的元器件為圖3.1、3.2所示 圖3.1 秒模塊的元器件 圖3.2 分計(jì)時(shí)模塊的元器件給定輸入信號(hào)進(jìn)行波形仿真得到秒、分計(jì)時(shí)模塊的波形仿真如圖3.3圖3.3 秒、分計(jì)數(shù)器模塊的輸出仿真波形模塊說明:由仿真波形圖可以看出,當(dāng)秒或分計(jì)時(shí)到59時(shí),給c一個(gè)高電平脈沖,即分或時(shí)計(jì)時(shí)模塊加1,秒或分計(jì)時(shí)模塊清零后開始重新計(jì)時(shí)。3.1.2 時(shí)計(jì)數(shù)器模塊時(shí)計(jì)數(shù)器模塊為24進(jìn)制的計(jì)數(shù)器,其代碼為:library ieee;use ieee.std_logic_1164.

28、all;use ieee.std_logic_unsigned.all;entity hour isport(clk:in std_logic; q1,q2:out std_logic_vector(3 downto 0);end entity hour;architecture art of hour issignal q11,q22:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' then q11<=q11+'1'if q11=9 then

29、q11<="0000" q22<=q22+'1'end if;if q22=2 and q11=3 then q22<="0000" q11<="0000"end if;end if;end process;q1<=q11;q2<=q22;end architecture art;時(shí)計(jì)時(shí)模塊編譯通過后生成的時(shí)計(jì)時(shí)模塊的元器件如圖3.4所示 圖3.4時(shí)計(jì)時(shí)模塊的元器件圖時(shí)計(jì)時(shí)模塊采用24進(jìn)制的計(jì)時(shí)器模式,輸出仿真波形為圖3.5:圖3.5 時(shí)計(jì)時(shí)模塊的仿真波形模塊說明:由仿真波形圖可以看

30、出,當(dāng)時(shí)計(jì)數(shù)到23時(shí)時(shí)計(jì)數(shù)器模塊清零后,再重新開始從0時(shí)計(jì)時(shí)。3.2 計(jì)時(shí)校時(shí)模塊計(jì)時(shí)校時(shí)模塊的代碼為:library ieee;use ieee.std_logic_1164. all;use ieee.std_logic_unsigned.all;entity jiaoshi isport(sec,min:in std_logic; -調(diào)時(shí)模塊的輸入信號(hào) k1,k2:in std_logic; -調(diào)時(shí)模塊的控制,調(diào)時(shí)信號(hào)輸入 fen,shi:out std_logic; -各計(jì)數(shù)器的輸入時(shí)鐘信號(hào) led1,led2:out std_logic); -工作模式顯示燈的控制信號(hào)end enti

31、ty jiaoshi;architecture art of jiaoshi issignal a:std_logic_vector(1 downto 0);beginprocess(k1,k2)begin if k1'event and k1='1' then a<=a+1; if a=2 then a<="00" end if; end if;case a is when "00"=>fen<=sec;shi<=min; - 模式0正常計(jì)時(shí) led1<='0'led2<

32、='0' when "01"=>fen<=k2;shi<='0' -模式1,分模塊,調(diào)分 led1<='1'led2<='0'when "10"=>fen<='0'shi<=k2; -模式2,時(shí)模塊,調(diào)時(shí) led1<='0'led2<='1'when others=>null;end case;end process;end architecture art;計(jì)時(shí)校時(shí)模塊編譯通過

33、后,生成校時(shí)模塊的元器件,計(jì)時(shí)校時(shí)模塊的元器件圖為圖3.6:圖3.6計(jì)時(shí)校時(shí)模塊的元器件給定輸入信號(hào)后校時(shí)模塊的輸出仿真波形如圖3.7所示:圖3.7計(jì)時(shí)校時(shí)模塊的仿真波形模塊說明:由仿真波形可以看出,k1鍵是控制調(diào)時(shí)調(diào)分按鍵,按一下k1鍵系統(tǒng)處于調(diào)分狀態(tài),并且led1燈常亮即提示此時(shí)處于調(diào)分狀態(tài),再按k2鍵對(duì)分進(jìn)行加時(shí)。若再次按k1鍵系統(tǒng)就會(huì)處于調(diào)時(shí)狀態(tài),此時(shí)led2燈常亮。按k2鍵系統(tǒng)就會(huì)對(duì)時(shí)進(jìn)行加時(shí)作用。等分別對(duì)系統(tǒng)進(jìn)行調(diào)時(shí)、調(diào)分后要讓系統(tǒng)處于正常計(jì)時(shí)狀態(tài),再次按k1鍵使指示燈led1、led2都不亮的情況下系統(tǒng)才會(huì)正常計(jì)時(shí)。由仿真波形圖可知,此時(shí)所調(diào)的時(shí)間為2:02分。3.3 打鈴功能模

34、塊打鈴功能模利用if語(yǔ)句實(shí)現(xiàn)時(shí)間控制,在預(yù)設(shè)的鈴聲響起的時(shí)間給c一段連續(xù)的30秒的高電平,30秒的高電平控制是用if語(yǔ)句判斷秒計(jì)數(shù)器的計(jì)數(shù)實(shí)現(xiàn)的。打鈴功能模塊的代碼為:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ring isport(s1,s2,min1,min2,h1,h2:in std_logic_vector(3 downto 0); clk,clk1:in std_logic; c:out std_logic; q1,q2,q3,q4,q5,q6:out std_log

35、ic_vector(3 downto 0);end entity ring;architecture art of ring issignal q11:std_logic_vector(7 downto 0);signal q22:std_logic_vector(7 downto 0);signal q33:std_logic_vector(7 downto 0);signal q44:std_logic_vector(7 downto 0);constant js:integer:=29;beginq11<=s2 & s1;q33<=h2 & h1;q22<

36、;=min2 & min1;q6<=h2;q5<=h1;q4<=min2;q3<=min1;q2<=s2;q1<=s1; process(clk) begin if clk'event and clk='1' then if (q33="00001000" and q22="00000000" and (q11>="00000000" and q11<"00110000") then c<=1; elsif (q33="

37、00001001" and q22="00000000" and (q11>="00000000" and q11<"00110000") then c<=1; elsif (q33="00010000" and q22="00000000" and (q11>="00000000" and q11<"00110000") then c<=1; elsif (q33="00010001" a

38、nd q22="00000000" and (q11>="00000000" and q11<"00110000")then c<=1; elsif (q33="00010010" and q22="00000000" and (q11>="00000000" and q11<"00110000")then c<=1; elsif (q33="00010011" and q22="00000

39、000" and (q11>="00000000" and q11<"00110000") then c<=1; elsif (q33="00010100" and q22="00000000" and (q11>="00000000" and q11<"00110000") then c<=1; elsif (q33="00010101" and q22="00000000" and (q

40、11>="00000000" and q11<"00110000") then c<=1; elsif (q33="00010110" and q22="00000000" and (q11>="00000000" and q11<"00110000")then c<=1; elsif (q33="00010111" and q22="00000000" and (q11>="0000

41、0000" and q11<"00110000")then c<=1; else c<='0' end if; end if; end process;end architecture art; 打鈴模塊通過編譯后生成的打鈴模塊的元器件如圖3.8所示:圖3.8 打鈴模塊的元器件 打鈴模塊的輸出波形仿真圖入圖3.9所示圖3.9 打鈴模塊的輸出波形仿真由波形仿真圖可以看出,在8:00和9:00時(shí)c都輸出了段時(shí)間的高電平,即自己預(yù)先設(shè)定的30秒時(shí)間??梢钥闯?,在18:00時(shí)雖然也是預(yù)先設(shè)定鈴聲該響起的時(shí)間,但是并沒有給出一個(gè)高電平脈沖。

42、但鈴聲不再響起,實(shí)現(xiàn)了預(yù)想的功能。3.4 頂層設(shè)計(jì)及原理圖頂層模塊說明:頂層設(shè)計(jì)即把電路的各個(gè)模塊放在一個(gè)頂層模塊中,建立一個(gè)top頂層文件,在這個(gè)模塊中分別完成每一個(gè)模塊的編譯,統(tǒng)一設(shè)定結(jié)束時(shí)間為40us。在完成單個(gè)模塊編譯前先把這個(gè)模塊置頂,成為活動(dòng)窗口,否則就找不到對(duì)應(yīng)的模塊,就會(huì)出錯(cuò)。但一定要注意,整個(gè)模塊的名一定為top,而且每個(gè)模塊的名稱一定要用英文命名。在一個(gè)單獨(dú)的模塊編譯通過時(shí)要生成元器件,以便在之后的頂層文件畫電路圖時(shí)用到該元器件。等各個(gè)模塊都編譯完成后,進(jìn)行各模塊的連接,將每個(gè)模塊按照其所要實(shí)現(xiàn)的功能進(jìn)行連接起來,然后進(jìn)行引腳設(shè)定,設(shè)定后的頂層模塊的電路圖如圖3.10所示:

43、圖3.10頂層模塊的電路圖頂層設(shè)計(jì)的波形仿真:首先給一個(gè)clk脈沖,按一下k1鍵計(jì)數(shù)器處于調(diào)分狀態(tài),接著按k2鍵59下調(diào)至59分,再次按鍵k1鍵,此時(shí)計(jì)數(shù)器處于調(diào)時(shí)狀態(tài),按k2鍵7下將時(shí)調(diào)至7點(diǎn),此時(shí)時(shí)間為7:59分。讓整個(gè)計(jì)時(shí)器模塊從07:59分開始計(jì)時(shí),等待打鈴時(shí)間的到來,但是要讓計(jì)數(shù)器正常計(jì)時(shí)還必須按鍵k1鍵使計(jì)時(shí)處于正常計(jì)時(shí)狀態(tài)。其自動(dòng)打鈴系統(tǒng)的功能仿真波形如圖3.11所示:圖3.11 自動(dòng)打鈴系統(tǒng)的輸出波形仿真圖 模塊說明:由仿真波形可以看出到7點(diǎn)59分時(shí)給c一段連續(xù)時(shí)間的高電平,由圖清楚的看到直到29秒時(shí)c跳為低電平,即高電平持續(xù)時(shí)間正好為30秒,實(shí)現(xiàn)了預(yù)想的響鈴時(shí)間。第4章 引腳

44、設(shè)定與下載驗(yàn)證4.1 引腳設(shè)定首先確定下載驗(yàn)證的電路圖和對(duì)應(yīng)的管腳。驗(yàn)證選擇電路圖為圖4.1,選擇工在作模式3下驗(yàn)證。led7s的輸出顯示在最左一個(gè)數(shù)碼管8上,clk選擇clk0,查附錄芯片引腳對(duì)照表確定對(duì)應(yīng)的每個(gè)管腳。圖4.1 驗(yàn)證實(shí)驗(yàn)電路圖 選擇好在哪種工作模式下工作和查出各個(gè)引腳對(duì)應(yīng)的引腳號(hào)后進(jìn)行引腳鎖定,首先選擇assignments ->pin,出現(xiàn)如圖4.2。圖4.2 引腳鎖定窗口雙擊clk欄的location,確定對(duì)應(yīng)的引腳號(hào),如圖4.3。管腳鎖定后需要重新編譯,選擇processing -> start compilation命令,進(jìn)行編譯。圖4.3 引腳鎖定4.2

45、 下載驗(yàn)證把編程電纜一頭接到計(jì)算機(jī)的并口,一頭接到試驗(yàn)箱的j2接口上。選擇tool -> programmer 命令,彈出如圖窗口,在mode表框中選擇jtag,并選中(打鉤)下載文件右側(cè)的第一個(gè)小方框。在hardware setup表框中選擇byteblasterlpt1,如果顯示“no hardware”,單擊add hardware按鈕,添加byteblasterlpt1。單擊start按鈕即進(jìn)入對(duì)目標(biāo)器件fpga的配置下載。具體如圖4.4所示:圖4.4 下載設(shè)置最后進(jìn)行硬件驗(yàn)證,在試驗(yàn)箱上,按下模式選擇鍵選擇模式顯示為6,把時(shí)鐘clock0短路帽接在1hz上,觀察數(shù)碼管8的輸出。

46、通過試驗(yàn)箱驗(yàn)證,本設(shè)計(jì)能實(shí)現(xiàn)自動(dòng)打鈴的功能??偨Y(jié)本設(shè)計(jì)表明,基于vhdl語(yǔ)言的自動(dòng)打鈴系統(tǒng)設(shè)計(jì)離不開先進(jìn)的eda工具的支持?;趘hdl語(yǔ)言的結(jié)構(gòu)化、層次化的設(shè)計(jì)方法是整個(gè)打鈴系統(tǒng)的主要設(shè)計(jì)方法。為了實(shí)現(xiàn)自動(dòng)打鈴的設(shè)計(jì)要求,在整個(gè)設(shè)計(jì)包括了計(jì)時(shí)器模塊、校時(shí)模塊及顯示打鈴模塊。分和秒計(jì)數(shù)器模塊為60進(jìn)制的計(jì)數(shù)器,時(shí)模塊為24進(jìn)制的計(jì)數(shù)器。計(jì)數(shù)器模塊實(shí)現(xiàn)的是時(shí)鐘計(jì)時(shí)的功能,會(huì)和時(shí)鐘一樣進(jìn)行正常計(jì)時(shí),頻率為1hz。計(jì)時(shí)器在秒計(jì)時(shí)到59秒時(shí)向分進(jìn)位,然后清零后重新開始進(jìn)行60進(jìn)制的計(jì)數(shù)。同樣的,分計(jì)數(shù)器在計(jì)時(shí)到59分時(shí)時(shí)計(jì)數(shù)器會(huì)自動(dòng)的加1。然后分計(jì)數(shù)器清零重新開始分計(jì)時(shí)。而當(dāng)時(shí)計(jì)數(shù)器計(jì)數(shù)到24時(shí),整個(gè)

47、計(jì)數(shù)器模塊都會(huì)全部清零,重新進(jìn)行計(jì)時(shí)。另外增加的校時(shí)模塊式為了調(diào)節(jié)系統(tǒng)時(shí)間,當(dāng)系統(tǒng)時(shí)間和實(shí)際時(shí)間產(chǎn)生較大的誤差時(shí),按在校時(shí)模塊的k1、k2鍵對(duì)系統(tǒng)的分和時(shí)進(jìn)行調(diào)整。當(dāng)系統(tǒng)處于調(diào)分或調(diào)時(shí)狀態(tài)時(shí),系統(tǒng)不會(huì)進(jìn)行正常計(jì)時(shí)。整個(gè)設(shè)計(jì)是實(shí)現(xiàn)自動(dòng)打鈴功能,在預(yù)定的時(shí)間段規(guī)定的時(shí)間內(nèi)鈴聲響起響鈴時(shí)間要在顯示打鈴模塊對(duì)其進(jìn)行控制,增加if判斷語(yǔ)句對(duì)鈴聲進(jìn)行30秒控制。即在鈴聲該響起的時(shí)間連續(xù)給揚(yáng)聲器30秒的高電平,只要揚(yáng)聲器處于高電平期間,揚(yáng)聲器就會(huì)響起。經(jīng)過實(shí)驗(yàn)箱下載驗(yàn)證后揚(yáng)聲器按預(yù)定的要求響起30秒,通過此次實(shí)驗(yàn),我了解了eda強(qiáng)大的硬件功能,通過學(xué)習(xí)vhdl語(yǔ)言,對(duì)系統(tǒng)的各個(gè)模塊進(jìn)行編寫程序、調(diào)試、仿真,

48、到運(yùn)行。最后下載到實(shí)驗(yàn)箱后鈴聲響起。vhdl的強(qiáng)大應(yīng)用功能在以后還需要進(jìn)一步的去學(xué)習(xí)和掌握,自動(dòng)打鈴系統(tǒng)的設(shè)計(jì)只涉及到了eda技術(shù)的一小部分,要想學(xué)得更多東西還要去深入的去挖掘。參考文獻(xiàn)(1)李云、侯傳教、馮永浩.vhdl電路設(shè)計(jì)實(shí)用教程m.2009.第1版.北京機(jī)械工業(yè)出版社(2)陳雪松 、滕立中. vhdl入門與應(yīng)用m.2000.第1版.北京人民郵電出版社(3)趙世霞、譚耀麟.基于vhdl語(yǔ)言的微機(jī)接口電路設(shè)計(jì)m.2010.第1版.北京清華大學(xué)出版社(4)侯伯亨、劉凱、顧新.vhdl硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì)m.2009.第3版。西安電子科技大學(xué)出版社(5)周潤(rùn)景、蘇良碧.基于quar

49、tus ii的數(shù)字系統(tǒng)verilog hdl 設(shè)計(jì)實(shí)例詳解m.2010.第1版.北京電子工業(yè)出版社 附錄 芯片引腳對(duì)照表結(jié)構(gòu)圖上的信號(hào)名gw48-ccp,gwak100aep1k100qc208gw48-soc+/ gw48-dspep20k200/300eqc240gwak30/50ep1k30/50tqc144 gwac3ep1c3tc144引腳號(hào)引腳名稱引腳號(hào)引腳名稱引腳號(hào)引腳名稱引腳號(hào)引腳名稱pio07i/o224i/o08i/o01i/o0pio18i/o225i/o19i/o12i/o1pio817i/o235i/o820i/o811dpclk1pio918i/o236i/o921i/o932vref2b1pio1630i/o7i/o1630i/o1639i/o16pio1731i/o8i/o1731i/o1740i/o17pio1836i/o9i/o1832i/o1841i/o18pio1937i/o10i/o1933i

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論