




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、FPGA相關資料第一章1FPGA和FPGA數字系統(tǒng)(1)可編程邏輯器件概述可編程邏輯器件 英文全稱為:programmable logic device 即 PLD。PLD是做為一種通用集成電路產生的,他的邏輯功能按照用戶對器件編程來確定。一般的PLD的集成度很高,足以滿足設計一般數字系統(tǒng)的需要。這樣就可以由設計人員自行編程而把一個數字系統(tǒng)“集成”在一片PLD上,而不必去請芯片制造廠商設計和制作專用的集成電路芯片了。PLD與一般數字芯片不同的是:PLD內部的數字電路可以在出廠后才規(guī)劃決定,有些類型的PLD也允許在規(guī)劃決定后再次進行變更、改變,而一般數字芯片在出廠前就已經決定其內部電路,無法在出
2、廠后再次改變,事實上一般的模擬芯片、混訊芯片也都一樣,都是在出廠后就無法再對其內部電路進行調修。邏輯器件可分為兩大類 - 固定邏輯器件和可編程邏輯器件。 一如其名,固定邏輯器件中的電路是永久性的,它們完成一種或一組功能 - 一旦制造完成,就無法改變。 另一方面,可編程邏輯器件(PLD)是能夠為客戶提供范圍廣泛的多種邏輯能力、特性、速度和電壓特性的標準成品部件 - 而且此類器件可在任何時間改變,從而完成許多種不同的功能。對于固定邏輯器件,根據器件復雜性的不同,從設計、原型到最終生產所需要的時間可從數月至一年多不等。 而且,如果器件工作不合適,或者如果應用要求發(fā)生了變化,那么就必須開發(fā)全新的設計。
3、 設計和驗證固定邏輯的前期工作需要大量的“非重發(fā)性工程成本”,或NRE。 NRE表示在固定邏輯器件最終從芯片制造廠制造出來以前客戶需要投入的所有成本,這些成本包括工程資源、昂貴的軟件設計工具、用來制造芯片不同金屬層的昂貴光刻掩模組,以及初始原型器件的生產成本。 這些NRE成本可能從數十萬美元至數百萬美元。對于可編程邏輯器件,設計人員可利用價格低廉的軟件工具快速開發(fā)、仿真和測試其設計。 然后,可快速將設計編程到器件中,并立即在實際運行的電路中對設計進行測試。 原型中使用的PLD器件與正式生產最終設備(如網絡路由器、ADSL調制解調器、DVD播放器、或汽車導航系統(tǒng))時所使用的PLD完全相同。 這樣
4、就沒有了NRE成本,最終的設計也比采用定制固定邏輯器件時完成得更快。采用PLD的另一個關鍵優(yōu)點是在設計階段中客戶可根據需要修改電路,直到對設計工作感到滿意為止。 這是因為PLD基于可重寫的存儲器技術-要改變設計,只需要簡單地對器件進行重新編程。 一旦設計完成,客戶可立即投入生產,只需要利用最終軟件設計文件簡單地編程所需要數量的PLD就可以了。常見的PLD產品:可編程只讀存儲器(PROM)、現場可編程邏輯陣列(FPLA)、可編程陣列邏輯(PAL)、復雜可編程邏輯器件(CPLD)、和現場可編程門陣列(FPGA)等類型。它們的內部結構和表現方法各不相同可編程邏輯器件的分類1) 按編程部位分類PLD有
5、著大致相同的基本結構,根據與陣列或陣列是否可編程,分為三種基本類型:與陣列固定,或陣列可編程;2與或陣列均可編程;3與陣列可編程,或陣列固定2) 按編程方式分類1掩膜編程2熔絲與反熔絲編程;3紫外線擦除、電可編程;4電擦除、電可編程;5在系統(tǒng)編程(2)現場可編程門陣列(FPGA)現場可編程邏輯門陣列(FPGA, Field Programmable Gate Array),是一個含有可編輯元件的半導體設備,可供使用者現場程式化的邏輯門陣列元件。FPGA是在PAL、GAL、CPLD等可編輯器件的基礎上進一步發(fā)展的產物。FPGA概述FPGA則是操控層次更低,所以自由度更大的芯片,對FPGA的編程在
6、編譯后是轉化為FPGA內的連線表,相當于FPGA內提供了大量的與非門、或非門、觸發(fā)器(可以用與非門形成吧)等基本數字器件,編程決定了有多少器件被使用以及它們之間的連接。只要FPGA規(guī)模夠大,這些數字器件理論上能形成一切數字系統(tǒng),包括單片機甚至CPU。FPGA在抗干擾,速度上有很大優(yōu)勢。FPGA發(fā)展背景目前以硬件描述語言(Verilog 或 VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現代 IC 設計驗證的技術主流。這些可編輯元件可以被用來實現一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學方程式。在
7、大多數的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flipflop)或者其他更加完整的記憶塊。 系統(tǒng)設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。 FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發(fā)
8、是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。產品比較早在1980年代中期,FPGA已經在PLD設備中扎根。CPLD和FPGA包括了一些相對大數量的可編輯邏輯單元。CPLD邏輯門的密度在幾千到幾萬個邏輯單元之間,而FPGA通常是在幾萬到幾百萬。CPLD和FPGA的主要區(qū)別是他們的系統(tǒng)結構。CPLD是一個有點限制性的結構。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的寄存器組成。這樣的結果是缺乏編輯靈活性,但是卻有可以預計的延遲時間和邏輯單元對連接單元高比率的優(yōu)點。而FPGA卻是有很多的連接單元,
9、這樣雖然讓它可以更加靈活的編輯,但是結構卻復雜的多。CPLD和FPGA另外一個區(qū)別是大多數的FPGA含有高層次的內置模塊(比如加法器和乘法器)和內置的記憶體。因此一個有關的重要區(qū)別是很多新的FPGA支持完全的或者部分的系統(tǒng)內重新配置。允許他們的設計隨著系統(tǒng)升級或者動態(tài)重新配置而改變。一些FPGA可以讓設備的一部分重新編輯而其他部分繼續(xù)正常運行。CPLD和FPGA還有一個區(qū)別:CPLD下電之后,原有燒入的邏輯結構不會消失;而FPGA下電之后,再次上電時,需要重新加載FLASH里面的邏輯代碼,需要一定的加載時間。發(fā)展歷程每一個后看來很成功的新事物,從誕生到發(fā)展壯大都不可避免地經歷過艱難的歷程,并可
10、能成為被研究的案例,FPGA也不例外。1985年,當全球首款FPGA產品XC2064誕生時,注定要使用大量芯片的PC機剛剛走出硅谷的實驗室進入商業(yè)市場,因特網只是科學家和政府機構通信的神秘鏈路,無線電話笨重得像磚頭,日后大紅大紫的BillGates正在為生計而奮斗,創(chuàng)新的可編程產品似乎并沒有什么用武之地。事實也的確如此。最初,FPGA只是用于膠合邏輯(GlueLogic),從膠合邏輯到算法邏輯再到數字信號處理、高速串行收發(fā)器和嵌入式處理器,FPGA真正地從配角變成了主角。在以閃電般速度發(fā)展的半導體產業(yè)里,22年足夠改變一切?!霸谖磥硎陜让恳粋€電子設備都將有一個可編程邏輯芯片”的理想正成為現實
11、。1985年,Xilinx公司推出的全球第一款FPGA產品XC2064怎么看都像是一只“丑小鴨”采用2m工藝,包含64個邏輯模塊和85000個晶體管,門數量不超過1000個。22年后的2007年,FPGA業(yè)界雙雄Xilinx和Altera公司紛紛推出了采用最新65nm工藝的FPGA產品,其門數量已經達到千萬級,晶體管個數更是超過10億個。一路走來,FPGA在不斷地緊跟并推動著半導體工藝的進步2001年采用150nm工藝、2002年采用130nm工藝,2003年采用90nm工藝,2006年采用65nm工藝。在上世紀80年代中期,可編程器件從任何意義上來講都不是當時的主流,雖然其并不是一個新的概念
12、。可編程邏輯陣列(PLA)在1970年左右就出現了,但是一直被認為速度慢,難以使用。1980年之后,可配置可編程邏輯陣列(PAL)開始出現,可以使用原始的軟件工具提供有限的觸發(fā)器和查找表實現能力。PAL被視為小規(guī)模/中等規(guī)模集成膠合邏輯的替代選擇被逐步接受,但是當時可編程能力對于大多數人來說仍然是陌生和具有風險的。20世紀80年代在“megaPAL”方面的嘗試使這一情況更加嚴重,因為“megaPAL”在功耗和工藝擴展方面有嚴重的缺陷,限制了它的廣泛應用。然而,Xilinx公司創(chuàng)始人之一FPGA的發(fā)明者RossFreeman認為,對于許多應用來說,如果實施得當的話,靈活性和可定制能力都是具有吸引
13、力的特性。也許最初只能用于原型設計,但是未來可能代替更廣泛意義上的定制芯片。事實上,正如Xilinx公司亞太區(qū)營銷董事鄭馨南所言,隨著技術的不斷發(fā)展,FPGA由配角到主角,很多系統(tǒng)設計都是以FPGA為中心來設計的。FPGA走過了從初期開發(fā)應用到限量生產應用再到大批量生產應用的發(fā)展歷程。從技術上來說,最初只是邏輯器件,現在強調平臺概念,加入數字信號處理、嵌入式處理、高速串行和其他高端技術,從而被應用到更多的領域?!?0年代以來的20年間,PLD產品的終極目標一直瞄準速度、成本和密度三個指標,即構建容量更大、速度更快和價格更低的FPGA,讓客戶能直接享用。”Actel司總裁兼首席執(zhí)行官JohnEa
14、st如此總結可編程邏輯產業(yè)的發(fā)展脈絡。當1991年Xilinx公司推出其第三代FPGA產品XC4000系列時,人們開始認真考慮可編程技術了。XC4003包含44萬個晶體管,采用0.7m工藝,FPGA開始被制造商認為是可以用于制造工藝開發(fā)測試過程的良好工具。事實證明,FPGA可為制造工業(yè)提供優(yōu)異的測試能力,FPGA開始用來代替原先存儲器所扮演的用來驗證每一代新工藝的角色。也許從那時起,向最新制程半導體工藝的轉變就已經不可阻擋了。最新工藝的采用為FPGA產業(yè)的發(fā)展提供了機遇。Actel公司相信,Flash將繼續(xù)成為FPGA產業(yè)中重要的一個增長領域。Flash技術有其獨特之處,能將非易失性和可重編程
15、性集于單芯片解決方案中,因此能提供高成本效益,而且處于有利的位置以搶占龐大的市場份額。Actel以Flash技術為基礎的低功耗IGLOO系列、低成本的ProASIC3系列和混合信號Fusion FPGA將因具備Flash的固有優(yōu)勢而繼續(xù)引起全球廣泛的興趣和注意。Altera公司估計可編程邏輯器件市場在2006年的規(guī)模大概為37億美元,Xilinx公司的估計更為樂觀一些,為50億美元。雖然兩家公司合計占據該市場90%的市場份額,但是作為業(yè)界老大的Xilinx公司在2006年的營收不過18.4億美元,Altera公司則為12.9億美元。PLD市場在2000年達到41億美元,其后兩年出現了下滑,20
16、02年大約為23億美元。雖然從2002年到2006年,PLD市場每年都在增長,復合平均增長率接近13%,但是PLD終究是一個規(guī)模較小的市場。而Xilinx公司也敏銳地意識到,FPGA產業(yè)在經歷了過去幾年的快速成長后將放慢前進的腳步,那么,未來FPGA產業(yè)的出路在哪里?Altera公司總裁兼首席執(zhí)行官John Daane認為,FPGA及PLD產業(yè)發(fā)展的最大機遇是替代ASIC和專用標準產品(ASSP),主要由ASIC和ASSP構成的數字邏輯市場規(guī)模大約為350億美元。由于用戶可以迅速對PLD進行編程,按照需求實現特殊功能,與ASIC和ASSP相比,PLD在靈活性、開發(fā)成本以及產品及時面市方面更具優(yōu)
17、勢。然而,PLD通常比這些替代方案有更高的成本結構。因此,PLD更適合對產品及時面市有較大需求的應用,以及產量較低的最終應用。PLD技術和半導體制造技術的進步,從總體上縮小了PLD和固定芯片方案的相對成本差,在以前由ASIC和ASSP占據的市場上,Altera公司已經成功地提高了PLD的銷售份額,并且今后將繼續(xù)這一趨勢?!癋PGA和PLD供應商的關鍵目標不是簡單地增加更多的原型客戶,而是向大批量應用最終市場和客戶滲透?!盝ohn Daane為FPGA產業(yè)指明了方向。理念成熟Xilinx公司認為,ASIC SoC設計周期平均是14個月到24個月,用FPGA進行開發(fā)時間可以平均降低55%。而產品晚
18、上市六個月5年內將少33%的利潤,每晚四周等于損失14%的市場份額。因此,鄭馨南雄心勃勃地預言:“FPGA應用將不斷加快,從面向50億美元的市場擴展到面向410億美元的市場?!逼渲?,ASIC和ASSP市場各150億美元,嵌入式處理和高性能DSP市場各30億美元。雖然沒有像蒸汽機車發(fā)明之初備受嘲笑被譏諷為“怪物”,但是FPGA在誕生之初受到懷疑是毫無疑問的。當時,晶體管邏輯門資源極為珍貴,每個人都希望用到的晶體管越少越好。不過,Ross Freeman挑戰(zhàn)了這一觀念,他大膽預言:“在未來,晶體管將變得極為豐富從而可以免費使用。”如今,這一預言成為現實?!癋PGA非常適用于原型設計,但對于批量DS
19、P系統(tǒng)應用來說,成本太高,功耗太大?!边@是業(yè)界此前的普遍觀點,很長時間以來也為FPGA進入DSP領域設置了觀念上的障礙。而如今,隨著Xilinx公司和Altera公司相關產品的推出,DSP領域已經不再是FPGA的禁區(qū),相反卻成了FPGA未來的希望所在。FPGA對半導體產業(yè)最大的貢獻莫過于創(chuàng)立了無生產線(Fabless)模式。如今采用這種模式司空見慣,但是在20多年前,制造廠被認為是半導體芯片企業(yè)必須認真考慮的主要競爭優(yōu)勢。然而,基于過去和關系和直接、清晰的業(yè)務模式,Xilinx創(chuàng)始人之一Bernie Vonderschmitt成功地使日本精工公司(Seiko)確信利用該公司的制造設施來生產Xi
20、linx公司設計的芯片對雙方都是有利的,于是,無生產線模式誕生了。未來,相信FPGA還將在更多方面改變半導體產業(yè)!CPLD與FPGA的關系早在1980年代中期,FPGA已經在PLD設備中扎根。CPLD和FPGA包括了一些相對大數量的可以編輯邏輯單元。CPLD邏輯門的密度在幾千到幾萬個邏輯單元之間,而FPGA通常是在幾萬到幾百萬。 CPLD和FPGA的主要區(qū)別是他們的系統(tǒng)結構。CPLD是一個有點限制性的結構。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的寄存器。這樣的結果是缺乏編輯靈活性,但是卻有可以預計的延遲時間和邏輯單元對連接單元高比率的優(yōu)點。而FPGA卻是有很多的連
21、接單元,這樣雖然讓它可以更加靈活的編輯,但是結構卻復雜的多。 CPLD和FPGA另外一個區(qū)別是大多數的FPGA含有高層次的內置模塊(比如加法器和乘法器)和內置的記憶體。一個因此有關的重要區(qū)別是很多新的FPGA支持完全的或者部分的系統(tǒng)內重新配置。允許他們的設計隨著系統(tǒng)升級或者動態(tài)重新配置而改變。一些FPGA可以讓設備的一部分重新編輯而其他部分繼續(xù)正常運行。FPGA工作原理FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部
22、連線(Interconnect)三個部分。FPGA的基本特點· 1)采用FPGA設計ASIC電路(特定用途集成電路),用戶不需要投片生產,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。3)FPGA內部有豐富的觸發(fā)器和IO引腳。4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,FPGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA是由存放在片內RAM中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內的RAM進行編程。用戶可以根據
23、不同的配置模式,采用不同的編程方式。加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成后,FPGA進入工作狀態(tài)。掉電后,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。FPGA配置模式· FPGA有多種配置模式:并行主模式為一片FPGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片FPGA;串行模式可以采用串行
24、PROM編程FPGA;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。如何實現快速的時序收斂、降低功耗和成本、優(yōu)化時鐘管理并降低FPGA與PCB并行設計的復雜性等問題,一直是采用FPGA的系統(tǒng)設計工程師需要考慮的關鍵問題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發(fā)展,系統(tǒng)設計工程師在從這些優(yōu)異性能獲益的同時,不得不面對由于FPGA前所未有的性能和能力水平而帶來的新的設計挑戰(zhàn)。例如,領先FPGA廠商Xilinx最近推出的Virtex-5系列采用65nm工藝,可提供高達33萬個邏輯單元、1,200個I/O和大量硬IP塊。超大容量和密度使復雜的布線變得更加不
25、可預測,由此帶來更嚴重的時序收斂問題。此外,針對不同應用而集成的更多數量的邏輯功能、DSP、嵌入式處理和接口模塊,也讓時鐘管理和電壓分配問題變得更加困難。幸運地是,FPGA廠商、EDA工具供應商正在通力合作解決65nm FPGA獨特的設計挑戰(zhàn)。不久以前,Synplicity與Xilinx宣布成立超大容量時序收斂聯合工作小組,旨在最大程度地幫助系統(tǒng)設計工程師以更快、更高效的方式應用65nm FPGA器件。設計軟件供應商Magma推出的綜合工具Blast FPGA能幫助建立優(yōu)化的布局,加快時序的收斂。最近FPGA的配置方式已經多元化!FPGA的應用· 微處理器是為通用而設計的,必須按照時
26、鐘的節(jié)拍,逐條取指、譯指、執(zhí)行,大多用于低速、實時性要求不高的場合,例如石油探測;FPGA 應用場合相當多,特別是在高速的、實時性強并對時間要求相當苛刻的場合,有很強的數據處理能力,例如無線通信、雷達探測等;是FPGA的一些典型應用:典型應用一:接口邏輯控制提供前所未有的靈活性1、PCI、PCI Express、PS/2、USB等接口控制器2、SDRAM、DDR、SDRAM、QDR、SRAM、NAND Flash、NOR Flash等接口控制器3、電平轉換,LVDS、TTL、COMS、SSTL等典型應用二:高速的數字信號處理提供前所未有的計算能力1、無線通信領域,如軟件無線電(SDR);2、視
27、頻圖像處理領域,如高清晰數字電視(HDTV);3、軍事和航空航天領域,如雷達聲納、安全通信。其他應用領域1、汽車,如網關控制器、車用PC、遠程信息處理系統(tǒng)等;2、消費產品,如顯示器/投影儀、數字電視和機頂盒、家庭網絡等;3、醫(yī)療,如電療、血液分析儀、醫(yī)療檢測設備等4、通信設備 ,如蜂窩基礎設施、寬帶無線通信、軟件無線電等5、測試與測量,如通信測試與監(jiān)測、半導體、自動測試設備、通用儀表等。2.FPGA時序設計與時序分析FPGA設計一個很重要的設計是時序設計,而時序設計的實質就是滿足每一個觸發(fā)器的建立(Setup)/保持(Hold)時間的要求。 建立時間(Set
28、up Time):是指在觸發(fā)器的時鐘信號上升沿到來以前,數據穩(wěn)定不變的時間,如果建立時間不夠,數據將不能在這個時鐘上升沿被打入觸發(fā)器; 保持時間(Hold Time):是指在觸發(fā)器的時鐘信號上升沿到來以后,數據穩(wěn)定不變的時間, 如果保持時間不夠,數據同樣不能被打入觸發(fā)器。 FPGA設計分為異步電路設計和同步電路設計,然而很多異步電路設計都可以轉化為同步電路設計,在設計時盡量采用同步電路進行設計。對于同步電路可以轉化的邏輯必須轉化,不能轉化的邏輯,應將異步的部分減到最小,而其前
29、后級仍然應該采用同步設計。 為了讓同步電路可靠地運行,就要對時鐘偏差進行控制,以使時鐘偏差減小到可用的范圍。影響時鐘偏差的主要有以下幾個因素:o 用于連接時鐘樹的連線o 鐘樹的拓撲結構o 時鐘的驅動o 時鐘線的負載o 時鐘的上升及下降時間 在通常的FPGA設計中對時鐘偏差的控制主要有以下幾種方法:o 控 制時鐘信號盡量走可編程器件的的全局時鐘網絡。在可編程器件中一般都有專門的時鐘驅動器及全局時鐘網絡,不同種類、型號的可編程器件,它們中的全局時鐘網 絡數量不同,因此要根據不同的設計需要選擇含有合適數量全局時鐘網絡的可編程器件。
30、一般來說,走全局時鐘網絡的時鐘信號到各使用端的延時小,時鐘偏差很 小,基本可以忽略不計。o 若設計中時鐘信號數量很多,無法讓所有的信號都走全局時鐘網絡,那么可以通過在設計中加約束的方法,控制不能走全局時鐘網絡的時鐘信號的時鐘偏差。o 異步接口時序裕度要足夠大。局部同步電路之間接口都可以看成是異步接口,比較典型的是設計中的高低頻電路接口、I/O接口,那么接口電路中后一級觸發(fā)器的建立-保持時間要滿足要求,時序裕度要足夠大。o 在系統(tǒng)時鐘大于30MHz時,設計難度有所加大,建議采用流水線等設計方法。采用流水線處理方式可以達到提高時序電路的速度,但使用的器件資源也成倍增加。o 要保證電路設計的理論最高
31、工作頻率大于電路的實際工作頻率。A 時序約束的概念和基本策略時序約束主要包括周期約束(FFS到FFS,即觸發(fā)器到觸發(fā)器)和偏移約束(IPAD到FFS、FFS到OPAD)以及靜態(tài)路徑約束(IPAD到 OPAD)等3種。通過附加約束條件可以使綜合布線工具調整映射和布局布線過程,使設計達到時序要求。例如用OFFSET_IN_BEFORE約束可以告 訴綜合布線工具輸入信號在時鐘之前什么時候準備好,綜合布線工具就可以根據這個約束調整與IPAD相連的Logic Circuitry的綜合實現過程,使結果滿足FFS的建立時間要求。附加時序約束的一般策略是先附加全局約束,然后對快速和慢速例外路徑附加專門約束。附
32、加全局約束時,首先定義設計的所有時鐘,對各時鐘域內的同步元件進行 分組,對分組附加周期約束,然后對FPGA/CPLD輸入輸出PAD附加偏移約束、對全組合邏輯的PAD TO PAD路徑附加約束。附加專門約束時,首先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其他特殊路徑。B 附加約束的基本作用提高設計的工作頻率對很多數字電路設計來說,提高工作頻率非常重要,因為高工作頻率意味著高處理能力。通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減小邏輯和布線延時,從而提高工作頻率。 獲得正確的時序分析報告幾乎所有的FPGA設計平臺都包含靜態(tài)時序分析工具,利用這類工具可以獲得映射或布局
33、布線后的時序分析報告,從而對設計的性能做出評估。靜態(tài)時序分析工具以約束作為判斷時序是否滿足設計要求的標準,因此要求設計者正確輸入約束,以便靜態(tài)時序分析工具輸出正確的時序分析報告。 1. 指定FPGA/CPLD引腳位置與電氣標準FPGA/CPLD的可編程特性使電路板設計加工和FPGA/CPLD設計可以同時進行,而不必等FPGA/CPLD引腳位置完全確定,從而節(jié)省了系統(tǒng)開發(fā)時間。這樣,電路板加工完成后,設計者要根據電路板的走線對FPGA/CPLD加上引腳位置約束,使FPGA/CPLD與電路板正確連接。另外通過約束還可以指定IO引腳所支持的接口標準和其他電氣特性。為了滿足日新月異的通信發(fā)展,Xili
34、nx新型FPGA/CPLD可以通過IO引腳約束設置支持諸如 AGP、BLVDS、CTT、GTL、GTLP、HSTL、LDT、LVCMOS、LVDCI、LVDS、LVPECL、LVDSEXT、LVTTL、 PCI、PCIX、SSTL、ULVDS等豐富的IO接口標準。另外通過區(qū)域約束還能在FPGA上規(guī)劃各個模塊的實現區(qū)域,通過物理布局布線約束,完成模 塊化設計等。 C 周期(PERIOD)的含義周期的含義是時序中最簡單也是最重要的含義,其它很多時序概念會因為軟件商不同略有差異,而周期的概念確是最通用的,周期的概念是FPGA/ASIC時序定義的基礎概念。后面要講到的其它時序約束都是建立在周期約束的基
35、礎上的,很多其它時序公式,可以用周期公式推導。周期約束是一個基本時序和綜合約束,它附加在時鐘網線上,時序分析工具根據PERIOD約束檢查時鐘域內所有同步元件的時序是否滿足要求。PERIOD約束會自動處理寄存器時鐘端的反相問題, 如果相鄰同步元件時鐘相位相反,那么它們之間的延遲將被默認限制為PERIOD約束值的一半。如下圖所示,圖1 周期的定義 時鐘的最小周期為:TCLK = TCKO +TLOGIC +TNET +TSETUP TCLK_SKEWTCLK_SKEW =TCD2 TCD1其中TCKO為時鐘輸出時間,TLOGIC為同步元件之間的組合邏輯延遲,TN
36、ET為網線延遲,TSETUP為同步元件的建立時間,TCLK_SKEW為時鐘信號TCD2和TCD1延遲的差別。D 數據和時鐘之間的約束為了確保芯片數據采樣可靠和下級芯片之間正確地交換數據,需要約束外部時鐘和數據輸入輸出引腳之間的時序關系(或者內部時鐘和外部輸入/輸出數據之間的關系,這僅僅是從采用了不同的參照系罷了)。約束的內容為告訴綜合器、布線器輸入數據到達的時刻,或者輸出數據穩(wěn)定的時刻,從而保證與下一級電路的時序關系。這種時序約束在Xilinx中用Setup to Clock(edge),Clock(edge) to hold等表示。在Altera里常用tsu (Input Setup Tim
37、es)、th (Input Hold Times)、tco (Clock to Out Delays)來表示。很多其它時序工具直接用setup和hold表示。其實他們所要描述的是同一個問題,僅僅是時間節(jié)點的定義上略有不同。下面依次介 紹。E 關于輸入到達時間Xilinx的"輸入到達時間的計算"時序描述如下圖所示:圖2 輸入到達時間示意圖 定義的含義是輸入數據在有效時鐘沿之后的TARRIVAL時刻到達。則,TARRIVAL=TCKO+TOUTPUT+TLOGIC 公式1 根據上面介紹的周期(Period)
38、公式,我們可以得到:Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew=Tclk; 公式2 將公式1代入公式2: Tarrival+Tinput+Tsetup-Tclk_skew=Tclk, 而Tclk_skew滿足時序關系后為負,所以TARRIVAL +TINPUT+TSETUP <TCLK 公式3 這就是Tarrival應該滿足的時序關系。其中TINPUT為輸入端的組合邏輯、網線和PAD的延遲之和,TSETUP為輸入同步元件的建立時間。F 數
39、據延時和數據到達時間的關系圖3 數據延時和數據到達時間示意圖TDELAY為要求的芯片內部輸入延遲,其最大值TDELAY_MAX與輸入數據到達時間TARRIVAL的關系如上圖所示。也就是說: TDELAY_MAX+TARRIVAL=TPERIOD 公式4 所以:TDELAY<TDELAY_MAX=TPERIODTARRIVALG 要求輸出的穩(wěn)定時間從下一級輸入端的延遲可以計算出當前設計輸出的數據必須在何時穩(wěn)定下來,根據這個數據對設計輸出端的邏輯布線進行約束,以滿足下一級的建立時間要求,保證下一級采樣的數據是穩(wěn)定的。計算要求的輸出穩(wěn)定時間如下圖所示:圖4
40、要求的輸出穩(wěn)定時間示意圖公式的推導如下: 定義:TSTABLE = TLOGIC +TINPUT +TSETUP 從前面帖子介紹的周期(Period)公式,可以得到(其中TCLK_SKEWTCLK1TCLK2):TCLKTCKOTOUTPUT+TLOGIC+TINPUT+TSETUP+TCLK_SKEW將TSTABLE的定義代入到周期公式,可以得到:TCLK=TCKO+TOUTPUT+TSTABLE+TCLK_SKEW 所以:TCKO +TOUTPUT+TSTABLE<TCLK 這個公式就是TSTABLE必須要滿足的基本時序關系,即本級的輸出應該保持怎么樣的穩(wěn)定狀態(tài),才能保證下級芯片的采
41、樣穩(wěn)定。有時我們也稱這個約束關系是 輸出數據的保持時間的時序約束關系。只要滿足上述關系,當前芯片輸出端的數據比時鐘上升沿提早TSTABLE 時間穩(wěn)定下來,下一級就可以正確地采樣數據。其中TOUTPUT為設計中連接同步元件輸出端的組合邏輯、網線和PAD的延遲之和,TCKO為同步元件時鐘輸出時間。H 實施時序約束的方法和命令 實施上述約束的基本方法是,根據已知時序信息,推算需要約束的時間值,實施約束。具體地說是這樣的,首先對于一般設計,首先掌握的是TCLK,這個對于設計者來說是個已知量。前面介紹公式和圖中的TCKO和TSETUP(注:有的工具軟件對TCKO和TS
42、ETUP的定義與前面圖形不同,還包含了到達同步器件的一段logic的時延)是器件內部固有的一個時間量,一般我們選取典型值,對于FPGA,這個量值比較小,一般不大于12ns。比較難以確定的是TINPUT和TOUTPUT兩個時間量。約束輸入時間偏移,需要知道TINPUT,TINPUT為輸入端的組合邏輯、網線和PAD的延遲之和,PAD的延時也根據器件型號也有典型值可選,但是到 達輸入端的組合邏輯電路和網線的延時就比較難以確定了,只能通過靜態(tài)時序分析工具分析,或者通過底層布局布線工具量取,有很大的經驗和試探的成分在里面。 約束輸出時間偏移,需要知道TOUTPUT,TOUTPUT為設計中連接同步元件輸出
43、端的組合邏輯、網線和PAD的延遲之和,仍然是到達輸出端的組合邏輯 電路和網線的延時就比較難以確定,需要通過靜態(tài)時序分析工具分析,或者通過底層布局布線工具量取,有很大的經驗和試探的成分在里面。約束的具體命令根據約束工具不同而異,首先說使用Xilinx器件的情況下,實施上述約束的命令和方法。Xilinx把上述約束統(tǒng)稱為:OFFSET約束 (偏移約束),一共有4個相關約束屬性:OFFSET_IN_BEFORE、OFFSET_IN_AFTER、OFFSET_OUT_BEFORE和 OFFSET_OUT_AFTER。其中前兩個屬性叫做輸入偏移(OFFSET_IN)約束,基本功能相似,僅僅是約束取的參考對
44、象不同而已。后兩個屬性 叫做輸出偏移(OFFSET_OUT)約束,基本功能相似,也是約束取的參考對象不同而已。為了便于理解,舉例說明。輸入偏移約束:時鐘周期為20ns,前級寄存器的TCKO選擇1ns,前級輸出邏輯延時TOUTPUT為3ns,中間邏輯TLOGIC的延時為10ns, 那么TARRIVAL=14ns,于是可以在數據輸入引腳附加NET DATA_IN OFFET=IN 14ns AFTER CLK約束,也可以使用OFFSET_IN_BEFORE對芯片內部的輸入邏輯進行約束,其語法如下:NET DATA_IN OFFET=IN TDELAY BEFORE CLK 其中TDELAY為要求的
45、芯片內部輸入延遲,其最大值與輸入數據到達時間TARRIVAL的關系:TDELAY_MAX + TARRIVAL = TPERIOD,所以TDELAY < TPERIOD - TARRIVAL = 20 - 14 =6 ns。輸出偏移約束:設時鐘周期為20ns,后級輸入邏輯延時TINPUT為4ns、建立時間TSETUP為1ns,中間邏輯TLOGIC的延時為10ns,那 么TSTABLE=15ns,于是可以在數據輸入引腳附加NET DATA_OUT OFFET=OUT 15ns BEFORE CLK約束,也可以直接對芯片內部的輸出邏輯直接進行約束,NET DATA_OUT OFFET=OUT
46、 TOUTPUT_DELAY AFTER CLK,其中TOUTPUT_DELAY為要求的芯片內部輸出延遲,其最大值與要求的輸出數據穩(wěn)定時間TSTABLE的關系為:TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD。 TOUT_DELAY< TPERIOD - TSTABLE = 20 - 15 = 5nsI Altera對應的時序概念下面主要介紹Altera對應的這些時序概念和約束方法。 前面首先介紹的第一個時序概念是周期(Period),這個概念是FPGA/ASIC通用的一個概念,各方的定義相當統(tǒng)一,至多是描述方式不同罷了,所有 的FPGA設計都首先要進行周期約束,這
47、樣做的好處除了在綜合與布局布線時給出規(guī)定目標外,還能讓時序分析工具考察整個設計的Fmax等。 Altera的周期定義如下圖所示,公式描述如下: 圖5 Altera 的 Period 示意圖Clock Period = Clk-to-out + Data Delay + Setup Time - Clk Skew即,Tclk= Tco+ B + Tsu-(E-C) Fmax =1/Tclk 對比一下前面的介紹,只要理解了B 包含了兩級寄存器之間的所有 logic 和 net 的延時就會發(fā)現與前面公式完全一致。J Altera的其他基本時序概念Clock Setup Time (tsu) 要想正確
48、采樣數據,就必須使數據和使能信號在有效時鐘沿到達前就準備好,所謂時鐘建立時間就是指時鐘到達前,數據和使能已經準備好的最小時間間隔。如下圖所示:圖6 tsu示意圖(注:這里定義Setup時間是站在同步時序整個路徑上的,需要區(qū)別的是另一個概念Micro tsu。Micro tsu指的是一個觸發(fā)器內部的建立時間,它是觸發(fā)器的固有屬性,一般典型值小于12ns。在Xilinx等的時序概念中,稱Altera的Micro tsu為setup時間,用Tsetup表示,請大家區(qū)分一下。 回到Altera的時序概念,Altera的tsu定義如下: tsu = Data Delay Clock Delay + Mi
49、cro tsu)Clock Hold Time (tH) 時鐘保持時間是只能保證有效時鐘沿正確采用的數據和使能信號的最小穩(wěn)定時間。其定義如下圖所示:圖7 tH示意圖 定義的公式為: tH= Clock Delay Data Delay + Micro tH注:其中Micro tH是指寄存器內部的固有保持時間,同樣是寄存器的一個固有參數,典型值小于12ns。Clock-to-Output Delay(tco) 這個時間指的是當時鐘有效沿變化后,將數據推倒同步時序路徑的輸出端的最小時間間隔。如下圖所示:圖8 tco示意圖tco Clock Delay + Mic
50、ro tco + Data Delay(注:其中 Micor tco也是一個寄存器的固有屬性,指的是寄存器相應時鐘有效沿,將數據送到輸出端口的內部時間參數。它與Xilinx的時序定義中,有一個概念叫Tcko是同一個概念。)Pin to Pin Delay (tpd) tpd指輸入管腳通過純組合邏輯到達輸出管腳這段路徑的延時,特別需要說明的是,要求輸入到輸出之間只有組合邏輯,才是tpd延時。Slack是表示設計是否滿足時序的一個稱謂,正的slack表示滿足時序(時序的余量),負的slack表示不滿足時序(時序的欠缺量)。slack的定義和圖形如下圖所示。圖9 slack示意圖 Slack = R
51、equired clock period Actual clock period Slack = Slack clock period (Micro tCO+ Data Delay + Micro tSU)Clock Skew指一個同源時鐘到達兩個不同的寄存器時鐘端的時間偏移,如下圖所示。圖10 clock skew示意圖基于FPGA的時序及同步設計2010-06-07 22:25數字電路中,時鐘是整個電路最重要、最特殊的信號。第一, 系統(tǒng)內大部分器件的動作都是在時鐘的跳變沿上進行, 這就要求時鐘信號時延差要非常小, 否則就可能造成時序邏輯狀態(tài)出錯.第二, 時鐘信號通常是系統(tǒng)中頻率最高的信號.
52、第三, 時鐘信號通常是負載最重的信號, 所以要合理分配負載。出于這樣的考慮在FPGA這類可編程器件內部一般都設有數量不等的專門用于系統(tǒng)時鐘驅動的全局時鐘網絡。這類網絡的特點是:一、負載 能力特別強, 任何一個全局時鐘驅動線都可以驅動芯片內部的觸發(fā)器; 二是時延差特別小; 三是時鐘信號波形畸變小, 工作可靠性好。因此, 在FPGA設計中最好的時鐘方案是: 由專用的全局時鐘輸入引腳驅動單個主時鐘去控制設計項目中的每一個觸發(fā)器。CPLD/FPGA都具有專門的全局時鐘引腳,它直接連到器件中的每一個寄存 器。這種全局時鐘提供器件中最短的時鐘到輸出的延時。同步設計時, 全局時鐘輸入一般都接在器件的時鐘端,
53、 否則會使其性能受到影響。對于需要多時鐘的時序電路, 最好選用一個頻率是它們的時鐘頻率公倍數的高頻主時鐘。 各個功能模塊要使用統(tǒng)一的復位電路。在使用帶時鐘的觸發(fā)器、計數器等有復位端的庫器件時, 一般應盡量使用有同步復位的器件。注意復位時保證各個器件都能復位, 以避免某些寄存器的初始狀態(tài)不確定而引起系統(tǒng)工作不可靠。 時鐘設計過程中,不可缺少的要涉及到數據的建立時間和保持時間的概念,深刻理解這兩個概念有助于我們設計出優(yōu)良餓時鐘網絡。異步信號輸入總是無法滿 足數據的建立保持時間,所以建議大家把所有異步輸入都先經過雙觸發(fā)器進行同步化。在許多應用中只將異步信號同步化還是
54、不夠的,當系統(tǒng)中有兩個或兩個以上非 同源時鐘的時候,數據的建立和保持時間很難得到保證,我們將面臨復雜的時間問題,那么這個時候怎么辦呢?最好的方法是將所有非同源時鐘同步化,那么又怎么 樣將非同源時鐘同步化呢?我們可以使用帶使能端的D觸發(fā)器,并引入一個高頻時鐘(頻率高于系統(tǒng)中的所有源時鐘),便可以達到使系統(tǒng)中所有源時鐘同步的效 果。如下面的這個例子:系統(tǒng)有兩個不同源時鐘,一個為3MHz,一個為5MHz,不同的觸發(fā)器使用不同的時鐘。為了系統(tǒng)穩(wěn)定,假設我們引入一個20MHz時鐘,那么這個 20MHz的時鐘怎么才能將3M和5M時鐘同步化呢?20M的高頻時鐘將作為系統(tǒng)時鐘,輸入到所有觸發(fā)器的的時鐘端。3M
55、_EN 和5M_EN將控制所有觸發(fā)器的使能端。即原來接3M時鐘的觸發(fā)器,接20M時鐘,同時3M_EN 將控制該觸發(fā)器使能,原接5M時鐘的觸發(fā)器,也接20M時鐘,同時5M_EN 將控制該觸發(fā)器使能。這樣我們就可以將任何非同源時鐘同步化。在通常的FPGA設計中對時鐘偏差的控制主要有以下幾種方法:1、控制時鐘信號盡量走可編程器件的的全局時鐘網絡。在可編程器件中一般都有專門的時鐘驅動器及全局時鐘網絡,不同種類、型號的可編程器件,它們中 的全局時鐘網絡數量不同,因此要根據不同的設計需要選擇含有合適數量全局時鐘網絡的可編程器件。一般來說,走全局時鐘網絡的時鐘信號到各使能端的延時小, 時鐘偏差很小,基本可以
56、忽略不計。2、若設計中時鐘信號數量很多,無法讓所有的信號都走全局時鐘網絡,那么可以通過在設計中加約束的方法,控制不能走全局時鐘網絡的時鐘信號的時鐘偏 差。3、異步接口時序裕度要足夠大,局部同步電路之間接口都可以看成是異步接口,比較典型的是設計中的高低頻電路接口、I/O接口,那么接口電路中后一 級觸發(fā)器的建立-保持時間要滿足要求,時序裕度要足夠大。4、在系統(tǒng)時鐘大于30MHz時,設計難度有所加大,建議采用流水線等設計方法。5、要保證電路設計的理論最高工作頻率大于電路的實際工作頻率。復位和置位信號處理:在設計時應盡量保證有一全局復位信號,或保證觸發(fā)器、計數器在使用前已經正確清零狀態(tài)。在設計寄存器的
57、清除和置位信號時,應盡量直接從器件的專用引 腳驅動。另外,要考慮到有些器件上電時,觸發(fā)器處于一種不確定的狀態(tài),系統(tǒng)設計時應加入全局復位/Reset。這樣主復位引腳就可以給設計中的每一個觸發(fā)器饋送清除或置位信號,保證系統(tǒng)處于一個確定的初始狀態(tài)。需要注意的一點是:不要對寄存器的置位和清除端 同時施加不同信號產生的控制,因為如果出現兩個信號同時有效的意外情況,會使寄存器進入不定狀態(tài)。3.zynq-7000板載資源賽靈思Zynq-7000 可擴展處理平臺(EPP)將雙 ARM Cortex-A9 MPCore 處理器系統(tǒng)與可編程邏輯和硬 IP 外設緊密集成在一起,提供了靈活性、可配置性和性能的完美組合
58、。圍繞其剛剛推出的可擴展處理平臺(EPP), 賽靈思在今年3月發(fā)布了基于Zynq -7000新系列的首批器件。 采用 28 nm制造工藝, Zynq-7000嵌入式處理平臺系列的每款產品均采用帶有NEON及雙精度浮點引擎的雙核 ARM Cortex-A9 MPCore 處理系統(tǒng),該系統(tǒng)通過硬連線完成了包括L1,L2 緩存、存儲器控制器以及常用外設在內的全面集成。(圖 1)。盡管 FPGA 廠商此前已推出過帶硬核或軟核處理器的器件,但 Zynq-7000 EPP 的獨特之處在于它由ARM處理器系統(tǒng)而非可編程邏輯元件來進行控制。也就是說,處理系統(tǒng)能夠在開機時引導(在 FPGA 邏輯之前)
59、并運行各個獨立于可編程邏輯之外的操作系統(tǒng)。這樣設計人員就可對處理系統(tǒng)進行編程,根據需要來配置可編程邏輯。 利用這種方法,軟件編程模式將與全功能標準 ARM 處理器片上系統(tǒng)(SoC)毫無二致。過去設計師需要對 FPGA 邏輯進行編程以運行片上處理器。那就意味著如果想要使用器件,必須得是 FPGA 設計師。但現在使用 Zynq-7000 EPP,則完全不必擔心這一問題。 圖 1 不同于以往在 FPGA 架構中嵌入 MPU ,賽靈思全新 Zynq-7000 EPP 系列使用 ARM 處理器而非可編程邏輯來進行控制。圖1中文字:Multi Gigabit Transceivers 多個千兆位收發(fā)器 新產品系列消除了延遲和從頭設計芯片的風險,這意味著系統(tǒng)設計團隊可以利用其先進的高級軟硬件編程多功能性簡便快速創(chuàng)建創(chuàng)新型片上系統(tǒng),而這是其他任何半導體器件都無法實現的。這樣,Zynq -7000 EPP 能夠為廣大的創(chuàng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 讀書讓我成長一本好書的讀后感(14篇)
- 我家的小動物伙伴寫物作文(10篇)
- 商業(yè)合作推廣與營銷合作協(xié)議
- 2025年鍋爐檢驗員資格考試試卷:鍋爐檢驗員考試備考資料大全
- 農村種植結構調整與技術支持協(xié)議
- 2025年特種設備安全管理人員安全生產法規(guī)與實操試題匯編
- 2025年高壓電工考試題庫:高壓操作安全規(guī)范綜合應用試題
- 2025年電子商務師(初級)考試試卷:電子商務法律法規(guī)在電商運營中的應用案例分析
- 酒店住宿客戶信息保護協(xié)議
- 現代物流管理系統(tǒng)優(yōu)化研究題
- 2025至2030中國海洋涂料行業(yè)市場發(fā)展分析及發(fā)展前景與投融資報告
- 集中供熱工程項目可行性研究報告
- 2025年重慶市中考地理試題 (解析版)
- (2025)學習《中華人民共和國監(jiān)察法》知識試題庫(附含答案)
- 浙江學考語文試題及答案
- 廣東省廣州市天河區(qū)2023-2024學年八年級下學期期末數學試題
- JG/T 313-2014額定電壓0.6/1kV及以下金屬護套無機礦物絕緣電纜及終端
- 2025年保健按摩師資格技術及理論知識考試題庫(附含答案)
- T/CSBME 050-2022宮頸液基細胞人工智能醫(yī)療器械質量要求和評價第1部分:數據集要求
- 2024年青海省囊謙縣事業(yè)單位公開招聘輔警考試題帶答案分析
- 腫瘤免疫治療和靶向治療的護理
評論
0/150
提交評論