摘 要: 為解決單片F(xiàn)PGA無法滿足復(fù)雜SoC原型驗證所需邏輯資源的問題,設(shè)計了一種可層疊組合式超大規(guī)模SoC驗證系統(tǒng)。該系統(tǒng)采用了模塊化設(shè)計,通過互補連接器和JTAG控制電路,支持最多5個原型模塊的層疊組合,最多可提供2 500萬門邏輯資源。經(jīng)本系統(tǒng)驗證的地面數(shù)字電視多媒體廣播基帶調(diào)制芯片(BHDTMBT1006)已成功流片。
關(guān)鍵詞: SoC原型;FPGA系統(tǒng);驗證平臺
在復(fù)雜片上系統(tǒng)SoC的設(shè)計過程中,驗證仿真是影響項目進度的關(guān)鍵因素。隨著芯片生產(chǎn)和制造工藝的提高,SoC設(shè)計的規(guī)模、復(fù)雜度和成本也在不斷增加。這些因素大大增加了Soc設(shè)計一次成功的難度,但反過來也促進了芯片和系統(tǒng)級仿真驗證工具和方法的發(fā)展。在SoC芯片設(shè)計中,仿真驗證所占比重越來越大,據(jù)有關(guān)數(shù)據(jù)的統(tǒng)計分析,仿真驗證時間占SoC芯片研發(fā)周期的80%[1],SoC邏輯錯誤是造成SoC芯片設(shè)計失敗的主要原因,因此先進的設(shè)計與仿真驗證方法成為SoC設(shè)計成功的關(guān)鍵。
大規(guī)模SoC仿真驗證手段有兩種:一是采用專用的硬件加速器,另一種是采用FPGA原型進行系統(tǒng)邏輯驗證。第一種方案的缺點在于只能加速特定的SoC設(shè)計,不具備通用性,而且價格昂貴?;贔PGA的SoC原型驗證方法使用靈活、成本較低,目前被很多公司采用,已經(jīng)成為SoC驗證的最常用方式。目前大約2/3的SoC設(shè)計可以采用單FPGA原型,而另外1/3則需要多FPGA原型。因為這些超大規(guī)模SoC的設(shè)計邏輯量大大超出了目前最大FPGA芯片的容量,所以設(shè)計者必須對邏輯進行分割。分割后的多個模塊分別加載到不同F(xiàn)PGA中,解決了單FPGA芯片容量不足的問題[2]。但是這種基于FPGA組的原型驗證系統(tǒng)是由多片大容量FPGA構(gòu)成的,成本高昂,不適合中小規(guī)模SoC設(shè)計,也不具備通用性。
本文設(shè)計了一種高度靈活的基于FPGA的可層疊組合式SoC原型驗證系統(tǒng)。采用了模塊化設(shè)計方法,通過創(chuàng)新性的互補連接器結(jié)構(gòu)和JTAG控制電路設(shè)計,可支持1~5個原型模塊的層疊組合。其中每個原型模塊配備了500萬門的FPGA,既可獨立構(gòu)成小型SoC驗證系統(tǒng),也可以層疊構(gòu)成2 500萬門的超大規(guī)模SoC驗證系統(tǒng)。此外,原型模塊通過USB2.0接口可以和PC主機交換數(shù)據(jù),構(gòu)成軟/硬件協(xié)同驗證系統(tǒng)[3]。本系統(tǒng)已成功應(yīng)用于多款SoC芯片的驗證,其中數(shù)字電視地面標(biāo)準(zhǔn)調(diào)制芯片BHDTMBT1006已經(jīng)成功流片。
1 SoC原型模塊設(shè)計
設(shè)計基于FPGA的SoC原型模塊,需考慮的主要因素有FPGA的邏輯資源、速度等級、擴展能力、PCB信號質(zhì)量以及易于調(diào)試等。其中,最重要的指標(biāo)就是FPGA的邏輯資源。目前已經(jīng)大批量生產(chǎn)的成熟FPGA芯片中,邏輯資源最大的是Altera公司的StratixII系列EP2S180,相當(dāng)于500萬邏輯門。對于SoC驗證來說,穩(wěn)定性和可靠性十分重要,因此原型模塊的電路板結(jié)構(gòu)和電路進行了特殊設(shè)計。
1.1 硬件系統(tǒng)設(shè)計
復(fù)雜的SoC設(shè)計一般都需要外圍存儲器,因此原型模塊上配備了常用的儲存器件。其中包括了DDRII SDRAM、Nand型和Nor型Flash芯片,這些就是嵌入式CPU所需要的外設(shè)資源。另外,可視化的調(diào)試工具對于芯片設(shè)計人員十分重要。在復(fù)雜SoC內(nèi)部有大量的信號需要觀察,傳統(tǒng)的示波器和邏輯分析儀器很難滿足信號數(shù)量的要求。因此,需要通過通用的接口,如USB、PCI等,在驗證平臺和PC機之間建立數(shù)據(jù)通信通道,用來觀測各種信號。原型模塊中采用了應(yīng)用廣泛的USB 2.0高速接口,并且設(shè)計了相應(yīng)的軟件,可以實現(xiàn)數(shù)據(jù)的采集和可視化測試。USB2.0接口被幾乎所有的筆記本電腦廠家采用,因此本平臺可以實現(xiàn)方便攜帶和移動,不依賴于臺式機。為了實現(xiàn)層疊組合,原型模塊采用了高度集成的電源系統(tǒng)和高速高密度連接器來實現(xiàn)小型化和高性能。另外,板卡采用全部工業(yè)級器件,可以直接應(yīng)用于工業(yè)環(huán)境或者野外環(huán)境,滿足了工業(yè)領(lǐng)域SoC和軍品領(lǐng)域SoC的驗證需要。
為了追求高性能,原型模塊采用了12層PCB板精心設(shè)計,保證了信號完整性、速度以及一些關(guān)鍵的時鐘路徑。采用Cadence公司的PCB設(shè)計軟件Allegro進行設(shè)計,采用SigXplore軟件進行信號完整性分析。特別是4個高速連接的信號采用了等長處理和阻抗匹配,每個連接器的任意2個信號的延遲控制在50 ps范圍內(nèi),保證了高速連接器的差分信號最高頻率支持1 GHz,單端信號最高頻率支持600 MHz。系統(tǒng)框圖如圖1。
1.2 互補連接器和JTAG控制器設(shè)計
高速連接器采用了SAMTEC公司的QSH/QTH系列高速差分連接器,最高頻率支持8 GHz。高速連接器分成4組,每組由互補的兩個連接器構(gòu)成,其中一個置于板卡頂層(Top),另外一個放置于板卡相同位置的底層(Bottom),這樣可以實現(xiàn)原型模塊的垂直層疊。
每個連接器都具有JTAG相關(guān)的管腳。頂層連接器JTAG相關(guān)的管腳為Top_tms、Top_tclk、Top_tdi和Top_tdo;底層連接器JTAG相關(guān)的管腳為Bottom_tms、Bottom_tclk、Bottom_tdi和Bottom_tdo。這一對互補連接器對外統(tǒng)一的JTAG信號定義為TMS、TCLK、TDI和TDO。這些信號的連接關(guān)系利用使能信號控制,頂層連接器上有板卡連接,Top_enable有效;底層連接器有板卡連接,則Bottom_enable有效。JTAG控制器的對外連接如圖2所示。
對于JTAG信號,TMS和TCLK是共用信號,所以JTAG控制模塊主要控制TDI和TDO的連接關(guān)系。其中Top_enable信號由板卡外部輸入,當(dāng)有板卡連接時,Top_enable有效,否則為無效。Bottom_enable信號由板卡上撥碼開關(guān)控制。
當(dāng)頂層連接器和底層連接器都不接外部板卡時, JTAG控制器模塊內(nèi)部連接關(guān)系如圖3所示,即Bypassed模式。當(dāng)頂層連接器上有板卡連接時,Top_enable有效,JTAG鏈要經(jīng)過頂層的板卡環(huán)路到主板,JTAG控制器模塊內(nèi)部連接關(guān)系如圖4所示。
如果底層連接器上有板卡連接,則Bottom_enable有效,JTAG鏈要經(jīng)過底層的板卡環(huán)路到主板,JTAGController模塊內(nèi)部連接關(guān)系如圖5所示。如果頂層和底層的連接器上都有板卡連接,即top_enable和Bottom_enable都有效,JTAG鏈要經(jīng)過頂層和底層的板卡再環(huán)路到主板,JTAGController模塊內(nèi)部連接關(guān)系如圖6所示。
整個SoC驗證模塊上共有4組這樣的連接器,每組連接器都有各自的JTAG控制器。
2 SoC原型模塊層疊方法
單FPGA的方案無法滿足驗證所需要的邏輯規(guī)模,可以采用多個模塊層疊組合的方式來構(gòu)建更大規(guī)模的SoC驗證系統(tǒng)。借助EDA軟件,如Synplify公司的Certify軟件,可以將規(guī)模較大的RTL設(shè)計劃分成多個模塊,分別下載到多個FPGA上實現(xiàn)驗證。這就要保證層疊組合在一起的多個板卡上FPGA的JTAG鏈相互連接構(gòu)成一個完整的回路,實現(xiàn)配置和測試的一致性。
沒有任何層疊擴展的SoC原型模塊JTAG環(huán)路如圖7所示,原型模塊的JTAG連接器通過下載電纜和PC主機的EDA軟件聯(lián)通起來。板上的JTAG信號經(jīng)過FPGA主芯片后,閉環(huán)反饋給PC主機。板上4組連接器沒有連接任何板卡,因此都是Bypassed模式。
2.1 垂直層疊模式
垂直層疊模式是將SoC原型模塊邊沿對齊,垂直堆疊連接起來。每個FPGA都可以通過4個連接器與其他FPGA通信,共享最多480個IO管腳。這種模式支持2~4個原型模塊層疊,可以滿足絕大多數(shù)的應(yīng)用。以兩個原型模塊垂直層疊為例,其JTAG環(huán)路示意圖如圖8所示。其中,原型模塊1位于原型模塊2的上方,通過高速連接器A來實現(xiàn)JTAG鏈閉合回路。由于模塊1的A組底層連接器與模塊2的A組頂層連接器相連,因此模塊1的Bottom_Enable開關(guān)要設(shè)置為使能狀態(tài)。
垂直層疊模式需要占用原型模塊的全部4個連接器,不能再支持其他功能擴展模塊,如高速AD/DA模塊、視頻采集模塊等,因此適合外圍接口較少的SoC驗證。如果外圍接口應(yīng)用豐富,如多媒體SoC驗證,就需要采用平鋪式層疊模式。
2.2 平鋪層疊模式
平鋪層疊模式是將一個SoC驗證模塊作為系統(tǒng)主控模塊位于上方,其他SoC驗證模塊作為輔助模塊平鋪于下方。每個輔助模塊通過一個連接器和主控模塊通信,共享120個I/O管腳。這種模式支持5個原型模塊層疊。輔助模塊另外的3個連接器可以用來擴展多種類型的接口板,可以實現(xiàn)非常豐富的接口類型。
以5個原型模塊平鋪層疊為例,其JTAG環(huán)路示意圖如圖9所示。其中原型模塊1為主控模塊,其他為輔助模塊。
3 原型驗證實例
DTMB是具有自主知識產(chǎn)權(quán)的中國數(shù)字電視地面廣播傳輸系統(tǒng)標(biāo)準(zhǔn),采用了多項利于提高系統(tǒng)性能的關(guān)鍵技術(shù),適用于固定和移動兩種數(shù)字電視接收模式,并支持多業(yè)務(wù)的混合模式。BHDTMBT1006是北航通信測控技術(shù)研究所自主研發(fā)的地面數(shù)字電視多媒體廣播基帶調(diào)制芯片,其原型驗證就是在本文設(shè)計的SoC驗證系統(tǒng)上完成的。
BHDTMBT1006芯片的內(nèi)部框圖如圖10所示。在SoC原型模塊上,驗證程序以芯片的實際工作頻率來運行“實速”驗證,驗證環(huán)境如圖11所示。
在SoC原型模塊上主要測試了以下8種模式,包括:
(1)FEC 0.4,長交織,4QAM,PN420,C=3780,無導(dǎo)頻
(2)FEC 0.4,長交織,4QAM,PN420,C=1,無導(dǎo)頻
(3)FEC 0.6,長交織,64QAM,PN420,C=3780,無導(dǎo)頻
(4)FEC 0.6,長交織,64QAM,PN420,C=1,無導(dǎo)頻
(5)FEC 0.8,長交織,4QAM-NR,PN595,C=3780,有導(dǎo)頻
(6)FEC 0.8,長交織,4QAM-NR,PN595,C=1,有導(dǎo)頻
(7)FEC 0.8,長交織,16QAM,PN595,C=3780,有導(dǎo)頻
(8)FEC 0.8,長交織,16QAM,PN595,C=1,有導(dǎo)頻
在信號幀長度為4 200個符號情況下,系統(tǒng)有效凈荷數(shù)據(jù)率測試結(jié)果如表1所示。
經(jīng)過SoC原型模塊驗證后,BHDTMBT1006芯片已經(jīng)成功流片。封裝后樣片的測試結(jié)果與SoC原型測試參數(shù)一致。
本文提出了一種基于FPGA的可層疊組合式SoC原型驗證系統(tǒng),并且給出了實現(xiàn)方法。由于采用了創(chuàng)新性的互補型連接器和JTAG控制器,實現(xiàn)了多個原型模塊的拼接組合,可以適用于不同領(lǐng)域、不同規(guī)模的SoC原型驗證。結(jié)合了軟件硬件協(xié)同設(shè)計流程,大大降低了SoC驗證的復(fù)雜度,提高了SoC系統(tǒng)驗證的效率。
參考文獻
[1] 豐玉田,付宇卓,趙峰.大規(guī)模SoC設(shè)計中的高效FPGA驗證技術(shù)的研究與實現(xiàn)[J].電子技術(shù)應(yīng)用,2006(2).
[2] 夏飛,劉光明.基于FPGA組的ASIC驗證原型系統(tǒng)和邏輯分割算法的研究與實現(xiàn)[J].計算機工程與科學(xué),2006(9).
[3] LIN Yi Li,YOUNG Chung Ping,Su.A.W.Y.Versatile PC/FPGA-based verification/fast prototyping platform with multimedia applications.Instrumentation and measurement,IEEE Transactions on,Volume 56,Issue 6,2007(12):2425-2434.
[4] GSCHWIND M.FPGA prototyping of a RISC processor core for embedded applications.IEEE transactions on very large scale integration(VLSI) systems,2001,9(2).
[5] Altera Inc..Stratix II Datasheet,2008.