下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
使用FPGA測(cè)試的一些有效方法北京工業(yè)大學(xué)北京市嵌入式重點(diǎn)實(shí)驗(yàn)室鄒楊林平分王普方穗明引言隨著芯片設(shè)計(jì)技術(shù)越來越成熟,越來越多的產(chǎn)品選擇使用SoC(SystemonChip)的技術(shù)實(shí)現(xiàn)。然而,每一次流片不一定都能達(dá)到預(yù)期的效果。根據(jù)Synopsys公司統(tǒng)計(jì),有超過60%的公司需要重新流片(respin)。在這個(gè)過程中浪費(fèi)了大量的金錢,一次修正平均的花費(fèi)就超過100萬美元。如果一旦錯(cuò)過了商品推出的最佳時(shí)機(jī),那么錯(cuò)過市場(chǎng)機(jī)會(huì)的代價(jià)則以數(shù)千萬美元計(jì),甚至更高。據(jù)統(tǒng)計(jì),在需要respin的芯片中有43%是在前端的設(shè)計(jì)和實(shí)現(xiàn)的時(shí)候產(chǎn)生的邏輯功能錯(cuò)誤。如何避免或減小如此高的風(fēng)險(xiǎn)是每一個(gè)設(shè)計(jì)單位思考的問題?,F(xiàn)在行業(yè)內(nèi)有兩種解決此問題的方案,第一種方案是利用越來越先進(jìn)的EDA仿真工具仿真測(cè)試。業(yè)界產(chǎn)品的兩大巨頭Synopsys和Cadanee都推出了自己的解決方案。然而,EDA工具非常昂貴,卻不一定能滿足每一個(gè)項(xiàng)目的要求。另外,EDA工具的仿真時(shí)間很長。用一套無線通信系統(tǒng)舉例,初始化的過程就需要半天的時(shí)間,每收發(fā)一幀都需要3-4個(gè)小時(shí),因此在有限的時(shí)間內(nèi)不可能完成比較全面的測(cè)試(測(cè)試時(shí)采取的都是并行運(yùn)算的方式,工作站都是SunBlade2000的配置)。最后,仿真軟件再完善也不是實(shí)際的硬件操作,因此某些只可能在硬件上發(fā)生的問題,無法通過仿真來獲得。比如某些時(shí)序問題和功耗問題。另外,硬件的"脾氣"比較古怪,經(jīng)常會(huì)出現(xiàn)一些意想不到的狀態(tài),這些都是仿真軟件無法模擬出來的。第二種解決方案是采用FPGA進(jìn)行真實(shí)的硬件測(cè)試。比如Xilinx公司的EasyPath解決方案。然而使用這種方案也面臨著一些需要解決的問題,比如如何使設(shè)計(jì)的產(chǎn)品可以既在ASIC上工作,又在FPGA上正常工作,如何保證FPGA與ASIC的一致性。針對(duì)這些問題的解決方法是本文重點(diǎn)討論的內(nèi)容。本文的測(cè)試實(shí)例和測(cè)試方法均來源于北京市嵌入式重點(diǎn)實(shí)驗(yàn)室的無線局域網(wǎng)芯片項(xiàng)目,本項(xiàng)目的產(chǎn)品目前已經(jīng)成功流片。這些測(cè)試方法的應(yīng)用對(duì)項(xiàng)目的順利進(jìn)展起到了關(guān)鍵性的作用,起到了良好的效果。時(shí)序問題的解決我們知道FPGA可以接受的時(shí)鐘和所允許的時(shí)序遠(yuǎn)遠(yuǎn)低于ASIC。但作為ASIC產(chǎn)品而言,我們?cè)谠O(shè)計(jì)的時(shí)候又往往采取較高的時(shí)鐘速率。由于ASIC時(shí)鐘樹與布線相對(duì)自由,故對(duì)于高速率設(shè)計(jì)解決起來相對(duì)容易。對(duì)于XilinxFPGA而言,盡管采用了90nm工藝的Virtex-4可以支持的性能高達(dá)500M[1],但是其時(shí)鐘樹和布線資源相對(duì)固定,因此一旦在編譯和布局布線的時(shí)候處理不當(dāng),就會(huì)產(chǎn)生時(shí)序沖突(timingviolation)。產(chǎn)生時(shí)序沖突的結(jié)果,輕則使設(shè)計(jì)的邏輯與實(shí)際布局布線后的網(wǎng)表不一致,重則導(dǎo)致布局布線根本無法通過,從而致使驗(yàn)證無法進(jìn)行。
我們?cè)诮鉀Q時(shí)序問題的時(shí)候采取了五種不同的方法。其中一種方法是應(yīng)在設(shè)計(jì)中就加以注意,兩種在綜合的時(shí)候進(jìn)行,還有兩種在布局布線時(shí)采用。設(shè)計(jì)過程中注意時(shí)序問題若希望設(shè)計(jì)的產(chǎn)品能夠在FPGA驗(yàn)證平臺(tái)上順利的完成驗(yàn)證,在設(shè)計(jì)過程中就需要注意盡量多的使用FPGA的內(nèi)部資源,如DSP48,乘法器,RAM,DCM等。在我們的設(shè)計(jì)中有不少濾波器,這些濾波器正好可以使用DSP48[2]這個(gè)模塊。該模塊如圖-1所示,為乘加結(jié)構(gòu)。濾波器若不使用這種模塊,則需進(jìn)行大量的乘、加運(yùn)算。這樣不但浪費(fèi)資源,而且很容易導(dǎo)致時(shí)序無法滿足要求。而如果使用這樣的模塊,則基本上所有的濾波器都不再處于"最差路徑"上。1叮丄I431叮丄I43圖1DSP48示意圖對(duì)于乘法器,如果使用slice搭建不僅浪費(fèi)資源,而且性能差,位寬一旦比較寬就會(huì)導(dǎo)致時(shí)序出現(xiàn)問題。Xilinx的ISE中配有CoreGenerator這個(gè)工具。通過該工具可以生成需要的乘法器。使用這些乘法器來代替普通的乘法器,可以達(dá)到滿意的效果。除了乘法器,還可以使用該工具產(chǎn)生RAM和DCM等,在此不再贅述。綜合過程解決時(shí)序問題我們使用Sy叩licity公司的Synplify工具進(jìn)行綜合,這是業(yè)界通常使用的綜合工具之一。選擇該工具最主要的原因在于它與Xilinx的FPGA配合的很好。我們做過實(shí)驗(yàn),通過該工具綜合產(chǎn)生結(jié)果報(bào)表,再通過ISE產(chǎn)生真實(shí)布局布線后的報(bào)表。對(duì)這兩個(gè)報(bào)表的時(shí)序估計(jì)部分進(jìn)行對(duì)比,我們發(fā)現(xiàn)兩者之間驚人的相似最差路徑之間的差別不超過1ns。我們知道,綜合的時(shí)候需要設(shè)置約束,最重要的是時(shí)鐘約束。這個(gè)約束限制了系統(tǒng)工作的頻率。為了降低系統(tǒng)對(duì)于時(shí)鐘抖動(dòng)的敏感性,我們采取的第一個(gè)方法是在設(shè)置時(shí)鐘約束的時(shí)候?qū)⒋思s束值設(shè)的略高于實(shí)際的時(shí)鐘頻率。這樣做有一個(gè)前提,那就是在綜合后不得有負(fù)的時(shí)鐘余度(timeslack)出現(xiàn)。當(dāng)沒有負(fù)的時(shí)鐘余度出現(xiàn)的時(shí)候,提高時(shí)鐘約束可以有效避免因時(shí)鐘抖動(dòng)而引入的時(shí)序問題,但是如果因?yàn)樘岣吡思s束中時(shí)鐘頻率,而導(dǎo)致負(fù)的時(shí)鐘余度的出現(xiàn),那么有可能導(dǎo)致在布局布線過程中產(chǎn)生時(shí)序沖突而無法正常布局布線。在這種情形下,就不宜提高約束中的時(shí)鐘頻率。在綜合中采取的第二個(gè)方法是使用綜合工具提供的pipeline和retiming功能[3]。這些功能可以調(diào)整寄存器的位置,使之在不改變邏輯的前提下,將寄存器的位置調(diào)整的更加合理,如圖-2所示。這個(gè)功能主要用于組合邏輯過長且不合理的情況下。當(dāng)然,如果某些乘法器位數(shù)過寬而結(jié)果沒有寄存的時(shí)候也會(huì)導(dǎo)致組合邏輯時(shí)序緊張。當(dāng)發(fā)生這種情況而retiming功能又無法糾正時(shí),就需要設(shè)計(jì)者在做設(shè)計(jì)的時(shí)候?qū)Τ朔ㄆ鞯妮敵鼋Y(jié)果做一拍寄存,同時(shí)其余的控制邏輯也要做相應(yīng)的調(diào)整。廠!匕.衛(wèi)1中 * Irhii'CSta-麼口jjLLTC.H[luF|LIT|伽LJTEE' *E'liAni-a L匚崩—| J-CRLIT--|-|LLT”』斶一?-圖2retiming示意圖布局布線階段解決時(shí)序問題當(dāng)綜合工作完成,進(jìn)入布局布線的階段后,仍然有兩種方法可以改善邏輯時(shí)序問題。第一種是手動(dòng)增加并調(diào)整BUFG(GlobalClockBuffer)。BUFG是Xilinx的全局時(shí)鐘資源,所有時(shí)鐘樹的起點(diǎn)都是BUFG,位于FPGA的北極和南極。當(dāng)布線后仍有負(fù)的slack時(shí),有可能是某些當(dāng)作時(shí)鐘使用的信號(hào)沒有被放上時(shí)鐘樹,此時(shí)就要手動(dòng)將這些信號(hào)放上BUFG。若遇到門控時(shí)鐘,還應(yīng)該使用BUFGMUX資源。另夕卜,在Virtex-4中,北邊的BUFG主要負(fù)責(zé)北部的時(shí)鐘,南部的BUFG負(fù)責(zé)南部的時(shí)鐘。在我們的項(xiàng)目中,共有十余個(gè)時(shí)鐘,因此,BUFG位置的選擇也很關(guān)鍵。有些時(shí)候,工具不能解決一切問題,只有手動(dòng)調(diào)整BUFG的位置,或?qū)UFG的位置信息寫入用戶約束文件才可以取得較滿意的效果。在Virtex-4中共有16個(gè)BUFG,若都被使用且經(jīng)手動(dòng)優(yōu)化后仍不滿足要求,那么還可以使用ISE提供的Floorplanner工具,對(duì)設(shè)計(jì)的各個(gè)模塊手動(dòng)進(jìn)行位置擺放,使各個(gè)模塊盡量靠近自己所使用的時(shí)鐘樹。代碼一致性對(duì)于經(jīng)過FPGA驗(yàn)證的代碼而言,最擔(dān)心的是經(jīng)過驗(yàn)證的代碼和進(jìn)行流片的代碼不一致。導(dǎo)致這個(gè)現(xiàn)象產(chǎn)生的原因是多種的,其中版本控制和由于FPGA、ASIC專用器件不一致而引起的問題是最常見的兩個(gè)問題。前者不在本文的討論范圍,故在此略過。對(duì)于經(jīng)過FPGA驗(yàn)證的代碼,為了能夠使被測(cè)代碼可以順利的在FPGA進(jìn)行驗(yàn)證,根據(jù)2.1節(jié)所述,一般都采取了FPGA專用的器件。這些FPGA專用器件在ASIC中是不存在的。為了解決這個(gè)問題,我們通常采取"假代碼"(FakeCode)解決。顧名思義,"假代碼"就是在代碼中保留FPGA專用器件的名稱和接口,但是在FPGA和ASIC中使用不同的器件內(nèi)核。該器件若在FPGA下使用則使用FPGA專用器件,若在ASIC下使用,則使用自己編寫的代
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45138-2024干擾素抗病毒活性評(píng)價(jià)技術(shù)規(guī)范
- 感恩節(jié)的精彩發(fā)言稿
- 保護(hù)知識(shí)產(chǎn)權(quán)我們?cè)谛袆?dòng)
- 踝關(guān)節(jié)鏡下后側(cè)入路切除跟距骨橋與(足母)長屈肌腱減壓松解術(shù)治療跟距骨橋的臨床研究
- 初級(jí)會(huì)計(jì)經(jīng)濟(jì)法基礎(chǔ)-初級(jí)會(huì)計(jì)《經(jīng)濟(jì)法基礎(chǔ)》??荚嚲?14
- 溫度差下一維兩分量玻色氣體的輸運(yùn)性質(zhì)
- 二零二五版消防通道擴(kuò)建整改工程合同
- 二零二五年度汽車銷售委托代理合同規(guī)范文本3篇
- 二零二五年度綠色能源汽車抵押借款合同2篇
- 知識(shí)產(chǎn)權(quán)管理制度介紹培訓(xùn)
- 新疆烏魯木齊地區(qū)2025年高三年級(jí)第一次質(zhì)量監(jiān)測(cè)生物學(xué)試卷(含答案)
- 衛(wèi)生服務(wù)個(gè)人基本信息表
- 苗圃建設(shè)項(xiàng)目施工組織設(shè)計(jì)范本
- 廣東省湛江市廉江市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 學(xué)校食品安全舉報(bào)投訴處理制度
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 交叉口同向可變車道動(dòng)態(tài)控制與信號(hào)配時(shí)優(yōu)化研究
- 安華農(nóng)業(yè)保險(xiǎn)股份有限公司北京市地方財(cái)政生豬價(jià)格指數(shù)保險(xiǎn)條款(風(fēng)險(xiǎn)敏感型)
- 技術(shù)交易系統(tǒng)的新概念
- 通用電子嘉賓禮薄
- (完整word版)英語四級(jí)單詞大全
評(píng)論
0/150
提交評(píng)論