基于FPGA的多功能數(shù)字時鐘設(shè)計_第1頁
基于FPGA的多功能數(shù)字時鐘設(shè)計_第2頁
基于FPGA的多功能數(shù)字時鐘設(shè)計_第3頁
基于FPGA的多功能數(shù)字時鐘設(shè)計_第4頁
基于FPGA的多功能數(shù)字時鐘設(shè)計_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要摘 要本設(shè)計為一個多功能數(shù)字時鐘,可以進行時、分、秒24小時循環(huán)計時與顯示,并能通過按鍵實現(xiàn)時間修改、整點報時、鬧鈴提醒功能。設(shè)計采用EDA技術(shù),以硬件描述語言VHDL為系統(tǒng)邏輯描述手段進行設(shè)計,在ise工具軟件環(huán)境下,采用自頂向下的設(shè)計方法,由各個基本模塊共同構(gòu)建了一個基于FPGA的數(shù)字鐘。系統(tǒng)主要有由分頻模塊、計時模塊、控制調(diào)整模塊、掃描顯示模塊、報時模塊等組成。用較少按鍵實現(xiàn)了各項預期功能,能方便完成各個狀態(tài)之間的轉(zhuǎn)換。關(guān)鍵詞 : 數(shù)字鐘,VHDL,F(xiàn)PGA,鬧鈴I目 錄AbstractThe design for a multi-functional digital clock,

2、with hours, minutes and seconds count display to a 24-hour cycle count; have proof functions and the whole point time keeping function. The use of EDA design technology, hardware-description language VHDL description logic means for the system design documents, in ise tools environment, a top-down d

3、esign, by the various modules together build a FPGA-based digital clock.The main system is made up of the frequency division module, control and adjust module, time module, scan and display decoding module, broadcast module. This design completes all the function with few key, and the transform amon

4、g all the state is very convenience.Keywords: digital clock, VHDL, FPGA, alarmV目錄第一章引言11.1選題背景11.2課題價值與意義11.3課題的國內(nèi)外研究現(xiàn)狀11.4課題的難點、重點2第二章FPGA簡介32.1FPGA概述32.2FPGA基本結(jié)構(gòu)32.3FPGA系統(tǒng)設(shè)計流程52.4FPGA開發(fā)編程原理6第三章EDA技術(shù)簡介83.1EDA技術(shù)概述83.2可編程邏輯器件103.3硬件描述語言HDL113.4基于EDA技術(shù)的數(shù)字系統(tǒng)設(shè)計方法133.4.1自低向上的設(shè)計方法143.4.2自頂向下的設(shè)計方法14第四章數(shù)字鐘總

5、體設(shè)計方案154.1多功能數(shù)字時鐘系統(tǒng)分析與設(shè)計154.2數(shù)字時鐘工作原理154.3FPGA芯片與開發(fā)軟件選擇164.3.1FPGA 芯片選擇策略164.3.2開發(fā)軟件選擇174.4開發(fā)平臺介紹18第五章單元電路設(shè)計205.1分頻模塊設(shè)計205.2計時模塊設(shè)計215.3按鍵消抖模塊設(shè)計225.4按鍵控制系統(tǒng)設(shè)計245.5時間調(diào)整模塊設(shè)計265.6掃描顯示與譯碼模塊設(shè)計285.7鬧鈴與整點報時設(shè)計30第六章軟件仿真與開發(fā)板實現(xiàn)316.1仿真方法316.2系統(tǒng)HDL描述波形仿真326.2.1分頻模塊波形仿真326.2.2計時模塊波形仿真326.2.3控制系統(tǒng)波形仿真336.2.4時間調(diào)整模塊波形仿

6、真346.2.5鬧鈴與整點報時模塊波形仿真346.2.6系統(tǒng)總電路仿真356.3開發(fā)板實現(xiàn)356.3.1開發(fā)板實現(xiàn)步驟356.3.2開發(fā)板實現(xiàn)結(jié)果與過程中的問題36第七章結(jié)論與展望377.1結(jié)論與收獲377.2展望37參考文獻38致謝39附 錄40外文資料原文48外文資料譯文52第一章 引言第一章引言1.1選題背景現(xiàn)代電子產(chǎn)品正在以前所未有的革新速度,向著功能多樣化、體積最小化、功耗最低化的方向發(fā)展。大規(guī)??删幊踢壿嬈骷氖褂门c現(xiàn)代計算機技術(shù)的廣泛應用是其與傳統(tǒng)電子產(chǎn)品最大的區(qū)別。另外,現(xiàn)代電子產(chǎn)品設(shè)計依靠各種現(xiàn)代技術(shù)提高了產(chǎn)品性能、縮小了產(chǎn)品體積、降低了產(chǎn)品消耗、并縮短了研發(fā)周期。在這個背景

7、下,EDA技術(shù)吸收了多學科最新成果從而形成一門新技術(shù),并在各個領(lǐng)域有了十分重要的應用1。隨著數(shù)字集成技術(shù)與電子設(shè)計自動化技術(shù)的迅速發(fā)展,數(shù)字技術(shù)已經(jīng)應用到科研、生產(chǎn)、與人們?nèi)粘I畹母鱾€領(lǐng)域。數(shù)字系統(tǒng)設(shè)計的理論與方法也在相應的變化與發(fā)展。1.2課題價值與意義現(xiàn)在是一個知識爆炸的新時代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說,電子技術(shù)的應用無處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的現(xiàn)在,隨著生活節(jié)奏的加快,時間對人們來說越來越寶貴,人們對各種應用器材的要求也越來越高,而數(shù)字時鐘作為日常生活中特別在準確計數(shù)方面的應用很廣泛,所以精確且

8、方便使用的數(shù)字時鐘就被越來越多的人所選擇。以往的模擬時鐘與機械時鐘過于復雜且精度上有很大的瓶頸,數(shù)字時鐘簡單而精確,較好的滿足各種需求,能夠充分發(fā)揮VHDL語言與可編程器件靈活、高效、集成度高的特點,所以已成為各種應用中的首選,多功能數(shù)字時鐘的設(shè)計與實現(xiàn)具有重要的實際意義2。1.3課題的國內(nèi)外研究現(xiàn)狀近些年,隨著科技的發(fā)展和社會的進步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。目前雖然各種時鐘層出不窮,但這些時鐘不是過于復雜就是精度很低,在這方面有很大的發(fā)展?jié)摿?,?shù)字時鐘可以有效彌補這些缺陷,但仍

9、然需要很好的設(shè)計思想。一方面對計時用的標準時鐘信號有極強的精度要求,即需要一個很精確的晶振來完成;另一方面,在時間設(shè)置、鬧鈴提醒時,能夠與預定的載入時間、響鈴時刻完全相符則是對數(shù)字電路時序上的一個很大的要求,這就需要對電路結(jié)構(gòu)進行有效的調(diào)整,通過提前執(zhí)行功能等方法將延時彌補1。另外,數(shù)字鐘的應用極為廣泛,多功能數(shù)字鐘的出現(xiàn)也成為必須,除了基本的計數(shù)功能,很多數(shù)字鐘還具有鬧鈴、整點報時、年月日提醒、跑表等功能。有效的將這些功能協(xié)調(diào)工作是對系統(tǒng)的一個很重要的要求。更為至關(guān)重要的是人機交互接口便于用戶操作。1.4課題的難點、重點由于功能較多,人機交互接口的簡易化非常重要,各項功能代表不同的狀態(tài),在不

10、同狀態(tài)切換時的操作也務(wù)必簡單化。另外,在鬧鈴、時間設(shè)置時各模塊之間會有不同的響應行為,它們之間的協(xié)調(diào)工作也至關(guān)重要,這些都將成為設(shè)計中的難點。課題的重點除了正常計數(shù)外便是鬧鈴或時間調(diào)整了,這是設(shè)計最基本的要求也是最主要的要求,其他功能基本是圍繞這兩個功能服務(wù)的。55第二章 FPGA簡介第二章FPGA簡介2.1FPGA概述FPGA是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱,與之相應的CPLD是復雜可編程邏輯器件(Complex Programmable Logic Device)的簡稱,兩者的功能基本相同,只是實現(xiàn)原理略有不同,所以有時可以忽略這兩者的

11、區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/FPGA。CPLD/FPGA幾乎能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設(shè)計一個數(shù)字系統(tǒng)。通過軟件仿真可以事先驗證設(shè)計的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時修改設(shè)計而不必改動硬件電路。使用CPLA/FPGA開發(fā)數(shù)字電路,可以大大縮短設(shè)計時間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點使得CPLA/FPGA技術(shù)在20世紀90年代以后得到飛速的發(fā)展,同時也大大推動了EDA軟件和硬件描述語言HDL的進步1。2.2FPGA基本結(jié)構(gòu)F

12、PGA具有掩膜可編程門陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來實現(xiàn)不同的設(shè)計。FPGA一般由3種可編程電路和一個用于存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。這3種可編程電路是:可編程邏輯模塊(CLB-Configurable Logic Block)、輸入/輸出模塊(IOB-I/O Block)和互連資源(IRInterconnect Resource)。可編程邏輯模塊CLB是實現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個陣列,散布于整個芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括

13、各種長度的連接線段和一些可編程連接開關(guān),它們將各個CLB之間或CLB、IOB之間以及IOB之間連接起來,構(gòu)成特定功能的電路。1.CLB是FPGA的主要組成部分。圖2-1是CLB基本結(jié)構(gòu)框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個邏輯函數(shù)發(fā)生器分別是G、F和H,相應的輸出是G 、F和H。G有4個輸入變量G1、G2、G3和G4;F也有4個輸入變量F1、F2、F3和F4。這兩個函數(shù)發(fā)生器是完全獨立的,均可以實現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個輸入信號;前兩個是函數(shù)發(fā)生器的輸出G和F,而另一個輸入信號是來自信號變換電路的輸出H1。這個函數(shù)發(fā)生器能實現(xiàn)3輸

14、入變量的各種組合函數(shù)。這3個函數(shù)發(fā)生器結(jié)合起來,可實現(xiàn)多達9變量的邏輯函數(shù)。CLBCLBCLBCLBCLBBCLBCLBCLBCLBCLBCLBCLBCLBBCLBCLBCLB可編程開關(guān)矩輸入輸出模塊互連資源CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器,通過對CLB內(nèi)部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來選擇觸發(fā)器的激勵輸入信號、時鐘有效邊沿、時鐘使能信號以及輸出信號。這些數(shù)據(jù)選擇器的地址控制信號均由編程信息提供,從而實現(xiàn)所需的電路結(jié)構(gòu)。圖2-1 CLB基本結(jié)構(gòu)2.輸入/輸出模塊IOB。IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入

15、緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成。3.可編程互連資源IR??删幊袒ミB資源IR可以將FPGA內(nèi)部的CLB和CLB之間、CLB和IOB之間連接起來,構(gòu)成各種具有復雜功能的系統(tǒng)。IR主要由許多金屬線段構(gòu)成,這些金屬線段帶有可編程開關(guān),通過自動布線實現(xiàn)各種電路的連接。2.3FPGA系統(tǒng)設(shè)計流程系統(tǒng)劃分編譯器代碼級功能仿真綜合器適配前時序仿真適配器CPLD/FPGA實現(xiàn)適配后仿真模型適配后時序仿真適配報告ASIC實現(xiàn)VHDL代碼或圖形方式輸入仿真綜合庫器件編程文件一般說來,一個比較大的完整的項目應該采用層次化的描述方法:分為幾個較大的模塊,定義好各功能模塊之間的接口,然后各個模塊再細分去具體實現(xiàn)

16、,這就是TOP DOWN(自頂向下)的設(shè)計方法。目前這種高層次的設(shè)計方法已被廣泛采用。高層次設(shè)計只是定義系統(tǒng)的行為特征,可以不涉及實現(xiàn)工藝,因此還可以在廠家綜合庫的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換成某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉。CPLD/FPGA系統(tǒng)設(shè)計的工作流程如圖2-2所示1。圖2-2 CPLD/FPGA系統(tǒng)設(shè)計流程流程說明:1.工程師按照“自頂向下”的設(shè)計方法進行系統(tǒng)劃分。2.輸入VHDL代碼,這是設(shè)計中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖、狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點。3.將以上的設(shè)計輸入編譯成標準的VHDL文件。4.進行代

17、碼級的功能仿真,主要是檢驗系統(tǒng)功能設(shè)計的正確性。這一步驟適用于大型設(shè)計,因為對于大型設(shè)計來說,在綜合前對源代碼仿真,就可以大大減少設(shè)計重復的次數(shù)和時間。一般情況下,這一仿真步驟可略去。5.利用綜合器對VHDL源代碼進行綜合優(yōu)化處理,生成門級描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對ASIC芯片供應商的某一產(chǎn)品系列進行的,所以綜合的過程要在相應的廠家綜合庫的支持下才能完成。6.利用產(chǎn)生的網(wǎng)絡(luò)表文件進行適配前的時序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計,也可略去這一步驟。7.利用適配器將綜合后的網(wǎng)絡(luò)表文件針對某一具體的目標器件進行邏輯映射操

18、作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。8.在適配完成后,產(chǎn)生多項設(shè)計結(jié)果:(a)適配報告,包括芯片內(nèi)部資源利用情況,設(shè)計的布爾方程描述情況等;(b)適配后的仿真模型;(c)器件編程文件。根據(jù)適配后的仿真模型,可以進行適配后時序仿真,因為已經(jīng)得到器件的實際硬件特性(如時延特性),所以仿真結(jié)果能比較精確的預期未來芯片的實際性能。如果仿真結(jié)果達不到設(shè)計要求,就修改VHDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿足設(shè)計要求。最后將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標芯片CPLD/FPGA中。2.4FPGA開發(fā)編程原理硬件設(shè)計需要根據(jù)各種性能指標、成本、開發(fā)周期等因素,確

19、定最佳的實現(xiàn)方案,畫出系統(tǒng)框圖,選擇芯片,設(shè)計PCB并最終形成樣機。CPLD/FPGA軟件設(shè)計可分為兩大塊:編程語言和編程工具。編程語言主要有VHDL和Verilog兩種硬件描述語言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGA Express、Modelsim、Synposys SVS等)。具體的設(shè)計輸入方式有以下幾種:1.HDL語言方式。HDL既可以描述底層設(shè)計,也可以描述頂層的設(shè)計,但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項目最后所能達到的性能與

20、設(shè)計人員的水平、經(jīng)驗以及綜合軟件有很大的關(guān)系。2.圖形方式。可以分為電路原理圖描述,狀態(tài)機描述和波形描述3種形式。有的軟件3種輸入方法都支持,如Active-HDL。MAX+plusII 圖形輸入方式只支持電路原理圖描述和波形描述兩種。電路原理圖方式描述比較直觀和高效,對綜合軟件的要求不高。一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內(nèi)部去,所以硬件工作速度和芯片利用率很高,但是項目很大的時候,該方法就顯得有些繁瑣;狀態(tài)機描述主要用來設(shè)計基于狀態(tài)機思想的時序電路。在圖形的方式下定義好各個工作狀態(tài),然后在各個狀態(tài)上輸入轉(zhuǎn)換條件以及相應的輸入輸出,最后生

21、成HDL語言描述,送去綜合軟件綜合到可編程邏輯器件的內(nèi)部。由于狀態(tài)機到HDL語言有一種標準的對應描述方式,所以這種輸入方式最后所能達到的工作速度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關(guān)系。這種輸入方式最后所能達到的工作速度和芯片利用率也是主要取決于綜合軟件1。 第三章 EDA技術(shù)簡介第三章EDA技術(shù)簡介3.1EDA技術(shù)概述二十世紀70年代后期,隨著微電子技術(shù)和計算機技術(shù)的不斷發(fā)展,電子技術(shù)進入了一個嶄新的時代,其特征是電子設(shè)計自動化技術(shù)的應用以空前規(guī)模和速度滲透到各行各業(yè)。電子設(shè)計自動化技術(shù)(EDA)是現(xiàn)在電子設(shè)計技術(shù)的核心,是以微

22、電子技術(shù)、計算機科學的發(fā)展為基礎(chǔ),融合應用電子技術(shù)、智能技術(shù)以及計算機圖形學、拓撲邏輯學、計算數(shù)學等眾多學科的最新成果發(fā)展起來的一門技術(shù)。EDA以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件和實驗開發(fā)系統(tǒng)為設(shè)計工具,在EDA工具軟件平臺上,運用軟件的設(shè)計方法完成純硬件電子系統(tǒng)的設(shè)計;邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合、布局布線及優(yōu)化、仿真測試,以及對于特定目標芯片的適配編譯、邏輯映射、編程配置等工作則可由開發(fā)工具自動完成,最終形成所需的集成電子系統(tǒng)或?qū)S眉尚酒?。整個設(shè)計過程,設(shè)計者就像完成軟件設(shè)計一樣,只需利用硬件描

23、述語言HDL在EDA開發(fā)工具中完成對系統(tǒng)硬件功能的描述,而其他大部分工作都可由開發(fā)工具完成,整個設(shè)計過程方便、高效。隨著現(xiàn)代微電子加工技術(shù)發(fā)展到深亞微米(45nm0.35um)階段,基于大規(guī)?;虺笠?guī)模集成電路技術(shù)的全定制或半定制ASIC(Application Specific IC即專用集成電路)器件大量涌現(xiàn)并獲得廣泛的應用,使整個電子技術(shù)與產(chǎn)品的面貌發(fā)生了巨大的變化,極大地推動了社會信息化的發(fā)展進程。而EDA技術(shù)則是支撐這一發(fā)展進程的主要基礎(chǔ)之一。EDA技術(shù)所涉及的內(nèi)容比較廣泛,大體包含以下四個方面:1.可編程邏輯器件;2.硬件描述語言HDL;3.軟件開發(fā)工具;4.硬件驗證系統(tǒng)。其中,可

24、編程邏輯器件(FPGA / CPLD)、硬件描述語言(VHDL、Verilog、ABEL、AHDL)、軟件開發(fā)工具由國際著名的主流EDA公司Altera(Quartus)、Lattice(ispEXPERT)、Xilinx(ISE)等提供,硬件驗證系統(tǒng)則可由設(shè)計者根據(jù)使用的FPGA / CPLD型號自行設(shè)計,主要提供可編程邏輯器件的下載電路和硬件開發(fā)的外圍資源,供硬件驗證使用。綜觀近30年的電子技術(shù)的發(fā)展歷程,隨著微電子技術(shù)和現(xiàn)代電子技術(shù)的相互促進、相互推動和相互制約,EDA技術(shù)也得到了迅猛發(fā)展。EDA技術(shù)大致經(jīng)歷了四個發(fā)展階段,即:20世紀70年代后期,CAD技術(shù)概念已見雛形,逐漸運用到集成

25、電路版圖繪制和PCB布局布線等工作中;20世紀80年代,CAE和CAD技術(shù)應用更加廣泛,出現(xiàn)了FPGA;20世紀90年代,確立了硬件描述語言的標準化,計算機輔助設(shè)計技術(shù)在電子技術(shù)領(lǐng)域獲得更加廣泛的應用,集成電路設(shè)計工藝進入超深亞微米階段,大規(guī)模可編程邏輯器件陸續(xù)面世,促進了EDA技術(shù)的形成,這時的EDA工具不僅具有電子系統(tǒng)設(shè)計能力,且能提供獨立于工藝和廠家的系統(tǒng)級設(shè)計能力,具有系統(tǒng)級功能描述的設(shè)計構(gòu)思手段;進入21世紀以后,EDA技術(shù)得到了更大的發(fā)展,不斷推出更大規(guī)模的可編程邏輯器件,軟硬件IP核的應用得到進一步確認,EDA涉及的領(lǐng)域不斷擴大。EDA技術(shù)在硬件方面融合了大規(guī)模集成電路制造技術(shù),

26、 IC版圖設(shè)計技術(shù)、ASIC測試和封裝技術(shù)、可編程邏輯器件編程下載、自動測試技術(shù)等;在計算機輔助工程方面融合了計算機輔助設(shè)計CAD、計算機輔助制造CAM、計算機輔助測試CAT技術(shù)及多種計算機語言的設(shè)計概念;而在現(xiàn)代電子學方面則容納了更多的內(nèi)容,如電子線路設(shè)計理論、長線技術(shù)理論、數(shù)字信號處理技術(shù)、系統(tǒng)建模和優(yōu)化技術(shù)等。在涉及計算機應用、工業(yè)自動化、儀器儀表、電子信息等領(lǐng)域的電子系統(tǒng)設(shè)計工作中,EDA技術(shù)的應用獲得了飛速發(fā)展;航空航天、衛(wèi)星測控等高新技術(shù)項目的設(shè)計開發(fā)也逐漸依賴于EDA技術(shù)的應用。即便是消費類電子產(chǎn)品的開發(fā),應用EDA技術(shù)也能突破一些以往的技術(shù)瓶頸,從而極大地提升了產(chǎn)品的穩(wěn)定性和可

27、靠性,大幅提高了產(chǎn)品的性價比。同時,隨著電子產(chǎn)品更新?lián)Q代的節(jié)奏日益加快,各行業(yè)對設(shè)計自己專用集成電路(ASIC)的要求日趨迫切,EDA技術(shù)的廣泛應用,為各行各業(yè)的電子系統(tǒng)設(shè)計者自行開發(fā)低成本的ASIC提供了技術(shù)基礎(chǔ)和技術(shù)條件。EDA技術(shù)已成為目前電子設(shè)計領(lǐng)域中非常重要的組成部分,甚至一些電子設(shè)計專家認為,單片機時代即將結(jié)束,未來將是EDA的時代。與單片機系統(tǒng)開發(fā)相比,利用EDA技術(shù)開發(fā)可編程邏輯器件,打破了軟件和硬件之間的壁壘,是一種借助于軟件設(shè)計方法實現(xiàn)純硬件開發(fā)的有效途徑。實現(xiàn)ASIC芯片,可以是FPGA/CPLD,也可以是半定制或全定制的掩模芯片。而運用FPGA/CPLD開發(fā)專用ASIC

28、,可以有效地降低ASIC開發(fā)成本,F(xiàn)PGA/CPLD也已成為一種當今開發(fā)ASIC芯片的主流器件2。3.2可編程邏輯器件可編程邏輯器件是近三十年才發(fā)展起來的一種新型集成電路,是當前數(shù)字系統(tǒng)設(shè)計的主要硬件基礎(chǔ),是硬件編程語言HDL的物理實現(xiàn)工具??删幊踢壿嬈骷?shù)字系統(tǒng)設(shè)計自動化起著推波助瀾的作用,借助可編程邏輯器件實現(xiàn)了數(shù)字電子系統(tǒng)自動化設(shè)計。目前,由于這種以可編程邏輯器件為硬件載體,從“制造自主芯片”開始的EDA設(shè)計模式己成為當前數(shù)字電子系統(tǒng)設(shè)計的主流,若要掌握世界最先進的數(shù)字系統(tǒng)設(shè)計方法,就要認識并使用可編程邏輯器件。數(shù)字集成電路本身在不斷地進行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集

29、成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計與制造集成電路的任務(wù)已不完全由半導體廠商來獨立承擔。系統(tǒng)設(shè)計師們更愿意自己設(shè)計專用集成電路(ASIC)芯片,并且希望能較大地縮短ASIC的設(shè)計周期,降低設(shè)計成本,最好能在實驗室里就能設(shè)計出自己的ASIC芯片,并且立即投入實際應用之中,因而出現(xiàn)了現(xiàn)場可編程邏輯器件(FPLD);其中應用最廣泛的就是現(xiàn)場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD) ??删幊踢壿嬈骷幱诟咚侔l(fā)展的階段。隨著微電子工藝技術(shù)的革新,新型的FPGA /CPLD規(guī)模已達數(shù)百萬門級甚至上千萬

30、門級,功能越來越復雜,并內(nèi)嵌了復雜功能模塊,成本越來越低。高性價比使可編程邏輯器件在電子設(shè)計領(lǐng)域扮演著日益重要的角色。低端CPLD已經(jīng)逐步取代了74系列等傳統(tǒng)的數(shù)字芯片,高端FPGA也在不斷地奪取ASIC的市場份額,特別是目前大規(guī)模FPGA多數(shù)支持可編程片上系統(tǒng)( SOPC),與RAM、CPU或DSP核等復雜功能模塊的相互融合使FPGA已不僅僅是傳統(tǒng)的數(shù)字電路設(shè)計工具,而逐步成為系統(tǒng)級實現(xiàn)工具。可編程邏輯器件硬件上的發(fā)展趨勢可總結(jié)如下:最先進的半導體器件生產(chǎn)工藝將被更廣泛的應用于以FPGA為代表的可編程邏輯器件;越來越多的高端FPGA產(chǎn)品將包含CPU或DSP等處理器內(nèi)核,使FPGA由傳統(tǒng)的數(shù)字

31、電路設(shè)計工具逐步過渡為系統(tǒng)級設(shè)計平臺;FPGA將包含功能越來越豐富的IP硬核(Hard IP Core),與傳統(tǒng)ASIC進一步融合,并通過可編程ASIC技術(shù)加快占領(lǐng)ASIC市場,最終取代傳統(tǒng)的ASIC;低成本FPGA的集成度越來越高,生產(chǎn)成本越來越低,性價比越來越高,將成為FPGA發(fā)展的中堅力量。這幾個發(fā)展趨勢可簡稱為先進工藝、內(nèi)嵌處理器核、硬核與可編程ASIC、高性價比器件2。3.3硬件描述語言HDL硬件描述語言(HDL)是一種用文本形式來描述和設(shè)計電子系統(tǒng)的語言;是電子系統(tǒng)設(shè)計硬件行為描述、結(jié)構(gòu)描述、數(shù)據(jù)流描述的語言;是各種描述方法中最能體現(xiàn)EDA優(yōu)越性的描述方法。所謂硬件描述語言,實際就

32、是一個描述工具,其描述的對象是待設(shè)計電路系統(tǒng)的邏輯行為、實現(xiàn)該功能的算法、電路結(jié)構(gòu)以及其他各種約束條件等。通常要求HDL既能描述系統(tǒng)的行為,又能描述系統(tǒng)的電路結(jié)構(gòu)。目前利用硬件描述語言可以進行復雜的數(shù)字電子系統(tǒng)的設(shè)計。隨著研究的深入,利用硬件描述語言進行模擬電子系統(tǒng)設(shè)計或混合電子系統(tǒng)設(shè)計,也將成為可能。硬件描述的語言種類很多,到現(xiàn)今已出現(xiàn)了數(shù)十種硬件描述語言;有的從PASCAL發(fā)展而來,也有一些從C語言發(fā)展而來。但大部分是本企業(yè)標準,有些HDL已成為IEEE標準(如VHDL和Verilog HDL)。HDL發(fā)展的技術(shù)源頭是:在HDL形成發(fā)展之前,已有了許多程序設(shè)計語言,如匯編、PASCAL、F

33、ORTRAN、PROLOG、C等。這些語言運行在不同硬件平臺、不同的操作環(huán)境中,它們適合于描述過程和算法,不適合描述硬件電路。CAD和CAE技術(shù)的發(fā)展,使人們利用計算機進行建筑、服裝、電子等行業(yè)的輔助設(shè)計成為可能。在利用EDA工具進行電子設(shè)計時,簡單的邏輯門、分立電子元件再作為越來越復雜的整個電子系統(tǒng)的設(shè)計己不適應。任何一種EDA工具,都需要一種硬件描述語言作為EDA工具的工作語言。這些眾多的EDA工具軟件開發(fā)者,各自推出了自己的HDL語言。但語言種類太多反而使用戶無所適從,因此急需一種面向多領(lǐng)域、多層次、并得到行業(yè)認同的標準HDL語言。最終VHDL和Verilog HDL適應了電子設(shè)計發(fā)展趨

34、勢的要求,先后成為了IEEE標準。在我國比較有影響的硬件描述語言有:ABEL - HDL 語言、VHDL語言、AHDL語言和Verilog HDL語言。本次設(shè)計中主要考慮Verilog HDL語言和VHDL語言兩種HDL語言。Verilog HDL是在C語言的基礎(chǔ)上發(fā)展而來的一種描述語言,是目前應用最廣泛的硬件描述語言之一。它是1983年由GDA公司的Phil Moorby首創(chuàng)的,最初只設(shè)計了一個仿真與驗證工具,用于系統(tǒng)仿真與驗證,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時序分析工具。Verilog HDL最大優(yōu)點是與硬件工藝無關(guān),這使得工程師在功能設(shè)計、邏輯驗證階段無須過多考慮門級電路及其芯片工藝實

35、現(xiàn)的具體細節(jié),只需利用系統(tǒng)設(shè)計時對系統(tǒng)性能的要求,輔以不同的約束條件,便可設(shè)計出實用的芯片。實際上,這是利用EDA工具,把邏輯驗證與具體工藝庫匹配、把布局布線和硬件線路延時計算由計算機自動完成,從而減輕了設(shè)計者的勞動量。Verilog HDL把數(shù)字系統(tǒng)當作一組模塊來描述,每一個模塊具有模塊端口以及關(guān)于模塊功能的描述,一個模塊代表一個邏輯單元,每個模塊實現(xiàn)特定的功能,這些模塊可以進行層次嵌套,從而實現(xiàn)相互連接,相互通信。由于Verilog HDL是標準化的,所以能把完成的設(shè)計移植到不同廠家的不同型號的芯片中去。又由于Verilog HDL設(shè)計的信號位數(shù)很容易改變,所以可以通過對信號位數(shù)的修改,來

36、適應不同的硬件規(guī)模,而且Verilog HDL既能進行綜合的電路設(shè)計,又可進行電路模擬仿真。Verilog HDL語言能夠在多個層次上對所設(shè)計的系統(tǒng)加以描述,電路描述風格靈活多樣,特別適用于描述門級電路,容易控制電路資源,易學易用,如果有C語言的編程經(jīng)驗,可在一個較短的時間內(nèi)學習和掌握;與之相比,VHDL的學習要困難一些。但Verilog HDL的語法較自由,也容易使初學者犯一些錯誤,同時其對系統(tǒng)的描述能力不如VHDL語言。VHDL語言設(shè)計技術(shù)齊全、方法靈活、與芯片制作工藝無關(guān)、編程方便;各種硬件描述語言中,VHDL的系統(tǒng)抽象描述能力最強,強大的行為描述能力是避開具體的硬件結(jié)構(gòu),實現(xiàn)從邏輯行為

37、上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證,所以成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言,也成為了硬件描述語言的主流。由于可編程邏輯器件編程技術(shù)的飛速發(fā)展,VHDL所能提供的高階電路描述語言方式,使復雜的電路可以通過使用VHDL文本描述方式對電路功能或?qū)崿F(xiàn)的算法進行描述,輕易、快速地達到設(shè)計要求。VHDL硬件描述語言所能涵蓋的范圍相當廣,能滿足各種不同階層的設(shè)計工程師的需求。運用VHDL硬件描述語言能實現(xiàn)從專用芯片的設(shè)計到電路系統(tǒng)的設(shè)計,所以VHDL語言毫無疑問地成為電子設(shè)計工程師的必備工具。將VHDL程序?qū)懭肟删幊踢壿嬈骷?,做成ASIC芯片,因其開發(fā)周期短,升級和更改方便,所以將在很大范圍內(nèi)取代單片控

38、制電路,成為未來數(shù)字電子系統(tǒng)設(shè)計的主流方向。目前,VHDL語言也已成為FPGA /CPLD設(shè)計開發(fā)最常用的硬件描述語言之一。VHDL語言作為電子設(shè)計自動化的重要組成部分,為借助計算機進行數(shù)字電子系統(tǒng)設(shè)計提供了一種很好的手段。用VHDL進行設(shè)計有諸多優(yōu)點,VHDL的硬件描述能力很強,可以用于從門級、寄存器傳輸級直至系統(tǒng)級的描述、仿真、綜合和調(diào)試。利用VHDL豐富的仿真語句和庫函數(shù),可在任何大系統(tǒng)的設(shè)計早期檢驗系統(tǒng)功能可行性,可在遠離門級的高層次上進行模擬,隨時對設(shè)計進行仿真模擬,以利于設(shè)計者確定整個工程設(shè)計的合理性和可行性。VHDL強大的行為描述能力和程序結(jié)構(gòu),使其能對大規(guī)模設(shè)計進行層次化設(shè)計,

39、以及對已有設(shè)計進行再利用。運用VDHL語言完成的設(shè)計可利用EDA軟件工具對系統(tǒng)進行邏輯綜合和優(yōu)化,方便完善系統(tǒng)功能,有效地降低開發(fā)成本。運用VHDL描述系統(tǒng)具有相對的獨立性,對電路的描述可與硬件結(jié)構(gòu)和工藝要求無關(guān),將設(shè)計者從煩瑣的硬件結(jié)構(gòu)中解放出來。當設(shè)計通過仿真驗證以后,再用相應的工具軟件將設(shè)計映射成不同的工藝,使其硬件實現(xiàn)目標器件有廣闊的選擇范圍,并且修改設(shè)計與修改目標器件類型相互間不會產(chǎn)生不良影響。VHDL語言標準、規(guī)范,語法較為嚴格,具有類屬描述語句和子程序調(diào)用等功能,使設(shè)計者對已完成的設(shè)計,在不改變源程序,只需改變類屬參數(shù)或函數(shù)的條件下,便可輕易地改變設(shè)計的規(guī)模和系統(tǒng)結(jié)構(gòu)。1995年

40、我國國家技術(shù)監(jiān)督局制定的CAD通用技術(shù)規(guī)范推薦將VHDL作為我國電子設(shè)計自動化硬件描述語言的國家標準。VHDL已成為世界上眾多EDA工具和集成電路廠商普遍認同和共同推廣的標準化硬件描述語言。掌握VHDL,并運用其設(shè)計數(shù)字電子系統(tǒng),是當前進行技術(shù)競爭的一項基本技能和強有力的工具3。3.4基于EDA技術(shù)的數(shù)字系統(tǒng)設(shè)計方法EDA ( electronic design automation) 技術(shù)的出現(xiàn)使數(shù)字系統(tǒng)的設(shè)計方法發(fā)生了根本性的變化,通常電子設(shè)計采用的基本設(shè)計方法主要有三種:直接設(shè)計、自頂向下(Top - to - Down)設(shè)計和自底向上(Bottom -to - Up)設(shè)計。直接設(shè)計就是

41、將設(shè)計看成一個整體,將其設(shè)計成為一個單電路模塊,此方法適合小型簡單的電路設(shè)計。而一些功能較復雜的大型數(shù)字電子系統(tǒng)設(shè)計中往往適合采用層次化的設(shè)計方法,分模塊、分層次地進行設(shè)計描述。描述系統(tǒng)總功能的設(shè)計為頂層設(shè)計,描述系統(tǒng)中較小單元的設(shè)計為底層設(shè)計。整個設(shè)計過程可理解為從硬件的頂層功能抽象描述至最底層電路結(jié)構(gòu)描述的一系列轉(zhuǎn)換過程,直到最后得到可實現(xiàn)的硬件單元電路描述為止。層次化設(shè)計方法比較自由,既可采用自頂向下的設(shè)計也可采用自底向上設(shè)計,在任何層次都可以采用原理圖輸入設(shè)計方法或硬件描述語言HDL輸入設(shè)計方法。自頂向下的設(shè)計方法就是從設(shè)計的總體要求入手,自頂向下地將設(shè)計劃分為不同的功能子模塊,每個模

42、塊完成特定的功能,這種設(shè)計方法首先確定頂層模塊的設(shè)計,再進行子模塊的詳細設(shè)計,而在子模塊的設(shè)計中可以調(diào)用庫中已有的模塊或以前設(shè)計完成的功能模塊。自底向上的設(shè)計方法則與自頂向下的設(shè)計方法恰恰相反。3.4.1自低向上的設(shè)計方法傳統(tǒng)的數(shù)字系統(tǒng)的設(shè)計往往都采用自底向上(Bottom - to Up)的設(shè)計方法,即首先確定構(gòu)成系統(tǒng)的最低層的電路模塊或元件的結(jié)構(gòu)和功能,然后根據(jù)主系統(tǒng)的功能要求,將它們組裝成更大的功能模塊,使它們的結(jié)構(gòu)和功能滿足高層系統(tǒng)的要求,依此類推,直至完成整個目標系統(tǒng)的設(shè)計。自底向上的設(shè)計方法的中心思想是首先根據(jù)對整個系統(tǒng)的測試與分析,由基本門單元電路構(gòu)成各個組合與時序邏輯單元,再由

43、邏輯單元組成各個獨立的功能模塊,在此基礎(chǔ)上再由各個功能模塊連成一個完整的系統(tǒng)。該設(shè)計方法的特點是:從底層邏輯庫中直接調(diào)用邏輯門單元,此方法也符合硬件工程師傳統(tǒng)的設(shè)計習慣;但在進行底層設(shè)計時缺乏對整個電子系統(tǒng)總體性能的把握;而且在整個系統(tǒng)完成后,要進行修改就比較困難,設(shè)計周期長;隨著設(shè)計規(guī)模與系統(tǒng)復雜度的提高,這種方法的缺點更突出。3.4.2自頂向下的設(shè)計方法現(xiàn)代數(shù)字系統(tǒng)的設(shè)計方法一般都采用自頂向下(Top - to - Down)的層次化設(shè)計方法,即從整個系統(tǒng)的整體要求出發(fā),自上而下地逐步將系統(tǒng)設(shè)計內(nèi)容細化,即把整個系統(tǒng)分割為若干功能模塊,最后完成整個系統(tǒng)的設(shè)計。自頂向下設(shè)計方法的中心思想是:

44、系統(tǒng)頂層是一個包含輸入輸出的頂層模塊,并用系統(tǒng)級、行為描述加以表達,同時完成整個系統(tǒng)的模擬和性能分析;整個系統(tǒng)由各個子功能模塊組成,而每個子功能模塊則由更細化的行為描述加以表達;以此向下,逐層完成各功能模塊的功能描述和電路結(jié)構(gòu)描述,最后由EDA綜合工具完成到工藝庫的映射。自頂向下設(shè)計方法具有以下特點:結(jié)合模擬手段,可以從開始就掌握實現(xiàn)目標系統(tǒng)的性能狀況;隨著設(shè)計層次向下進行,系統(tǒng)的性能參數(shù)將進一步得到細化與確認;可以根據(jù)需要及時調(diào)整相關(guān)的參數(shù),從而保證了設(shè)計結(jié)果的正確性,縮短了設(shè)計周期;設(shè)計的電路規(guī)模越大,這種方法的優(yōu)越性體現(xiàn)的越明顯。自頂向下的層次化設(shè)計方法的有效應用必須基于功能強大的EDA

45、工具,具備集系統(tǒng)描述、行為描述和結(jié)構(gòu)描述功能為一體的硬件描述語言HDL,以及先進的ASIC制造工藝和CPLD /FPGA開發(fā)技術(shù)。當今,自頂向下的層次化設(shè)計方法已經(jīng)是EDA技術(shù)的首選設(shè)計方法,是可編程邏輯器件開發(fā)的主要設(shè)計手段1。第四章 數(shù)字鐘總體設(shè)計方案第四章數(shù)字鐘總體設(shè)計方案4.1多功能數(shù)字時鐘系統(tǒng)分析與設(shè)計本設(shè)計主要利用FPGA設(shè)計一個多功能數(shù)字時鐘,要求實現(xiàn)以下功能:(1)24小時循環(huán)計時;(2)定時鬧鈴功能;(3)整點響鈴;(4)時間設(shè)置、調(diào)整功能;數(shù)字鐘最為重要的功能便是正常計時,也就是對1HZ的時鐘信號進行計數(shù)。由于起始時間、人為因素、系統(tǒng)誤差等,計時可能有誤差,需要時間設(shè)置功能

46、。整點報時用于提醒人們到達時間節(jié)點,鬧鈴提醒與設(shè)置功能使得數(shù)字時鐘更加的實用。以便于人們更加方便的掌握時間。為了用戶更好的使用多功能數(shù)字時鐘,相比其他一些設(shè)計,本設(shè)計做到了按鍵盡可能少,顯示更加合理,時間設(shè)置更為簡單。時間采用6位數(shù)碼管循環(huán)掃描顯示,鬧鈴與整點響鈴采用蜂鳴器鳴響。按鍵設(shè)置如下:A. 按下show_alarm鍵,系統(tǒng)顯示此刻鬧鈴時間;B. 顯示鬧鈴時,按下enter鍵,系統(tǒng)回到計數(shù)狀態(tài);C. 按下alarm_adjust鍵,系統(tǒng)進入設(shè)置鬧鈴狀態(tài);D在設(shè)置鬧鈴時,按下enter鍵,系統(tǒng)進入計數(shù)狀態(tài),并加載新的鬧鈴時間進入鬧鈴存儲器;E按下time_adjust鍵,系統(tǒng)進入時間調(diào)整狀

47、態(tài);F時間調(diào)整狀態(tài)下,按下enter鍵,系統(tǒng)加載新時間并進入計數(shù)狀態(tài);G鬧鈴或時間調(diào)整狀態(tài)下,按下select鍵選擇要調(diào)整時間所在數(shù)碼管位置,然后按下add或者minus鍵,對其進行調(diào)整;H鬧鈴響鈴或整點響鈴時,按下ring鍵,蜂鳴器停止鳴響;4.2數(shù)字時鐘工作原理首先由晶振產(chǎn)生穩(wěn)定的高頻脈沖信號,作為數(shù)字鐘的輸入時鐘信號,然后經(jīng)過分頻器輸出標準秒脈沖,時基電路可以由石英晶體振蕩電路構(gòu)成,如果晶振頻率為1MHz,經(jīng)過6次十分頻就可以得到秒脈沖信號。秒計數(shù)器計數(shù)滿60后向分計數(shù)器進位,分計數(shù)器計數(shù)滿60后向小時計數(shù)器進位。計滿后各計數(shù)器清零,重新計數(shù)。計數(shù)器的輸出分別經(jīng)譯碼器送數(shù)碼管顯示。計時出

48、現(xiàn)誤差時,可以用時間調(diào)整電路分別調(diào)整時、分、秒。調(diào)整電路的調(diào)整信號可由控制電路產(chǎn)生,控制電路除了產(chǎn)生一般的時間調(diào)整信號外,還產(chǎn)生鬧鈴設(shè)置信號、響鈴控制信號,位置閃爍調(diào)整信號等。在調(diào)整時間的同時,位置閃爍信號可控制需要調(diào)整的時間位進行閃爍,以便于調(diào)整??刂菩盘栍?個按鍵輸入。譯碼顯示電路由七段譯碼器完成,顯示由數(shù)碼管構(gòu)成。當時間與鬧鈴時間相等或者時間為整點時,產(chǎn)生響鈴信號控制蜂鳴器發(fā)出響聲。總體設(shè)計框圖如圖4-1所示:4-1總體設(shè)計框圖4.3FPGA芯片與開發(fā)軟件選擇4.3.1FPGA 芯片選擇策略FPGA芯片的工藝一直走在芯片設(shè)計領(lǐng)域的前列,產(chǎn)品更新?lián)Q代速度非常快。穩(wěn)定性和可靠性是產(chǎn)品設(shè)計需要

49、考慮的關(guān)鍵因素。廠家最新推出的FPGA系列產(chǎn)品一般都沒有經(jīng)過大批量應用的驗證。選擇這樣的芯片會增加設(shè)計的風險。而且,最新推出的FPGA芯片因為產(chǎn)量比較小,一般供貨情況都不會很理想,價格也會偏高一些。如果成熟的產(chǎn)品能滿足設(shè)計指標要求,那么最好選這樣的芯片來完成設(shè)計。FPGA系統(tǒng)設(shè)計一般采用硬件描述語言(HDL)來完成設(shè)計。這與基于CPU的軟件開發(fā)又有很大不同。特別是算法實現(xiàn)的時候,在設(shè)計之前,很難估算這個算法需要占多少FPGA的邏輯資源。作為代碼設(shè)計者,希望算法實現(xiàn)之后再選擇FPGA的型號。但是,現(xiàn)在的設(shè)計流程一般都是軟件和硬件并行開始設(shè)計。也就是說,在HDL代碼設(shè)計之前,就開始硬件板卡的設(shè)計。

50、這就要求硬件板卡具備一定的兼容性,可以兼容不同規(guī)模的FPGA芯片。本設(shè)計選擇了實驗室中常用的Xilinx公司Spartan3系列芯片。4.3.2開發(fā)軟件選擇 Xilinx 是全球領(lǐng)先的可編程邏輯完整解決方案的供應商,研發(fā)、制造并銷售應用范圍廣泛的 高級集成電路、軟件設(shè)計工具以及定義系統(tǒng)級功能的IP(Intellectual Property)核,長期以來一直推動著FPGA技術(shù)的發(fā)展。Xilinx的開發(fā)工具也在不斷地升級,由早期的Foundation系列逐步發(fā)展到目前的ISE 14.1 系列,集成了FPGA開發(fā)需要的所有功能,其主要特點有:(1)包含了Xilinx新型SmartCompile技術(shù)

51、,可以將實現(xiàn)時間縮減2.5 倍,能在最短的時間內(nèi)提供最高的性能,提供了一個功能強大的設(shè)計收斂環(huán)境;(2)全面支持Virtex-5系列器件(業(yè)界首款65nm FPGA);(3)集成式的時序收斂環(huán)境有助于快速、輕松地識別FPGA設(shè)計的瓶頸;(4)可以節(jié)省一個或多個速度等級的成本,并可在邏輯設(shè)計中實現(xiàn)最低的總成本。Foundation Series ISE具有界面友好、操作簡單的特點,再加上Xilinx的FPGA 芯片占有很大的市場,使其成為非常通用的FPGA工具軟件。ISE作為高效的EDA 設(shè)計工具集合,與第三方軟件揚長補短,使軟件功能越來越強大,為用戶提供了更加豐富的Xilinx平臺。ISE的主

52、要功能包括設(shè)計輸入、綜合、仿真、實現(xiàn)和下載,涵蓋了FPGA開發(fā)的全過程,從功能上講,其工作流程無需借助任何第三方EDA軟件。 設(shè)計輸入:ISE提供的設(shè)計輸入工具包括用于HDL代碼輸入和查看報告的ISE 文本編輯器(The ISE Text Editor),用于原理圖編輯的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于狀態(tài)機設(shè)計的StateCAD 以及用于約束文件編輯的Constraint Editor等。綜合:ISE的綜合工具不但包含了Xilinx自身提供的綜合工具XST,同時還可以內(nèi)嵌Mentor Gra

53、phics公司的Leonardo Spectrum和Synplicity公司的Synplify,實現(xiàn)無縫鏈接。仿真:ISE 本身自帶了一個具有圖形化波形編輯功能的仿真工具HDL Bencher,同時又提供了使用Model Tech公司的Modelsim進行仿真的接口。實現(xiàn):此功能包括了翻譯、映射、布局布線等,還具備時序分析、管腳指定以及增量設(shè)計等高級功能。下載:下載功能包括 BitGen,用于將布局布線后的設(shè)計文件轉(zhuǎn)換為位流文件,還 包括了ImPACT,功能是進行設(shè)備配置和通信,控制將程序燒寫到FPGA芯片中去。4.4開發(fā)平臺介紹ETL-001 Xilinx FPGA開發(fā)板是Xilinx公司S

54、partan 3A系列中的器件,XC3S200A封裝為VQFP100為主芯片,輔以板上的下載配置電路,數(shù)碼管和LED顯示電路,按鍵和開關(guān)電路以及豐富的多種外設(shè)接口,包括PS2 鍵盤,PS2鼠標,VGA 顯示器,RS-232雙串口等,以方便進行信息的人機交互。該開發(fā)板所提供的主芯片XC3S200A 是Xilinx公司最新推出的90nm半導體工藝的低端低成本的FPGA芯片,可以廣泛地運用在通信,軍事,電力,控制,消費電子,汽車電子絕大多數(shù)電子應用領(lǐng)域。該芯片是基于SRAM工藝的超大規(guī)??删幊踢壿嬓酒峁┝烁哌_20 萬的等效系統(tǒng)門,3854個查找表(LUT),3854個寄存器(FF),288Kbi

55、t的塊狀SRAM以及16個18*18 的乘法器,以及60 對差分I/O,LVDS、DDR/DDR2、PCI等豐富的接口資源。FPGA芯片選用XILINX公司當前低端主流芯片XC3S200A,該系列在之前的3E系列上更加強了用戶IO的電平兼容能力以及支持熱拔插。非常適合用于設(shè)計連接,可以有效的防止在設(shè)計中由于錯誤連接導致的芯片損壞。選用的FTG256的BGA封裝不僅能夠在最低成本的前提下保證信號傳輸?shù)姆€(wěn)定性,同時也能完全兼容同系列更多邏輯門的XC3S400A(40萬門)芯片的替換,為之后開發(fā)板高級實驗擴展提供了準備。電源設(shè)計選用了兩級級聯(lián)的方式,以擴展更廣的輸入電壓范圍(7.515V)兼容以及更

56、安全的系統(tǒng)供電方式。配置方式選用常規(guī)的JTAG接口+主動配置模式,最大程度簡化設(shè)計風險以及調(diào)試難度,便于初學者入門學習。開發(fā)板外圍功能包括:8個按鈕開關(guān)、2個8位撥動開關(guān)、8位共陽數(shù)碼管、16X16 LED點陣、8個LED顯示、一個蜂鳴器、溫度傳感器、AD電壓轉(zhuǎn)器、RS232接口轉(zhuǎn)換器以及外置48MHz有源晶振。同時,為了軟核在SOPC嵌入式方面的擴展,板上還增加設(shè)計了NOR FLASH存儲器。為了便于外接邏輯分析儀以及擴展使用,實驗板上增設(shè)了33個外擴IO口,以滿足擴展功能需要。實驗板外圍配套了一個128 X 64的點陣液晶顯示器,通過實驗板的預留接口連接。以完善實驗板綜合功能。系統(tǒng)設(shè)置了復

57、位按鈕開關(guān)以及懸掛開關(guān),可以實現(xiàn)系統(tǒng)不斷電情況下的軟復位以及睡眠狀態(tài)。第五章 單元電路設(shè)計第五章單元電路設(shè)計5.1分頻模塊設(shè)計系統(tǒng)需要產(chǎn)生1HZ的標準時鐘信號用于計時, 1KHZ的時鐘信號用于數(shù)碼管掃描顯示,100HZ的信號用于按鍵消抖,為使得時鐘精準,本設(shè)計采用48MHz的有源晶振,對晶振輸出的48MHZ信號進行分頻得到需要的信號。分頻的主要原理為通過計數(shù)器對需要分頻信號上升沿的計數(shù),觸發(fā)輸出信號的反轉(zhuǎn)。這樣很容易得到所需頻率。電路端口圖如圖5-2所示:圖5-2 分頻模塊外部端口圖其中clk為48MHZ時鐘輸入信號,carry_out_1hz,為1HZ標準時鐘輸出信號,carry_out_1000hz為1KHZ輸出信號。分頻模塊算法框圖如圖5-3所示:5-3 分頻模塊算法流程圖5.2計時模塊設(shè)計本設(shè)計需要實現(xiàn)24小時循環(huán)計時,故需設(shè)計小時、分鐘、秒三個計數(shù)器。其中秒與分鐘計數(shù)器為60進制計數(shù)器,每次計數(shù)到59后,下一個輸入信號上升沿到了時進行清零,并產(chǎn)生有效進位信號。而小時計數(shù)器為24進制計數(shù)器

溫馨提示

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

評論

0/150

提交評論