




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、學院:電子信息工程學院 專業(yè):電子設計自動化 班級: 1 班 姓名: XXX 學號: 201210525XXX摘要伴隨著集成電路技術的發(fā)展,電子設計自動化(EDA)技術逐漸成為數(shù)字電路 設計的重要手段?;贔PG的EDA技術的發(fā)展和應用領域的擴大與深入,使得 E DA技術在電子信息,通信,自動控制,計算機等領域的重要性日益突出。本設計給出了一種基于FPG的多功能數(shù)字鐘方法,采用EDA作為開發(fā)工具,V HD語言和圖形輸入為硬件描述語言,QuartusII作為運行程序的平臺,編寫的程 序經過調試運行,波形仿真驗證,下載到 ED麒驗箱的FPG芯片,實現(xiàn)了設計目 標。最后用Quartusll軟系統(tǒng)主芯
2、片采用CycloneII系列EP2C35F672C8采用自頂向下的設計思想, 將系統(tǒng)分為五個模塊:分頻模塊、計時模塊、報時模塊、顯示模塊、頂層模塊。 用VHD語言實現(xiàn)各個功能模塊,圖形輸入法生成頂層模塊.件進行功能仿真,驗證數(shù)字鐘設計的正確性。具有時、分、秒計時以及清零,整點報測試結果表明本設計實現(xiàn)了一個多功能的數(shù)字鐘功能, 顯示功能,以24小時循環(huán)計時;具有校正小時和分鐘的功能; 時功能。關鍵詞:EDA技術;FPGA數(shù)字鐘;VHDL語言;自頂向下AbstractAcco mpanied by the devel opment of in tegrated circuit tech no lo
3、gy, elec tronic desig n automati on (EDA) tech no logy is beco ming an imp orta nt mea ns of digital circuit desig n. FPGA EDA tech no logy devel opment and expansion of app licati on fields and in-dep th, the importance of EDA tech no logy in the field of electro nic in formati on, com muni cati on
4、, automatic con trol, computer, etc. have become increasingly prominent.This design gives a FPGA-based multifunctionaldigital clock using EDdow nlA as a development tool, VHDL Ianguage and graphical input hardware de scription Ianguage, the QuartusII as a platform for running the program, written pr
5、ocedures debugging and running, the waveform simulation oaded to the FPGA chip to achieve the design goals.a topdmodulThe main system chip Cyclonell series EP2C35F672C8. Adopted wn design ideas, the system is divided into five modules: frequency e, tim ing module, timer module, dis play module, the
6、top-level module. With VHDL various fun cti onal modules, grap hical input method to gen erate th e top-level module. Last QuartusII under simulation, to verify the correctness of the digital clock design.The test results show that the design of a multifunctional digital clock, with sec onds time di
7、s play, 24-hour cycle tim ing; has a school, cleared, and the whole point timekeeping functions.Key words : EDA tech no logy; FP GA; VHDL Ian guage; top- dow n; digital cloc k目錄緒論1.1研究背景5.1.2研究目的6.1.3研究方法和內容6.本軟件開發(fā)環(huán)境錯誤!未定義書簽。2.1 FPGA 簡介錯誤!未定義書簽。2.1 .1 FPGA 概述2.1.2 FPGA基本結構錯誤!未定義書簽。7.圖2-1 CLB基本結構8.2.
8、1.3 FPGA系統(tǒng)設計流程2.1.4 FPGA開發(fā)編程原理2.2 QuartusII 設計平臺101.12.2.1軟件開發(fā)環(huán)境及基本流程2.2.2軟件的具體設計流程123總體設計方案3.1數(shù)字鐘的硬件構成原理錯誤!未定義書簽。錯誤!未定義書簽。143.2軟件設計的功能框圖和流程框圖4軟件設計與功能實現(xiàn)4.1分頻模塊功能的軟件設計與實現(xiàn)4.2計時校時模塊功能的軟件設計與實現(xiàn)16164.3 整點報時模塊功能的軟件設計與實現(xiàn) .4.4 掃描譯碼顯示模塊功能的軟件設計與實現(xiàn)4.5 頂層模塊功能的軟件設計與實現(xiàn) 1. 71.7.1.85 系統(tǒng)功能調試及分析6 結論及展望 6.1 結論 .1.9.2.0
9、.2.0.6.2 展望 參考文獻 附錄 .2.1.2.1.2.2.基于FPGA的數(shù)字鐘設計1 緒論現(xiàn)代社會的標志之一就是信息產品的廣泛使用, 而且是產品的性能越來越強, 復雜程度越來越高, 更新步伐越來越快。 支撐信息電子產品高速發(fā)展的基礎就是 微電子制造工藝水平的提高和電子產品設計開發(fā)技術的發(fā)展。 前者以微細加工技 術為代表,而后者的代表就是電子設計自動化 (electronic design automatic, EDA技術。ASIC 是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器。而 FPGA 是特殊的ASIC芯片,與其他的ASIC芯片相比,它具有設計開發(fā)周期短、設計制 造成本低、
10、 開發(fā)工具先進、 標準產品無需測試、 質量穩(wěn)定以及可實時在線檢測等 優(yōu)點。本設計采用的VHDL語言是一種全方位的硬件描述語言,具有極強的描述 能力,能支持系統(tǒng)行為級、 寄存器傳輸級和邏輯門級三個不同層次的設計; 支持 結構、數(shù)據(jù)流、行為三種描述形式的混合描述、覆蓋面廣、抽象能力強,因此在 實際應用中越來越廣泛。數(shù)字化的鐘表給人們帶來了極大的方便。 近些年,隨著科技的發(fā)展和社會的 進步,人們對數(shù)字鐘的要求也越來越高, 傳統(tǒng)的時鐘已不能滿足人們的需求。 多 功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質的變化, 有電子鬧鐘、 數(shù)字鬧鐘 等等。而基于FPG的數(shù)字鐘設計能極大的擴展其功能。1.1 研究背景
11、當今電子產品正向功能多元化 , 體積最小化 , 功耗最低化的方向發(fā)展。 它與傳 統(tǒng)的電子產品在設計上的顯著區(qū)別是大量使用大規(guī)模可編程邏輯器件, 使產品的 性能提高,體積縮小,功耗降低。同時廣泛運用現(xiàn)代計算機技術,提高產品的自 動化程度和競爭力,縮短研發(fā)周期。EDA技術正是為了適應現(xiàn)代電子技術的要求, 吸收眾多學科最新科技成果而形成的一門新技術。EDA 是電子設計自動化( Elcctronic Design Automation )的縮寫,是 90 年代初從CAD(計算機輔助設備),CAM計算機輔助制造),CAT(計算機輔助測 試)和CAE(計算機輔助工程)的概念發(fā)展而來的。EDA技術是以計算機
12、為工具, 根據(jù)硬件描述語言VHDL完成設計文件,自動的完成邏輯編譯,化簡,分割,綜 合及優(yōu)化,布局布線,仿真以及對特定目標芯片的適配編譯和編程下載等工作。 典型的EDA工具中必須包含兩個特殊的軟件包,即綜合器和適配器,綜合器的功能就是將設計者在 EDA平臺上完成的針對某個系統(tǒng)項目的 VHDL 原理圖或狀態(tài)圖形描述,針對給定的硬件系統(tǒng)組件,進行編譯,優(yōu)化,轉換和綜 合,最終獲得我們將實現(xiàn)的功能的描述文件。 綜合器在工作前, 必須給定要實現(xiàn) 的硬件結構參數(shù),它的功能就是將軟件描述與給定的硬件結構用一定的方式聯(lián)系 起來,也就是說綜合器是軟件描述與硬件實現(xiàn)的一座橋梁。 綜合過程就是將電路 的高級語言描
13、述轉換成低級的,可與目標器件CPLD相映射的網表文件。適配器的功能是將由綜合器產生的網表文件配置與指定的目標器件中, 產生最終的下載 文件。適配器所選的目標器件(CPLD芯片)必須包含于在綜合器中已指定的目 標器件系列。本次數(shù)字鐘設計利用VHDL硬件描述語言和圖形輸入相結合的編程方式,并 通過可編程邏輯器件FPGA進行硬件設計,用LED數(shù)碼管動態(tài)顯示計時結果。數(shù) 字鐘可以由各種技術實現(xiàn), 如單片機等。 利用可編程邏輯器件具有其他方式沒有 的特點,它具有成功率高, 理論與實踐結合緊密, 體積小,容量大, I/O 口豐富, 易編程和加密等特點, 并且它還具有開放的界面, 豐富的設計庫, 模塊化的工
14、具 等優(yōu)良性能,應用非常方便。因此,本設計采用可編程邏輯器件FPGA來實現(xiàn)。1.2 研究目的現(xiàn)在是一個知識爆炸的新時代。 新產品、 新技術層出不窮, 電子技術的發(fā)展 更是日新月異。 可以說,電子技術的應用無處不在, 電子技術正在不斷地改變我 們的生活,改變著我們的世界。鐘表的數(shù)字化給人們生產生活帶來了極大的方便, 而且大大地擴展了鐘表原 先的報時功能。諸如定時自動報警、定時啟閉電路、定時開關烘箱、通斷動力設 備,甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。 因此,研究數(shù)字鐘及擴大其應用,有著非常現(xiàn)實的意義。1.3 研究方法和內容本設計主要研究基于FPGA的數(shù)字鐘,采用ED
15、A乍為開發(fā)工具,VHDL語言和 圖形輸入為硬件描述語言,采用自頂向下的設計思想, QuartusII 軟件作為運行 程序的平臺。設計的數(shù)字鐘時間以24小時為一個周期,用LED數(shù)碼管動態(tài)顯示時、 分、秒。具有清零和整點報時功能,可以對小時,分鐘進行單獨校對,使其校正 到標準時間。 校對時間由按鍵進行控制, 為了保證計時的穩(wěn)定及準確, 須由晶體 振蕩器提供時間基準信號并經分頻得到。2.本軟件開發(fā)環(huán)境2.1 FPGA 簡介2.1.1 FPGA 概述FPG是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱,與之相應的CPL是復雜可編程邏輯器件(Complex Pro
16、grammable Logic Device) 的簡稱, 兩者的功能基本相同, 只是實現(xiàn)原理略有不同, 有時可以忽略這兩者的 區(qū)別,統(tǒng)稱為可編程邏輯器件CPLD/FPGACPLD/FPG幾乎能完成任何數(shù)字器件的 功能,上至高性能CPU下至簡單的74電路。它如同一張白紙或是一堆積木,工 程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設計一個數(shù)字系統(tǒng)。 通過 軟件仿真可以事先驗證設計的正確性, 在PC完成以后,利用CPLD/FPG的在線修 改功能,隨時修改設計而不必改動硬件電路。使用 CP LD/F PG開發(fā)數(shù)字電路,可 以大大縮短設計時間,減少PC面積,提高系統(tǒng)的可靠性。這些優(yōu)點使得 CPLD
17、/F PGA技術在20世紀90年代以后得到飛速的發(fā)展,同時也大大推動了 EDA件和硬件描述語言VHD的進步。2.1.2 FPGA 基本結構FPG具有掩膜可編程門陣列的通用結構,它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來實現(xiàn)不同的設計。SRA組成。FPG一般由3種可編程電路和一個用于存放編程數(shù)據(jù)的靜態(tài)存儲器這3種可編程電路是:可編程邏輯模塊( CLB-Configurable Logic Block)、輸入/輸出模塊( IOB-I/O Block )和互連資源( I R I nterconnect Resource )。 可編程邏輯模塊CLB是實現(xiàn)邏輯功能的基本單元,它們通
18、常規(guī)則的排列成一個陣 列,散布于整個芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外 部封裝腳的接口, 它通常排列在芯片的四周; 可編程互連資源包括各種長度的連 接線段和一些可編程連接開關,它們將各個CLB間或CLB IOB之間以及IOB之間 連接起來,構成特定功能的電路。1. CLB是FPG的主要組成部分。圖1是CLB基本結構框圖,它主要由邏輯函 數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLE中 3個邏輯函數(shù)發(fā)生器分別是G F和H,相應的輸出是G'、F'和H'。G有4個輸入變量G1、G2 G3和G4; F也有4 個輸入變量F1、F2、F3和F4。這兩個函數(shù)
19、發(fā)生器是完全獨立的,均可以實現(xiàn) 4輸 入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個輸入信號;前兩個是函數(shù)發(fā) 生器的輸出G和F',而另一個輸入信號是來自信號變換電路的輸出 H1。這個函 數(shù)發(fā)生器能實現(xiàn) 3輸入變量的各種組合函數(shù)。 這3個函數(shù)發(fā)生器結合起來, 可實現(xiàn) 多達9變量的邏輯函數(shù)。CL沖有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過對 CL射部 數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器 G F和H的輸出可以連接到CLB俞出端X或Y, 并用來選擇觸發(fā)器的激勵輸入信號、 時鐘有效邊沿、時鐘使能信號以及輸出信號。這些數(shù)據(jù)選擇器的地址控制信號均由編程信息提供,從而實現(xiàn)所需的電路結構。CL
20、沖的邏輯函數(shù)發(fā)生器F和 G勻為查找表結構,其工作原理類似于ROM F和G 的輸入等效于ROMS地址碼,通過查找ROMP的地址表可以得到相應的組合邏輯函 數(shù)輸出。另外,邏輯函數(shù)發(fā)生器F和G還可以作為器件內高速RA或小的可讀寫存 儲器使用,它由信號變換電路控制。2. 輸入/輸出模塊IOB。IOB提供了器件引腳和內部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā) /鎖存器、輸出緩沖器組成。 每個IOB控制一個引腳,它們可被配置為輸入、輸出或雙向I/O功能。當IOB控制的引腳被定義為輸入時,通過該引腳的輸入信號先送入輸入緩沖器。 緩沖器 的輸出分成兩路:一路可以直接送到MUX另一路延時幾
21、個納秒(或者沒有延時) 后送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過編程給數(shù)據(jù)選擇器不同的控 制信息,確定送至CLB陣列的I1和I2是來自輸入緩沖器,還是來自觸發(fā)器。當lOBg制的引腳被定義為輸出時,CLB車列的輸出信號OU也可以有兩條傳 輸途徑:一條是直接經MU送至輸出緩沖器,另一條是先存入輸出通路 D觸發(fā)器, 再送至輸出緩沖器。IOB輸出端配有兩只MO管,它們的柵極均可編程,使 MO管導通或截止,分 別經上拉電阻接通VCC地線或者不接通,用以改善輸出波形和負載能力。3. 可編程互連資源IR??删幊袒ミB資源IR可以將FPG內部的CLBCLB間、 CLWIOB之間連接起來,構成各種具有復雜功
22、能的系統(tǒng)。IR主要由許多金屬線段 構成,這些金屬線段帶有可編程開關,通過自動布線實現(xiàn)各種電路的連接。2.1.3 FPGA 系統(tǒng)設計流程一般說來,一個比較大的完整的項目應該采用層次化的描述方法:分為幾個較大的模塊,定義好各功能模塊之間的接口,然后各個模塊再細分去具體實現(xiàn), 這就是自頂向下的設計方法。 目前這種高層次的設計方法已被廣泛采用。 高層次 設計只是定義系統(tǒng)的行為特征, 可以不涉及實現(xiàn)工藝, 因此還可以在廠家綜合庫 的支持下,利用綜合優(yōu)化工具將高層次描述轉換為針對某種工藝優(yōu)化的網絡表, 使工藝轉化變得輕而易舉。CPLD/FPG系統(tǒng)設計的工作流程如圖2.2所示。流程說明:1. 工程師按照“自
23、頂向下”的設計方法進行系統(tǒng)劃分。2. 輸入VHD代碼,這是設計中最為普遍的輸入方式。 此外,還可以采用圖形 輸入方式,這種輸入方式具有直觀、容易理解的優(yōu)點。3. 將以上的設計輸入編譯成標準的 VHD文件。4. 進行代碼級的功能仿真, 主要是檢驗系統(tǒng)功能設計的正確性。 這一步驟適 用于大型設計, 因為對于大型設計來說, 在綜合前對源代碼仿真, 就可以大大減 少設計重復的次數(shù)和時間。一般情況下,這一仿真步驟可略去。5. 利用綜合器對VHD源代碼進行綜合優(yōu)化處理,生成門級描述的網絡表文件, 這是將高層次描述轉化為硬件電路的關鍵步驟。 綜合優(yōu)化是針對ASIC芯片供應商 的某一產品系列進行的, 所以綜合
24、的過程要在相應的廠家綜合庫的支持下才能完 成。6. 利用產生的網絡表文件進行適配前的時序仿真, 仿真過程不涉及具體器件 的硬件特性,是較為粗略的。一般的設計,也可略去這一步驟。7. 利用適配器將綜合后的網絡表文件針對某一具體的目標器件進行邏輯映 射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。8. 在適配完成后, 產生多項設計結果: a. 適配報告, 包括芯片內部資源利用 情況,設計的布爾方程描述情況等;b.適配后的仿真模型;C.器件編程文件。根 據(jù)適配后的仿真模型, 可以進行適配后時序仿真, 因為已經得到器件的實際硬件 特性(如時延特性),所以仿真結果能比較精確的預期未來芯片的實際性
25、能。如 果仿真結果達不到設計要求,就修改 VHD源代碼或選擇不同速度和品質的器件, 直至滿足設計要求。最后將適配器產生的器件編程文件通過編程器或下載電纜載入到目標芯片 CPLD/F PG中。圖2-2 CPLD/FPGA系統(tǒng)設計流程硬件設計需要根據(jù)各種性能指標、成本、開發(fā)周期等因素,確定最佳的實現(xiàn)PC并最終形成樣機。編程語言和編程工具。編程語言主要是V2.1.4 FPGA開發(fā)編程原理方案,畫出系統(tǒng)框圖,選擇芯片,設計CP LD/F PGS:件設計可分為兩大塊:HD硬件描述語言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件 Quartusll以及第三方工具。具體的設計輸入方
26、式有以下幾種:1.VHDL語言。VHD既可以描述底層設計,也可以描述頂層的設計,但它不容 易做到較高的工作速度和芯片利用率。用這種方式描述的項目最后所能達到的性 能與設計人員的水平、經驗以及綜合軟件有很大的關系。2. 圖形方式。可以分為電路原理圖描述,狀態(tài)機描述和波形描述3種形式。電路原理圖方式描述比較直觀和高效, 對綜合軟件的要求不高。一般大都使用成 熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路, 整體放到一片可編程邏輯器件 的內部去,其硬件工作速度和芯片利用率很高, 但是當項目很大時,該方法就顯 得有些繁瑣; 狀態(tài)機描述主要用來設計基于狀態(tài)機思想的時序電路。 在圖形的方 式下定義好各個工作
27、狀態(tài), 然后在各個狀態(tài)上輸入轉換條件以及相應的輸入輸出, 最后生成HD語言描述,送去綜合軟件綜合到可編程邏輯器件的內部。由于狀態(tài) 機到HD語言有一種標準的對應描述方式,所以這種輸入方式最后所能達到的工 作速度和芯片利用率主要取決于綜合軟件; 波形描述方式是基于真值表的一種圖 形輸入方式,直接描述輸入與輸出的波形關系。2.2 QuartusII 設計平臺2.2.1 軟件開發(fā)環(huán)境及基本流程本設計所用軟件主要是 QuartusII ,在此對它做一些介紹。Quartusll是Altera 提供的FPGA/CPL開發(fā)集成環(huán)境,Altera 是世界上最 大的可編程邏輯器件供應商之一。 QuartusII
28、提供了一種與結構無關的設計環(huán)境, 使設計者能方便地進行設計輸入、快速處理和器件編程。Altera 公司的 Quartusll 開發(fā)工具人機界面友好、易于使用、性能優(yōu)良, 并自帶編譯、仿真功能。Quartusll軟件完全支持VHDL設計流程,其內部嵌有V HDL邏輯綜合器。Quartusll也可以利用第三方的綜合工具,如FPGA Compiler ll ,并能直接調用這些工具。同樣, Quartusll 具備仿真功能,同時也支持第三 方的仿真工具。此外,Quartusll與MATLAK DSP Builder結合,可以進行基 于FPGA勺DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關鍵EDA技術。Qu
29、artusll 包括模塊化的編譯器。編譯器包括的功能模塊有分析 /綜合器、 適配器、裝配器、時序分析器、設計輔助模塊、EDA網表文件生成器、編輯數(shù)據(jù)接口等??梢酝ㄟ^選擇 Start Compilation 來運行所有的編譯器模塊, 也可以通 過選擇 Start 單獨運行各個模塊。 在 Compiler Tool 窗口中,可以打開該模塊的 設置文件或報告文件,或者打開其它相關窗口。在設計輸入之后, Quartusll 的 編譯器將給出設計輸入的錯誤報告。 Quartusll 擁有性能良好的設計錯誤定位器, 用于確定文本或圖形設計中的錯誤。 在進行編譯后, 可對設計進行時序仿真。 在 仿真前,需要
30、利用波形編輯器編輯一個波形激勵文件。編譯和仿真檢測無誤后, 便可將下載信息通過 Quartusll 提供的編程器下載入目標器件中了。2.2.2 軟件的具體設計流程1. 建立工作庫文件夾和編輯設計文件首先建立工作庫目錄,以便存儲工程項目設計文件。任何一項設計都是一項工程 ( Project ),都必須首先為此工程建立一個放置EDA軟件默認為工作庫。與此工程相關的所有設計文件的文件夾。此文件夾將被 一般來說, 不同的設計項目最好放在不同的文件夾中, 而同一工程的所有文件都 必須放在同一文件夾中。2. 創(chuàng)建工程使用 New Project Wizard 可以為工程指定工作目錄、分配工程名稱以及指 定
31、最高層設計實體的名稱, 還可以指定要在工程中使用的設計文件、 其它源文件、 用戶庫和EDA工具,以及目標器件系列和具體器件等。3. 編譯前設置在對工程進行編譯處理前,必須做好必要的設置。步驟如下:a.選擇FPGA目標芯片b. 選擇配置器件的工作方式c. 選擇配置器件和編程方式d. 選擇輸出設置e. 選擇目標器件閑置引腳的狀態(tài)4. 全程編譯QuartusII 編譯器是由一系列處理模塊構成的, 這些模塊負責對設計項目的檢錯、邏輯綜合、結構綜合、輸出結果的編輯配置,以及時序分析。在這一過程 中,將設計項目適配到FP GA目標器中,同時產生多種用途的輸出文件。編譯器首先檢查出工程設計文件中可能的錯誤信
32、息, 供設計者排除。 然后產生一個結構 化的以網表文件表達的電路原理圖文件。如果編譯成功,可以見到工程管理窗口左上角顯示了工程(例如工程 div ) 的層次結構和其中結構模塊耗用的邏輯宏單元數(shù); 在此欄下是編譯處理流程, 包 括數(shù)據(jù)網表建立、邏輯綜合、適配、配置文件裝配和時序分析等;最下欄是編譯 處理信息;中欄式編譯報告項目選擇菜單, 單擊其中各項可以詳細了解編譯與分 析結果。5. 時序和功能仿真工程編譯通過后,必須建立VWF文件對其功能和時序性質進行仿真測試,了解設計結果是否滿足原設計要求。 可以自己設置輸入信號,再由功能仿真出輸出信號。這能在軟件上實現(xiàn)硬件的功能,大大提高了硬件電路調試成功
33、率。6. 編程下載編程下載指將編程數(shù)據(jù)放到具體的可編程器件中去。 如果以上所有的過程都 沒有發(fā)現(xiàn)問題,即滿足設計要求,就可以將適配器產生的配置 /下載文件通過FPGA編程器或下載電纜載入目標芯片 FPGA中。對FPGA來說就是將數(shù)據(jù)文件“配置”3.1總體設計方案數(shù)字鐘的硬件構成原理至U FPGA中去。數(shù)字鐘實際上是一個對標準頻率(1HZ進行計數(shù)的計數(shù)電路。由于計數(shù)的 起始時間不可能與標準時間一致,故需要在電路上加一個校時電路,同時標準的 1HZ時間信號必須做到準確穩(wěn)定。通常使用石英晶體振蕩器電路構成數(shù)字鐘。圖3-1所示為數(shù)字鐘的一般構成框圖。主要包括晶振電路、復位電路、按鍵電路、譯碼掃描和顯示
34、電路、報時電路。圖3-1數(shù)字鐘硬件構成框圖晶振電路產生穩(wěn)定的10MHZ勺高頻脈沖信號,作為數(shù)字鐘的時間基準,然后 經過軟件分頻10000次輸出標準秒脈沖1HZ秒計數(shù)器滿60后向分計數(shù)器進位, 分計數(shù)器滿60后向小時計數(shù)器進位,小時計數(shù)器按照“ 24翻1”規(guī)律計數(shù)。計計時出現(xiàn)滿后各計數(shù)器清零,重新計數(shù)。計數(shù)器的輸出分別經譯碼器送數(shù)碼管顯示。頂層模塊時,可 以用校時電路校時、校分。在控制信號中除了一般的校時信號外,還有時鐘清零信號, 可以使數(shù)字鐘復位清零。控制信號由3個按鍵S1、S2、S3輸入,分別實現(xiàn)校時、 校分、復位清零功能。掃描譯碼顯示電路由七段譯碼器完成, 顯示由8位數(shù)碼管 構成。3.2軟
35、件設計的功能框圖和流程框圖軟件設計采用模塊化思想和自頂向下的設計方法。用VHDL語言分別編寫分頻模 塊,計時校時模塊,報時模塊和顯示模塊的程序。并將這些設計好的工程文件分 別生成模塊符號文件作為自己的功能模塊符號在頂層調用。 再用圖形輸入的方法設計頂層模塊,將模塊符號文件放置到工作區(qū),進行模塊符號間的連線。編寫好 頂層模塊后,進行編譯仿真,下載到 FPGA芯片,就能在實驗箱上完成數(shù)字鐘的 功能。FPGA功能模塊框圖和整個數(shù)字鐘系統(tǒng)的軟件流程框圖如下。分頻模塊計時校時模塊報時模塊譯碼掃描顯示模塊圖3-2 數(shù)字鐘功能模塊框圖開始初始化LED掃描譯碼顯結束3-3數(shù)字鐘軟件流程框圖4軟件設計與功能實現(xiàn)
36、4.1分頻模塊功能的軟件設計與實現(xiàn)晶體振蕩器是構成數(shù)字式時鐘的核心,晶振的穩(wěn)定度及頻率的精度決定了數(shù) 字鐘計時的準確程度,它保證了時鐘的走時準確及穩(wěn)定。石英晶體的選頻特性非常好,只有某一頻率點的信號可以通過它,其它頻率 段的信號均會被它所衰減,而且,振蕩信號的頻率與振蕩電路中的R、C元件的數(shù) 值無關。因此,這種振蕩電路輸出的是準確度極高的信號。 然后再利用分頻電路, 將其輸出信號轉變?yōu)槊胄盘?,其組成框圖如圖 4-1。圖4-1秒信號產生電路框圖本系統(tǒng)使用的晶振電路給數(shù)字鐘提供一個頻率穩(wěn)定準確的10MHz的方波信號,其輸出至分頻電路。分頻模塊的邏輯框圖如圖4-2所示。經分頻后輸出1HZ的標準 秒信
37、號CLK1HZ用于秒信號,校時電路和報時電路。:-£t*. I . . I . I . I . . . 0.aL|BB.圖4-2分頻模塊的邏輯框圖4.2計時校時模塊功能的軟件設計與實現(xiàn)時間計數(shù)模塊由60進制的秒計數(shù),60進制的分計數(shù)和24進制的小時計數(shù)分別 實現(xiàn)。當數(shù)字鐘處于正常計數(shù)狀態(tài)時,秒計數(shù)器對1Hz的標準信號進行計數(shù),在其 進位輸出信號作為分計數(shù)器的使能端,而分計數(shù)器的進位輸出信號又作為時計數(shù) 器的使能端。4-3。數(shù)字鐘除了正常計時外,通過兩個按鍵S1,S2分別實現(xiàn)對小時、分鐘的調整。 這兩個按鍵的作用,就是用來產生時計數(shù)器、分計數(shù)器的另一路使能信號按鍵使 能信號.由于它們的
38、基準信號都是1Hz ,故有按鍵使能信號時,它們會迅速增加, 達到調整時間的目的。下面給出計時校時模塊的邏輯框圖如圖clkHZEec1J3ii.2;UlkntrTunilSL.O£1m忙(MM:.辺=2hmjrl IM. .ajMb蝕1 .0圖4-3計時校時模塊的邏輯框圖4.3整點報時模塊功能的軟件設計與實現(xiàn)整點報時模塊是根據(jù)秒、分的輸出數(shù)值,與程序設定的時間作比較,當時間4-4。為59分55秒、56秒、57秒、58秒、59秒時,整點報時模塊的LED丁控制信號有輸出,LED燈閃爍。下面給出整點報時模塊的邏輯框圖圖4-4整點報時模塊的邏輯框圖4.4掃描譯碼顯示模塊功能的軟件設計與實現(xiàn)動態(tài)
39、掃描電路將計數(shù)器輸出的8421BCD碼轉換為數(shù)碼管需要的邏輯狀態(tài),并 且輸出數(shù)碼管的片選信號和位選信號。所謂動態(tài)掃描顯示方式是在顯示某一位 L ED顯示塊的數(shù)據(jù)的時候,讓其它位不顯示,然后在顯示下一位的數(shù)據(jù),同時關 閉其他顯示塊。這樣做可以使每一個顯示塊顯示與自己相對應的數(shù)據(jù)。只要保證每一位顯示的時間間隔不要太大,利用人眼的視覺暫留的現(xiàn)象,就可以造成各位 數(shù)據(jù)同時顯示的假象。asp la就e.訓 也注丄免並.刖顯示譯碼電路,選擇八位七段數(shù)碼管作為顯示單元電路。 計數(shù)器實現(xiàn)了對時 間的累計并以8421BC碼的形式輸送到動態(tài)掃描模塊,由譯碼電路將8421BC碼轉 換為七段碼,再由數(shù)碼管顯示出來。下
40、面給出掃描譯碼顯示模塊的邏輯框圖4-5。elk1 i.匚爲一呦、 h理卩勺聾圖4-5掃描譯碼顯示模塊的邏輯框圖4.5頂層模塊功能的軟件設計與實現(xiàn)將分頻模塊,計時校時模塊,報時模塊和顯示模塊創(chuàng)建的符號文件在新建的 頂層模塊圖形編輯文件中調用,進行模塊符號間的連線,設置輸入,輸出引腳。 編寫好頂層模塊后,進行編譯仿真,驗證程序的正確性。下面給出頂層模塊的邏 輯框圖4-6 0由;|阪.JS呼ULEDf 一 _-_=一.一 邈三 hirvmWLfR<tgWFEJV% -CRAj、J 魯 " h.H-rbiJJnfrkiHF,話 r i j 郵YL時戲:r衛(wèi)7£咤1 U nnW
41、 卑HLHtT電?.二:衛(wèi)前圖4-6頂層模塊的邏輯框圖5系統(tǒng)功能調試及分析本系統(tǒng)只含有FPGA自編程硬件設計電路,整個系統(tǒng)比較簡單。因此在 系統(tǒng)調試中采用自低向上的調試方法,也就是先進行各個單元模塊的軟件 編譯,在各個單元模塊調試好后再把各個單元模塊綜合起來進行系統(tǒng)的整 體的編譯和功能仿真。數(shù)字鐘系統(tǒng)的整體功能仿真波形圖如下圖5。功能仿真無誤后,通過下載電纜將設計文件加載到目標器件一一FPGA通過控制按鍵觀察LED顯示是否達到數(shù)字鐘的設計要求。End IZatflne泅h 7 + k?乃 E 腳,輻餐E 冊in hl ZSDQSZht Sd 13 HI ZmSTs E5D 血 B:Z30.泯皿
42、忑0、眶盯詁YhT III廠III,a e-4Q2St"aST570lff】£0就尋IT&加0丼gG5A3£I0Q l«dk 3k 2】卜,"LL 0riLd日咤JA: jmTfmr.wuuuuwRfUumRnnmnnjwjw一wuuuwLwmomr nLfAlHAlAllA in n n I ltl_Ln ltu_m lTLS 啟LTUmmLnLTU LTU LRLTinKTLTULRULTULnLrU LrU LRLRAlJ 1I !_I i1 I I _I1LrLL_rLJL_rLL_rL_rLrL_rLrLJL_rLL_r&qu
43、ot;LLQnr_rLnLRrLrm_HnnAr_nnAKrLrmrLnnAmRAr_mnA JAl"k 圖5數(shù)字鐘系統(tǒng)的整體功能仿真波形圖6結論及展望6.1結論本文提出了一種基于FPGA的數(shù)字鐘設計方案,從硬件和軟件兩個方面詳細地介紹了設計思想和過程,最終設計出了數(shù)字鐘,將設計程序加載到實驗箱上運行調試后,時、分、秒能夠正常計數(shù),并能由控制鍵分別校正時、分的顯示,整點報時功能正常。最終結果與預期效果一致,完成了預期的設計任務。論文取得了如下結果:1. 采用了 FPGA芯片Cyclonell系列EP2C35F672C作為核心器件。設計的數(shù)字鐘系統(tǒng)的硬件電路,能夠完成數(shù)字鐘的校時,計時
44、,報時,顯示等實時任務。2. 運用自頂向下的思想。將整個系統(tǒng)分成幾個模塊分別設計,再用頂層模塊塊將它們聯(lián)系起來,實現(xiàn)數(shù)字鐘整體的功能,降低了系統(tǒng)設計的難度。3. 采用了 VHDL 語言為主,圖形輸入為輔的編程方法。優(yōu)點是編程方法靈 活,而且編寫的程序具有很好的移植性,同樣適用于其他FPGA芯片的數(shù)字鐘設 計。4. 采用 QuartusII 軟件進行編譯和仿真,可以不管硬件而先進行軟件的仿 真,并能根據(jù)仿真結果分析設計存在的問題和缺陷, 從而進行程序的調試和完善, 這大大的提高了編程的成功率。6.2 展望雖然數(shù)字鐘的設計取得了一定的進展,但是在某些方面還存在著很多不足, 比如數(shù)字鐘的功能還不夠強
45、大,計時和校時的精度還有待提高等。今后需要進一步進行的研究工作和內容:1. 實現(xiàn)數(shù)字鐘微秒位的計時顯示, 擴展數(shù)字鐘的功能, 實現(xiàn)時、分、秒和分、 秒、微秒有選擇的分別顯示。并能實現(xiàn)秒位的校正。2. 實現(xiàn)定時報時功能, 可隨意設置報時時間, 而不是在整點時報時, 增加其 實用性。3. 提高計時精度。 通過按鍵校正時間時, 由于器件對信號的延時, 會產生一 定的誤差。可以進一步通過軟件實現(xiàn)按鍵消抖, 提高整個數(shù)字鐘系統(tǒng)的計時精度。參考文獻1廖日坤,CPLD/FPGA嵌入式應用開發(fā)技術白金手冊,中國電力出版社,2003,212-218 。23456王開軍,姜宇柏,面向CPLD/FPGA的VHDL設
46、計,機械工業(yè)出版社,2006,28-65。趙保經,中國集成電路大全,國防工業(yè)出版社 ,1985。 高吉祥,電子技術基礎實驗與課程設計,電子工業(yè)出版社, 呂思忠,數(shù)子電路實驗與課程設計,哈爾濱工業(yè)大學出版社,趙志杰,集成電路應用識圖方法,機械工業(yè)出版社, 2003,2002。2001。35-40。2003。7 張慶雙,電子元器件的選用與檢測,機械工業(yè)出版社,8 譚會生,張昌凡, EDA 技術及應用,西安電子科技大學出版社 ,2002。9 李可,數(shù)字鐘電路及應用M,北京:電子工業(yè)出版社,1996。附錄數(shù)字鐘子模塊程序1. 分頻模塊library ieee;use ieee.std_logic_11
47、64.all; use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity FP is port(clk: in std_logic;clk1HZ: out std_logic);end FP;architecture behave of FP issignal clk_count1: std_logic_vector(13 downto 0);begin process(clk)begin if(clk'event and clk='1')thenif(clk_count1<10000)
48、then clk_count1<=clk_count1+1;else clk_count1<="00000000000001"end if;end if;end process;clk1HZ<=clk_count1(13);END BEHAVE;2. 計時校時模塊library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity JS is port(clkHZ: in std_logic;clk: in
49、std_logic; rst: in std_logic;s1, s2: in std_logic;sec1,sec10,min1,min10,hour1,hour10: BUFFER INTEGER ); end JS;architecture behave of JS isBEGIN process(clkHZ,rst)begin if(rst='0') then sec1<=0;sec10<=0;min1<=0;min10<=0;hour1<=0;hour10<=0;elsif(clkHZ'event and clkHZ=
50、9;1')thenif(s1='0') thenif(hour1=9) thenhour1<=0; hour10<=hour10+1;elsif(hour10=2 and hour1=3)thenhour1<=0;hour10<=0;else hour1<=hour1+1;end if;elsif(s2='0') then if( min1=9)thenmin1<=0;if(min10=5) then min10<=0;else min10<=min10+1;end if;else min1<=min
51、1+1;end if;elsif(sec1=9) then sec1<=0;if (sec10=5)then sec10<=0;if(min1=9)then min1<=0; if(min10=5)then min10<=0;if(hour1=9) then hour1<=0;hour10<=hour10+1;elsif(hour10=2 and hour1=3)then hour1<=0; hour10<=0; else hour1<=hour1+1;end if;else min10<=min10+1;end if;else mi
52、n1<=min1+1;end if;else sec10<=sec10+1;end if;else sec1<=sec1+1;end if;end if;end process; END BEHAVE;3. 整點報時模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity BAOS is port(clkHZ1: in std_logic;min1,min10,sec1,sec10: in integer;led:
53、 out std_logic_vector(3 downto 0);end BAOS;architecture behave of BAOS issignal led_count: std_logic_vector(2 downto 0);signal led_display: std_logic_vector(3 downto 0);BEGIN process(clkHZ1)begin if(clkHZ1'event and clkHZ1='1') thenif (min10=5 and min1=9 and sec10=5 and sec1>3 )then l
54、ed_count<=led_count+1;else led_count<="000"end if;end if;end process;process(led_count) begin case(led_count)iswhen"000"=>led_display<="0000"when"001"=>led_display<="1111"when"010"=>led_display<="0111"when"011"=>led_display<="0011"when"100"=>led_display<="0001"when"101"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購物車安全從細節(jié)做起
- 跨境電商平臺的品牌塑造與推廣策略
- 風景如畫地域文化與自然風光的融合探索
- 超聲科在遠程醫(yī)療中的應用與挑戰(zhàn)
- 廣西2025年02月柳州市事業(yè)單位度上半年公開考試招考工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 金融科技行業(yè)報告創(chuàng)新與挑戰(zhàn)并存
- 跨境電商平臺的數(shù)據(jù)分析與優(yōu)化
- 八年級新課程中的創(chuàng)新體育投擲教學案例
- 運動療法在成人脊柱側彎康復中的實踐案例
- 合同要約與承諾重慶市房屋建筑與市政基礎設施工程現(xiàn)場施工專業(yè)人員土建預算員培訓
- 畢業(yè)設計外文文獻-Spring Boot
- 六年級下冊《生命.生態(tài).安全》全冊教案(表格式)
- 采購入庫單模板
- GB 14930.1-2022食品安全國家標準洗滌劑
- GB/T 15566.6-2007公共信息導向系統(tǒng)設置原則與要求第6部分:醫(yī)療場所
- 中國電信教育基地市級“三通兩平臺”建設方案(教育機構)
- 火力發(fā)電廠節(jié)能技術經濟指標釋義
- 智能制造知識課件
- 雙方責任及工程分工界面
- 2017醫(yī)學倫理知情同意書
- 中醫(yī)學-導論課件
評論
0/150
提交評論