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