<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何用FPGA實(shí)現原型板原理圖的驗證

如何用FPGA實(shí)現原型板原理圖的驗證

作者: 時(shí)間:2008-04-30 來(lái)源:STMicroelectronics Pvt. Ltd Kapil Batra Mahesh Cha 收藏

  首次流片成功取決于整個(gè)系統硬件和相關(guān)軟件的驗證,有些公司提供的快速原型生成平臺具有許多調試功能,但這些平臺的價(jià)格非常高。

本文引用地址:http://dyxdggzs.com/article/82002.htm

  因此最流行的做法是根據DUT和具體應用設計復合板,驗證這些板的通常是很麻煩的,本文提出一種利用實(shí)現原型板驗證的新方法。

  由于價(jià)格競爭越來(lái)越激烈,首次流片成功或只需少量的修改變得越來(lái)越重要。

  為了達到這一目標,對整個(gè)系統(即硬件和相關(guān)軟件)的驗證成為重中之重。

  業(yè)界也涌現了許多策略來(lái)幫助設計師完成RTL上的軟件運行。這些策略提供了在最終硬件還在醞釀之時(shí)就開(kāi)發(fā)軟件的一種途徑。

  這種措施也許還不夠,原因還有兩個(gè):一是仿真系統可能與實(shí)際系統有較大的區別,二是系統運行速度非常慢。因此可以考慮先將完整的設計映射到中,再運行目標應用程序。

  這樣做可能達不到最終硅片的常規指標,但可以測試整個(gè)硬件的功能,系統能夠得到全面的驗證,其中一些測試案例可能是在仿真中根本無(wú)法完成的。另外,可用于演示的完整系統原型在硅片成功之前就可以很好地引起客戶(hù)的興趣。

  有些公司提供的快速原型生成平臺具有許多調試功能。這些電路板平臺具有可編程的互連,可以將FPGA插接在上面,并將DUT(被測設計)映射進(jìn)這些FPGA中。但這些平臺的價(jià)格非常高。

  因此最流行的做法還是根據DUT和具體應用設計復合FPGA板。當然,這些板同樣也能用于測試目標應用中的最終硅片。

  驗證這些板的通常是很麻煩的,因為原理圖中一些小錯誤會(huì )嚴重影響到設計進(jìn)度。

  原理圖驗證工作是人工完成的,因此錯誤也就在所難免。如果能夠復用DUT驗證環(huán)境驗證電路板原理圖,那么原理圖驗證就可以派上用場(chǎng)了。本文將討論如何通過(guò)編寫(xiě)少量腳本和修改DUT驗證環(huán)境達到這一目的。

  圖1:DUT由x86處理器、主橋(Host Bridge)、SDRAM控制器和PCI橋組成

  方法簡(jiǎn)介

  基本想法是設法對原理圖進(jìn)行仿真。這了做到這一點(diǎn),先將原理圖網(wǎng)表轉換成Verilog網(wǎng)表。電路板上安裝的不同元件(如FPGA、處理器、PCI卡、SDRAM等)要么用RTL代替,要么用RTL驗證過(guò)程中使用的行為模型替代。值得注意的是,我們已假設整個(gè)設計的Verilog/VHDL代碼是現成的。至于電路板上需要用于測試DUT的處理器、SDRAM、PCI器件等其它元件,也假設已經(jīng)存在相應的BFM(總線(xiàn)功能模型)/模型。由于這一階段是在功能驗證之后,而這些元件需要用來(lái)測試DUT,并模擬整個(gè)系統,因此它們的等效行為模型應該在功能驗證中已經(jīng)得到使用,現在只是重復使用罷了,即經(jīng)過(guò)少許的努力就能使用相同的環(huán)境和測試案例。

  圖2:包含x86處理器芯片、2個(gè)FPGA、SDRAM和1個(gè)PCI槽道的原型板

  上述概念經(jīng)過(guò)拓展就可以驗證硅片生成板的原理圖,基本的假設是設計團隊擁有硅片的HDL描述。這才是要點(diǎn)所在。對于FPGA板,可以通過(guò)某種變通的方法配置FPGA引腳來(lái)克服由于原理圖中的錯誤連接導致的問(wèn)題,即設計師可以管理并解決這些錯誤。但對于準備用來(lái)測試最終硅片的板子來(lái)說(shuō)幾乎是不可能的。

  生成Verilog網(wǎng)表

  可以用好幾種原理圖輸入工具生成Verilog網(wǎng)表?;谝韵聨追N限制原因,這種網(wǎng)表實(shí)際上是不能使用的:

  1.它將板上的每個(gè)元件都看作是一個(gè)模塊,因此生成的Verilog文件中包含所有元件的實(shí)例,如FPGA、電容、上拉電阻或晶振,而不管這些元件能否在Verilog中建模。其中有些元件(如串接電阻、去耦電容)可以簡(jiǎn)單地從網(wǎng)表中刪除。

  2.原理圖中的總線(xiàn)通常被連接到符號上的一個(gè)個(gè)引腳,而在Verilog模塊中總線(xiàn)可能只有一個(gè)端口。因此可能沒(méi)有一對一的對應關(guān)系。例如在Verilog模塊中一個(gè)四位輸出地址總線(xiàn)將被聲明為:output [3:0] Address;但原理圖中所有這四個(gè)引腳是被獨立聲明的。這樣會(huì )導致原理圖中使用的符號的引腳輸出與Verilog模塊中相應符號的可用功能不兼容。

  因此,設計師需要編寫(xiě)一個(gè)簡(jiǎn)單的腳本,要么修改這個(gè)Verilog網(wǎng)表,要么根據原理圖輸入工具支持的其它格式創(chuàng )建一個(gè)新的網(wǎng)表。目的是刪除電阻、電容、電感等模擬元件,或用等效的Verilog代碼替換它們。

  為了更好地實(shí)現這一目的,可以利用對模擬元件的命名慣例,或將它們定義在一個(gè)文件中作為腳本的輸入。例如,電阻可以被命名為R1、R23等,不遵循這個(gè)命名慣例的元件可以被定義在約束文件中,這樣腳本就可以將它們關(guān)聯(lián)到等效模型,或假定短路將它們從網(wǎng)表中去除。

  一般來(lái)說(shuō),針對電路板上的不同元件可以采用以下一些慣例:

  1.元件的大多數電源引腳可以被忽略。

  2.通常電容都是用作去耦的,可以被簡(jiǎn)單的忽略掉,因為這樣做并不會(huì )影響即將被仿真的其它數字元件之間的互連關(guān)系。

  3.電感也可以忽略,在仿真時(shí)用短路代替。

  4.電阻可以用Verilog的上拉/下拉或簡(jiǎn)單的線(xiàn)按需要替換。

  5.晶振可以用Verilog庫中提供的時(shí)鐘模塊替換。

  可以在約束文件中定義某些特殊情況,并作為腳本的輸入??梢詾閂erilog模塊編寫(xiě)Wrappers以克服總線(xiàn)聲明問(wèn)題。這種頂層Verilog網(wǎng)表可以代替DUT功能驗證中早已使用的頂層Verilog文件,并用于驗證環(huán)境中。

  FPGA原型板網(wǎng)表的仿真

  至此頂層Verilog文件中包含了原型板上除工具刪除的元件外的所有元件。設計師可以復用DUT功能驗證使用的已有仿真環(huán)境。這種方法的優(yōu)點(diǎn)在于,可以復用相同的測試向量和驗證環(huán)境驗證原理圖。

  任何驗證環(huán)境的基本原理都是一樣的,即為DUT提供某種形式的測試向量,然后對測試結果與期望值進(jìn)行比較。根據設計的復雜性有多種達成的方式。通過(guò)下面這個(gè)非常簡(jiǎn)單的例子就很好理解了。例子是一個(gè)基于x86處理器的SOC。為了簡(jiǎn)單起見(jiàn),我們只考慮圖1所示SOC中的少量重要元件。DUT由x86處理器、主橋(Host Bridge)、SDRAM控制器和PCI橋組成。在驗證環(huán)境中,為了提高仿真速度,可以把x86處理器看作是一個(gè)BFM,同時(shí)提供某種PCI從模型。簡(jiǎn)單地說(shuō),x86 BFM具有某種形式的讀/寫(xiě)命令,能產(chǎn)生總線(xiàn)周期,因此設計可以運行起來(lái)。

 

  
  圖3:Verilog模塊創(chuàng )建wrapper以匹配元件的引腳

  如圖2所示,主橋和SDRAM控制器被映射進(jìn)FPGA1,PCI橋被映射時(shí)FPGA2。由腳本產(chǎn)生的頂層Verilog文件包含如圖2所示的所有元件。至此就可以在驗證環(huán)境中方便地使用這個(gè)頂層Verilog文件,并附于相同的驗證測試向量。要注意的是還需要為各個(gè)Verilog模塊創(chuàng )建wrapper以匹配元件的引腳。對于SDRAM和PCI槽道來(lái)說(shuō),可以使用與RTL驗證環(huán)境中使用的相同模型(即SDRAM模型和PCI主/從模型)。參考圖3,將FPGA1作為案例進(jìn)行說(shuō)明。

  由于只對環(huán)境作了少量修改,如在編譯列表中增加很少的Verilog文件(wrapper模型),用新創(chuàng )建的文件替換頂層文件,因此可以對原理圖列表實(shí)施驗證。這些事情可以通過(guò)簡(jiǎn)單的perl或shell腳本實(shí)現自動(dòng)處理,整個(gè)任務(wù)將減少到僅指定一些特殊選項,同時(shí)從命令行運行仿真。

  如果有任何錯誤的連接,或某些連接被遺忘,那么仿真結果就會(huì )有相應的提示。這種方法可以實(shí)現對與模擬元件的連接的部分測試,因為這部分元件有的從網(wǎng)表中刪除了,有的被等效行為模型所代替。然而,有些錯誤還是可以被檢出的。

  硅片生成板網(wǎng)表的仿真

  上述方法同樣可以用來(lái)仿真設計用于測試最終硅片的電路板的網(wǎng)表。這種方法更適用于對這些板的驗證,因為正常情況下制造出來(lái)的許多板其芯片的并行測試都是可以完成的。此外,通過(guò)某種途徑配置FPGA引腳可以消除基于FPGA的板上的錯誤。下面繼續以上文的例子說(shuō)明如何將同一概念應用到硅片生成板上。

  如圖1所示,硅片等效于DUT。根據相同的流程創(chuàng )建一個(gè)Verilog網(wǎng)表,這個(gè)網(wǎng)表將DUT看作是板上的一個(gè)芯片和其它外圍設備。這是在驗證環(huán)境中必須使用的頂層文件?,F在我們已經(jīng)有了DUT的完整Verilog描述,因此只需要創(chuàng )建圖4所示的Verilog wrapper,讓引腳輸出與電路板上的芯片相匹配。

  綜上所述,這個(gè)網(wǎng)表是可以利用以前使用的同一測試向量進(jìn)行操作的。

  本文小結

  這種方法已經(jīng)過(guò)測試,目前正用于原理圖的驗證。該方法為原理圖驗證增加了新的方案。原型/生成板的原理圖的驗證和錯誤檢測可以在極易產(chǎn)生嚴重問(wèn)題并影響設計周期的早期階段進(jìn)行。另外,驗證無(wú)需額外的開(kāi)銷(xiāo),因為這種方法基于的是業(yè)界常說(shuō)的‘復用’原理,在本案例中復用的是測試向量和驗證環(huán)境。

  圖4:Verilog wrapper讓引腳輸出與電路板上的芯片相匹配

  參考文獻:

  Protel98 - Designers Handbook, Protel.

  Thomas & Moorby's, The Verilog Hardware Description Language, Third Edition, Kluwer Academic Publishers.

  Ellie Quigley, PERL by Example, Pentice Hall PTR.

  John R. Levine et al, Lex & Yacc: O'Reilly & Associates, 2nd edition October 1992.

  Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall Of India Pvt Ltd.


  OrCAD Capture 7.20 Design Tutorial, OrCAD.



關(guān)鍵詞: FPGA 原理圖

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>