<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的可層疊組合式SoC原型系統(tǒng)設(shè)計(jì)

          基于FPGA的可層疊組合式SoC原型系統(tǒng)設(shè)計(jì)

          作者: 時間:2010-01-07 來源:網(wǎng)絡(luò) 收藏
          在復(fù)雜片上系統(tǒng)的設(shè)計(jì)過程中,驗(yàn)證仿真是影響項(xiàng)目進(jìn)度的關(guān)鍵因素。隨著芯片生產(chǎn)和制造工藝的提高,設(shè)計(jì)的規(guī)模、復(fù)雜度和成本也在不斷增加。這些因素大大增加了Soc設(shè)計(jì)一次成功的難度,但反過來也促進(jìn)了芯片和系統(tǒng)級仿真驗(yàn)證工具和方法的發(fā)展。在芯片設(shè)計(jì)中,仿真驗(yàn)證所占比重越來越大,據(jù)有關(guān)數(shù)據(jù)的統(tǒng)計(jì)分析,仿真驗(yàn)證時間占SoC芯片研發(fā)周期的80%[1],SoC邏輯錯誤是造成SoC芯片設(shè)計(jì)失敗的主要原因,因此先進(jìn)的設(shè)計(jì)與仿真驗(yàn)證方法成為SoC設(shè)計(jì)成功的關(guān)鍵。
            大規(guī)模SoC仿真驗(yàn)證手段有兩種:一是采用專用的硬件加速器,另一種是采用原型進(jìn)行系統(tǒng)邏輯驗(yàn)證。第一種方案的缺點(diǎn)在于只能加速特定的SoC設(shè)計(jì),不具備通用性,而且價格昂貴?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/FPGA">FPGA的SoC原型驗(yàn)證方法使用靈活、成本較低,目前被很多公司采用,已經(jīng)成為SoC驗(yàn)證的最常用方式。目前大約2/3的SoC設(shè)計(jì)可以采用單原型,而另外1/3則需要多FPGA原型。因?yàn)檫@些超大規(guī)模SoC的設(shè)計(jì)邏輯量大大超出了目前最大FPGA芯片的容量,所以設(shè)計(jì)者必須對邏輯進(jìn)行分割。分割后的多個模塊分別加載到不同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個原型模塊的組合。其中每個原型模塊配備了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的邏輯資源、速度等級、擴(kuò)展能力、PCB信號質(zhì)量以及易于調(diào)試等。其中,最重要的指標(biāo)就是FPGA的邏輯資源。目前已經(jīng)大批量生產(chǎn)的成熟FPGA芯片中,邏輯資源最大的是Altera公司的StratixII系列EP2S180,相當(dāng)于500萬邏輯門。對于SoC驗(yàn)證來說,穩(wěn)定性和可靠性十分重要,因此原型模塊的電路板結(jié)構(gòu)和電路進(jìn)行了特殊設(shè)計(jì)。
          1.1 硬件系統(tǒng)設(shè)計(jì)
            復(fù)雜的SoC設(shè)計(jì)一般都需要外圍存儲器,因此原型模塊上配備了常用的儲存器件。其中包括了DDRII SDRAM、Nand型和Nor型Flash芯片,這些就是嵌入式CPU所需要的外設(shè)資源。另外,可視化的調(diào)試工具對于芯片設(shè)計(jì)人員十分重要。在復(fù)雜SoC內(nèi)部有大量的信號需要觀察,傳統(tǒng)的示波器和邏輯分析儀器很難滿足信號數(shù)量的要求。因此,需要通過通用的接口,如USB、PCI等,在驗(yàn)證平臺和PC機(jī)之間建立數(shù)據(jù)通信通道,用來觀測各種信號。原型模塊中采用了應(yīng)用廣泛的USB 2.0高速接口,并且設(shè)計(jì)了相應(yīng)的軟件,可以實(shí)現(xiàn)數(shù)據(jù)的采集和可視化測試。USB2.0接口被幾乎所有的筆記本電腦廠家采用,因此本平臺可以實(shí)現(xiàn)方便攜帶和移動,不依賴于臺式機(jī)。為了實(shí)現(xiàn)層疊組合,原型模塊采用了高度集成的電源系統(tǒng)和高速高密度連接器來實(shí)現(xiàn)小型化和高性能。另外,板卡采用全部工業(yè)級器件,可以直接應(yīng)用于工業(yè)環(huán)境或者野外環(huán)境,滿足了工業(yè)領(lǐng)域SoC和軍品領(lǐng)域SoC的驗(yàn)證需要。
            為了追求高性能,原型模塊采用了12層PCB板精心設(shè)計(jì),保證了信號完整性、速度以及一些關(guān)鍵的時鐘路徑。采用Cadence公司的PCB設(shè)計(jì)軟件Allegro進(jìn)行設(shè)計(jì),采用SigXplore軟件進(jìn)行信號完整性分析。特別是4個高速連接的信號采用了等長處理和阻抗匹配,每個連接器的任意2個信號的延遲控制在50 ps范圍內(nèi),保證了高速連接器的差分信號最高頻率支持1 GHz,單端信號最高頻率支持600 MHz。系統(tǒng)框圖如圖1。

          本文引用地址:http://www.ex-cimer.com/article/191823.htm

          1.2 互補(bǔ)連接器和JTAG控制器設(shè)計(jì)
            高速連接器采用了SAMTEC公司的QSH/QTH系列高速差分連接器,最高頻率支持8 GHz。高速連接器分成4組,每組由互補(bǔ)的兩個連接器構(gòu)成,其中一個置于板卡頂層(Top),另外一個放置于板卡相同位置的底層(Bottom),這樣可以實(shí)現(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。這一對互補(bǔ)連接器對外統(tǒng)一的JTAG信號定義為TMS、TCLK、TDI和TDO。這些信號的連接關(guān)系利用使能信號控制,頂層連接器上有板卡連接,Top_enable有效;底層連接器有板卡連接,則Bottom_enable有效。JTAG控制器的對外連接如圖2所示。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA SoC 層疊 組合式

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();