基于FPGA的可層疊組合式SoC原型系統設計
大規模SoC仿真驗證手段有兩種:一是采用專用的硬件加速器,另一種是采用FPGA原型進行系統邏輯驗證。第一種方案的缺點在于只能加速特定的SoC設計,不具備通用性,而且價格昂貴。基于FPGA的SoC原型驗證方法使用靈活、成本較低,目前被很多公司采用,已經成為SoC驗證的最常用方式。目前大約2/3的SoC設計可以采用單FPGA原型,而另外1/3則需要多FPGA原型。因為這些超大規模SoC的設計邏輯量大大超出了目前最大FPGA芯片的容量,所以設計者必須對邏輯進行分割。分割后的多個模塊分別加載到不同FPGA中,解決了單FPGA芯片容量不足的問題[2]。但是這種基于FPGA組的原型驗證系統是由多片大容量FPGA構成的,成本高昂,不適合中小規模SoC設計,也不具備通用性。
本文設計了一種高度靈活的基于FPGA的可層疊組合式SoC原型驗證系統。采用了模塊化設計方法,通過創新性的互補連接器結構和JTAG控制電路設計,可支持1~5個原型模塊的層疊組合。其中每個原型模塊配備了500萬門的FPGA,既可獨立構成小型SoC驗證系統,也可以層疊構成2 500萬門的超大規模SoC驗證系統。此外,原型模塊通過USB2.0接口可以和PC主機交換數據,構成軟/硬件協同驗證系統[3]。本系統已成功應用于多款SoC芯片的驗證,其中數字電視地面標準調制芯片BHDTMBT1006已經成功流片。
1 SoC原型模塊設計
設計基于FPGA的SoC原型模塊,需考慮的主要因素有FPGA的邏輯資源、速度等級、擴展能力、PCB信號質量以及易于調試等。其中,最重要的指標就是FPGA的邏輯資源。目前已經大批量生產的成熟FPGA芯片中,邏輯資源最大的是Altera公司的StratixII系列EP2S180,相當于500萬邏輯門。對于SoC驗證來說,穩定性和可靠性十分重要,因此原型模塊的電路板結構和電路進行了特殊設計。
1.1 硬件系統設計
復雜的SoC設計一般都需要外圍存儲器,因此原型模塊上配備了常用的儲存器件。其中包括了DDRII SDRAM、Nand型和Nor型Flash芯片,這些就是嵌入式CPU所需要的外設資源。另外,可視化的調試工具對于芯片設計人員十分重要。在復雜SoC內部有大量的信號需要觀察,傳統的示波器和邏輯分析儀器很難滿足信號數量的要求。因此,需要通過通用的接口,如USB、PCI等,在驗證平臺和PC機之間建立數據通信通道,用來觀測各種信號。原型模塊中采用了應用廣泛的USB 2.0高速接口,并且設計了相應的軟件,可以實現數據的采集和可視化測試。USB2.0接口被幾乎所有的筆記本電腦廠家采用,因此本平臺可以實現方便攜帶和移動,不依賴于臺式機。為了實現層疊組合,原型模塊采用了高度集成的電源系統和高速高密度連接器來實現小型化和高性能。另外,板卡采用全部工業級器件,可以直接應用于工業環境或者野外環境,滿足了工業領域SoC和軍品領域SoC的驗證需要。
為了追求高性能,原型模塊采用了12層PCB板精心設計,保證了信號完整性、速度以及一些關鍵的時鐘路徑。采用Cadence公司的PCB設計軟件Allegro進行設計,采用SigXplore軟件進行信號完整性分析。特別是4個高速連接的信號采用了等長處理和阻抗匹配,每個連接器的任意2個信號的延遲控制在50 ps范圍內,保證了高速連接器的差分信號最高頻率支持1 GHz,單端信號最高頻率支持600 MHz。系統框圖如圖1。
1.2 互補連接器和JTAG控制器設計
高速連接器采用了SAMTEC公司的QSH/QTH系列高速差分連接器,最高頻率支持8 GHz。高速連接器分成4組,每組由互補的兩個連接器構成,其中一個置于板卡頂層(Top),另外一個放置于板卡相同位置的底層(Bottom),這樣可以實現原型模塊的垂直層疊。
每個連接器都具有JTAG相關的管腳。頂層連接器JTAG相關的管腳為Top_tms、Top_tclk、Top_tdi和Top_tdo;底層連接器JTAG相關的管腳為Bottom_tms、Bottom_tclk、Bottom_tdi和Bottom_tdo。這一對互補連接器對外統一的JTAG信號定義為TMS、TCLK、TDI和TDO。這些信號的連接關系利用使能信號控制,頂層連接器上有板卡連接,Top_enable有效;底層連接器有板卡連接,則Bottom_enable有效。JTAG控制器的對外連接如圖2所示。
評論