基于FPGA技術的求模求相電路的實現(xiàn)和設計_第1頁
基于FPGA技術的求模求相電路的實現(xiàn)和設計_第2頁
基于FPGA技術的求模求相電路的實現(xiàn)和設計_第3頁
基于FPGA技術的求模求相電路的實現(xiàn)和設計_第4頁
基于FPGA技術的求模求相電路的實現(xiàn)和設計_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄中文摘要: 2英文摘要: 31 緒論 41.1 背景和意義 41.2 設計特點 4 4 61.3 基于FPGA設計電路特點 71.4 課題任務 72 FPGA說明和設計 82.1 FPGA的發(fā)展歷史 82.2 FPGA的作用和應用 9 9 10 12 132.3 FPGA設計應注意的問題 152.4 小結 163 求模求相電路的設計原理 173.1 本課題所用原理 173.2 其他方法的設計原理 19 19 203.3 比較分析 214 求相求模電路的設計和硬件實現(xiàn) 234.1 求模求相的發(fā)展和應用 234.2 求摸求相的步驟 24 24 25 25 26 30 32 324.3 驗證分

2、析 334.4 本章小結 335 結論 34謝辭 35參考文獻 36摘要:隨著電子技術的迅速發(fā)展,F(xiàn)PGA設計電路具有結構簡單、性能可靠、測量精確且易于調試的特點,因而FPGA和相關技術已經成為開發(fā)復雜數(shù)字系統(tǒng)的主要方式之一,高精度的求模求相的電路就是基于FPGA技術的一種應用。本文將在闡述FPGA發(fā)展狀況和設計原理的基礎上,著重討論如何應用FPGA來設計一種高精度求模求相電路以及在電路實現(xiàn)過程中出現(xiàn)的各種誤差的比較分析。文中主要應用了查表的設計思想,并體現(xiàn)了其的重要所在。在本文中還將簡單介紹MATLAB和Quartus II在設計和實現(xiàn)電路功能中的應用。本課題難點在于“高精度”這3個字上,文

3、中的設計思想關鍵在于如何提高電路的精度盡可能的減少誤差,其中還將與其他設計方法進行比較并且說明本文所提的設計方法的優(yōu)越性。 通過本課題的研究和設計,將對求模求相電路進行一次新的認識,極大的提高求模求相的精度,并在實際應用中發(fā)揮重要作用。關鍵字:FPGA 高精度 求模求相 仿真 誤差分析 Abstract: With the rapid development of the electronics technology, FPGA and its related technique have been one of the main methods to develop the complex

4、digital systems, because of the simple structure, the credibility function, precise measure and it is easily adjusted. The high accuracy begs a mold to beg mutually of electric circuit be according to a kind of application of the FPGA technique. In elaborating the foundation of the FPGA development

5、condition and design principle, this text will emphasize how to design a kind of high accuray to beg a mold to beg mutually electric circuit and appear in the electric circuit the realization the process of various error margin of more analytical. Mainly applied to check the design thought of the fo

6、rm in the text, and the body was now it of important place.Will also introduce the MATLAB and the Quartus II in brief in this text Be designing and carrying out the application in the electric circuit function.This topic crux lies in this 3 words ofhigh accuracy up, the design thought key in the tex

7、t lie in how raise the accuracy of the electric circuit to reduce an error margin possibly, returning among them will carry on comparison and explain the superiority ofwith design method that this text lift with other design methods. With the research and design of this topic, carry on a new underst

8、anding towards begging a mold to beg mutually electric circuit, the tremendous exaltation begs a mold to beg mutually of accuracy, and develop an important function in physically the application.Kewords:FPGA high accuracy simulation error analysion1 緒論1.1 背景和意義基于FPGA的求模求相在雷達、聲納、勘探、醫(yī)療等方面有廣泛的應用,求模求相作為

9、數(shù)字電子方面的熱點正在引起越來越多的關注,在這方面的研究也在迅速的進行中,并很快的進入實用階段,顯示了其強大的生命力。雷達在軍用和民用中都有很重要的應用,求模求相電路是雷達儀器中的核心部分,雷達的基本功能是發(fā)現(xiàn)目標并測定其坐標。通常雷達是通過向空間發(fā)射某種特定的信號,然后接收處理目標的回波信號來實現(xiàn)的,而處理回波信號就要應用到求模求相電路,如何能提高電路的精度直接影響到雷達定位的準確度。求模求相電路的另一個重要用處是數(shù)字鑒相器,信號相位測量的精度決定了測距的精度,相位法是一種常用的信號檢測技術,相位檢測有模擬相位差計、自動數(shù)字測相、信號頻譜分析等。應用信號頻譜分析的相位檢測的基本原理是利用Dr

10、r(離散傅里葉變換的選頻特性得到所測信號相位信息,從而測得信號的相位差?;贔PGA的求模求相電路在數(shù)字電路方面的應用遠遠不止這些,隨著數(shù)字電路的發(fā)展,它的作用會越來越大,越來越被重視,將會在測相測距方面發(fā)揮不可替代的作用。1.2 設計特點過去,信號處理一度是采用模擬設備來完成。近代,數(shù)字計算機的出現(xiàn)和大規(guī)模集成技術的高度發(fā)展,為信號處理提供了強有力的手段,在電子技術各個領域,例如雷達,聲納,語音通信,數(shù)字通訊等廣泛的用數(shù)字方法代替模擬方法實現(xiàn)信號處理。電子技術的發(fā)展,特別是專用集成電路(ASIC設計技術的日趨進步和完善,推動了數(shù)字系統(tǒng)的迅猛發(fā)展。傳統(tǒng)的“固定功能集成塊+連線”的設計方法已不能

11、夠滿足實際需要根據(jù)系統(tǒng)功能要求利用計算機輔助設計自上而下的逐層完成描述設計出速度快、體積小、重量輕、功耗小的集成電路已經成為趨勢。時間上和幅值上都是離散的的信號是數(shù)字信號,處理數(shù)字信號的電路成為數(shù)字電路;脈沖信號既是典型的數(shù)字信號。工作信號是不連續(xù)的數(shù)字信號,所以電路中的半導體器件工作在開關狀態(tài),即穩(wěn)定時器件處于飽和區(qū)或截止區(qū),放大區(qū)只是其過度狀態(tài)。數(shù)字電路既是開關電路又是邏輯電路,主要研究電路輸入和輸出間的邏輯關系。分析工具和方法與模擬電路完全不同,具有獨立的基礎理論。數(shù)字電路的優(yōu)點 :1、 抗干擾能力強,保密性能好。 2、 傳輸速率高,信道利用率高,網絡時延小。 3、 數(shù)據(jù)信息傳輸全透明,

12、是建立語音、數(shù)據(jù)、傳真、圖象等多種業(yè)務的理想平臺。數(shù)字電路的設計流程結構嚴謹,簡單明了,讓人容易接受,下圖就是數(shù)字電路的設計流程圖:設計流程電子技術的發(fā)展,特別是專用集成電路(ASIC設計技術的日趨進步和完善,推動了數(shù)字系統(tǒng)的迅猛發(fā)展。傳統(tǒng)的“固定功能集成塊+連線”的設計方法已不能夠滿足實際需要,根據(jù)系統(tǒng)功能要求利用計算機輔助設計自上而下的逐層完成描述設計出速度快、體積小、重量輕、功耗小的集成電路已經成為趨勢。而VHDL語言的出現(xiàn)正是迎合了這一需求。VHDL語言的英文全名是Very High Speed Integrated Circuit Hardware Description Langu

13、eage,即超高速集成電路硬件描述語言。這種語言不僅適合于描述過程和算法,還適合作硬件描述。在從CAD工具到EDA工具的進化過程中,電子設計工具的人機界面能力越來越高。在利用EDA工具進行電子設計時,邏輯圖、分立電子原件作為作為整個越來越復雜的電子系統(tǒng)的設計已經不適合了 。所以作為EDA工具的硬件描述語言VHDL就出現(xiàn)了。VHDL語言數(shù)字電路設計的優(yōu)點:(1與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領域最佳的硬件描述語言。(2VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。(3VHDL語句

14、的行為描述能力和程序結構決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效、高速地完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。(4對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的將VHDL描述設計轉變成門級網表。 (5VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。VHDL的設計流程:在設計過程中,采用自頂向下的方法。首先從系統(tǒng)設計人手,在頂層進行功能方框圖的劃分然后對各模塊進行設計并仿真,再進一步綜合,進行門級仿真,如果沒有錯誤,即可下載,實現(xiàn)電路

15、?;玖鞒倘鐖D1所示。我們設計的數(shù)字時鐘基本功能劃分為:計數(shù)模塊(包括秒、分、時、譯碼模塊(包括秒、分、時的譯碼輸出、控制模塊(完成置數(shù)1.3 基于FPGA設計電路特點隨著超大規(guī)模集成電路技術和計算機輔助設計技術的發(fā)展,現(xiàn)場可編程門陣列就應運而生。FPGA器件集成度高、低功耗及體積小,具有通過用戶編程實現(xiàn)ASIC的功能,因此有時也稱FPGA為可編程ASIC。它的應用縮短了系統(tǒng)研制周期,減少了投資,廣泛地應用于數(shù)字信號處理(DSP中。本課題求模求相電路的設計和實現(xiàn)之所以采用FPGA技術是因為FPGA具有以上的各種優(yōu)點,在與用其他設計方法的比較中明顯可以看到其優(yōu)勢所在,這將在以下的文中詳細介紹。1

16、.4 課題任務設計和實現(xiàn)高精度求模求相電路是所要完成的任務 ,基于FPGA技術的求模求相電路最重要的特點就是高精度,高精度也是本課題的關鍵所在。文中會先描述一種運用FPGA技術所實現(xiàn)的電路的硬件實現(xiàn)方法,在用Quartus II仿真分析其的誤差和出現(xiàn)的原因,接著再用MATLAB來仿真其他幾種理論方式實現(xiàn),通過比較來說明本課題所介紹的方法的優(yōu)越之處。文中將在重點介紹所用方法的同時,簡單的介紹一些相關的方面。通過本課題的研究,預期將達到的目的:硬件實現(xiàn)一種基于FPGA的高精度求磨求相電路,鍛煉自身的動手動腦能力,比較理論和實際的差別,增強實際操作能力,為以后的工作、學習多增長一點經驗。2 FPGA

17、說明和設計2.1 FPGA的發(fā)展歷史自1985年Xilinx公司推出第一片現(xiàn)場可編程邏輯器件(FPGA)至今,F(xiàn)PGA已經歷了十幾年的發(fā)展歷史。在這十幾年的發(fā)展過程中,以FPGA為代表的數(shù)字系統(tǒng)現(xiàn)場集成技術取得了驚人的發(fā)展:現(xiàn)場可編程邏輯器件從最初的1200個可利用門,發(fā)展到90年代的25萬個可利用門,乃至當新世紀來臨之即,國際上現(xiàn)場可編程邏輯器件的著名廠商Altera公司、Xilinx公司又陸續(xù)推出了數(shù)百萬門的單片F(xiàn)PGA芯片,將現(xiàn)場可編程器件的集成度提高到一個新的水平??v觀現(xiàn)場可編程邏輯器件的發(fā)展歷史,其之所以具有巨大的市場吸引力,根本在于:FPGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可

18、靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷降低,促使FPGA越來越多地取代了ASIC的市場,特別是對小批量、多品種的產品需求,使FPGA成為首選。目前,F(xiàn)PGA的主要發(fā)展動向是:隨著大規(guī)?,F(xiàn)場可編程邏輯器件的發(fā)展,系統(tǒng)設計進入片上可編程系統(tǒng)(SOPC)的新紀元;芯片朝著高密度、低壓、低功耗方向挺進;國際各大公司都在積極擴充其IP庫,以優(yōu)化的資源更好的滿足用戶的需求,擴大市場;特別是引人注目的所謂FPGA動態(tài)可重構技術的開拓,將推動數(shù)字系統(tǒng)設計觀念的巨大轉變。FPGA作為一個比較新的領域,在最近幾年中有很大的發(fā)展和進步。各個廠家的FPGA不斷推陳出新,工藝越來越高、速度越來越快、

19、功能越來越多,價格卻越來越便宜了。隨著FPGA成本的進一步降低和規(guī)模的增加,在未來幾年中FPGA應該有更加寬廣的應用領域。這樣看來FPGA的開發(fā)人員似乎有一個不錯的將來。但是就我看來,F(xiàn)PGA開發(fā)人員在中國發(fā)展前景并不是很好。FPGA的開發(fā)一般歸屬于硬件開發(fā)的范疇。說起硬件開發(fā),大部分人想到的是畫PCB和原理圖。在IC廠家的參考設計和公板橫行的現(xiàn)實情況下,F(xiàn)PGA設計含有較高的創(chuàng)造性和技術含量。當然PCB設計也有很多技術含量高的部分,比如信號完整性和模擬信號處理等。隨著數(shù)字邏輯系統(tǒng)功能復雜化的需求,單片系統(tǒng)的芯片正朝著超大規(guī)模、高密度的方向發(fā)展。與此同時,人們卻發(fā)現(xiàn)一個有趣的現(xiàn)象,即一個超大規(guī)

20、模的數(shù)字時序系統(tǒng)芯片,在其工作時,從時間軸上來看,并不是每一瞬間系統(tǒng)的各個部分都在工作,而系統(tǒng)是各個局部模塊功能在時間鏈上的總成。同時,人們還發(fā)現(xiàn),基于SRAM編程的FPGA可以在外部邏輯的控制下,通過存儲于存儲器中不同的目標系統(tǒng)數(shù)據(jù)的重新下載,來實現(xiàn)芯片邏輯功能的改變。正是基于這個稱之為靜態(tài)系統(tǒng)重構的技術,有人設想,能不能利用芯片的這種分時復用特性,用較小規(guī)模的FPGA芯片來實現(xiàn)更大規(guī)模的數(shù)字時序系統(tǒng)。在研究過程中,有人嘗試了這種設想,發(fā)現(xiàn)常規(guī)的SRAM的FPGA只能實現(xiàn)靜態(tài)系統(tǒng)重構。這是因為該芯片功能的重新配置大約需要數(shù)毫秒到數(shù)十毫秒量級的時間;而在重新配置數(shù)據(jù)的過程中,舊的邏輯功能失去,

21、新的邏輯功能尚未建立,電路邏輯在時間軸上斷裂,系統(tǒng)功能無法動態(tài)連接。但是,要實現(xiàn)高速的動態(tài)重構,要求芯片功能的重新配置時間縮短到納秒量級,這就需要對FPGA的結構進行革新??梢灶A見,一旦實現(xiàn)了FPGA的動態(tài)重構,則將引發(fā)數(shù)字系統(tǒng)的設計的思想的巨大轉變。綜上所述,我們可以看到在新世紀,以FPGA為代表的數(shù)字系統(tǒng)現(xiàn)場集成技術正朝著以下幾個方向發(fā)展。隨著便攜式設備需求的增長,對現(xiàn)場可編程器件的低壓、低功耗的要求日益迫切。芯片向大規(guī)模系統(tǒng)芯片挺進,力求在大規(guī)模應用中取代ASIC。為增強市場競爭力,各大廠商都在積極推廣其知識產權IP庫。動態(tài)可重構技術的發(fā)展,將帶來系統(tǒng)設計方法的轉變。2.2 FPGA的作

22、用和應用FPGA是英文Field Programmabl Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA采用了邏輯單元陣列LCA(Logic Cell Arry)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnet)三個部分。FPGA的基本特點主要有:(

23、1 采用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的芯片。(2 FPGA可做其他全定制或半定制ASIC電路的中試樣片。(3 FPGA內部有豐富的觸發(fā)器和I/O引腳。(4 FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。(5 FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。結構和原理一.查找表(Look-Up-Table的原理與結構采用這種結構的PLD芯片我們也可以稱之為FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系

24、列等。查找表(Look-Up-Table簡稱為LUT,LUT本質上就是一個RAM。 目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16x1的RAM。 當用戶通過原理圖或HDL語言描述了一個邏輯電路以后,PLD/FPGA開發(fā)軟件會自動計算邏輯電路的所有可能的結果,并把結果事先寫入RAM,這樣,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應的內容,然后輸出即可。下面就是一個4輸入與門的例子二.基于查找表(LUT的FPGA的結構下面以altera的FLEX/ACEX等芯片的結構為例FLEX/ACEX的結構主要包括LAB,I/O塊,RAM塊(未表示出

25、)和可編程行/列連線。在FLEX/ACEX中,一個LAB包括8個邏輯單元(LE),每個LE包括一個LUT,一個觸發(fā)器和相關的相關邏輯。LE是FLEX/ACEX芯片實現(xiàn)邏輯的最基本結構。三 查找表結構的FPGA邏輯實現(xiàn)原理我們還是以這個電路的為例:A,B,C,D由FPGA芯片的管腳輸入后進入可編程連線,然后作為地址線連到到LUT,LUT中已經事先寫入了所有可能的邏輯結果,通過地址查找到相應的數(shù)據(jù)然后輸出,這樣組合邏輯就實現(xiàn)了。 該電路中D觸發(fā)器是直接利用LUT后面D觸發(fā)器來實現(xiàn)。時鐘信號CLK由I/O腳輸入后進入芯片內部的時鐘專用通道,直接連接到觸發(fā)器的時鐘端。觸發(fā)器的輸出與I/O腳相連,把結果

26、輸出到芯片管腳。這樣PLD就完成了圖3所示電路的功能。(以上這些步驟都是由軟件自動完成的,不需要人為干預)這個電路是一個很簡單的例子,只需要一個LUT加上一個觸發(fā)器就可以完成。對于一個LUT無法完成的的電路,就需要通過進位邏輯將多個單元相連,這樣FPGA就可以實現(xiàn)復雜的邏輯。由于LUT主要適合SRAM工藝生產,所以目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會丟失,一定需要外加一片專用配置芯片,在上電的時候,由這個專用配置芯片把數(shù)據(jù)加載到FPGA中,然后FPGA就可以正常工作,由于配置時間很短,不會影響系統(tǒng)正常工作。 也有少數(shù)FPGA采用反熔絲或Flash工藝,

27、對這種FPGA,就不需要外加專用的配置芯片。FPGA 基本開發(fā)流程 主要包括 : 設計輸入( Design Entry )、設計仿真( Simulation )、設計綜合( Synthesize )、布局布線( Place & Route )、配置( Configuration ) 設計輸入 主要有原理圖輸入和 HDL 輸入兩種方式,一般開發(fā)商都同時支持兩種輸入方式。還有的甚至提供更多的輸入方式,如 Xilinx 公司的 ISE6.0 就提供四種輸入方式,包括 EDIF 網表輸入。有些熟悉硬件設計的工程師開始喜歡利用原理圖進行設計,這種方法非常直觀,但基于可移植性和規(guī)范化方面的考慮,絕大部分深

28、入 FPGA 設計和 ASIC 設計的工程師最終都將統(tǒng)一到 HDL 平臺上來。設計仿真 包含功能仿真和時序仿真兩項主要內容,功能仿真忽略了綜合和布局布線導致的時延等因素,僅僅從邏輯上進行仿真,這對設計思路的驗證是有幫助的,但必須通過時序仿真作進一步驗證,發(fā)現(xiàn)并修正時序問題。 設計綜合 將 HDL 語言生成用于布局布線的網表和相應的約束。綜合效果直接導致設計的性能和邏輯門的利用效率,因此,許多可編程邏輯器件開發(fā)商都支持第三方綜合和仿真工具,著名的有: Synplicity 、 Synopsys 和 ModelSim 等。 布局布線 工具利用綜合生成的網表,在 FPGA 內部進行布局布線,并生成可

29、用于配置的比特流文件 (有了比特流文件就可 down 到板子里了 。布局布線工具與可編程邏輯器件工藝及其布線資源密切相關,一般由可編程邏輯器件開發(fā)商直接提供。FPGA設計軟件有很多,本文主要對課題所用到的兩個軟件MATLAB和Quartus II進行簡單介紹。Quartus II 是 Altera 公司的第四代可編程邏輯器件集成開發(fā)環(huán)境,提供從設計輸入到器件編程的全部功能。Quartus II 可以產生并識別 EDIF 網表文件、 VHDL 網表文件和 Verilog HDL 網表文件,為其他 EDA工具提供了方便的接口;可以在 Quartus II 集成環(huán)境中自動運行其他 EDA 工具。下圖

30、為利用Quartus II 軟件的開發(fā)流程:此外, Quartus II 軟件允許您在設計流程的每個階段使用 Quartus II 圖形用戶界面、EDA 工具界面或命令行界面??梢栽谡麄€流程中只使用這些界面中的一個,也可以在設計流程的不同階段使用不同的選項。MATLAB是MathWorks公司于1982年推出的一種功能前大、交互性好的可視化計算機高級語言,它將矩陣運算、數(shù)值分析、信號處理和圖形顯示有機地融合在一起,形成了一個極其方便、用戶界面友好的操作環(huán)境。MATLAB語言在很多工程技術領域及計算機仿真中得到了廣泛的應用,在信號處理方面更具有得天獨厚的優(yōu)勢。MATLAB軟件特點:具有強大的數(shù)值

31、運算能力,具有先進的圖形、圖象功能,具有前大的直觀解釋性語法輸入,具有開放的可延伸性結構,具有豐富的程序工具箱,發(fā)展很快各版本都能適應不同的操作系統(tǒng)。本課題中,主要應用MATLAB軟件進行理論性仿真。2.3 FPGA設計應注意的問題(所有的狀態(tài)機輸入,包括復位、置位信號,都要用同步信號。所有的狀態(tài)機輸出都要用寄存器寄存輸出。注意在狀態(tài)機設計中不要出現(xiàn)死鎖狀態(tài)。(要用寄存器和觸發(fā)器設計電路,盡量不要用鎖存器,因它對輸入信號的毛刺太敏感。如果堅持用鎖存器設計必須保證輸入信號絕對沒有毛刺,且滿足保持時間。 (設計譯碼邏輯電路時必須十分小心,因為譯碼器和比較器本身會產生尖峰,容易產生毛刺,把譯碼器或比

32、較器的輸出直接連到時鐘輸入端或異步清除端,會造成嚴重的后果。(應該盡量避免隱含觸發(fā)器的出現(xiàn)。一般要控制輸出被直接反饋到輸入端,采用反饋環(huán)路會出現(xiàn)隱含觸發(fā)器,其對輸入尖峰和假信號很敏感,輸入端有任何變化都有可能使輸出值立刻改變,此時易造成毛刺的產生,導致時序的嚴重混亂。一旦具有隱含的觸發(fā)器,加鎖存器消除毛刺是不能解決問題的。此時只有通過全面修改電路來從根本上解決。 (每一個模塊中只用一個時鐘,避免使用多時鐘設計,同時避免使用主時鐘分頻后的二次時鐘作為時序器件的時鐘輸入,因為二次時鐘相對于一次時鐘可能存在過大的時鐘歪斜。對所有模塊的輸入時鐘、輸入信號、輸出信號都用觸發(fā)器或寄存器進行同步處理,即輸出

33、信號直接來自觸發(fā)器或寄存器的輸出端。這樣可以消除尖峰和毛刺信號。不論是控制信號還是地址總線信號、數(shù)據(jù)總線信號,都要采用另外的寄存器,以使內部歪斜的數(shù)據(jù)變成同步的數(shù)據(jù)。這些表面上看似乎無用的操作可以大大提高電路系統(tǒng)的性能。 (應該盡量避免使用延遲線,因它對工藝過程的變化極為敏感,會大大降低電路的穩(wěn)定性和可靠性,并將為測試帶來麻煩。(大部分FPGA器件都為時鐘、復位、預置等信號提供特殊的全局布線資源,要充分利用這些資源。這樣可以減少電路中的毛刺并且大大提高設計電路的性能。(不要試圖用語言去綜合、或等存儲模塊。當前的綜合工具主要用于產生邏輯電路,如需要用這些模塊,直接調用或例化相應的宏單元即可。(注

34、意仿真結果和實際綜合的電路的不一致性。無論是時序電路還是異步邏輯電路,其行為與其仿真器結果都是不完全一樣的。特別是異步邏輯電路,仿真結果將會隱藏競爭冒險和毛刺現(xiàn)象,與實際行為相差較遠。故在FPGA設計中,對每一個邏輯門、每一行(語言,必須完全理解,不要期望仿真器替你找到錯誤。一個好的設計工程師要知道怎樣通過修改設計來提高電路性能,而不把責任歸咎于所使用的軟件2.4 小結本章主要是首先簡要的介紹FPGA技術的歷史和發(fā)展前景,接著又重點描述了FPGA技術的應用和作用,最后也點出了FPGA設計過程中所應注意的問題。這些介紹的相關方面,為后面的核心部分來做些準備,同時也強調了FPGA器件的優(yōu)越性所在和

35、不足方面,在后面的設計和實現(xiàn)的過程中將會揚長避短,設計出質量過關的器件。3 求模求相電路的設計原理3.1 本課題所用原理本課題所用的求模求相的方法是基于FPGA的設計方法,其設計原理也不同于其他方法,它的最重要的特點就是高精度,為了實現(xiàn)高精度的目的,在設計思路方面也要更好的考慮整個電路的精確度,力爭在各個環(huán)節(jié)上都減小誤差,盡量避免器件誤差的累積,最終體現(xiàn)本課題所用設計思路的優(yōu)點和特點。下面就將介紹本文所用的設計原理:設計原理流程圖:整個電路大體上根據(jù)實現(xiàn)功能大體上分為2部分:求相和求模。重點部分是求模部分,它是整個電路的關鍵所在,也是最能體現(xiàn)設計思路特點的所在,在其實現(xiàn)的過程中對高精度的要求也

36、是最高的,所以在電路設計原理方面將對如何實現(xiàn)求模方面進行詳細的描述,求相部分做簡單的介紹。下面將對整個電路的設計原理做一一介紹:如上圖所示,把整個360度分為8個區(qū)域,從0度逆時針開始:1區(qū):045度 2區(qū):4590 3區(qū):90135度 4區(qū):135180 5區(qū):180225 6區(qū):225270 7區(qū):270315 8區(qū):315360 這樣方便確定所取的點的位置I/Q輸入信號為16位二進制,最高位為符號位,I/Q的符號位和兩者絕對值的比較值用來確定其在哪個區(qū),I的符號位F1,Q的符號位F2 ,去掉最高位就是I/Q的絕對值,I/Q的絕對值比較值F3:|I|Q| F3=0 , |I|1,這樣相位值

37、可以通遞推而的。3.3 比較分析本課題所用的求模求相原理是基于FPGA的硬件實現(xiàn)原理,它是一種實際實現(xiàn)方法,在原理上更貼近實際情況,也是更適合應用在實踐當中的,它的誤差主要來自于硬件本身,而不在于理論上,隨著硬件水平的提高這些誤差是可以減小的,所以這種設計原理更有發(fā)展前途,也是更有實際用處的,它所達到的精度比較的高,正適合課題“高精度”的要求,這也是它的優(yōu)越性所在?!澳M近似求模算法”和“cordic 求相算法”,它們比較偏重于理論上的實現(xiàn)方法,重點是在數(shù)學實現(xiàn)方法,對實際實現(xiàn)過程的各種因素考慮不多,與硬件的實際情況可能不太相符,所以說它們是理論上的算法,優(yōu)點在于實現(xiàn)的模型比較成熟,數(shù)學基礎比

38、較完善,但它的缺點也很明顯:精度不高。當然硬件的實現(xiàn)也要借助于理論的成果,兩者對硬件實現(xiàn)原理的完善也起到不可低估的幫助。本課題所應用的硬件實現(xiàn)原理比較而言是很不錯的,在硬件實現(xiàn)方面“高精度”的優(yōu)點可以明顯得出,完全符合課題要求。在下一章中,將對如何硬件實現(xiàn)做詳細的介紹。4 求相求模電路的設計和硬件實現(xiàn)4.1 求模求相的發(fā)展和應用數(shù)字信號處理技術迅速的發(fā)展,其中對信號進行求模求相的技術也得到了快速的發(fā)展,它廣泛地應用于通信、雷達、聲納、地質勘探、圖像處理、生物醫(yī)學等方面。電路的主要功能是求模和求相,分別用來于測距和鑒相。一開始的求模求相電路的實現(xiàn)主要是來自數(shù)學方面的模擬近似算,是一個傅立葉展開的

39、,根據(jù)不同的需要展開不同的項數(shù)。求模求相電路這兩大功能集中應用于雷達的信號處理方面,可以說雷達信號處理技術的需求就是求模求相電路的發(fā)展動力。雷達的基本功能是發(fā)現(xiàn)目標并測定其坐標。通常它是通過向空間發(fā)射某種特定的信號,然后接收并處理目標的回波信號來實現(xiàn)的。處理雷達的信號,測定目標的距離和坐標,就是通過求模求相電路來實現(xiàn)的。隨著雷達處理信號的精確度的提高,求模求相電路的精度也在提高。在雷達發(fā)展的初期,關于如何設計雷達接收機使之對脈沖或連續(xù)波信號獲得最佳的信噪比就進行了大量的研究 。這時候對求模求相的要求還不是很高,1943 年諾思(North )提出匹配濾波器理論,大大推動了雷達檢測能力的提高,求

40、模求相也得到了進一步的發(fā)展,1950 年伍德沃德(Woodward )把香農(Shannon )基礎信息論推廣應用于雷達信號檢測,稍后出現(xiàn)了基于統(tǒng)計判決的許多最佳準則檢測方法,它們標志著經典雷達信號檢測理論的形成。1953 年伍德沃德又在其著名的 概率論和信息論在雷達中的應用 著作中提出了雷達模糊原理,并首次建立波形設計思想,這不僅有力促進了雷達信號理論的發(fā)展,也為雷達信號處理奠定了基礎,求模求相也用開始用數(shù)學方法進行計算了。20 世紀50 年代末,在實現(xiàn)了雷達信號最優(yōu)統(tǒng)計處理的前提下,典型的脈沖雷達在同時提高作用距離、距離測量精度及分辨力方面愈來愈呈現(xiàn)不可克服的矛盾,這就導致了今日通稱為脈沖

41、壓縮技術的需求,這時候求模求相電路的理論就發(fā)展到對數(shù)學公式的展開上去了,精度進一步的提高。后來隨著硬件條件的發(fā)展,求模求相電路飛速的發(fā)展。4.2 求摸求相的步驟輸入信號ii_std,qq_std為16位,求它們的絕對值,就是去掉最高位的符號位,正數(shù)的絕對值就可以得到,負數(shù)就是-1后再取反,ii,qq輸出的是絕對值,i_g,q_g分別輸出ii_std,qq_std的最高位即符號位,以便下面求相,下面是生成的器件圖:仿真圖:分析:由上圖可以看到結果中有延遲的出現(xiàn),最前端的0的出現(xiàn)是由于器件的延遲而來的,從第二個周期開始基本上符合仿真前的理論結果,達到了預期的效果,驗證成功。能夠實現(xiàn)求絕對值,為后面

42、的部分做準備。實際上選大電路就是一個比較器,主要功能是接受前面的絕對值,經過比較,在MAX端口輸出大的,在MIN端口輸出小的,ii,qq為15位的輸入信號,是前面模塊所求的絕對值,maxmun,minmun分別是比較結果中的15位的大數(shù)和小數(shù),ss是ii與qq的比較結果,當iiqq時,ss=0,ii 時, ss=1.ss 是用來和 ii 與 qq 的符號位聯(lián)合確定,信號所在區(qū)。 下圖是生成的器件: 仿真圖分析:仿真圖可以驗證器件功能實現(xiàn)的如何,從上圖中可以看到,仍然有少許毛刺出現(xiàn),但總體上不影響仿真結果,可以很好的反映選大電路的結果,誤差保持在允許范圍內,器件功能驗證成功。本部分如上章求相的原

43、理,把整個2分成8個區(qū)間,用0到7來表示,i_g,q_g分別是輸入信號ii_std和qq_std的符號位,ss是ii_std和qq_std的比較結果,這3個數(shù)值來確定信號所在的區(qū)間,下面為成的器件:仿真圖分析:從上面的仿真圖可以很清楚看出結果符合預計的目標,沒有出現(xiàn)毛刺,實現(xiàn)的成功,滿足要求,在時鐘信號的選擇上有點問題還有待解決,為后面求相進一步的準備。八級除法電路實際上是一個除法器,它的主要功能是接收選大電路的MAX,MIN信號,實現(xiàn)小數(shù)除以大數(shù),結果輸出一個tg數(shù)值,以便后面通過ROM器件,求出,確定角度,和前面I/Q的最高位一起幫助確定相位,同時也可以由tg,通過RON器件求出sin,c

44、os. sin,cos在后面的步驟中將用在求模的過程中,本器件也是這些步驟中比較難的部分,難點在于怎么控制輸出的數(shù)據(jù)的位數(shù)。這里采用先放大后縮小的方法來實現(xiàn)數(shù)據(jù)位數(shù)的轉換,在實現(xiàn)的過程中,可以很好的解決課題要求。下面是生成的器件:仿真圖分析:仿真說明器件功能,被除數(shù)num先乘以256,再除除數(shù)denom,得到余數(shù)remain和tg.num為前面的小數(shù),denmon為大數(shù)。程序:LIBRARY ieee;LIBRARY lpm;ENTITY div ISPORT(num : IN STD_LOGIC_VECTOR (14 DOWNTO 0;denom : IN STD_LOGIC_VECTOR

45、(14 DOWNTO 0;tg : buffer STD_LOGIC_VECTOR (7 DOWNTO 0;remain : OUT STD_LOGIC_VECTOR (14 DOWNTO 0;END div;ARCHITECTURE SYN OF div ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (22 DOWNTO 0;SIGNAL sub_wire1 : STD_LOGIC_VECTOR (14 DOWNTO 0;signal quotient : STD_LOGIC_VECTOR (22 DOWNTO 0;signal numer : std_logi

46、c_vector (22 downto 0;COMPONENT lpm_divideGENERIC (lpm_widthn : NATURAL;lpm_widthd : NATURAL;lpm_type : STRING;lpm_nrepresentation : STRING;lpm_hint : STRING;lpm_drepresentation : STRING;PORT (denom : IN STD_LOGIC_VECTOR (14 DOWNTO 0;quotient : OUT STD_LOGIC_VECTOR (22 DOWNTO 0;remain : OUT STD_LOGI

47、C_VECTOR (14 DOWNTO 0;numer : IN STD_LOGIC_VECTOR (22 DOWNTO 0;END COMPONENT;BEGINnumer = num&00000000;quotient = sub_wire0(22 DOWNTO 0;remain 23,lpm_widthd = 15,lpm_type = LPM_DIVIDE,lpm_nrepresentation = UNSIGNED,lpm_hint = LPM_REMAINDERPOSITIVE=TRUE,lpm_drepresentation = UNSIGNEDPORT MAP (denom =

48、 denom,numer = numer,quotient = sub_wire0,remain = sub_wire1;process(quotient,tgvariable temp1 : std_logic_vector (7 downto 0;beginfor i in 7 downto 0 looptemp1 (i := quotient (i;tg (i = temp1 (i;end loop;end process;END SYN;ROM器件的生成是比較程序化,tg,sin,cosROM器件的生成過程都差不多,下面就以cos為例介紹ROM,先用MATLAB生成MIF文件,再在Quartus II調用MIF生成ROM器件。MATLAB程序如下:function b=mifwj(a,c,b%本程序用來生成mif文件 logner編制%參數(shù) a 待存的數(shù)字變量% c文件名mif% b待存數(shù)字的二進制位數(shù)m,n=size(a;fp1=fopen(c,wt+;fprintf(fp1,depth=;fprintf(fp1,num2str(n;fprintf(fp1,;n;fprintf(fp1,width=;fprintf

溫馨提示

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

評論

0/150

提交評論