




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、物聯(lián)網(wǎng)工程112班,姓名 周浩杰(cpld/fpga課程設(shè)計(jì))cpld/fpga課程設(shè)計(jì)項(xiàng)目名稱 基于fpga的彩燈控制 專業(yè)班級 物聯(lián)網(wǎng)工程132班 學(xué)生學(xué)號 2013133043 學(xué)生姓名 指導(dǎo)教師 2016年 6 月15 日摘 要本課程設(shè)計(jì)提出基于fpga的彩燈控制器的設(shè)計(jì)與分析,設(shè)計(jì)由分頻器模塊,數(shù)據(jù)選擇器模塊,彩燈控制模塊組成,基本原理是通過分頻器產(chǎn)生不同頻率時(shí)鐘信號,表示彩燈顯示的快慢,然后通過數(shù)據(jù)選擇器進(jìn)行選擇,進(jìn)而通過彩燈花型控制器顯示不同種類的彩燈花型。本設(shè)計(jì)運(yùn)用運(yùn)用verilog hdl語言在modelsim軟件上進(jìn)行了實(shí)驗(yàn)程序的編譯和波形的仿真,具有代碼簡單易懂,功能易實(shí)
2、現(xiàn)的特點(diǎn),通過不斷地調(diào)試和代碼的多次完善,最終實(shí)現(xiàn)完整的彩燈控制器,達(dá)到了自主設(shè)計(jì)邏輯電路的水平。關(guān)鍵詞:彩燈控制; verilog hdl語言;modelsim軟件 iii物聯(lián)網(wǎng)工程132班,許瀟灑 彩燈控制器的設(shè)計(jì)(cpld/fpga課程設(shè)計(jì))abstractthe curriculum design is proposed based on fpga octal lantern controller design and analysis, design by the frequency divider module, data selector module lantern contr
3、ol module, the basic principle is through a frequency divider generated clock signal with different frequency and express the lantern display of speed, then through the data selector, and then through the lantern flower type controller display lights in different kinds of flowers. this design by usi
4、ng verilog hdl language in the modelsim software of experimental program compiling and waveform simulation, with easy to understand code, function is easy to realize the characteristics by continuous debugging and code improved several times, and ultimately complete the lantern controller, up to the
5、 level of the independent design of logic circuit.摘要和目錄統(tǒng)一編頁碼:為,keywords: the lantern controller; verilog hdl language ; the modelsim softwareiv目 錄摘 要iabstractii第一章 緒論11.1 課題背景11.2 彩燈控制的實(shí)際研究意義3第二章 彩燈控制相關(guān)模塊的設(shè)計(jì)以及原理42.1 總體設(shè)計(jì)42.1.1 方案比較42.1.2 方案論述52.1.3 方案選擇52.2 相關(guān)模塊52.2.1 時(shí)鐘信號模塊52.2.2 節(jié)拍快慢控制模塊62.2.3 彩燈控
6、花型控制模塊6第三章 彩燈控制的軟件程序設(shè)計(jì)83.1 modelsim軟件介紹83.2 彩燈控制程序設(shè)計(jì)93.2.1 分頻器程序93.2.2 數(shù)據(jù)選擇器程序103.2.3 彩燈花樣程序11第四章 仿真調(diào)試134.1 仿真過程134.2 仿真結(jié)果15結(jié)論19參考文獻(xiàn)20附 錄21致 謝28第一章 緒論1.1 課題背景 1. fpgafpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個(gè)部
7、分。fpga的基本特點(diǎn)主要有:1) 采用fpga設(shè)計(jì)asic電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)fpga可做其它全定制或半定制asic電路的中試樣片。2) 3)fpga內(nèi)部有豐富的觸發(fā)器和io引腳。4)fpga是asic電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。5)fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容??梢哉f,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 2. eda當(dāng)今社會是數(shù)字化的社會,也是數(shù)字集成電路廣泛應(yīng)用的社會,數(shù)字本身在不斷的進(jìn)行更新?lián)Q代。它由早起的電子管、晶體管、小中規(guī)模集成電路發(fā)展到超大規(guī)模集成電路
8、以及許多具有特定功能的專用集成電路。而eda技術(shù)就是以微電子技術(shù)為物理層面,現(xiàn)代電子設(shè)計(jì)為靈魂,計(jì)算機(jī)軟件技術(shù)為手段,最終形成集成電子系統(tǒng)或?qū)S眉呻娐穉sic為目的的一門新興技術(shù)。 eda是電子設(shè)計(jì)自動化(electronic design automation)的縮寫,在20世紀(jì)60年代中期從計(jì)算機(jī)輔助設(shè)計(jì)(cad)、計(jì)算機(jī)輔助制造(cam)、計(jì)算機(jī)輔助測試(cat)和計(jì)算機(jī)輔助工程(cae)的概念發(fā)展而來的。它以計(jì)算機(jī)為工具,設(shè)計(jì)者在eda軟件平臺上,用硬件描述語言vhdl完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編
9、譯、邏輯映射和編程下載等工作。eda技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動強(qiáng)度。eda技術(shù)(即electronic design automation技術(shù))就是依賴強(qiáng)大的計(jì)算機(jī),在eda工具軟件平臺上,對以硬件描述語言hdl(hardware description language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動的完成邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。他在硬件實(shí)現(xiàn)方面融合了大規(guī)模集成電路制造技術(shù)、ic版圖設(shè)計(jì)、asic測試和封裝、fpga(field programme gate array)cp
10、ld(complex programme logic device)編程下載和自動測試等技術(shù):在計(jì)算機(jī)輔助工程方面融合了計(jì)算機(jī)輔助設(shè)計(jì)(cad),計(jì)算機(jī)輔助制造(cam),計(jì)算機(jī)輔助測試(cat),計(jì)算機(jī)輔助工程(cae)技術(shù)以及多種計(jì)算機(jī)語言的設(shè)計(jì)概念;而在現(xiàn)代電子學(xué)方面則容納了更多的內(nèi)容,如電子線路設(shè)計(jì)理論、數(shù)字信號處理技術(shù)、數(shù)字系統(tǒng)建模和優(yōu)化技術(shù)及長線技術(shù)理論等。 硬件描述語言hdl是eda技術(shù)的重要組成部分,常見的hdl主要有vhdl、verilog hdl、abel、ahdl、system verilog和system c。其中vhdl、verilog hdl和現(xiàn)在的eda設(shè)計(jì)中使用
11、最多,并且我們學(xué)習(xí)的是verilog的編程方法及實(shí)用技術(shù)。 3.verilog hdlverilog hdl是一種硬件描述語言(hdl:hardware discription language),是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言。verilog hdl就是在用途最廣泛的c語言的基礎(chǔ)上發(fā)展起來的一種件描述語言,它是由gda(gateway design automation)公司的philmoorby在1983年末首創(chuàng)的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。1985年moorby推出它的第三個(gè)商用仿真器verilog-xl,獲得了巨
12、大的成功,從而使得verilog hdl迅速得到推廣應(yīng)用。1989年cadence公司收購了gda公司,使得veriloghdl成為了該公司的獨(dú)家專利。1990年cadence公司公開發(fā)表了verilog hdl,并成立lvi組織以促進(jìn)verilog hdl成為ieee標(biāo)準(zhǔn),即ieee standard 1364-1995。用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。verilog hdl的最大特點(diǎn)就是易學(xué)易用,如果有c語言的編程經(jīng)驗(yàn),可以在一個(gè)較短的時(shí)間內(nèi)很快的學(xué)習(xí)和掌握,因而可以把verilog hdl內(nèi)容安排在與asic設(shè)計(jì)等相關(guān)課程內(nèi)部進(jìn)行講授,由于hd
13、l語言本身是專門面向硬件與系統(tǒng)設(shè)計(jì)的,這樣的安排可以使學(xué)習(xí)者同時(shí)獲得設(shè)計(jì)實(shí)際電路的經(jīng)驗(yàn)。與之相比,vhdl的學(xué)習(xí)要困難一些。但verilog hdl較自由的語法,也容易造成初學(xué)者犯一些錯(cuò)誤,這一點(diǎn)要注意。 下面列出的是 verilog 硬件描述語言的主要能力: (1)基本邏輯門,例如 and 、 or 和 nand 等都內(nèi)置在語言中。 (2)用戶定義原語( udp )創(chuàng)建的靈活性。用戶定義的原語既可以是組合邏輯原語,也可以是時(shí)序邏輯原語。 (3)開關(guān)級基本結(jié)構(gòu)模型,例如 pmos 和 nmos 等也被內(nèi)置在語言中。 (4)提供顯式語言結(jié)構(gòu)指定設(shè)計(jì)中的端口到端口的時(shí)延及路徑時(shí)延和設(shè)計(jì)的時(shí)序檢查。
14、 (5)可采用三種不同方式或混合方式對設(shè)計(jì)建模。這些方式包括:行為描述方式 使用過程化結(jié)構(gòu)建模;數(shù)據(jù)流方式 使用連續(xù)賦值語句方式建模;結(jié)構(gòu)化方式 使用門和模塊實(shí)例語句描述建模。 verilog hdl 中有兩類數(shù)據(jù)類型:線網(wǎng)數(shù)據(jù)類型和寄存器數(shù)據(jù)類型。線網(wǎng)類型表示構(gòu)件間的物理連線,而寄存器類型表示抽象的數(shù)據(jù)存儲元件。能夠描述層次設(shè)計(jì),可使用模塊實(shí)例結(jié)構(gòu)描述任何層次。設(shè)計(jì)的規(guī)??梢允侨我獾模徽Z言不對設(shè)計(jì)的規(guī)模(大?。┦┘尤魏蜗拗?。 verilog hdl 不再是某些公司的專有語言而是 ieee 標(biāo)準(zhǔn)。 人和機(jī)器都可閱讀 verilog 語言,因此它可作為 eda 的工具和設(shè)計(jì)者之間的交互語言。 v
15、erilog hdl 語言的描述能力能夠通過使用編程語言接口( pli )機(jī)制進(jìn)一步擴(kuò)展。 pli 是允許外部函數(shù)訪問 verilog 模塊內(nèi)信息、允許設(shè)計(jì)者與模擬器交互的例程集合。 設(shè)計(jì)能夠在多個(gè)層次上加以描述,從開關(guān)級、門級、寄存器傳送級( rtl )到算法級,包括進(jìn)程和隊(duì)列級。能夠使用內(nèi)置開關(guān)級原語在開關(guān)級對設(shè)計(jì)完整建模。 同一語言可用于生成模擬激勵和指定測試的驗(yàn)證約束條件,例如輸入值的指定。 verilog hdl 能夠監(jiān)控模擬驗(yàn)證的執(zhí)行,即模擬驗(yàn)證執(zhí)行過程中設(shè)計(jì)的值能夠被監(jiān)控和顯示。這些值也能夠用于與期望值比較,在不匹配的情況下,打印報(bào)告消息。 在行為級描述中, verilog hd
16、l 不僅能夠在 rtl 級上進(jìn)行設(shè)計(jì)描述,而且能夠在體系結(jié)構(gòu)級描述及其算法級行為上進(jìn)行設(shè)計(jì)描述。能夠使用門和模塊實(shí)例化語句在結(jié)構(gòu)級進(jìn)行結(jié)構(gòu)描述。verilog hdl 的混合方式建模能力,即在一個(gè)設(shè)計(jì)中每個(gè)模塊均可以在不同設(shè)計(jì)層次上建模。 verilog hdl 還具有內(nèi)置邏輯函數(shù),例如 & (按位與)和 | (按位或)。對高級編程語言結(jié)構(gòu),例如條件語句、情況語句和循環(huán)語句,語言中都可以使用。 可以顯式地對并發(fā)和定時(shí)進(jìn)行建模。提供強(qiáng)有力的文件讀寫能力。語言在特定情況下是非確定性的,即在不同的模擬器上模型可以產(chǎn)生不同的結(jié)果;例如,事件隊(duì)列上的事件順序在標(biāo)準(zhǔn)中沒有定義。1.2 項(xiàng)目的實(shí)際研究意義在
17、經(jīng)濟(jì)和商業(yè)高度發(fā)達(dá)的今天,彩燈已經(jīng)成為人民日常生活不可或缺的一部分,已經(jīng)逐漸為越來越多的人們所關(guān)注,在家庭中的普及率不斷提高,大大的豐富和點(diǎn)綴了人民的生活。彩燈由不同的顏色的led燈組成,通過控制不同顏色的燈的亮與滅,呈現(xiàn)給人們不同的花塑和圖案,極大的點(diǎn)綴了單調(diào)的都市夜景,讓城市成為了多姿多彩的不夜城。因此八路彩燈控制器的設(shè)計(jì)具有現(xiàn)實(shí)意義。verilog hdl是一種應(yīng)用較為廣泛的hdl語言,能對范圍廣泛的各種復(fù)雜的網(wǎng)絡(luò)在不同的抽象級加以描述,而且在整個(gè)設(shè)計(jì)過程中可使用同一種語言。采用verilog hdl作為hdl綜合設(shè)計(jì)的優(yōu)點(diǎn)有:標(biāo)準(zhǔn)語言,即設(shè)計(jì)者可在不同環(huán)境下進(jìn)行設(shè)計(jì);仿真和綜合均可采用
18、同一種語言進(jìn)行;verilog hdl中提供的大量的資源模塊,簡化了設(shè)計(jì)者的開發(fā)工作;由verilog hdl描述的源文件既是程序文件又可作為設(shè)計(jì)的文檔。第2章 彩燈控制的相關(guān)模塊以及原理2.1 總體方案設(shè)計(jì)彩燈控制器的核心設(shè)計(jì)部分是彩燈花型的控制模塊,顯示部分相對比較容易。分頻器的設(shè)計(jì)方法多種多樣,本設(shè)計(jì)的是比較常見的一種。外接clk為始終輸入基準(zhǔn)信號,彩燈節(jié)奏的快慢用選擇開關(guān)select1:0。如圖2.1所示總體框圖。 圖2.1彩燈總體框圖2.1.1 方案比較該設(shè)計(jì)主要是以fpga為基礎(chǔ),通過硬件描述語言verilog hdl靈活多變的改變彩燈顯示的花型以及寬快慢,對此這幾了以下兩個(gè)方案。
19、方案一:總體電路共分三大塊。第一塊實(shí)現(xiàn)時(shí)鐘信號的產(chǎn)生;第二塊實(shí)現(xiàn)花型的控制及節(jié)拍控制;第三塊實(shí)現(xiàn)花型的演示。主題框圖如圖2.2所示。圖2.2彩燈設(shè)計(jì)框圖 方案二:在方案一的基礎(chǔ)上將整體電路分為四個(gè)模塊。第一塊實(shí)現(xiàn)花型的演示;第二塊實(shí)現(xiàn)花型的控制;第三塊實(shí)現(xiàn)節(jié)拍快慢控制;第四塊實(shí)現(xiàn)時(shí)鐘信號的產(chǎn)生。并在部分電路的設(shè)計(jì)上與方案一采用了完全不同的方法,如花型的控制。如圖2.3所示。 圖2.3彩燈模塊化框圖2.1.2 方案論述方案一與方案二最大的不同就在,前者將花型控制與節(jié)拍控制兩種功能融合在一起,是考慮到只要計(jì)數(shù)器就可以實(shí)現(xiàn)其全部功能的原因,且原理相對簡單。這樣設(shè)計(jì),其優(yōu)點(diǎn)在于:設(shè)計(jì)思想比較簡單。元件
20、種類使用少,且都較熟悉易于組裝電路。缺點(diǎn)則是:中間單元電路連線過于繁多,容易出錯(cuò)。且可能出現(xiàn)線與關(guān)系。要避免這些,則勢必造成門電路使用過多。導(dǎo)致電路不穩(wěn)定,抗干擾能力下降。而后者則將以上兩種功能分開設(shè)計(jì),各單元電路只實(shí)現(xiàn)一種功能。其優(yōu)點(diǎn)在于:電路設(shè)計(jì)模塊化,易于檢查電路,對后面的電路組裝及電路調(diào)試帶來方便。缺點(diǎn)則是:節(jié)拍控制電路采用可編輯邏輯電路,原理相對復(fù)雜,不易理解?;ㄐ涂刂齐娐泛唵?,花型也比較簡單。2.1.2 方案選擇方案一主要設(shè)計(jì)過程簡單明了,而且花型控制和快慢結(jié)合在一起,用一個(gè)計(jì)數(shù)器就能而過輕松地實(shí)現(xiàn)功能,但是細(xì)節(jié)太多容易出錯(cuò)。方案二雖然多了一個(gè)步驟,但是每個(gè)模塊只完成一個(gè)功能,相對
21、更容易上手。所以基于以上原因,加上為了確保短時(shí)間內(nèi)完成課程設(shè)計(jì),我選擇了連線少,易于調(diào)試的方案二。2.2 相關(guān)模塊本實(shí)驗(yàn)?zāi)K主要有時(shí)鐘信號模塊,節(jié)拍快慢控制模塊,彩燈花型控制模塊。2.2.1 時(shí)鐘信號模塊時(shí)鐘信號控制模塊的主要功能是將輸出的標(biāo)準(zhǔn)時(shí)鐘進(jìn)行分頻,以此控制八路彩燈的快慢節(jié)奏變化。時(shí)鐘信號控制在本設(shè)計(jì)中起著至關(guān)重要的作用,它以彩燈閃動快慢節(jié)奏的變化實(shí)現(xiàn)了八路彩燈絢麗多彩的花型節(jié)奏變化。時(shí)鐘控制是整個(gè)設(shè)計(jì)中的一個(gè)分模塊,它的設(shè)計(jì)對八路彩燈控制器的順利完成起著決定性作用。對時(shí)鐘控制程序封裝如圖3.1所示。 圖2.4分頻器模塊2.2.2 節(jié)拍快慢控制模塊節(jié)拍快慢控制模塊即一個(gè)4選1數(shù)據(jù)選擇器
22、,它的功能是將分頻器分出來的四個(gè)時(shí)鐘信號通過我們外部輸入而選擇其中一個(gè)輸出到下一個(gè)模塊中,這樣就可以控制彩燈顯示的快慢。它的真值表如表3.1所示。 表2.5 4選1數(shù)據(jù)選擇器真值表select1:0輸出00out101out210out311out44選1數(shù)據(jù)選擇器和封裝模型分別如下:圖2.6數(shù)據(jù)選擇模塊2.2.3 彩燈花樣控制模塊彩燈控制模塊是整個(gè)設(shè)計(jì)的核心,彩燈控制模塊能夠進(jìn)行彩燈圖案的控制,它負(fù)責(zé)整個(gè)設(shè)計(jì)的輸出效果即各種彩燈圖案的樣式變化。在仿真時(shí)序中高電平代表燈亮,低電平代表燈滅,由高低電平按不同規(guī)律組合就代表不同的花型,同時(shí)選擇不同的頻率,從而實(shí)現(xiàn)多種圖案多種頻率的花樣功能顯示。此時(shí)
23、verilg hdl硬件描述語言的優(yōu)勢就展現(xiàn)出來,使用者可以按自己的需求改變源程序從而改變顯示的花型,而不用更換顯示設(shè)備,這樣不但經(jīng)濟(jì)而且環(huán)保。程序封裝圖如圖所示。 圖2.7彩燈控制系統(tǒng)程序封裝圖第三章 彩燈控制的軟件程序設(shè)計(jì)學(xué)習(xí)分頻器,數(shù)據(jù)選擇器的工作原理,熟悉modelsim軟件應(yīng)用環(huán)境,了解實(shí)驗(yàn)流程,并會用modelsim功能進(jìn)行仿真。通過編寫簡單的verilog 代碼,并在modelsim中進(jìn)行調(diào)試和驗(yàn)證,并以此來學(xué)習(xí)彩燈控制的設(shè)計(jì)。3.1 modelsim軟件介紹mentor公司的modelsim是業(yè)界最優(yōu)秀的hdl語言仿真軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持vhdl
24、和verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、tcl/tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺無關(guān),便于保護(hù)ip核,個(gè)性化的圖形界面和用戶接口,為用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是fpga/asic設(shè)計(jì)的首選仿真軟件。modelsim是工業(yè)界最優(yōu)秀的語言仿真器,它提供最友好的調(diào)試環(huán)境,是作fpga、asic設(shè)計(jì)的rtl級和門級電路仿真的首選。它支持pc和unix、linux平臺,是單一內(nèi)核支持vhdl和verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、tcl/tk技術(shù)、和單一內(nèi)核仿真,編譯仿真速度業(yè)界最快,編譯的代碼與平臺無關(guān),便于保護(hù)ip核,具有個(gè)性
25、化的圖形界面和用戶接口,為用戶加快調(diào)試提供強(qiáng)有力的手段。全面支持vhdl和verilog語言的ieee標(biāo)準(zhǔn),以及ieeevital1076.495標(biāo)準(zhǔn),支持c語言功能調(diào)用,c的模型,基于swift的smartmodel邏輯模型和硬件模型。主要特點(diǎn): rtl和門級優(yōu)化,本地編譯結(jié)構(gòu),編譯仿真速度快,跨平臺跨版本仿真; 單內(nèi)核vhdl和verilog混合仿真; 源代碼模版和助手,項(xiàng)目管理; 集成了性能分析、波形比較、代碼覆蓋、數(shù)據(jù)流chasex、signal spy、虛擬對象virtual object、memory窗口、assertion窗口、源碼窗口顯示信號值、信號條件斷點(diǎn)等眾多調(diào)試功能; c
26、和tcl/tk接口,c調(diào)試; 對systemc的直接支持,和hdl任意混合; 支持systemverilog的設(shè)計(jì)功能; 對系統(tǒng)級描述語言的最全面支持,systemverilog,systemc,psl; asic sign off。 可以單獨(dú)或同時(shí)進(jìn)行行為(behavioral)、rtl級、和門級(gate-level)的代碼。 仿真簡介:仿真分為三種類型,即功能仿真、綜合后功能仿真和時(shí)序仿真,分別對應(yīng)于設(shè)計(jì)輸入后、綜合完成后、布局布線完成后等步驟,這些步驟也是仿真的切入點(diǎn)。(1). 功能仿真:也稱前仿真,主旨在于驗(yàn)證電路功能是否符合設(shè)計(jì)要求,其特點(diǎn)是不考慮電路門延時(shí)與路徑延時(shí),考察重點(diǎn)為電
27、路在理想環(huán)境下的行為和設(shè)計(jì)構(gòu)想是否一致??删C合fpga仿真代碼是用rtl門級代碼語言藐視的,功能仿真的輸入是設(shè)計(jì)的rtl代碼,也就是hdl源文件與testbench。(2). 結(jié)果。綜合后仿真的輸入是從綜合得到的一般性邏輯網(wǎng)表抽象出的仿真模型和綜合產(chǎn)生的延時(shí)文件,綜合時(shí)的延時(shí)文件僅僅能估算門延時(shí),而不包含布線延時(shí)信息,所以延時(shí)信息不十分準(zhǔn)確。(3). 時(shí)序仿真:也稱為布局布線后仿真或者后仿真,是指電路已經(jīng)映射到特定的工藝環(huán)境后,綜合考慮電路的路徑延時(shí)與門延時(shí)的影響,驗(yàn)證電路的行為是否能夠在一定時(shí)序條件下滿足設(shè)計(jì)構(gòu)想的功能。時(shí)序仿真的主要目的在于驗(yàn)證電路是否存在時(shí)序違規(guī),其輸入為從布局布線抽象出
28、的門級網(wǎng)表、testbench以及擴(kuò)展名為sdo的標(biāo)準(zhǔn)延時(shí)文件。3.2 彩燈控制程序設(shè)計(jì)彩燈控制程序包括分頻器程序,數(shù)據(jù)選擇器程序,彩燈花樣程序。3.2.1 分頻器程序(1) 分頻器部分源程序注解 module f(reset,clkin,clkout,clkout1,clkout2,clkout3); 此分頻器模塊名為“f”,端口分別為reset,clkin,clkout,clkout1,clkout2,clkout3,其中,reset為復(fù)位端,clkin為輸入的時(shí)鐘信號clkout,clkout1, clkout2,clkout3,為輸出端。此模塊的功能是將時(shí)鐘信號的頻率進(jìn)行分頻,分別為4
29、分頻,8分頻,16分頻,32分頻。 always(posedge reset or posedge clkin) if(reset) begin cnt=0; clkout=0; end /當(dāng)reset,clkin上升沿來臨時(shí)進(jìn)行復(fù)位 always(posedge reset or posedge clkin) clkout=clkout;/將clkin二分,即clkout為四分頻 always(posedge reset or posedge clkout) clkout1=clkout1;/將clkout二分,即clkout為8分頻 always(posedge reset or pose
30、dge clkout1) clkout2=clkout2;/將clkout1二分,即clkout2為16分頻 always(posedge reset or posedge clkout2)clkout3=clkout3;/將clkout2二分,即clkout3為32分頻由在verilog語言中,always塊為過程快, 多個(gè)過程快同時(shí)進(jìn)行, 則相當(dāng)于同時(shí)產(chǎn)生了4種波形, clkout是對基準(zhǔn)時(shí)鐘的4分頻,clkout1是對基準(zhǔn)時(shí)鐘的8分頻,clkout2是對基準(zhǔn)時(shí)鐘的16分頻,clkout3是對基準(zhǔn)時(shí)鐘的32分頻。 (2)分頻器部分測試程序注解define clk_cycle 50 alwa
31、ys #clk_cycle clkin=clkin;/定義的基準(zhǔn)時(shí)鐘為每50ns翻轉(zhuǎn)一次,周期為100ns. 初始化 initial begin reset=1;/復(fù)位 clkin=0; #100 reset=0;/100ns之后開始執(zhí)行程序 #10000 $stop; end f fd(reset,clkin,clkout,clkout1,clkout2,clkout3);/分頻器模塊函數(shù)的調(diào)用3.2.1 數(shù)據(jù)選擇器程序 module mux4_1(out,in0,in1,in2,in3,sel); 此程序?yàn)樗倪x一數(shù)據(jù)選擇器,選擇端為sel,輸入端為in0,in1,in2,in3,輸出端為o
32、ut. input1:0sel;/選擇端有兩位 case(sel) 2b00:out=in0; 2b01:out=in1; 2b10:out=in2; 2b11:out=in3;/sel的兩位有四種組合,對應(yīng)這四種輸出結(jié)果3.2.1 彩燈花樣程序 module caideng(clk,reset,z); output reg7:0z;/輸出為8位八路對應(yīng)著8路流水燈 parameter s0=d0,s1=d1,s2=d2,s3=d3,s4=d4,s5=d5,s6=d6,s7=d7,s8=d8,s9=d9,s10=d10,s11=d11,s12=d12,s13=d13,s14=d14,s15=d
33、15,s16=d16,s17=d17,s18=d18,s19=d19,s20=d20,s21=d21,s22=d22,s23=d23,s24=d24,s25=d25,s26=d26,s27=d27,s28=d28,s29=d29,s30=d30,s31=d31,s32=d32,s33=d33,s34=d34,s35=d35,s36=d36,s37=d37,s38=d38,s39=d39,s40=d40,s41=d41,s42=d42,s43=d43,s44=d44,s45=d45,s46=d46,s47=d47,s48=d48,s49=d49,s50=d50,s51=d51,s52=d52;/
34、自定義參數(shù), case(state)s0:state=s1;s1:state=s2;s2:state=s3;s3:state=s4;s4:state=s5;s5:state=s6;s6:state=s7; s7:state=s8; s8:state=s9;s9:state=s10; s10:state=s11;s11:state=s12;s12:state=s13;s13:state=s14;s14:state=s15;s15:state=s16;s16:state=s17;s17:state=s18;s18:state=s19;s19:state=s20; s20:state=s21;s21
35、:state=s22;s22:state=s23;s23:state=s24;s24:state=s25;s25:state=s26;s26:state=s27; s27:state=s28; s28:state=s29;s29:state=s30; s30:state=s31; s31:state=s32;s32:state=s33;s33:state=s34;s34:state=s35;s35:state=s36; s36:state=s37;s37:state=s38; s38:state=s39;s39:state=s40;s40:state=s41;s41:state=s42;s42
36、:state=s43;s43:state=s44;s44:state=s45;s45:state=s46;s46:state=s47; s47:state=s48; s48:state=s49;s49:state=s50;s50:state=s51;s51:state=s52;s52:state=s0;default:state=s0; endcase /定義彩燈不同的狀態(tài),使彩燈狀態(tài)發(fā)生改變, always(state)/彩燈狀態(tài)發(fā)生改變時(shí), begin case(state) /彩燈依次會顯示:八路彩燈共亮滅閃爍,右循環(huán)亮滅,左循環(huán)亮滅,相間閃爍 第四章 仿真調(diào)試4.1 仿真過程(1) .
37、在modelsim種建立工程文件。(2) .分別新建文件:分頻器“f.v”,測試“testf.v”;四選一數(shù)據(jù)選擇器“mux4_1”,測試“testmux4_1.v”;花樣彩燈“csideng.v”測試“testcaideng.v”(3) .編譯(4) .添加波形(5) 輸入激勵4.1 仿真結(jié)果(1) 分頻器仿真波形圖(2) 四選一數(shù)據(jù)選擇器仿真波形圖(3) 彩燈花樣顯示仿真波形圖結(jié) 論通過這次設(shè)計(jì)我們了解并掌握verilog hdl硬件描述語言的設(shè)計(jì)方法和思想,使自己能將已學(xué)過的數(shù)字電子系統(tǒng)設(shè)計(jì)、verilog hdl 程序設(shè)計(jì)等知識綜合運(yùn)用于電子系統(tǒng)的設(shè)計(jì)中,基本掌握了運(yùn)用verilog
38、hdl 設(shè)計(jì)電子系統(tǒng)的流程和方法,加強(qiáng)和培養(yǎng)了自己對電子系統(tǒng)的設(shè)計(jì)能力。我們也了解了vhdl的一些知識,verilog hdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,verilog hdl的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。verilog hdl的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)
39、外部分的概念是verilog hdl系統(tǒng)設(shè)計(jì)的基本點(diǎn)。verilog hdl語言作為一種國際標(biāo)準(zhǔn)化的硬件描述語言,自1987年獲得ieee批準(zhǔn)以來,經(jīng)過了1993年和2001年兩次修改,至今已被眾多的國際知名電子設(shè)計(jì)自動化(eda)工具研發(fā)商所采用,并隨同eda設(shè)計(jì)工具一起廣泛地進(jìn)入了數(shù)字系統(tǒng)設(shè)計(jì)與研發(fā)領(lǐng)域,目前已成為電子業(yè)界普遍接受的一種硬件設(shè)計(jì)技術(shù)。 verilog hdl語言的運(yùn)用提高了我們設(shè)計(jì)電子系統(tǒng)的效率,簡單實(shí)用,也在此次設(shè)計(jì)中提升了我們自身運(yùn)用所學(xué)知識的能力,也更加體會出作為團(tuán)隊(duì)中的一員要以團(tuán)隊(duì)思想為主題發(fā)展自己的思維。參考文獻(xiàn)1 陶佰睿,李靜輝,苗鳳娟,馬麗數(shù)字集成電路與eda
40、設(shè)計(jì)基礎(chǔ)教程,2011,092 曹昕燕 周鳳臣 聶春燕eda技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì) ,20063 常曉明.verilog hdl實(shí)踐與應(yīng)用系統(tǒng)設(shè)計(jì). 北京: 航空航天大學(xué)出版社,2003.4 王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與verilog hdl.北京:電子工業(yè)出版社.2002.29附 錄分頻器源程序:module f(reset,clkin,clkout,clkout1,clkout2,clkout3); input reset,clkin; output clkout,clkout1,clkout2,clkout3; reg clkout,clkout1,clkout2,clkout3; reg
41、1:0cnt,cnt1,cnt2,cnt3; always(posedge reset or posedge clkin) if(reset) begin cnt=0; clkout=0; end else begin cnt=cnt+1b1; if(cnt=1) begin cnt=0; clkout=clkout; end end always(posedge reset or posedge clkout) if(reset) begin cnt1=0; clkout1=0; end else begin cnt1=cnt1+1b1; if(cnt1=1) begin cnt1=0; c
42、lkout1=clkout1; end end always(posedge reset or posedge clkout1) if(reset) begin cnt2=0; clkout2=0; end else begin cnt2=cnt2+1b1; if(cnt2=1) begin cnt2=0; clkout2=clkout2; end end always(posedge reset or posedge clkout2) if(reset) begin cnt3=0; clkout3=0; end else begin cnt3=cnt3+1b1; if(cnt3=1) beg
43、in cnt3=0; clkout3=clkout3; end end endmodule 分頻器測試程序:timescale 1ns/1nsdefine clk_cycle 50includef.vmodule t2; reg clkin,reset; wire clkout,clkout1,clkout2,clkout3; always #clk_cycle clkin=clkin; initial begin reset=1; clkin=0; #100 reset=0; #10000 $stop; end f fd(reset,clkin,clkout,clkout1,clkout2,
44、clkout3); endmodule四選一數(shù)據(jù)選擇器源程序:module mux4_1(out,in0,in1,in2,in3,sel); output out; input in0,in1,in2,in3; input1:0sel; reg out; always(in0 or in1 or in2 or in3 or sel) case(sel) 2b00:out=in0; 2b01:out=in1; 2b10:out=in2; 2b11:out=in3; default:out=2bx; endcaseendmodule四選一數(shù)據(jù)選擇器測試程序:timescale 1ns/1nsinc
45、ludemux4_1.vmodule t1; reg in0,in1,in2,in3; reg1:0sel; reg clock; wire out1; initial begin in0=0; in1=0; in2=0; in3=0; clock=0; sel=0; end always #50 clock=clock; always (posedge clock) begin #1 in0=$random%2; #3 in1=$random%2; #1 in2=$random%2; #3 in3=$random%2; end always #1000 sel=sel+2b01; mux4_
46、1 m(out1,in0,in1,in2,in3,sel); endmodule 彩燈花樣源程序:module caideng(clk,reset,z); input reset,clk; output reg7:0z; reg5:0state; parameter s0=d0,s1=d1,s2=d2,s3=d3,s4=d4,s5=d5,s6=d6,s7=d7,s8=d8,s9=d9,s10=d10,s11=d11,s12=d12,s13=d13,s14=d14,s15=d15,s16=d16,s17=d17,s18=d18,s19=d19,s20=d20,s21=d21,s22=d22,s2
47、3=d23,s24=d24,s25=d25,s26=d26,s27=d27,s28=d28,s29=d29,s30=d30,s31=d31,s32=d32,s33=d33,s34=d34,s35=d35,s36=d36,s37=d37,s38=d38,s39=d39,s40=d40,s41=d41,s42=d42,s43=d43,s44=d44,s45=d45,s46=d46,s47=d47,s48=d48,s49=d49,s50=d50,s51=d51,s52=d52; always(posedge clk) begin if(reset) state=s0; else case(state
48、) s0:state=s1; s1:state=s2; s2:state=s3; s3:state=s4; s4:state=s5; s5:state=s6; s6:state=s7; s7:state=s8; s8:state=s9; s9:state=s10; s10:state=s11; s11:state=s12; s12:state=s13; s13:state=s14; s14:state=s15; s15:state=s16; s16:state=s17; s17:state=s18; s18:state=s19; s19:state=s20; s20:state=s21; s2
49、1:state=s22; s22:state=s23; s23:state=s24; s24:state=s25; s25:state=s26; s26:state=s27; s27:state=s28; s28:state=s29; s29:state=s30; s30:state=s31; s31:state=s32; s32:state=s33; s33:state=s34; s34:state=s35; s35:state=s36; s36:state=s37; s37:state=s38; s38:state=s39; s39:state=s40; s40:state=s41; s41:state=s42; s42:state=s43; s43:state=s44; s44:state=s45; s45:state=s46; s46:state=s47; s47:state=s48; s48:state=s49; s49:state=s50; s50:state=s51; s51:state=s52; s52:state=s0; default:state=s0; endcase end al
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主管在行業(yè)整合中的挑戰(zhàn)與應(yīng)對計(jì)劃
- 急診醫(yī)療文書標(biāo)準(zhǔn)化探討計(jì)劃
- 數(shù)據(jù)分析與決策支持總結(jié)計(jì)劃
- 提升員工歸屬感的實(shí)施策略計(jì)劃
- 美術(shù)班級文化建設(shè)活動計(jì)劃
- 《貴州廣鋁水落潭礦業(yè)有限公司貴州省清鎮(zhèn)市貓場鋁土礦區(qū)水落潭礦段(新建)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評審意見
- 《伊吾縣九方建筑材料有限公司新疆伊吾縣尤樂滾碎石礦礦產(chǎn)資源開發(fā)利用與生態(tài)保護(hù)修復(fù)方案》專家意見認(rèn)定
- 血液凈化??谱o(hù)理核心
- 2025年克拉瑪依貨運(yùn)從業(yè)資格證考試模擬
- 2025年曲靖貨車上崗證理論模擬考試題庫
- 確有專長人員從事傳統(tǒng)醫(yī)學(xué)臨床實(shí)踐年限證明
- 特殊工種操作人員體檢表
- 2022年上海市學(xué)業(yè)水平考試生命科學(xué)試卷含答案
- 2022浙江農(nóng)林大學(xué)博士入學(xué)考試英語
- 廣發(fā)銀行防范詐騙安全提示
- 雙碳視角看歐盟綠色新政政策篇
- 備電綜合解決方案服務(wù)合同
- 煤礦礦安全監(jiān)測監(jiān)控系統(tǒng)的選型設(shè)計(jì)
- 樣板引路專項(xiàng)方案計(jì)劃
- 往復(fù)式壓縮機(jī)組單機(jī)試運(yùn)方案
- 車輛清障救援合作協(xié)議
評論
0/150
提交評論