課程設(shè)計論文基于FPGA的m序列發(fā)生器_第1頁
課程設(shè)計論文基于FPGA的m序列發(fā)生器_第2頁
課程設(shè)計論文基于FPGA的m序列發(fā)生器_第3頁
課程設(shè)計論文基于FPGA的m序列發(fā)生器_第4頁
課程設(shè)計論文基于FPGA的m序列發(fā)生器_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于fpga的序列發(fā)生器摘要序列廣泛應(yīng)用于密碼學(xué)、通信、雷達(dá)、導(dǎo)航等多個領(lǐng)域,本文提出了一種基于fpga的偽隨機序列產(chǎn)生方法,應(yīng)用移位寄存器理論從序列的本原多項式出發(fā),獲得產(chǎn)生該序列的移位寄存器反饋邏輯式,結(jié)合fpga芯片結(jié)構(gòu)特點,在序列算法實現(xiàn)中采用元件例化語句。算法運用vhdl語言編程,以a1tera的quartus軟件為開發(fā)平臺,給出了序列的仿真波形。序列的統(tǒng)計特性分析表明:該方法產(chǎn)生的序列符合序列的偽隨機特性,驗證了算法的正確性。關(guān)鍵詞:序列;移位寄存器理論;vhdl語言目 錄摘要i1 m序列11.1 理論基礎(chǔ)11.1.1 線性反饋移位寄存器32 m序列的性質(zhì)52.1 均衡性52.2游

2、程特性52.4 自相關(guān)特性52.5 偽噪聲特性83 m序列的應(yīng)用93.1 擴(kuò)展頻譜通信93.2 通信加密104 開發(fā)工具簡介124.1 quartus ii簡介124.2 數(shù)字系統(tǒng)開發(fā)流程134.3 fpga簡介145 m序列生成器仿真分析195.1 反饋系數(shù)表存儲器設(shè)計195.2 移位存儲器設(shè)計205.3 仿真分析22參考文獻(xiàn)24附 錄251 m序列m序列是偽隨機序列的一種 ,結(jié)構(gòu)簡單 ,實現(xiàn)方便。在現(xiàn)代工程實踐中 , m 序列在通訊、導(dǎo)航、雷達(dá)、通信系統(tǒng)性能的測量等領(lǐng)域中有著廣泛的應(yīng)用。例如 , 在連續(xù)波雷達(dá)中可用作測距信號 , 在遙控系統(tǒng)中可用作遙控信號 , 在多址通信中可用作地址信號

3、, 在數(shù)字通信中可用作群同步信號 ,還可用作噪聲源及在保密通信中起加密作用等。偽噪聲發(fā)生器在測距、通信等領(lǐng)域的應(yīng)用日益受到人們重視。目前,m序列產(chǎn)生實現(xiàn)方法主要有3種:(1)門電路實現(xiàn)該方法設(shè)計簡單,但隨移位寄存器級數(shù)的增長,電路裝調(diào)困難,且占用的印制板面積較大。(2)dsp編程實現(xiàn)該方法專業(yè)性過強,不適合一般用戶。(3)vhdl與cpld實現(xiàn)由于cpld的高集成度,而且vhdl語言編程較為方便,故可以大大減少電路的裝調(diào)的困難。文章提出vhdl語言實現(xiàn),l序列電路是周期、初相位可編程變化的,其應(yīng)用較為靈活,通過微處理器對其進(jìn)行適當(dāng)?shù)某跏蓟纯僧a(chǎn)生用戶所需周期、初相位的m序列輸出。用軟件方式構(gòu)

4、成的特點是采用靈活的數(shù)據(jù)查詢方式可以獲得任意級數(shù) n 的本原多項式系數(shù) ,從而實現(xiàn) m 序列的產(chǎn)生 , 但速度受到單片機工作速度的限制。而 fpga 具有硬件電路實現(xiàn)的優(yōu)點 , 又具有設(shè)計上的靈活性 , 并且由于 fpga 便于實現(xiàn)大規(guī)模的數(shù)字系統(tǒng) 。1.1 理論基礎(chǔ) m 序列是最長線性反饋移位寄存器序列的簡稱,它是由帶線性反饋的移位寄存器產(chǎn)生的周期最長的一種序列。m 序列發(fā)生器的結(jié)構(gòu)主要分為兩類,一類稱為簡單型碼序列發(fā)生器,另一類稱為模塊型碼序列發(fā)生器。原理圖如圖 1 所示。 圖1-1 m列原理圖擾碼的目的是使短周期輸入序列變?yōu)殚L周期的信道序列。從原則上看,就可以用將一個長周期序列疊加在輸入

5、序列上的方法來實現(xiàn),并且疊加序列的周期越長越好。從理論上說,一個真正的隨機(二進(jìn)制)序列的“周期”是無限長的,但是,采用這種序列時在接收端將無法產(chǎn)生相同的序列與之同步。所以,人們就不得不企圖用簡單電路來產(chǎn)生盡量長的序列。同時隨機噪聲在通信技術(shù)中,首先是作為有損通信質(zhì)量的因素受到人們重視的。信道中存在的隨機噪聲會使模擬信號產(chǎn)生失真,或使數(shù)字信號解調(diào)后出現(xiàn)誤碼;同時,它還是限制信道容量的一個重要因素。因此,最早人們是企圖設(shè)計消除或減小通信系統(tǒng)的隨機噪聲,但是,有時人們也希望獲得隨機噪聲。例如,在實驗室中對通信設(shè)備或系統(tǒng)進(jìn)行測試時,有時要故意加入一定的隨機噪聲,這時則需要產(chǎn)生它。20世紀(jì)40年代末,

6、隨著通信理論的發(fā)展,仙農(nóng)(shannon)就曾指出,在某種情況下,為了實現(xiàn)最有效的通信,應(yīng)采用具有白噪聲的統(tǒng)計特性的信號。另外,為了實現(xiàn)高可靠的保密通信,也希望利用隨機噪聲。然而,利用隨機噪聲的最大困難是它難以產(chǎn)生和處理。直到60年代,偽隨機噪聲的出現(xiàn)才使上述困難得到解決。偽隨機噪聲具有類是與隨機噪聲的一些統(tǒng)計特性,同時又便于重復(fù)產(chǎn)生和處理。由于它具有隨機噪聲的優(yōu)點,又避免了它的缺點,因此獲得了日益廣泛的實際應(yīng)用。目前廣泛應(yīng)用的偽隨機噪聲都是由數(shù)字電路產(chǎn)生的周期序列(即濾波等處理后)得到的。今后我們將這種周期序列稱為偽隨機序列。通常產(chǎn)生偽隨機序列的電路為一反饋移存器。他又可分為線性反饋移存器和

7、非線性反饋遺存器兩類。由線性反饋遺存器產(chǎn)生出的周期最長的二進(jìn)制數(shù)字序列,稱為最大長度線性反饋遺存器序列,通常簡稱為m序列。由于它的理論比較成熟,實現(xiàn)比較簡便,實際應(yīng)用也比較廣泛7。m序列是最長線性反饋移存器序列的簡稱,它是由帶線性反饋的移存器產(chǎn)生的周期最長的一種序列 。圖2-2中示出了n級移位寄存器,其中有若干級經(jīng)模2加法器反饋到第1級。不難看出,在任何一個時刻去觀察移位寄存器的狀態(tài),必然是個狀態(tài)之一,其中每一狀態(tài)代表一個n位的二進(jìn)制數(shù)字;但是,必須把全0排斥在外,因為如果一個進(jìn)入全0,不論反饋線多少或在哪些級,這種狀態(tài)就不會再改變。所以,寄存器的狀態(tài)可以是非全0的狀態(tài)之一。這個電路的輸出序列

8、是從寄存器移出的,盡管移位寄存器的狀態(tài)每一移位節(jié)拍改變一次,但無疑地是循環(huán)的。如果反饋線所分布的級次是恰當(dāng)?shù)?,那么,移位寄存器的狀態(tài)必然各態(tài)歷經(jīng)后才會循環(huán)。這里所謂“各態(tài)歷經(jīng)”就是所有個狀態(tài)都經(jīng)過了。由此可見,應(yīng)用n級移位寄存器所產(chǎn)生的序列的周期最長是。同時由于這種序列雖然是周期的,但當(dāng)n足夠大時周期可以很長,在一個周期內(nèi)0和1的排列有很多不同方式,對每一位來說是0還是1,看來好像是隨機的,所以又稱為偽隨機碼;又因為它的某一些性質(zhì)和隨機噪聲很相似,所以又稱為偽噪聲碼(pn碼)。1.1.1 線性反饋移位寄存器圖1-2 線性移位寄存器由于帶有反饋,因此在移位脈沖作用下,移位寄存器各級的狀態(tài)將不斷變

9、化,通常移位寄存器的最后一級做輸出,輸出序列為 輸出序列是一個周期序列。其特性由移位寄存器的級數(shù)、初始狀態(tài)、反饋邏輯以及時鐘速率(決定著輸出碼元的寬度)所決定。當(dāng)移位寄存器的級數(shù)及時鐘一定時,輸出序列就由移位寄存器的初始狀態(tài)及反饋邏輯完全確定。當(dāng)初始狀態(tài)為全零狀態(tài)時,移位寄存器輸出全 0 序列。為了避免這種情況,需設(shè)置全 0 排除電路。 (1)線性反饋移位寄存器的遞推關(guān)系式 遞推關(guān)系式又稱為反饋邏輯函數(shù)或遞推方程。設(shè)圖10-1 所示的線性反饋移位寄存器的初始狀態(tài)為(a0 a1 an-2 an-1), 經(jīng)一次移位線性反饋,移位寄存器左端第一級的輸入為 若經(jīng)k次移位,則第一級的輸入為 其中,l=n

10、+k-1n, k=1,2,3, (2)線性反饋移位寄存器的特征多項式 用多項式f(x)來描述線性反饋移位寄存器的反饋連接狀態(tài):若一個n次多項式f(x)滿足下列條件 f(x)為既約多項式(即不能分解因式的多項式);f(x)可整除(xp+1), p=2n-1;f(x)除不盡(xq+1), qp。則稱f(x)為本原多項式。 2 m序列的性質(zhì)2.1 均衡性 在一個周期中,m 序列中“1”的個數(shù)比“0”的個數(shù)多一個。n級移位寄存器有2n狀態(tài),這些狀態(tài)對應(yīng)二進(jìn)制有一半為偶數(shù)(即末位數(shù)為0),另一半為奇數(shù)(即末尾數(shù)為1)。m序列一個周期經(jīng)歷2n-1個狀態(tài),少一個全0狀態(tài)(屬于偶數(shù)狀態(tài)),因此在一個周期中“1

11、”的個數(shù)比“0”的個數(shù)多一個。例如,級數(shù)n=3,碼序列周期p=23-1=7時,起始狀態(tài)為“111”,ci=(13)8=(1011)2,即c0=1、c1=0、c2=1、c3=1。產(chǎn)生的m序列為1110010,其中碼元為“1”的有4個,碼元為“0”的有3個,即在一個周期中“1”的個數(shù)比“0”多一個。2.2游程特性長度為k的游程數(shù)占游程總數(shù)的1/2k。一個周期中長度為1的游程數(shù)占游程總數(shù)的1/2;長度為2的游程數(shù)占游程總數(shù)的1/4;其中1=k=n-1。2.3 移位相加特性一個m序列與其循環(huán)移位逐次比較,相同碼的位數(shù)與不同碼的位數(shù)相差1位。例如原序列xi=1110010,那么右移2位的序列xi-2=0

12、011101.2.4 自相關(guān)特性m序列具有非常重要的自相關(guān)特性。在m序列中,常用+1代表0,用-1代表1.此時定義:設(shè)長為p的m序列,記作 經(jīng)過j次移位后,m序列為 其中ai+p=ai(以 p 為周期),以上兩序列的對應(yīng)項相乘然后相加, 利用所得的總和 來衡量一個m序列與它的j次移位序列之間的相關(guān)程度,并把它叫做m序列(a1,a2,a3,ap)的自相關(guān)函數(shù)。記作 經(jīng)過j次移位后,m序列為 其中ai+p=ai(以 p 為周期),以上兩序列的對應(yīng)項相乘然后相加, 利用所得的總和 來衡量一個m序列與它的j次移位序列之間的相關(guān)程度,并把它叫做m序列(a1,a2,a3,ap)的自相關(guān)函數(shù)。記作 當(dāng)采用二

13、進(jìn)制數(shù)字 0 和 1 代表碼元的可能取值時 由移位相加特性可知,仍是m序列中的元素, 所以式(10-7)分子就等于m序列中一個周期中 0 的數(shù)目與 1 的數(shù)目之差。 另外由m序列的均衡性可知, 在一個周期中 0 比 1 的個數(shù)少一個, 故得a-d=-1(j為非零整數(shù)時)或p(j為零時)。 因此得m序列的自相關(guān)函數(shù)只有兩種取值(1和-1/p)。r(j)是一個周期函數(shù),即 式中,k=1,2, p=(2n-1)為周期。 而且r(j)是偶函數(shù), 即 圖2-1 m序列自相關(guān)函數(shù)2.5 偽噪聲特性如果我們對一個正態(tài)分布白噪聲取樣, 若取樣值為正, 記為+1,取樣值為負(fù),記為-1,將每次取樣所得極性排成序列

14、, 可以寫成+1,-1,+1,+1,+1,-1,-1,+1,-1, 這是一個隨機序列,它具有如下基本性質(zhì):(1) 序列中+1 和-1 出現(xiàn)的概率相等;2) 序列中長度為 1 的游程約占 1/2, 長度為 2 的游程約占 1/4,長度為 3 的游程約占 1/8, 一般地, 長度為k的游程約占1/2k,而且+1, -1 游程的數(shù)目各占一半;(3) 由于白噪聲的功率譜為常數(shù),因此其自相關(guān)函數(shù)為一沖擊函數(shù)()。 3 m序列的應(yīng)用3.1 擴(kuò)展頻譜通信擴(kuò)展頻譜通信(spread spectrum communication)是將待傳送的信息數(shù)據(jù)被偽隨機編碼(擴(kuò)頻序列:spread sequence)調(diào)制,

15、實現(xiàn)頻譜擴(kuò)展后再傳輸,接收端則采用同樣的編碼進(jìn)行解調(diào)及相關(guān)處理,恢復(fù)原始信息數(shù)據(jù)。顯然,這種通信方式與一般常見的窄帶通信方式相反,是在擴(kuò)展頻譜后,寬帶通信,再相關(guān)處理恢復(fù)成窄帶后解調(diào)數(shù)據(jù)。擴(kuò)展頻譜通信方式有許多優(yōu)點,如抗干擾、抗噪音、抗多徑衰落、低功率譜密度下工作、有保密性、可多址復(fù)用和任意選址、高精度測量等。擴(kuò)展頻譜通信作為新型通信方式,特別引人注目,得到了迅速發(fā)展,如今在移動通信、衛(wèi)星通信、宇宙通信、雷達(dá)、導(dǎo)航以及測距等領(lǐng)域得到越來越廣泛的應(yīng)用。擴(kuò)頻通信的優(yōu)勢主要來自于偽隨機碼具有白噪聲的統(tǒng)計特性。而隨著擴(kuò)頻速率的不斷提高,擴(kuò)頻碼的長度急劇增加,利用計算機設(shè)計并驗證擴(kuò)頻碼的各項指標(biāo)能大大提

16、高效率。m序列是偽隨機序列中最重要的序列中的一種,是最長的線性移位寄存器序列。既然,m序列在擴(kuò)頻通信中占據(jù)著極其重要的位置,而對于m序列的產(chǎn)生及仿真的研究,自然也就有很大的必要性。在雷達(dá)信號設(shè)計中的應(yīng)用 近年興起的擴(kuò)展頻譜雷達(dá)所采用的信號是已調(diào)制的具有類似噪聲性質(zhì)的偽隨機序列,它具有很高的距離分辨力和速度分辨力。這種雷達(dá)的接收機采用相關(guān)解調(diào)的方式工作,能夠在低信噪比的條件下工作,同時具有很強的抗干擾能力。該型雷達(dá)實質(zhì)上是一種連續(xù)波雷達(dá),具有低截獲概率性,是一種體制新、性能高、適應(yīng)現(xiàn)代高技術(shù)戰(zhàn)爭需要的雷達(dá)。采用偽隨機序列作為發(fā)射信號的雷達(dá)系統(tǒng)具有許多突出的優(yōu)點。首先,它是一種連續(xù)波雷達(dá),可以較好

17、地利用發(fā)射機的功率。其次,它在一定的信噪比時,能夠達(dá)到很好的測量精度,保證測量的單值性,比單脈沖雷達(dá)具有更高的距離分辨力和速度分辨力。最后,它具有較強的抗干擾能力,敵方要干擾這種寬帶雷達(dá)信號,將比干擾普通的雷達(dá)信號困難得多。在通信系統(tǒng)中的應(yīng)用1 偽隨機序列是一種貌似隨機,實際上是有規(guī)律的周期性二進(jìn)制序列,具有類似噪聲序列的性質(zhì),在cdma中,地址碼都是從偽隨機序列中選取的,在cdma中使用一種最易實現(xiàn)的偽隨機序列:m序列,利用m序列不同相位來區(qū)分不同用戶;為了數(shù)據(jù)安全,在cdma的尋呼信道和正向業(yè)務(wù)信道中使用了數(shù)據(jù)掩碼(即數(shù)據(jù)擾亂)技術(shù),其方法是用長度為2的42次方減1的m序列用于對業(yè)務(wù)信道進(jìn)

18、行擾碼(注意不是擴(kuò)頻),它在分組交織器輸出的調(diào)制字符上進(jìn)行,通過交織器輸出字符與長碼pn碼片的二進(jìn)制模工相加而完成。 擴(kuò)展頻譜技術(shù)的理論基礎(chǔ)是山農(nóng)公式。對于加性白高斯噪聲的連續(xù)信道,其信道容量c與信道傳輸帶寬b及信噪比s/n之間的關(guān)系可以用下式表示 這個公式表明,在保持信息傳輸速率不變的條件下,信噪比和帶寬之間具有互換關(guān)系。就是說,可以用擴(kuò)展信號的頻譜作為代價, 換取用很低信噪比傳送信號,同樣可以得到很低的差錯率。擴(kuò)頻系統(tǒng)有以下特點:(1) 具有選擇地址能力;(2) 信號的功率譜密度很低, 有利于信號的隱蔽;(3) 有利于加密, 防止竊聽;(4) 抗干擾性強;(5) 抗衰落能力強;(6) 可以

19、進(jìn)行高分辨率的測距。 擴(kuò)頻通信系統(tǒng)的工作方式有:直接序列擴(kuò)頻、跳變頻率擴(kuò)頻、 跳變時間擴(kuò)頻和混合式擴(kuò)頻。3.2 通信加密 圖 3-1 m序列加密m序列自相關(guān)性較好,容易產(chǎn)生和復(fù)制,而且具有偽隨機性,利用m序列加密數(shù)字信號使加密后的信號在攜帶原始信息的同時具有偽噪聲的特點,以達(dá)到在信號傳輸?shù)倪^程中隱藏信息的目的;在信號接收端,再次利用m序列加以解密,恢復(fù)出原始信號。4 開發(fā)工具簡介4.1 quartus ii簡介quartus ii design 是最高級和復(fù)雜的,用于system-on-a-programmable-chip (sopc)的設(shè)計環(huán)境。 quartusii design 提供完善

20、的 timing closure 和 logiclock 基于塊的設(shè)計流程。quartusii design是唯一一個包括以timing closure 和 基于塊的設(shè)計流為基本特征的programmable logic device (pld)的軟件。 quartus ii 設(shè)計軟件改進(jìn)了性能、提升了功能性、解決了潛在的設(shè)計延遲等,在工業(yè)領(lǐng)域率先提供fpga與mask-programmed devices開發(fā)的統(tǒng)一工作流程。altera quartus ii 作為一種可編程邏輯的設(shè)計環(huán)境, 由于其強大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。當(dāng)前官方提供下載的最新版本是v1

21、2.1。altera quartus ii (3.0和更高版本)設(shè)計軟件是業(yè)界唯一提供fpga和固定功能hardcopy器件統(tǒng)一設(shè)計流程的設(shè)計工具。工程師使用同樣的低價位工具對 stratix fpga進(jìn)行功能驗證和原型設(shè)計,又可以設(shè)計hardcopy stratix器件用于批量成品。系統(tǒng)設(shè)計者現(xiàn)在能夠用quartus ii軟件評估hardcopy stratix器件的性能和功耗,相應(yīng)地進(jìn)行最大吞吐量設(shè)計。altera的quartus ii可編程邏輯軟件屬于第四代pld開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設(shè)計要求,其中包括支持基于internet的協(xié)作設(shè)計。quartus平臺與cadence

22、、exemplarlogic、 mentorgraphics、synopsys和synplicity等eda供應(yīng)商的開發(fā)工具相兼容。改進(jìn)了軟件的logiclock模塊設(shè)計功能,增添 了fastfit編譯選項,推進(jìn)了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。該軟件有如下幾個顯著的特點:1、quartus ii 的優(yōu)點該軟件界面友好,使用便捷,功能強大,是一個完全集成化的可編程邏輯設(shè)計環(huán)境,是先進(jìn)的eda工具軟件。該軟件具有開放性、與結(jié)構(gòu)無關(guān)、多平臺、完全集成化、豐富的設(shè)計庫、模塊化工具等特點,支持原理圖、vhdl、veriloghdl以及ahdl(altera hardware description

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

24、件。支持max ii cpld系列、cyclone系列、cyclone ii、stratix ii系列、stratix gx系列等。支持ip核,包含了lpm/megafunction宏功能模塊庫,用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。此外,quartus ii 通過和dsp builder工具與matlab/simulink相結(jié)合,可以方便地實現(xiàn)各種dsp應(yīng)用系統(tǒng);支持altera的片上可編程系統(tǒng)(sopc)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。3、quartus ii對第三方eda工具的支持對第三方eda工具的良好支持也使

25、用戶可以在設(shè)計流程的各個階段使用熟悉的第三放eda工具。altera的quartus ii可編程邏輯軟件屬于第四代pld開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設(shè)計要求,其中包括支持基于internet的協(xié)作設(shè)計。quartus平臺與cadence、exemplarlogic、 mentorgraphics、synopsys和synplicity等eda供應(yīng)商的開發(fā)工具相兼容。改進(jìn)了軟件的logiclock模塊設(shè)計功能,增添 了fastfit編譯選項,推進(jìn)了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。4.2 數(shù)字系統(tǒng)開發(fā)流程(1)設(shè)計輸入:包括原理圖輸入、hdl文本輸入、edif網(wǎng)表輸入、波形輸入等幾種方

26、式。(2)編譯:先根據(jù)設(shè)計要求設(shè)定編譯方式和編譯策略,如器件的選擇、邏輯綜合方式的選擇等;然后根據(jù)設(shè)定的參數(shù)和策略對設(shè)計項目進(jìn)行網(wǎng)表提取、邏輯綜合、器件適配,并產(chǎn)生報告文件、延時信息文件及編程文件,供分析、仿真和編程使用。(3)仿真與定時分析:仿真和定時分析均屬于設(shè)計校驗,其作用是測試設(shè)計的邏輯功能和延時特性。仿真包括功能仿真和時序仿真。定時分析器可通過三種不同的分析模式分別對傳播延時、時序邏輯性能和建立/保持時間進(jìn)行分析。(4)編程與驗證:用得到的編程文件通過編程電纜配置pld,加入實際激勵,進(jìn)行在線測試。在設(shè)計過程中,如果出現(xiàn)錯誤,則需重新回到設(shè)計輸入階段,改正錯誤或調(diào)整電路后重新測試。4

27、.3 fpga簡介fpga(fieldprogrammable gate array),即現(xiàn)場可編程門陣列,它是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。目前以硬件描述語言(verilog 或 vhdl)所完成的電路設(shè)計,可以經(jīng)過簡 單的綜合與布局,快速的燒錄至 fpga 上進(jìn)行測試,是現(xiàn)代 ic 設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如and、or、xor、not)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程

28、式。在大多數(shù)的fpga里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(flipflop)或者其他更加完整的記憶塊。 系統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把fpga內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品fpga的邏輯塊和連接可以按照設(shè)計者而改變,所以fpga可以完成所需要的邏輯功能。 fpga一般來說比asic(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的fpga。因為這些芯片有比較差的可編輯能力,所以這些設(shè)計

29、的開發(fā)是在普通的fpga上完成的,然后將設(shè)計轉(zhuǎn)移到一個類似于asic的芯片上。另外一種方法是用cpld(復(fù)雜可編程邏輯器件備)。cpld與fpga的關(guān)系早在1980年代中期,fpga已經(jīng)在pld設(shè)備中扎根。cpld和fpga包括了一些相對大數(shù)量的可以編輯邏輯單元。cpld邏輯門的密度在幾千到幾萬個邏輯單元之間,而fpga通常是在幾萬到幾百萬。 cpld和fpga的主要區(qū)別是他們的系統(tǒng)結(jié)構(gòu)。cpld是一個有點限制性的結(jié)構(gòu)。這個結(jié)構(gòu)由一個或者多個可編輯的結(jié)果之和的邏輯組列和一些相對少量的鎖定的寄存器。這樣的結(jié)果是缺乏編輯靈活性,但是卻有可以預(yù)計的延遲時間和邏輯單元對連接單元高比率的優(yōu)點。而fpga

30、卻是有很多的連接單元,這樣雖然讓它可以更加靈活的編輯,但是結(jié)構(gòu)卻復(fù)雜的多。 cpld和fpga另外一個區(qū)別是大多數(shù)的fpga含有高層次的內(nèi)置模塊(比如加法器和乘法器)和內(nèi)置的記憶體。一個因此有關(guān)的重要區(qū)別是很多新的fpga支持完全的或者部分的系統(tǒng)內(nèi)重新配置。允許他們的設(shè)計隨著系統(tǒng)升級或者動態(tài)重新配置而改變。一些fpga可以讓設(shè)備的一部分重新編輯而其他部分繼續(xù)正常運行。fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic block)、輸出輸入模塊iob(input output block)和內(nèi)部連

31、線(interconnect)三個部分。 一、采用fpga設(shè)計asic電路(特定用途集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。 二、fpga可做其它全定制或半定制asic電路的中試樣片。 三、fpga內(nèi)部有豐富的觸發(fā)器和io引腳。 四、fpga是asic電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一。 五、fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容。 可以說,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 fpga是由存放在片內(nèi)ram中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的ram進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不

32、同的編程方式。 加電時,fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram中,配置完成后,fpga進(jìn)入工作狀態(tài)。掉電后,fpga恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,fpga能夠反復(fù)使用。fpga的編程無須專用的fpga編程器,只須用通用的eprom、prom編程器即可。當(dāng)需要修改fpga功能時,只需換一片eprom即可。這樣,同一片fpga,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。 fpga有多種配置模式:并行主模式為一片fpga加一片eprom的方式;主從模式可以支持一片prom編程多片fpga;串行模式可以采用串行prom編程fpga;外設(shè)模式可以將fpga作為

33、微處理器的外設(shè),由微處理器對其編程。 如何實現(xiàn)快速的時序收斂、降低功耗和成本、優(yōu)化時鐘管理并降低fpga與pcb并行設(shè)計的復(fù)雜性等問題,一直是采用fpga的系統(tǒng)設(shè)計工程師需要考慮的關(guān)鍵問題。如今,隨著fpga向更高密度、更大容量、更低功耗和集成更多ip的方向發(fā)展,系統(tǒng)設(shè)計工程師在從這些優(yōu)異性能獲益的同時,不得不面對由于fpga前所未有的性能和能力水平而帶來的新的設(shè)計挑戰(zhàn)。 例如,領(lǐng)先fpga廠商xilinx最近推出的virtex-5系列采用65nm工藝,可提供高達(dá)33萬個邏輯單元、1,200個i/o和大量硬ip塊。超大容量和密度使復(fù)雜的布線變得更加不可預(yù)測,由此帶來更嚴(yán)重的時序收斂問題。此外,

34、針對不同應(yīng)用而集成的更多數(shù)量的邏輯功能、dsp、嵌入式處理和接口模塊,也讓時鐘管理和電壓分配問題變得更加困難。 幸運地是,fpga廠商、eda工具供應(yīng)商正在通力合作解決65nm fpga獨特的設(shè)計挑戰(zhàn)。不久以前,synplicity與xilinx宣布成立超大容量時序收斂聯(lián)合工作小組,旨在最大程度地幫助系統(tǒng)設(shè)計工程師以更快、更高效的方式應(yīng)用65nm fpga器件。設(shè)計軟件供應(yīng)商magma推出的綜合工具blast fpga能幫助建立優(yōu)化的布局,加快時序的收斂。 最近fpga的配置方式已經(jīng)多元化! fpga主要生產(chǎn)廠商1、altera 2、xilinx 3、actel 4、lattice 其中alt

35、era和xilinx主要生產(chǎn)一般用途fpga,其主要產(chǎn)品采用ram工藝。actel主要提供非易失性fpga,產(chǎn)品主要基于反熔絲工藝和flash工藝。fpga設(shè)計的注意事項:不管你是一名邏輯設(shè)計師、硬件工程師或系統(tǒng)工程師,甚或擁有所有這些頭銜,只要你在任何一種高速和多協(xié)議的復(fù)雜系統(tǒng)中使用了fpga,你就很可能需要努力解決好器件配置、電源管理、ip集成、信號完整性和其他的一些關(guān)鍵設(shè)計問題。不過,你不必獨自面對這些挑戰(zhàn),因為在當(dāng)前業(yè)內(nèi)領(lǐng)先的fpga公司里工作的應(yīng)用工程師每天都會面對這些問題,而且他們已經(jīng)提出了一些將令你的設(shè)計工作變得更輕松的設(shè)計指導(dǎo)原則和解決方案。i/o信號分配可提供最多的多功能引腳

36、、i/o標(biāo)準(zhǔn)、端接方案和差分對的fpga在信號分配方面也具有最復(fù)雜的設(shè)計指導(dǎo)原則。盡管altera的fpga器件沒有設(shè)計指導(dǎo)原則(因為它實現(xiàn)起來比較容易),但賽靈思的fpga設(shè)計指導(dǎo)原則卻很復(fù)雜。但不管是哪一種情況,在為i/o引腳分配信號時,都有一些需要牢記的共同步驟: 1. 使用一個電子數(shù)據(jù)表列出所有計劃的信號分配,以及它們的重要屬性,例如i/o標(biāo)準(zhǔn)、電壓、需要的端接方法和相關(guān)的時鐘。 2. 檢查制造商的塊/區(qū)域兼容性準(zhǔn)則。 3. 考慮使用第二個電子數(shù)據(jù)表制訂fpga的布局,以確定哪些管腳是通用的、哪些是專用的、哪些支持差分信號對和全局及局部時鐘、哪些需要參考電壓。 4. 利用以上兩個電子數(shù)

37、據(jù)表的信息和區(qū)域兼容性準(zhǔn)則,先分配受限制程度最大的信號到引腳上,最后分配受限制最小的。例如,你可能需要先分配串行總線和時鐘信號,因為它們通常只分配到一些特定引腳。 5. 按照受限制程度重新分配信號總線。在這個階段,可能需要仔細(xì)權(quán)衡同時開關(guān)輸出(sso)和不兼容i/o標(biāo)準(zhǔn)等設(shè)計問題,尤其是當(dāng)你具有很多個高速輸出或使用了好幾個不同的i/o標(biāo)準(zhǔn)時。如果你的設(shè)計需要局部/區(qū)域時鐘,你將可能需要使用高速總線附近的管腳,最好提前記住這個要求,以免最后無法為其安排最合適的引腳。如果某個特定塊所選擇的i/o標(biāo)準(zhǔn)需要參考電壓信號,記住先不要分配這些引腳。差分信號的分配始終要先于單端信號。如果某個fpga提供了片

38、內(nèi)端接,那么它也可能適用于其他兼容性規(guī)則。 6. 在合適的地方分配剩余的信號。 在這個階段,考慮寫一個只包含端口分配的hdl文件。然后通過使用供應(yīng)商提供的工具或使用一個文本編輯器手動創(chuàng)建一個限制文件,為i/o標(biāo)準(zhǔn)和sso等增加必要的支持信息。準(zhǔn)備好這些基本文件后,你可以運行布局布線工具來確認(rèn)是否忽視了一些準(zhǔn)則或者做了一個錯誤的分配。 這將使你在設(shè)計的初始階段就和布局工程師一起工作,共同規(guī)劃pcb的走線、冗余規(guī)劃、散熱問題和信號完整性。fpga工具可能可以在這些方面提供幫助,并協(xié)助你解決這些問題,因此你必須確保了解你的工具包的功能。 你咨詢一位布局專家的時間越晚,你就越有可能需要去處理一些復(fù)雜的

39、問題和設(shè)計反復(fù),而這些可能可以通過一些前期分析加以避免。一旦你實現(xiàn)了滿意的信號分配,你就要用限制文件鎖定它們。 - 基于cmos的設(shè)計主要消耗三類功率:內(nèi)部的(短路)、漏電的(靜態(tài)的)以及開關(guān)的(電容)。當(dāng)門電路瞬變時,vdd與地之間短路連接消耗內(nèi)部功率。漏電功耗是cmos工藝普遍存在的寄生效應(yīng)引起的。而開關(guān)功耗則是自負(fù)載電容,放電造成的。開關(guān)功耗與短路功耗合在一起稱為動態(tài)功耗。下面介紹降低靜態(tài)功耗和動態(tài)功耗的設(shè)計技巧。電路設(shè)計中fpga的應(yīng)用:連接邏輯,控制邏輯是fpga早期發(fā)揮作用比較大的領(lǐng)域也是fpga應(yīng)用的基石事實上在電路設(shè)計中應(yīng)用fpga的難度還是比較大的這要求開發(fā)者要具備相應(yīng)的硬件

40、知識(電路知識)和軟件應(yīng)用能力(開發(fā)工具)這方面的人才總是緊缺的,往往都從事新技術(shù),新產(chǎn)品的開發(fā)成功的產(chǎn)品將變成市場主流基礎(chǔ)產(chǎn)品供產(chǎn)品設(shè)計者應(yīng)用在不遠(yuǎn)的將來,通用和專用ip的設(shè)計將成為一個熱門行業(yè)!搞電路設(shè)計的前提是必須要具備一定的硬件知識在這個層面,干重于學(xué),當(dāng)然,快速入門是很重要的,越好的位子越不等人電路開發(fā)是黃金飯碗產(chǎn)品設(shè)計:把相對成熟的技術(shù)應(yīng)用到某些特定領(lǐng)域如通訊,視頻,信息處理等等開發(fā)出滿足行業(yè)需要并能被行業(yè)客戶接受的產(chǎn)品這方面主要是fpga技術(shù)和專業(yè)技術(shù)的結(jié)合問題,另外還有就是與專業(yè)客戶的界面問題產(chǎn)品設(shè)計還包括專業(yè)工具類產(chǎn)品及民用產(chǎn)品,前者重點在性能,后者對價格敏感產(chǎn)品設(shè)計以實現(xiàn)產(chǎn)

41、品功能為主要目的,fpga技術(shù)是一個實現(xiàn)手段在這個領(lǐng)域,fpga因為具備接口,控制,功能ip,內(nèi)嵌cpu等特點有條件實現(xiàn)一個構(gòu)造簡單,固化程度高,功能全面的系統(tǒng)產(chǎn)品設(shè)計將是fpga技術(shù)應(yīng)用最廣大的市場,具有極大的爆發(fā)性的需求空間產(chǎn)品設(shè)計對技術(shù)人員的要求比較高,路途也比較漫長不過現(xiàn)在整個行業(yè)正處在組建首發(fā)團(tuán)隊的狀態(tài),只要加入,前途光明產(chǎn)品設(shè)計是一種職業(yè)發(fā)展方向定位,不是簡單的愛好就能做到的!產(chǎn)品設(shè)計領(lǐng)域會造就大量的企業(yè)和企業(yè)家,是一個近期的發(fā)展熱點和機遇。系統(tǒng)級的應(yīng)用是fpga與傳統(tǒng)的計算機技術(shù)結(jié)合,實現(xiàn)一種fpga版的計算機系統(tǒng)如用xilinxv-4, v-5系列的fpga,實現(xiàn)內(nèi)嵌power

42、pccpu, 然后再配合各種外圍功能,實現(xiàn)一個基本環(huán)境,在這個平臺上跑linux等系統(tǒng)這個系統(tǒng)也就支持各種標(biāo)準(zhǔn)外設(shè)和功能接口(如圖象接口)了這對于快速構(gòu)成fpga大型系統(tǒng)來講是很有幫助的。這種山寨味很濃的系統(tǒng)早期優(yōu)勢不一定很明顯,類似arm系統(tǒng)的境況但若能慢慢發(fā)揮出fpga的優(yōu)勢,逐漸實現(xiàn)一些特色系統(tǒng)也是一種發(fā)展方向。若在系統(tǒng)級應(yīng)用中,開發(fā)人員不具備系統(tǒng)的擴(kuò)充開發(fā)能力,只是搞搞編程是沒什么意義的,當(dāng)然設(shè)備驅(qū)動程序的開發(fā)是另一種情況,搞系統(tǒng)級應(yīng)用看似起點高,但不具備深層開發(fā)能力,很可能會變成愛好者,就如很多人會做網(wǎng)頁但不能稱做會編程類似以上是幾點個人開發(fā),希望能幫助想學(xué)fpga但很茫然無措的人理

43、一理思路。這是一個不錯的行業(yè),有很好的個人成功機會。但也肯定是一個競爭很激烈的行業(yè),關(guān)鍵看的就是速度和深度當(dāng)然還有市場適應(yīng)能力。5 m序列生成器仿真分析圖 5-1 m序列生成器框圖5.1 反饋系數(shù)表存儲器設(shè)計反饋系數(shù)表存儲器設(shè)計 設(shè)計galois型反饋系數(shù)表存儲器結(jié)構(gòu)如圖5-2所示。該結(jié)構(gòu)由fpga中內(nèi)嵌的e2prom構(gòu)成,只要圖3 galois型反饋系數(shù)表存儲器結(jié)構(gòu)圖給定n,經(jīng)過級數(shù)調(diào)整模塊運算得到其相應(yīng)地址addr,即可從e2prom的輸出端feedfactor輸出其相應(yīng)的反饋系數(shù)。故存儲器中要存儲27組反饋系數(shù)值,若設(shè)計級數(shù)的最小級數(shù)為ns,最大級數(shù)為ne,則e2prom的地址空間范圍是

44、從0至ne-ns。將這27組反饋系數(shù)值做成一個rom表,則需要一個5位二進(jìn)制數(shù)字作為地址輸入來提取與之相應(yīng)的反饋系數(shù)值。 該模塊的vhdl程序如下entity rom is port (rst : in std _ logic; addr : in std _ logic _ vector (4 downto 0); feedfactor : out std _ logic _ vector (0 to 27); end rom; architecture feedtable of rom is type memory is array (0 to 26) of std _ logic _ v

45、ector (0 to 27); signal data1 : memory: = (/10000000000000000000000000000, /10000000000000000000000000000, /01000000000000000000000000000); signal addr1 : integer range 0 to 26; begin addr1=conv _ integer (addr); process (rst, addr1, addr, data1) begin if rst=-1.then feedfactor =data1 (addr1); else feedfactor -z.); end if; end process; end feedtable;5.2 移位存儲器設(shè)計 為實現(xiàn)級數(shù)n值在329可調(diào)的m序列,先生成一個29級的galois型移位寄存器,該結(jié)構(gòu)的第29位d觸發(fā)器的輸出是否反饋取決于級數(shù)n。可用一個信號x來表征相應(yīng)級數(shù)的galois型結(jié)構(gòu)中的反饋特征,x在移位寄存器狀態(tài)輸出(s(1),

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論