




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
大連東軟信息學院本科畢業(yè)設計(論文)論文題目論文題目:基于FPGA的可遙控智能彩燈控制器設計與實現系所:電子工程系專業(yè):電子信息工程(集成電路設計與系統(tǒng)方向)學生姓名:學生學號:指導教師:導師職稱:講師完成日期:2014年4月28日大連東軟信息學院Dalian大連東軟信息學院畢業(yè)設計(論文)摘要-第1章緒論1.1課題研究背景與意義科學技術的無限發(fā)展,人民生活水平的不斷提高,都使得彩燈裝飾在現代生活中變?yōu)橐环N可增強人們的美感飾具,同時也可作為廣告宣傳,不僅增添節(jié)日的氣氛,也為著人們的生活增添亮麗。電子技術的持續(xù)發(fā)展,使應用系統(tǒng)向著小型化、快速化、大容量、重量輕等方向發(fā)展,EDA技術的多方面應用也引起了電子產品、系統(tǒng)開發(fā)的變革。EDA代表了,當今電子設計技術的最新發(fā)展方向,其根本特征是設計人員,以計算機作為載體工具,按top-to-down的設計理念,對整個系統(tǒng)進行方案性的設計以及功能劃分,使用硬件描述語言來完成系統(tǒng)行為級的設計,使用比較先進性的開發(fā)工具自動的完成邏輯的編譯,化簡,分割,綜合,優(yōu)化,布局布線,仿真和具有特定目標芯片的適配編譯、編程下載,以這種理念來設計高層次數字邏輯電路。作為現代的電子系統(tǒng)設計主導的技術,EDA技術具有兩個明顯特征:即并行工程設計和自頂向下設計。其基本的思想是從系統(tǒng)總體設計出發(fā),分為行為描述、寄存器傳輸級描述、邏輯綜合三個層次,將設計的內容逐步細化,最后完成整體的設計,這是一種全新設計思想和設計理念。VerilogHDL硬件描述語言,是一種以文本形式,來描述數字系統(tǒng)硬件的結構和行為的語言,它可以表示邏輯電路圖、邏輯表達式,還可以用來表示數字邏輯系統(tǒng)將完成的邏輯功能。誕生于20世紀80年代中期,是由GatewayDesignAutomation(該公司于1989年被Cadence公司收購)公司開發(fā)的一種快速設計電路工具,目前已經成為IEEE的一種工業(yè)性的標準硬件描述語言。相比傳統(tǒng)電路系統(tǒng)的設計方法,Verilog擁有多層次的描述系統(tǒng)硬件功能的能力,支持自頂向下設計的特點,因此設計者不必了解硬件結構。直接從系統(tǒng)設計入手,在頂層進行系統(tǒng)設置,方框圖的劃分及結構設計,在方框圖的一級用Verilog對電路行為加以描述,并作仿真和糾錯工作;然后,在系統(tǒng)的一級作驗證,最后在使用邏輯綜合優(yōu)化工具,以產生具體的門級的邏輯電路網表,再將網表下載到具體復雜可編程邏輯器件(CPLD,ComplexProgrammableLogicDevice)器件中去,最終實現可編程的專用集成電路的設計。用Verilog語言去完成數字邏輯電路和數字系統(tǒng)設計,是電子電路設計方法上一個突破性的變革。與傳統(tǒng)方法相比,Verilog描述電路行為具有很多種優(yōu)點:1、設計層次比較高,當用于較復雜的計算時,可以盡早的發(fā)現已經存在的問題,縮短設計的周期;2、可以獨立實現,修改方便,系統(tǒng)硬件的描述能力強;3、可讀性好,便于交流,適合文檔保存;4、Verilog語言標準、規(guī)范以及移植性強。本設計所研究的基于FPGA的,可遙控智能彩燈控制器設計與實現,也是基于上述的背景,通過本次的設計加深了對FPGA技術原理的理解與應用;掌握了數字電路前端設計的基本流程:模塊劃分、模塊功能設計、模塊功能仿真、綜合和驗證;同時,對彩燈控制器的設計方法進行探討。1.2課題研究內容與方法本論文按照數字電路前端的設計流程,完成了基于FPGA的,可遙控智能彩燈控制器設計與實現,主要工作有:1、熟悉可遙控智能彩燈控制器的應用原理;2、熟悉FPGA文件的創(chuàng)建與使用,熟悉使用QuartusII和modelSIM軟件;3、采用Verilog-HDL硬件描述語言完成將設計分成時序控制模塊,顯示控制模塊,發(fā)射接收模塊,光線感知模塊設計與優(yōu)化;4、完成彩燈電路的模塊劃分、模塊功能設計、模塊功能仿真、綜合和驗證。本文結構安排如下:第一章:介紹課題提出的背景及意義,以及本論文的主要工作和結構安排;第二章:對畢業(yè)設計用到的關鍵技術進行詳細的介紹;第三章:進行系統(tǒng)可行性分析;第四章:根據設計指導的思想和原則,對系統(tǒng)進行初步的設計和詳細的設計;第五章:完成系統(tǒng)實現,包括數據通道的實現和控制單元的實現;第六章:進行數據通道仿真,控制單元仿真,系統(tǒng)整體仿真;第七章:結論部分,總結本課題所取得成果以及本文的不足之處。大連東軟信息學院畢業(yè)設計(論文)第2章關鍵技術介紹2.1VerilogHDLVerilog-HDL,是一種硬件描述語言,用于從算法級、門級到開關級的,多種抽象設計層次的數字系統(tǒng)建模。被建模的數字系統(tǒng)對象的復雜性,介于簡單門與完整的電子數字系統(tǒng)夾層中。數字系統(tǒng)可按層次的描述,在相同的描述中用以顯式地進行時序建模。Verilog-HDL語言有如下的述描述性能力:設計的行為、數據流等特性,結構組成和涉及響應監(jiān)控,可在設計驗證方面的時延、波形產生的機制這些全部使用同一種建模語言。除此以外,Verilog-HDL語言還提供編程語言的接口,通過這些接口在設計模擬和驗證期間,從設計外部訪問設計,包括了模擬的具體控制與運行。Verilog-HDL語言中阻塞語句,顧名思義,即本條語句存在能夠影響下一條語句的作用,在同一進程always中,一條阻塞賦值語句的執(zhí)行,是立即影響下條語句的執(zhí)行情況和結果。如果該條語句沒有執(zhí)行完成,那么下條語句是不可能進入此時的執(zhí)行狀態(tài)的,因此,從字面層上理解,這條語句阻塞了下條語句的執(zhí)行。Verilog-HDL語言非阻塞語句,非阻塞語句對應用來說,更可以體現硬件電路的特點。這正是非阻塞語句可以廣泛的應用到時序邏輯電路的原因,阻塞語句是順序執(zhí)行的,而非阻塞語句是同時執(zhí)行的。那么,怎樣在設計里面運用好阻塞語句和非阻塞語句呢?總體上來講,遵循大體原則:阻塞語句應用在組合邏輯電路設計中,而非阻塞語句用在時序邏輯電路的設計里面。HDL語言的建模,組主要的三種形式為:結構化描述方式和數據流描述方式以及行為描述方式。下面來,區(qū)分下三種形式間的差別:1、結構化描述建模,通過電路結構的描述進行建模,也就是對器件進行調用(HDL概念稱為例化),應用線網對各器件之間鏈接的描述方式。結構化描述方式,反映的是一個設計的層次結構。2、數據流描述建模,是數據流的設計中以具體行為的描述來建模。例如,連續(xù)賦值語句。在連續(xù)賦值語句的描述中,某值賦值于某信號。3、行為描述建模,是指以信號行為級的描述(非結構級描述)來建模。在某方面,與數據流的建模比較相似,但一般情況下把initial塊語句或者是吧always塊語句的描述歸給行為描述建模。行為描述建模很多時候要通過一些行為級的運算符的幫助來完成,比如,乘法運算符(*),除法運算符(/)等等。Verilog-HDL語言不僅定義語法,而且對每個語法結構,都定義了清晰的模擬和仿真語義。因此,用這種語言編寫的模型,能使用Verilog仿真器進行驗證。Verilog-HDL語言在C語言的基礎上,繼承了許多。Verilog-HDL同時也提供可擴展的建模能力,其中有許多擴展的初始時期很難被理解。但Verilog-HDL語言的核心卻很容易被學習和使用,而這些對大多數建模的應用已經非常充足了。當然,最終完整的硬件語言,完全可以對完整的電子芯片以及系統(tǒng)進行描述。下面的是VerilogHDL硬件描述語言的主要能力:1、最基礎邏輯門,例如and,or和nand等都已經內嵌在語言中。2、具有開關級的基礎結構模型,例如pmos和nmos等也已被內置于語言中。3、提供了顯式語言的結構,同時可指定在設計中端口與端口之間的時延,涉及路徑時延問題和設計中時序的檢索。4、設計可以以任意的形式出現,語言不對其規(guī)模以及程度加以限制。5、Verilog-HDL不再是某些公司的專有的語言而是IEEE標準。6、人和計算機等都可以閱讀Verilog-HDL語言。因此,它可作為設備和人之間交流的一種橋梁。7、相同語言之間可于生成模擬激勵,以指定測試驗證的約束。例如,輸入信號的指定。8、Verilog-HDL可以對模擬驗證進行監(jiān)管,包括監(jiān)控和顯示數據。這部分數據也可以與所期望值進行比較,當出現不匹配情況,對進行打印并通知。9、在系統(tǒng)行為級的描述,Verilog-HDL既可以在RTL級上描述其設計部分,而且也可在其體系結構級上對其描述,也可在算法級行為上描述其設計。10、能夠運用門與模塊實例化語句,在結構級進行結構描述。11、可以顯式,對并發(fā)和定時進行建模。12、提供強有力的,文件讀寫能力。13.語言在特定情況下,是不確定性的,即在不同的模擬器上,模型可以產生不同的結果。2.2自上而下設計由最底層的元器件開始設計。從基本子系統(tǒng),去構建大系統(tǒng)的電路設計模式,是本次設計最初進行電路設計的基本方法。這種由底向上的設計方式,是電子線路初期最常用的方法,在電路還不太復雜、層次還比較簡單的設計中,它是一種非常有效的方法。但是,隨著電路結構越來越復雜,這種方法則會顯示出較大的弊病。這就是,縱使每個子系統(tǒng)的設計,分別滿足各自的要求,但系統(tǒng)的整體性能指標,卻往往得不到保障。而由頂向下的分層設計技術,則能完整無缺的解決好了這個問題。在由頂向下的設計方法中,設計師會首先,進行系統(tǒng)層的設計,針對系統(tǒng)整個的特性,給出系統(tǒng)級的描述,包括系統(tǒng)的功能要求、接口配置、層次劃分、系統(tǒng)的電性能、系統(tǒng)的物理設計參數等等,根據這些描述,完成子系統(tǒng)級間的設計。這些描述除實現子系統(tǒng)上的功能之外,還必須滿足上級系統(tǒng)的要求,就這樣從最上到下直至最底層。最底層的子系統(tǒng),實際上就是具體點路。這種自上而下的層次化設計方法,就是當代EDA技術的電子系統(tǒng)的設計思想,在EDA設計中被稱為top-to-down設計。自頂向下的層次化設計技術,有兩個關鍵的要素,即硬件描述語言,可以對電路的結構以及行為進行描述,建立電路、系統(tǒng)的描述模型;同時也支持,對這些模型進行功能上的仿真和時序驗證。另一個要素就是邏輯綜合技術,這種技術能快速的、有效的將描述模型轉化成具體地硬件門電路。EDA自上而下設計方法,由于設計過程中,本身充分考慮到了整個系統(tǒng)的各個要求,在設計的每一層次都進行了,系統(tǒng)及子系統(tǒng)的仿真模擬,因此最后的電路的設計,必然能滿足系統(tǒng)的整體特性,從而保證復雜大型電子系統(tǒng)的可靠性。圖2.1為自上而下的設計樹示意圖。圖2.1自上而下的設計樹示意圖2.3有限狀態(tài)機數字系統(tǒng)設計當中有限狀態(tài)機已經廣泛的被使用著。根據其狀態(tài)機輸出與輸入的關系,可將狀態(tài)機分成兩大類別:即摩爾型狀態(tài)機以及米莉型狀態(tài)機。有限狀態(tài)機主要擁有三個組成部分,在組合邏輯的部分中有狀態(tài)譯碼器,輸出譯碼器,狀態(tài)譯碼器,可以確定狀態(tài)機所能轉換到的下一狀態(tài),輸出譯碼器,確定著狀態(tài)機此時的輸出,狀態(tài)寄存器是時序邏輯的一部分,對狀態(tài)機的內部動態(tài)進行儲存。狀態(tài)機有很多條的標準,最重要的有以下幾個方面,如下:第一是要保證狀態(tài)機要具有安全性,是指有限狀態(tài)機(FSM,FiniteStateMachine)進入不了死循環(huán),尤其是狀態(tài)機不會進入到預知到不到一種狀態(tài),當其受外部的一些干擾時使其進入沒有設計的狀態(tài),也可以迅速的回到到可以工作的狀態(tài)循環(huán)中去。這其中具有兩層意思。第一方面該FSM的綜合處理結果不會出現無毛刺等情況,其二要求FSM要完備,當遇到非預制干擾進入沒有設計的狀態(tài),也可以迅速回復到可工作狀態(tài)。第二是要保證狀態(tài)機面積以及速度等等設計中所涉及的要求。第三是要保證狀態(tài)機的設計要清楚明了以及易于維護。特別指出的是,以上的各項標準,它們之間具有直接且相當密切的內在關聯。芯片的設計過程中,綜合處理的結果進行評價的兩個基礎的標準:面積、反應程度?!懊娣e”指的是邏輯資源所使用的量;而“反應程度”是指在芯片設計中可以穩(wěn)定運行所達到的頻率的最高值。兩者是相互對立,但又相互統(tǒng)一的矛盾共存體,要求設計既要面積小同時運行頻率達到最高,這是不可能存在的事情??茖W設計的目標知道是:當時需要求得到滿足的同時,芯片所使用的面試最小的;或者,在規(guī)定了其面積的狀況下,盡量滿足時序余量達到更多。除此之外,如果要求FSM安全,則很多的環(huán)境中要用到“fullcase”的編程式,也就是說在狀態(tài)轉移中所涉及到的變量,所有的向量組合情況都在FSM
中做相應的處理,也就意味著將要多花更多的設計資源,有時也會影響FSM的頻率。所以,上述的標準要綜合考慮,根據設計的要求有所衡量。狀態(tài)機描述時的關鍵,是如何描述狀態(tài)之間的轉移,各個狀態(tài)間的輸出又是什么,讓狀態(tài)之間可以轉的因素等。有很多在描述時所應用的,最常見的三種方式有:1、一段式:將整個的狀態(tài)機,寫到一個always模塊里面,在此模塊中,既描述了狀態(tài)轉移,也對每個狀態(tài)下的輸入輸出進行描述;2、二段式:用兩個always模塊對狀態(tài)機的不同狀態(tài)進行描述,其中一個always模塊,采取同步時序對狀態(tài)的轉移進行描述;而在另外一個always模塊中,使用組合邏輯對狀態(tài)轉移時的條件進行判斷,說明狀態(tài)機在狀態(tài)轉移時的規(guī)律及輸出;3、三段式:在兩個always模塊的基礎上,使用三個always模塊。一個always模塊采用,同步時序對狀態(tài)轉移進行,一個always用組合邏輯,進行對狀態(tài)轉移條件的判別,說明轉移規(guī)律,另一個always模塊描各述狀態(tài)間的輸出(組合電路,時序電路都可以應用)。
就一般而言,推薦使用的FSM方式為后兩種。因為,FSM和其他的設計一樣,盡可能地應用同步時序進行設計,可是設計的穩(wěn)定性得到一定的提高。在狀態(tài)機最終實現后,一般來說,在狀態(tài)轉移的部分所涉及的是同步時序電路,而對狀態(tài)轉移條件的判斷上所以用的是組合邏輯電路。就第二種描述形勢來說,與第一種描述形式作比較,把同步時序邏輯電路和組合邏輯電路,有區(qū)別的放在不一樣的always模塊中進行實現,這樣做不僅僅是更利于讀取、解釋以及維護,要特別說明的是,方便綜合器對代碼進行優(yōu)化,用戶可方便的添加不同的、合適的時序約束,同樣更有助于對布局布線器的實現。在第二種方式中,在當前狀態(tài)下的輸出要用組合邏輯實現。但是,毛刺等問題很容易在組合邏輯中出現,而且不便于約束,更是有礙綜合器、布局布線器高性能進行設計。
而在第三種與第二種相比,關鍵在于狀態(tài)轉移的規(guī)律上,上一的狀態(tài)可根據此時的輸入條件判對輸出進行判斷,從而可在不對時鐘節(jié)拍進行更多的插入的前提下,實現寄存器輸出。第3章系統(tǒng)需求分析3.1系統(tǒng)設計目標本設計以QuartusⅡ為系統(tǒng)開發(fā)環(huán)境,使用ModelSIM進行仿真,采用Verilog-HDL語言,完成可遙控智能彩燈控制器電路的前端設計。該電路可顯示十六路彩燈的七種花色變化,其花色變化頻率可調。3.2系統(tǒng)功能需求根據需求調研結果確定本系統(tǒng)主要包括以下功能模塊。根據系統(tǒng)設計要求可知,整個系統(tǒng)共有五個輸入信號:控制彩燈頻率轉換的信號為clk_div,系統(tǒng)復位信號rst_n,彩燈頻率調節(jié)開關sel_clk,遙控信號control_in,以及光線感知端口共有十六路彩燈輸出信號。根據以上情況,對彩燈內部控制電路led分為兩大組成部分:時鐘分頻電路clk_div和led顯示電路led_dis。其的工作系統(tǒng)如下:時鐘分頻電路clk_div可據輸入信號sel_key,rst_n,clk_div產生的滿足led_dis電路使用要求的分頻時鐘信號,而led顯示電路led_dis則會據時鐘分頻電路clk_div輸入的分頻時鐘信號,輸出六種華星不斷變化的可遙控選擇的,為十六路可遙控彩燈工作的信號,這些控制信號與驅動電路共同控制著遙控彩燈的工作。首先應進行系統(tǒng)模塊的劃分,規(guī)定每一模塊的功能以及各個模塊之間的接口。最終設計方案由:十六路彩燈花樣顯示控制器,時序控制分模塊,顯示模塊,發(fā)射接收模塊,光線感知模塊四部分組成。時序控制模塊根據輸入信號不同頻率的選擇不同的時鐘信號輸送到彩燈顯示控制器,從而達到控制彩燈閃爍速度的快慢,光線感知模塊根據外部光線的強弱改變燈的亮滅,發(fā)射接收模塊可以改變花色。3.3系統(tǒng)非功能需求EDA技術的迅猛發(fā)展,基于FPGA技術開發(fā)的彩燈性價比越來越高,功能強大,縮小了產品體積,降低原本功耗,而且能輕松的完成對彩燈的控制。EDA技術廣泛運用現代化計算機技術,提高電子設計自動化程度,縮短了生產周期,節(jié)能省財,提高產品的競爭力。3.4系統(tǒng)開發(fā)環(huán)境3.4.1硬件環(huán)境DE2-115開發(fā)板為用戶提供了廣泛的用于實現從簡單的電路設計到各種多媒體電路設計的特征。本設計使用的DE2-115開發(fā)板硬件資源如下:1、AlteraCyclone?IV4CE115FPGA器件;2、Altera系列配置–EPCS64;3、板上USBBlaster用于編程同時支持JTAG模式和AS模式;8、18個紅色LEDs;9、9個綠色LEDs;10、50MHz的晶振提供著時鐘源;3.4.2軟件環(huán)境QuartusII是Altera公司的可綜合性PLD/FPGA開發(fā)出來的軟件,可支持著原理圖、硬件描述語言(VHDL,HardwareDescriptionLanguage)、Verilog-HDL以及模擬硬件描述語言(AHDL,AnalogHardwareDescriptionLanguage)等許多種設計的輸入方式,在內部鑲嵌綜合器和仿真器,可完成在設計最初的輸入直到硬件配置的完整PLD設計的流程。QuartusII可以在XP、Linux以及Unix上面使用,除了使用Tcl設計腳本對設計流程完成外,還提供者完善的圖形界面設計。使用速度快、界面統(tǒng)一、功能集中、方便學習使用。QuartusII支持Altera的IP內核,包含LPM/MegaFunction等模塊庫,用戶可充分的應用已經完成的模塊,更簡化了設計的難度、促使設計更快的完成。與此同時對第三方EDA工具具有良好的支持性,使用戶也在設計流程中,更熟練的使用EDA工具。而QuartusII與之相比,不僅僅在器件類型的豐富和圖形界面的改變上。Altera在QuartusII中包含了很多類諸如SignalTapII、ChipEditor、RTLViewer等輔助插件,更集成SOPC和HardCopy設計流程,同時繼承了MaxplusII便于應用的圖形界面的優(yōu)點。Altera公司的QuartusII軟件機構采用可編程邏輯的設計理念,其強健的設計功能,更加直觀更加易用的接口使用,更多的受到了使用者的歡迎。QuartusII設計軟件兼具著承載自上而下以及自下而上的編輯方式。自上而下的編輯方式中,不同的設計應用者或是互聯網協議(IP,InternetProtocol)的提供者,實用軟件設計并驗證設計中不同的部分。工程人員將對整體上進行編譯并且優(yōu)化頂層的工程。在設計中,已經設計完成的部分可進行處理檢驗并得到相應結果,在設計中當其他的設計部分發(fā)生改動時,其性能可以不發(fā)生變化。在自下而上的編譯設計中,不同的設計人員之間都在將他們工程中,對他們進行的設計各自優(yōu)化后,將各個底層工程匯總到頂層的工程里面。以漸進的形式進行編譯工作。作為底層的各個子模塊的設計人員,可以有針對性的為他們的設計,導出優(yōu)化之后的網表或者一組匹配結果(例如LogicLock區(qū)域)。然后,整個工程負責人員,將各個設計子模塊化為不同的設計分區(qū),將它們集總到頂層工程中。在此種情況發(fā)生時,整個工程負責人員將分別對底層模塊的設計人員進行指導工作,用以確定各個分區(qū)之間都應用到適當的器件資源。對于自上而下的設計流程,比其相對應的自下而上設計流程在執(zhí)行方面更簡單。例如,不必將底層設計驚醒導入或者導出。第二點,就自上而下的設計也為應用軟件提供了整個行的設計信息。因此,可以完全的進行全局性的優(yōu)化。但是,自下而上的設計中,當軟件編譯各個子模塊分區(qū)時,無法預知其頂層設計中其他分區(qū)的具體情況,因此,必要時要進行資源均衡和時序預算。自上而下漸進式編譯設計流程,可重新使用以前的編譯結果,以確保只對修改過的設計進行重新編譯,以此保持設計性能不變,節(jié)省編譯的時間。自上而下漸進式的編譯流程,在處理其他設計分區(qū)時,只修改設計中關鍵單元的布局,也可只對設計的指定部分進行限定布局,使編譯器能夠自動的優(yōu)化設計的其余部分,從而改進時序。漸進式編譯流程中,可為設計分區(qū)分配一個設計實體實例,然后使用時序布局圖或LogicLock功能為分區(qū)分配一個器件物理位置,來進行完整的設計編譯。在編譯過程中,編譯器將綜合和適配結果,保存在工程數據庫中。在第一次編譯之后,如果對設計進行進一步的修改,只需將改動過的分區(qū)需要重新編譯即可。由于漸進式編譯流程,能夠防止編譯器跨分區(qū)邊界優(yōu)化,因此,編譯器不會像常規(guī)編譯那樣,對面積和時序進行大規(guī)模優(yōu)化。為獲得最佳的面積及時序結果,建議記錄設計分區(qū)的輸入以及輸出,盡可能的將設計的分區(qū)量控制在可控的范圍內,避免在跨分區(qū)邊界上建立過多的關鍵路徑,不要建立太小的分區(qū),像數量少于1000的邏輯單元、自適應邏輯模塊分區(qū)。Mentor公司的ModelSim可以成為是業(yè)界最優(yōu)秀的HDL語言的仿真軟件,它可以支持方便的仿真前提條件,在業(yè)內可以說是唯一的、單內核的、支持VHDL和Verilog混合的仿真軟件。采用了先進的編譯技術、Tcl/Tk技術、單一內核的仿真技術,編譯的速度以及仿真速度足夠快,其編譯的代碼與設計所應用的平臺無關,更方便的保護了IP核,提供用戶更方便的調錯平臺,是FPGA/專用集成電路(ASIC,ApplicationSpecificIntegratedCircuit)仿真的首選軟件。ModelSim具有的主要特點如下:1、可以進行RTL以及門級優(yōu)化,編譯和仿真的速度迅速,更是可以跨平臺或跨版本仿真;2、單內核VHDL和Verilog的混合仿真軟件;3、C和Tcl/Tk接口,C調試;4、對SystemC的采用直接性支持和HDL語言的任意混合;5、支持SystemVerilog在設計上的功能;6、針對系統(tǒng)級語言的最全面支持,SystemVerilog,SystemC,PSL;7、ASICSignoff;8、可以單獨或同時進行行為(behavioral)、RTL級、和門級(gate-level)的代碼。ModelSim軟件的不同版本:SE、PE、LE和OEM,SE是最高級的版本,而集成在Actel、Atmel、Altera、Xilinx以及Lattice等FPGA廠商所設計工具中都是OEM版本。SE版和OEM版在其功能以及性能等方面具有較大的分差。就好比,對于大家最關心的問題—仿真的速度,以Xilinx公司所生產的OEM版本ModelSimXE為例子來說明,在代碼量少于40000行的設計當中,ModelSimSE比ModelSimXE要快10倍;但是,當代碼量超過40000行的時候,ModelSimSE要比ModelSimXE快近40倍。ModelSimSE同樣支持PC、UNIX和LINUX的混合結構;支持全面完善以及高性能的驗證功能;全面支持業(yè)界內的標準;MentorGraphics公司提供了,業(yè)界最好的技術支持與服務。3.5系統(tǒng)可行性分析用Verilog語言設計一個十六路彩燈控制器,六種花型循環(huán)變化,并且可以選擇快慢兩種節(jié)拍。運用自頂而下的設計思想,按功能逐層分割實現層次化設計。根據多路彩燈控制器的設計原理,將內部整個控制器分為兩個部分,分別為時序控制模塊和顯示控制模塊。時序控制模塊實現的功能是產生1/4和1/8的時鐘信號。顯示控制模塊中實現的七種花型如表3.1所示:表3.1七種花型F1“1010101010101010”F2“1001001001001001”F3“1000100010001000”F4“1000010000100001”F5“1000001000001000”F6“1000000100000010”F7“為跑馬燈先從左到右再從右到左”這個系統(tǒng)由時序控制電路,顯示控制電路,發(fā)射接收模塊,光線感應模塊組成,電路組成較簡單。且檢查電路時易于分析修改,雖然原理相對復雜,但單元電路模塊少,而且程序編寫簡單易懂,并能夠靈活地添加或刪減程序實現多種花型的變化,有很大的靈活性。此課題是基于FPGA的十六路可遙控智能彩燈控制器的設計與實現,使用Verilog-HDL語言對硬件電路進行描述。首先,根據論文采用的自頂向下的設計思想,從系統(tǒng)級設計入手。從頂層進行功能劃分和結構設計。對實現系統(tǒng)功能的整個過程有了一定的認識后,畫出系統(tǒng)級模塊;接著開始著手整體流程圖的設計,并且對整體流程圖設計進行反復完善;然后,通過流程圖提煉出相應的控制單元和數據通道。根據高級數據系統(tǒng)設計與驗證進行基本流程圖的設計,以及數據通道和控制單元的設計。使用Altera公司開發(fā)的QuartusⅡ軟件,對每個模塊進行開發(fā)。通過常用仿真軟件Modelsim對設計的所有模塊進行仿真測試,確保整個開發(fā)流程順利進行。最后在FPGA開發(fā)板上進行功能測試,并且不斷地進行優(yōu)化。3.6外圍電路分析3.6.1控制電路控制電路的硬件電路主要由按鍵和撥碼開關來實現。復位按鍵rst_n,復位鍵對整個電路進行復位,低電平有效。時鐘選擇開關choose_key:通過改變撥碼開關choose_key選擇系統(tǒng)時鐘,當撥碼開關為邏輯“1”時,系統(tǒng)選擇4分頻時鐘,即2hz。反之,撥碼開關為邏輯“0”時,系統(tǒng)選擇8分頻時鐘,即1hz。3.6.2顯示電路顯示電路的硬件電路主要由LED來實現?;ㄉx擇顯示,即led_dis由16個led組成,表示輸出花色的類型。3.6.3系統(tǒng)流程圖在對整個系統(tǒng)有一定的認識后,根據高級數字系統(tǒng)設計方法和彩燈電路的特點,做出了系統(tǒng)流程圖如圖3.1所示。圖3.1系統(tǒng)流程圖1、首先進入空閑狀態(tài),整個系統(tǒng)正處于初始化狀態(tài)。初始化狀態(tài)是整個系統(tǒng)進入默認的工作狀態(tài),如果初始化完成后復位端使能信號有效,那么系統(tǒng)再次進入到初始化處理狀態(tài);2、然后判斷外部使能信號(外部天色是否為黑暗狀態(tài))是否有效,外部信號有效的話系統(tǒng)進入時鐘分頻產生狀態(tài),在此時可以改整體分頻時鐘的大小,并將所選擇的分頻后的時鐘送入彩燈控制器系統(tǒng)中,作為整個系統(tǒng)的工作時鐘;3、其次當外部信號有效時,從ROM中取出顯示等待花色的值,led燈顯示為全亮狀態(tài),此時為花色選擇階段。否則,系統(tǒng)返回初始狀態(tài);4、接著如果外部花色選擇使能信號有效,從ROM中取出所選取花色的相應值,將選擇的花色輸出,否則不進行花色選擇;5、當處于此階段時,判斷是否有外部信號再次輸入;6、最后將要輸出花色用led燈顯示。第4章系統(tǒng)設計4.1系統(tǒng)設計指導原則本課題是一個基于FPGA的可遙控智能彩燈電路設計。該電路輸出的花色可直接根據外部天色變化或個人選擇,進行開關以及花色選擇和花色跳變速度的更改。本設計根據數字系統(tǒng)設計所能實現的基本流程進行設計,包括整體流程圖設計、數據通道以及控制單元的設計、應用Verilog語言實現設計、最后經過ModelSim軟件進行各模塊和整體系統(tǒng)的功能仿真,并在設計實現過程中不斷對電路性能進行優(yōu)化。4.2系統(tǒng)詳細設計可遙控智能彩燈控制器設計模塊圖見圖4.1,端口包括與外圍的控制電路和顯示電路連接的端口??傮w模塊劃分2個子模塊,分別是數據通道和控制單元。圖4.1系統(tǒng)體系結構模塊圖詳細端口說明見表4.1。表4.1可遙控智能彩燈控制器模塊管腳信號I/O功能描述Clk50M_iI外部輸入50MHz時鐘信號Clk_sel_iI分頻始終選擇信號Sw0_iI撥碼開關產生花色變化信號Sw1_iISw2_iI數據通:利用FPGA技術,根據所選擇的分頻時鐘以及花色的不同,產生頻率可變化的花色顯示狀態(tài)。數據通道模塊圖見圖4.2。圖4.2數據通道模塊圖數據通道詳細端口說明見表4.2。表4.2數據通道管腳信號I/O功能描述Clk50MI外部輸入50MHz時鐘信號Rst_nI系統(tǒng)復位信號L_d_enI數據通道開始工作使能信號Clk_selI始終選擇使能信號Dis_flagI花色選擇使能信號Led_disO花色顯示控制單元:判斷外界或數據通道信號的輸入,進行狀態(tài)的轉移,在相應的狀態(tài)輸出dis0、dis1、dis2、l_d_en等使能控制信號??刂茊卧K圖見圖4.3。圖4.3控制單元模塊圖控制單元詳細端口說明見表4.3表4.3控制單元管腳信號I/O功能描述ClkI分頻時鐘時鐘信號Dark_enI外部天色變化信號Rst_nI復位按鍵信號Sw0I花色選擇鍵輸入信號Sw1ISw2IDis0O花色選擇鍵輸出信號Dis1ODis2OL_d_enO數據通道開始工作使能信號4.2.1數據通道模塊設計如圖4.4所示,數據通道中包含3個小的模塊,分別是分頻時鐘產生模塊,加減計數器模塊,花色顯示模塊。圖4.4數據通道內部模塊圖分頻時鐘產生模塊見圖4.5。圖4.5分頻時鐘產生模塊加減計數器模塊見圖4.6。圖4.6加減計數器模塊花色顯示模塊見圖4.7。圖4.7花色顯示模塊4.2.2控制單元模塊設計根據可遙控智能彩燈控制器電路的特點,將系統(tǒng)劃分為9種狀態(tài),即復位狀態(tài)、等待選擇狀態(tài)、花色選擇一狀態(tài)、花色選擇二狀態(tài)、花色選擇三狀態(tài)、花色選擇四狀態(tài)、花色選擇五狀態(tài)、花色選擇七狀態(tài)。其中,在等待花色選擇狀態(tài)時,所有l(wèi)ed燈為全部點亮狀態(tài)。系統(tǒng)首先處于初始化狀態(tài),然后當外部天色變?yōu)楹诎禃r系統(tǒng)開始工作,從只讀存儲器(ROM,readonlymemory)中取出顯示等待花色的值,系統(tǒng)進入到等待階段,led燈為全部點亮狀態(tài),此時可以進行分頻時鐘以及花色的選擇;如果復位使能信號有效,則返回初始狀態(tài);如果外部花色選擇信號一旦有效,輸出花色一跳變的狀態(tài),如果外部花色選擇信號二有效,輸出花色二跳變的狀態(tài),依次類推,根據所選花色的不同,輸出不同的狀態(tài),最終將輸出的狀態(tài)送給數據通道。狀態(tài)轉換圖,見圖4.8所示。圖4.8狀態(tài)轉換圖大連東軟信息學院畢業(yè)設計(論文)第5章系統(tǒng)實現5.1控制單元的部分實現在控制單元中,此部分代碼為狀態(tài)轉換控制的中心代碼。在SS狀態(tài)時,當外部輸入dark_en有效,說明此時十六路led彩燈為全亮狀態(tài),也就是說明在此狀態(tài)下外部可對7中花色進行的選擇。 SS:beginif(dark_en)begin case(sw_flag) 3'd0:begin {l_d_en,dis2,dis1,dis0}<=5'b11000; next_state<=SS; end 3'd1:begin {l_d_en,dis2,dis1,dis0}<=5'b01001; next_state<=S1; end 3'd2:begin {l_d_en,dis2,dis1,dis0}<=5'b01010; next_state<=S2; end 3'd3:begin {l_d_en,dis2,dis1,dis0}<=5'b01011; next_state<=S3; end 3'd4:begin {l_d_en,dis2,dis1,dis0}<=5'b01100; next_state<=S4; end 3'd5:begin {l_d_en,dis2,dis1,dis0}<=5'b01101; next_state<=S5; end 3'd6:begin {l_d_en,dis2,dis1,dis0}<=5'b01110; next_state<=S6; end 3'd7:begin {l_d_en,dis2,dis1,dis0}<=5'b01111; next_state<=S7; end default:; endcase5.2數據通道中的部分實現 分頻時鐘的實現,在分頻模塊中,當系統(tǒng)開始工作時,將對外部輸入時鐘50Mhz進行分頻,產生兩個時鐘,即1hz時鐘和2hz時鐘,外部信號對分頻時鐘進行選擇,選擇的時鐘進入狀態(tài)機和數據通道中,作為系統(tǒng)工作的時鐘。parameterPI=25'd25000000;assignclk=clk_sel?clk_1hz:clk_2hz;always@(posedgeclk50Mornegedgerst_n)beginif(!rst_n)beginclk_2hz<=1'b0; end elsebegin if(count_2hz==PI)begin clk_2hz<=~clk_2hz; count_2hz<=25'd0; end elsebegin clk_2hz<=clk_2hz; count_2hz<=count_2hz+1'b1; end endendalways@(posedgeclk_2hzornegedgerst_n)beginif(!rst_n)beginclk_1hz<=1'b0; end elsebegin clk_1hz<=~clk_1hz; endendendmodule 大連東軟信息學院畢業(yè)設計(論文)第6章系統(tǒng)測試仿真是一項十分重要的工作,在整個系統(tǒng)設計中占據重要的位置。通過對各個模塊和整體系統(tǒng)的仿真可以及時發(fā)現和解決設計中的許多問題,所以對系統(tǒng)的設計具有極其重要的意義。下面將結合本系統(tǒng)開發(fā)對系統(tǒng)進行了整體和模塊仿真。6.1控制單元仿真在控制單元的設計中,實現了其中花色選擇間的轉化??刂茊卧抡婺K見圖6.1。圖6.1控制單元仿真模塊6.2數據通道仿真在數據通道中的仿真中,可以看到花色的選擇及時鐘分頻的選擇。數據通單仿真模塊見圖6.2。圖6.2數據通道仿真模塊6.3分頻模塊仿真時鐘分頻模塊見圖6.3。圖6.3分頻時鐘仿真模塊6.4顯示模塊仿真花色顯示模塊見圖6.4。圖6.4花色顯示仿真模塊6.5系統(tǒng)整體仿真設計實現了十六路可控智能彩燈顯示頻率的變化以及花色間的轉換,以第七種花色,跑馬燈為例。系統(tǒng)整體仿真見圖6.5。圖6.5系統(tǒng)整體仿真大連東軟信息學院畢業(yè)設計(論文)第7章結論本次畢業(yè)設計所設計的項目,從最初時期的選題、可行性分析、系統(tǒng)設計,到最后的系統(tǒng)實現都較為順利。通過進行最后對系統(tǒng)整體的功能仿真,可以看出設計已經達到了最初的設計目標。本次設計的課題是可遙控智能彩燈控制器的設計,拿到這個課題的時候,經過分析知道關鍵是計數器和分頻器的分配使用,分頻的方法有很多的種類,對于同一種功能的實現,用Verilog-HDL可以采用多種方式描述,每種方式都各有優(yōu)劣,本次的設計只采用了其中較簡單的一種,用最簡潔的語言寫出了所需功能的程序。根據論文采用自頂向下的設計思想,和數字系統(tǒng)設計與實現的基本流程,從頂層開始進行功能劃分和結構設計。然后進行獨立的設計以及優(yōu)化每個模塊,并且在頂層設計中將所有已優(yōu)化的模塊綜合在一起,最后進行總體設計驗證。高級數字系統(tǒng)設計方法的主旨思想,是在系統(tǒng)設計過程中,首先對FPGA彩燈技術有所了解,之后再對系統(tǒng)整體實現的過程,進行整體上的認識和分析,以此來畫出系統(tǒng)流程圖的設計。在數據通道的設計過程中,劃分出若干個子單元模塊,并將不斷優(yōu)化其性能??刂茊卧O計由有限狀態(tài)機來實現,合理的安排各個狀態(tài)的轉移??刂茊卧a生發(fā)送給數據通道所需要的控制信號,同時也接收來自數據通道的狀態(tài)信號,監(jiān)控著整個測試過程的運行;數據通道應用來自控制單元的控制信號,并將其處理的結果再次反饋給控制單元。數據通道和控制單元的協調工作,外圍電路進行其他相關控制、顯示,整個系統(tǒng)便可以穩(wěn)定輸出所選取的花色及閃爍頻率。系統(tǒng)最終實現了的功能包括:1、兩個分頻時鐘之間可調,范圍為1Hz~2Hz。一次來達到控制彩燈閃爍速度的快慢。2、據外部光線的強弱(是否黑暗)來改變彩燈的亮滅。3、可以遙控選擇十六路彩燈花色之間的轉換。1、2、3、4、5、6、7控制著十六路彩燈的花色,七種花色變化依次為:1、每隔一個LED燈點亮;2、每隔兩個LED燈點亮;3、每隔三個LED燈點亮;4、每隔四個LED燈點亮;5、每隔五個LED燈點亮;6、每隔六個LED燈點亮;7、為跑馬燈,從左邊開始逐個點亮,當第十六個LED燈被點亮時,開始往返點亮。由于FPGA彩燈電路設計靈活,電路精準度要求高,實際可實現的功能需求也多種多樣,本文只實現了最基本的功能,將來還要對電路的設計進行更加層次的分析和研究,對其性能進行不斷的改善。參考文獻[1]夏宇聞.復雜數字邏輯系統(tǒng)的VerilogHDL設計技術方法[M],高等教育出版社,2001[2]趙吉成,王志勇.XilinxFPGA設計與實踐教程[M],西安電子科技大學出版社,2012[3]褚振勇,齊亮,田紅心,高楷娟.FPGA設計及應用[M],西安電子科技大學出版社,2006[4]Bhasker,徐振林.VerilogHDL硬件描述語言[M],機械工業(yè)出版社,2000[5]徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應用[M],電子工業(yè)出版社,2002[6]周潤景,蘇良碧.基于QuartusII的數字系統(tǒng)VerilogHDL設計實例詳解[M],電子工業(yè)出版社,2010[7]羅杰.VerilogHDL與數字ASIC設計基礎[M],華中科技大學出版社,2008[8]江國強.數字系統(tǒng)的VerilogHDL設計[M],機械工業(yè)出版社,2007[9]王秀琴,夏洪洋,張鵬南.VerilogHDL數字系統(tǒng)設計入門與應用實例[M],電子工業(yè)出版社,2012[10]張延偉,楊金巖,葛愛學.VerilogHDL程序設計實例詳解[M],人民郵電出版社,2010[11]劉福奇.VerilogHDL設計與實戰(zhàn)[M],北京航空航天大學出版社,2012[12]潘松.EDA技術實用教程:Verilog_HDL版(第4版)[M],科學出版社,2012[1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健身路徑與城市綠地系統(tǒng)協同設計考核試卷
- 員工招聘與選拔技巧考核試卷
- 終端市場產品組合優(yōu)化分析考核試卷
- 空間靈活性在可持續(xù)住宅設計中的應用考核試卷
- 專業(yè)舞臺燈光音響租賃行業(yè)教育培訓體系構建考核試卷
- 一次函數的圖象與性質-蘇科版新八年級數學暑假自學提升講義
- 6項目六 票務管理工作職責與管理程序
- 河理工采煤概論課件第13章 急傾斜煤層采煤法
- 合同文本審核標準及流程簡介
- 移動應用程序個人信息收集準則
- 2025云南溫泉山谷康養(yǎng)度假運營開發(fā)(集團)有限公司社會招聘19人筆試參考題庫附帶答案詳解
- 2025年中國教育時政試題及答案
- 鍍鋅工安全教育培訓手冊
- 中國老年糖尿病診療指南(2025)全文版
- 2025年輔警招考《公共基礎知識》題庫(含解答)
- 2025年行政能力測試(國考)復習題庫資料(600題)
- 兒童敗血癥課件
- 2025至2030國內線纜設備行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 雷火灸新技術課件
- 茶葉施肥技術課件
- 深圳前科人員管理辦法
評論
0/150
提交評論